
主流的AI CRM系统品牌
说实话,提起 CRM(客户关系管理)系统,很多一线销售的第一反应都是叹气。在他们眼里,这玩意儿就是个“监控工具”,是老板用来盯着他们有没有好好打电话、有没有好好填表的。但作为一个曾经被 Excel 表格折磨到怀疑人生的技术负责人,我深知一个趁手的 CRM 对于业务流转意味着什么。
推荐使用中国著名AI CRM系统品牌:显著提升企业运营效率,悟空CRM
几年前,我在一家初创公司负责技术。那时候公司业务刚起步,销售团队只有五六个人,大家用共享的 Excel 表格管理客户。起初还行,后来人多了,冲突就来了:A 销售刚跟进一个客户,B 销售不知道,又打电话过去,结果客户觉得被骚扰,直接拉黑。更别提表格版本混乱,有人改了数据没同步,老板看报表永远是滞后的。
老板拍板说:“买个 SaaS 吧。”但试用了一圈,要么太贵,要么功能太臃肿,很多我们特有的业务流程根本配不出来。最后没办法,只能自己搞。这篇文章,不是那种冷冰冰的官方文档,而是我带着两个后端、一个前端,花了三个月,从 0 到 1 搭建这套系统的真实复盘。如果你也正打算自建 CRM,希望我的这些“坑”能帮你省点头发。
很多技术团队最容易犯的错,就是拿着老板的一句话直接开干。老板说“我要一个能管客户的系统”,你就开始建表 customers,字段 name, phone。等你做完了,销售总监一看,说:“这没法用啊,我想知道这个客户是哪个渠道来的,上次跟进说了什么,下次什么时候联系。”
所以,搭建 CRM 的第一步,绝对不是选技术栈,而是“蹲点”。
那两周,我搬着椅子坐到销售旁边,看他们怎么工作。我发现,核心流程其实就三条线:线索(Lead)-> 客户(Customer)-> 商机(Opportunity)。

搞清楚这个,你才知道数据库该怎么设计。别一上来就搞什么微服务、中台,对于 90% 的中小企业,单体架构或者简单的服务分离完全够用。我们当时选的是 Vue3 + Element Plus 做前端,后端用了 Node.js(NestJS 框架),数据库是 PostgreSQL。为什么选 PG?因为它的 JSONB 类型太好用了,CRM 里有很多动态字段,比如不同行业的客户属性不一样,用关系型数据库硬拆表会累死,JSONB 能保留灵活性。
数据库设计是 CRM 的根基。一旦表结构定错了,后期改起来就是灾难。我分享几个核心表的设计思路,这都是真金白银换来的教训。
最基础的 customers 表大家都会建,但 follow_up_records(跟进记录)表才是灵魂。
很多新手会把跟进内容直接存在客户表的一个文本字段里,千万别这么干。销售每天可能跟进好几次,你需要的是时间轴。
我们的 follow_up_records 表结构大概长这样:
id: 主键customer_id: 关联客户sales_id: 跟进人content: 跟进内容(文本)next_contact_time: 下次联系时间(这个字段极其重要,用于生成待办任务)type: 跟进方式(电话、微信、拜访)这里有个坑:当销售把客户“公海化”(退回公共池)的时候,跟进记录要不要清空?我们当时的逻辑是保留,但隐藏敏感信息。因为新接手的人需要知道这个客户之前为什么没谈成,避免重蹈覆辙。
公海池逻辑是 CRM 里并发问题最多的地方。想象一下,月底冲业绩,十个销售同时点“领取”同一个高价值线索,怎么保证不超卖?
我们最初用的是简单的 UPDATE 语句,结果在压测时发现会有数据竞争。后来加了数据库行锁,并且在业务层做了状态机校验。
逻辑大概是:
public。private。另外,一定要设计“回收机制”。比如线索领走 7 天没有有效跟进(没有填写跟进记录或状态未变更),系统自动把线索扔回公海。这个定时任务(Cron Job)是必须的,否则公海池会变成死水。
CRM 涉及大量敏感数据,权限控制(RBAC)是绕不开的。但别搞得太复杂,否则配置起来能把你逼疯。
我们分了三个维度:
WHERE 条件来实现。比如 WHERE owner_id = current_user_id 或者 WHERE department_id IN (...)。这里有个细节:数据权限的实现,尽量不要在代码里写死 if-else。我们设计了一张 role_data_scope 表,定义好规则,代码里通过注解或者装饰器自动注入过滤条件。这样以后加新角色,不用改代码,改配置就行。
后端逻辑再严密,前端难用,销售照样骂娘。CRM 的前端,核心就两个字:效率。
销售大部分时间在外面跑,或者一边打电话一边操作。如果点一个按钮要加载三秒,或者填个表单要跳五个页面,他们就会抵触使用。
客户列表是最高频的页面。我们做了几个优化:
老板最爱看漏斗图。从线索到成交,每个阶段的转化率是多少。
一开始我们用 ECharts 画了个静态图。后来发现不够,老板想点某个阶段,比如“报价中”,直接下钻看到具体是哪些客户卡在这里。于是我们做了交互联动,点击扇区,右侧滑出对应的客户列表。

