「你能帮我写个客服系统不,跟 53KF 那种一样。」

客户是周五下午发来的微信。我差点随手回个「能」。网页上挂个小窗口,访客点开跟人聊,后台一个工作台管着——外形看着就这么点东西。

真坐下来算,才发现外形跟里面是两回事。

技术上,其实真不难

表面那层是简单。一段 JS 嵌到客户网站里,异步加载,别拖慢人家页面;窗口用 shadow DOM 包起来,不然客户站点随便一个全局样式就能把你对话框搞变形。访客跟坐席之间现在都是 WebSocket 长连接,老一点的系统还在轮询,要实时就得长连,再配个 SSE 或者长轮询做降级。

麻烦的在长连背后那摊。

你一套系统得同时服务好几十家企业,每家有自己的坐席、话术、域名,这叫多租户。消息要保证不丢、不重、还得按顺序到,客户端 ack、服务端落地、离线消息补推,一整套都得有。一个坐席同时接十几个会话是家常便饭,访客那头还盯着「对方正在输入」。

还有消息路由。一台机器扛不住几万个长连,得上网关集群。访客连在 A 节点,接待他的坐席连在 B 节点,这条消息就得从 A 转到 B——中间靠 Redis 的 pub/sub 或者专门的消息队列接。这块我最熟,因为本质上跟我平时管的那堆长连监控是一个东西。

至于 53KF 首页吹的那几个卖点,「千人千话」「退出挽留」,说白了就是把访客的来源、停留时长、点了哪些链接全记下来,再拿规则去触发话术。这是产品活,不是技术活,但客户恰恰是为这个掏的钱。

一个能拿得出手的版本:widget + 坐席工作台 + 长连网关 + 多租户 + 消息存储。我一个人全职写,两个多月能跑通 MVP。这个时间我敢拍,因为干过比这更碎的活。

写到这你可能觉得,那不就结了?

问题全在写完之后

我那天真去查了行情。

53KF 官网自己写的:做了 15 年,80 万企业客户,合作方挂着华为腾讯百度字节。旁边一排竞品:美洽、腾讯企点、网易七鱼、智齿、Udesk。随便拎一个出来,起步都比我早十年。to B 的 SaaS 不是你先做出来就能卖,是资质和渠道先卡你。

资质这块最要命。国内做在线客服系统,属于 to B 通信类产品,要办增值电信业务经营许可证,有些地方还要呼叫中心资质;真要接电话短信,还得跟运营商谈。叠上数据合规、等保,一套流程下来,一个个人开发者基本走不完。我有个同行以前想搞这个方向,卡在资质上,最后改行给已有平台做外包了。

推广更不用提。你去百度搜「客服系统」,看看竞价排名那几个词的点击单价,一个词能把一单利润吃掉小一半。to B 还偏偏决策链长,人家要试用、要报价、要案例、最后还得老板拍板。你一个新牌子,官网连前两页都排不上,凭啥让人信。

还有个反直觉的点:这系统一旦接进去,客户想换的成本极高——改代码里的接入段、迁历史会话、重新培训坐席。老客户因此特别稳,可反过来也意味着现有玩家的地盘早钉死了。你要抢,抢的都是别人挑剩的,或者报价最低才拿得到。价格战打到什么程度呢,基础版几十块一个坐席一个月,网上一堆开源替代还免费。

再就是定制。这种客户十个里有八个要私有化部署、要对接他自己的 CRM 和订单系统、要按他业务改分配规则。你一答应,SaaS 就做成了项目制,一个客户一套代码,还谈什么规模化。不接定制人家不签,死循环。

我跟客户怎么说的

我回他:能写,两个多月能给你搭个能用的。但话我没说满——这活儿不是技术的仗,是资质、销售、渠道的仗。技术顶多占三成。

他沉默了一会儿,说那还是先用现成的吧。

我其实松了口气。真要给他做出来,往后就得替它操心 7x24 不能挂。客服系统一宕机,客户那边是实打实丢单,这锅我背不起。

后来这事就搁下了。再有人问,我大概还是那句:你要真想要,先用现成的吧,省下的钱够在我这买两台主机了。之前有个客户听完还真笑了,说也是。