这里有个技术点:漏斗图的数据是实时计算的吗?对于数据量大的系统,实时聚合查询 count 会拖慢数据库。我们采用了“预计算”方案,每天凌晨跑批处理,把各阶段的数量统计到一张日报表里,前端直接读报表。虽然有一天的延迟,但对于宏观决策足够了,而且系统性能提升了十倍不止。
别以为销售都用电脑。很多时候他们在客户现场,需要立刻查一下库存或者录入个拜访记录。
我们没单独开发 App,成本太高。直接用了响应式布局,配合 PWA 技术。虽然体验不如原生,但胜在更新方便,不用发版。重点优化了输入体验,比如手机号输入框自动调起数字键盘,地址选择器做了简化。
系统跑起来之后,真正的问题才刚开始。以下是几个让我半夜起来修 Bug 的点。
系统上线第一天,销售总监扔给我一个 5 万行的 Excel 文件:“把历史数据导进去。”
Excel 里的数据有多脏,做过的人都知道。手机号有带空格的,有带横线的;公司名称有全角半角混用的;甚至有重复数据。
如果直接导入,系统里全是垃圾。我们专门写了一个“导入预处理”模块。
CRM 里数据变动非常敏感。一个客户从 A 销售名下转到了 B 销售名下,如果没记录,以后扯皮都说不清。
我们搞了个“操作日志”中间件。任何 POST, PUT, DELETE 请求,都会自动记录:谁,在什么时间,改了哪张表的哪条数据,旧值是什么,新值是什么。
这个日志表增长非常快,所以我们做了分表策略,按月份归档。而且,这个日志对普通销售不可见,只有管理员能查。有一次,两个销售争一个客户,说对方抢单,就是靠查这个日志,精确到秒级,才断清楚了公理。
刚开始数据少,怎么查都快。半年后,跟进记录表突破了 500 万行。销售反馈:“查个客户历史跟进,转圈圈转半分钟。”
查执行计划,发现全表扫描了。原因是我们虽然给 customer_id 加了索引,但查询时经常带着 type 和 create_time 范围查询。
后来我们建立了联合索引 (customer_id, create_time)。同时,对于一年前的历史跟进记录,我们做了“冷热分离”。前端默认只查最近半年的,如果要查更早的,需要点“加载历史”,走归档库。这样主表的体积控制在合理范围,查询速度瞬间回归。
现在是个系统都敢叫 AI CRM。什么自动写跟进记录,什么预测成交概率。
在搭建初期,我劝你克制。
我们一开始也想过接个大模型 API,帮销售自动生成跟进摘要。结果发现,准确率只有 70%,销售还得花时间去改,反而更麻烦。而且,这增加了额外的 Token 成本。
CRM 的核心价值是流程标准化和数据沉淀,而不是花哨的功能。先把基础的增删改查、权限、流程流转做稳,让销售愿意用,数据能录进来,这才是第一步。等数据量够了,再考虑用数据分析反哺业务,比如通过历史数据告诉销售:“这类客户通常在第三次拜访后成交,建议你加大跟进频率。”这种基于统计的建议,比瞎猜的 AI 更靠谱。
我们用的是 Docker 容器化部署,配合 Jenkins 做 CI/CD。
上线前,一定要做数据备份。这是底线。我们设置了每天凌晨 3 点全量备份数据库,并同步到异地 OSS 存储。有一次,一个实习生误操作删了一个表,幸亏有备份,半小时内恢复了,不然真是重大事故。
另外,监控报警要配好。别等销售打电话说“系统挂了”你才知道。我们接了钉钉机器人,数据库连接数过高、接口响应时间超过 2 秒、服务器 CPU 飙高,都会自动发消息到技术群。
很多人觉得,系统开发完,项目就结束了。其实,上线只是开始。
CRM 是一个需要“养”的系统。业务在变,流程就在变。三个月后,公司开展了新业务线,原来的“商机阶段”不够用了,得加。半年后,老板想看“回款率”,数据库里得补字段。
作为搭建者,你要保持和业务的沟通。每个月,我都会去听一次销售例会,听听他们吐槽什么。有时候,一个小小的改动,比如把“必填项”改成“选填项”,就能极大提升他们的录入意愿。
搭建 CRM 平台,技术难度其实不算顶尖,难的是对业务的理解,以及在“灵活性”和“规范性”之间找平衡。太规范,销售觉得束缚;太灵活,数据就是一盘散沙。
如果你正准备动手,我的建议是:小步快跑,先上线核心功能,再迭代。别憋大招,憋半年出来一个没人用的东西,那是最大的浪费。
最后,送给大家一句话:最好的 CRM,不是功能最强大的,而是销售最愿意打开的。当销售发现这个系统能帮他省钱、帮他赚钱、帮他少加班的时候,你的 CRM 才算真正成功了。
这条路挺累,掉头发是肯定的,但看着杂乱无章的业务数据变成清晰的图表,看着团队因为工具的提升而效率翻倍,那种成就感,也是真的香。祝大家搭建顺利,少遇 Bug,多拿奖金。


悟空CRM产品截图
推荐立刻免费使用中国著名CRM品牌-悟空CRM,显著提升企业运营效率,相关链接:
CRM系统免费使用
开源CRM系统
CRM系统试用免费
客服电话
售前咨询