OpenClaw CRM 是一个面向 OpenClaw Gateway 的企业微信 CRM 插件项目。它不是再做一个传统 CRM 后台,而是把 CRM 能力直接放进企业微信对话流里,让销售、管理层、客服通过自然语言完成客户管理、跟进记录、商机推进、客服消息沉淀和经营分析。
这个仓库适合两类人:
- 想基于 OpenClaw 做企业微信 CRM 的团队
- 想参考「OpenClaw + WeCom + AI Gate + Playbook」落地方式的开发者
当前仓库已经包含可运行的 CRM 插件主程序、AI Gate 与诊断能力、回调处理链路、Playbook Runner、示例消息与草稿、以及后台管理端雏形。默认策略仍然是安全优先:执行类 AI 能力默认关闭,先保证可审计、可回退、可控上线。
很多团队的 CRM 落地会遇到几个共同问题:
- 销售已经在企业微信里工作,但 CRM 又在另一个后台里,录入和查询都很割裂
- 跟进记录依赖人工补录,信息延迟、缺失、失真
- 客服消息、销售跟进、商机推进之间没有统一沉淀
- 老板想看实时数据,经常需要等人导出报表
- AI 很容易变成“会说不会做”,或者“能做但不可控”
OpenClaw CRM 的解法是:
- 把企业微信作为一线工作入口
- 把 OpenClaw 作为 Agent、Skill、Heartbeat 和运行时编排层
- 把 CRM 插件作为业务规则、权限、审计和数据沉淀层
- 把 PostgreSQL 作为统一业务事实库
- 把 AI 限定为增强能力,而不是绕过规则的黑盒执行器
一句话概括:让 CRM 从“后台系统”变成“会协作的同事”,但所有关键动作仍然回到确定性业务链路里执行。
- 销售查客户、看跟进、建任务、记沟通、推商机
- 老板查日报、月报、销售表现、流失风险、逾期任务
- 客服消息自动沉淀到 CRM,并可触发后续处理链路
- 支持自建应用消息入口
- 支持客户联系回调
- 支持微信客服回调与消息同步
- 支持欢迎语、应用消息、客服消息等外部触达能力
- 支持全局、模块、feature 三层 AI 开关
- 支持
off / assist / confirm / auto四种运行模式 - 所有 AI 输出先过结构化 contract 校验
- 所有写库、发消息、推进阶段的动作都回到 Tool 层做权限、审计和回退
- HTTP 回调路由
- 后台服务与定时任务
- 组织架构同步
- CLI 运维与诊断命令
- 审计日志、AI 运行日志、验收检查
- 提供示例消息模板
- 提供 Playbook JSON 草稿
- 提供
--prepare-only的安全演练模式 - 提供较完整的设计文档和上线文档
当前设计与实现重点覆盖以下业务场景:
| 场景 | 解决的问题 | 典型结果 |
|---|---|---|
| 客户自动入库 | 新客户加上后靠人工建档,容易漏 | 客户自动建档、去重、打标签、记时间线 |
| 客户信息查询 | 销售查资料要切后台 | 在对话里直接拿到客户详情、最近动态、商机、待办 |
| 跟进记录 | 跟进靠事后补录,信息不完整 | 对话或语音转结构化跟进,沉淀时间线 |
| 客服消息沉淀 | 客服聊天和 CRM 断开 | 客服消息入库、意图识别、通知销售 |
| 商机管理 | 商机信息散落在聊天里 | 创建商机、推进阶段、记录阶段历史 |
| 智能提醒 | 业务靠人记忆,容易遗漏 | Heartbeat 主动巡检并推送提醒 |
| 老板数据看板 | 经营分析依赖临时报表 | 在对话里查日报、月报、风险与趋势 |
| 客户群管理 | 群变更难追踪 | 群信息同步、关键事件提醒 |
| 欢迎语与获客来源 | 获客来源不清晰 | 记录来源并发送欢迎语 |
项目核心是一个分层清晰的“对话入口 + 业务插件 + 数据底座”架构:
企业微信 / 对话通道
├─ 销售
├─ 管理层
└─ 客服 / 客户
│
▼
OpenClaw Gateway
│
├─ Agents
├─ Skills
├─ Heartbeat / Hook / Runtime
│
▼
CRM Plugin
├─ Tools
├─ Routes
├─ Handlers
├─ Services
├─ CLI
└─ AI Gate / Audit / Permission
│
├─ 企业微信 API
└─ PostgreSQL
每次请求都会经过四层约束:
- 数据库层:RLS 作为最后防线
- Tool 层:
resolveCaller()+checkPermission()做数据范围控制 - Agent 层:不同 Agent 有不同 Tool allow/deny 列表
- 企业微信层:企微自身可见范围与接口权限限制
OpenClaw 负责模型运行时与 Agent 编排,CRM 插件只负责业务 AI 开关和安全边界:
- OpenClaw 负责 Agent、Skills、Heartbeat、模型运行时
- CRM 插件负责 feature gate、contract、权限、审计、回退
- AI 只做增强,不替代确定性主流程
这意味着:
- 关掉 AI,核心 CRM 链路仍然可以跑
- 开启 AI,也不能绕过权限和审计
- 执行类能力可以按模块逐步灰度
开始前请先准备:
- OpenClaw Gateway 已安装并可运行
- Node.js
>= 18 - PostgreSQL 数据库
- 企业微信管理员权限
- 可公网访问的回调地址
参考文档:
- OpenClaw 官方文档:https://docs.openclaw.ai
- 插件系统:https://docs.openclaw.ai/tools/plugin
- Skills:https://docs.openclaw.ai/tools/skills
如果你已经有 OpenClaw Gateway,直接安装发布包:
openclaw plugins install @openclaw/crm-wecom这个仓库根目录是项目总览,实际插件代码在 crm/:
git clone <your-repo-url> openclaw-crm
cd openclaw-crm/crm
npm install
npm run build
openclaw plugins install -l $(pwd)openclaw plugins list
openclaw plugins info crm-wecom
openclaw plugins doctor建议把敏感信息放进 ~/.openclaw/.env:
WECOM_CORP_ID=wwxxxxxxxxxxxx
WECOM_APP_AGENT_ID=1000002
WECOM_APP_SECRET=your_app_secret
WECOM_CONTACT_SECRET=your_contact_secret
WECOM_KF_SECRET=your_kf_secret
WECOM_APP_TOKEN=your_app_token
WECOM_APP_AES_KEY=your_app_aes_key
WECOM_CONTACT_TOKEN=your_contact_token
WECOM_CONTACT_AES_KEY=your_contact_aes_key
WECOM_KF_TOKEN=your_kf_token
WECOM_KF_AES_KEY=your_kf_aes_key
CRM_DB_USER=postgres
CRM_DB_PASSWORD=your_password在 ~/.openclaw/openclaw.json 中启用插件:
{
plugins: {
entries: {
"crm-wecom": {
enabled: true,
config: {
wecom: {
corpId: "${WECOM_CORP_ID}",
appAgentId: 1000002,
appSecret: "${WECOM_APP_SECRET}",
contactSecret: "${WECOM_CONTACT_SECRET}",
kfSecret: "${WECOM_KF_SECRET}"
},
callback: {
app: {
token: "${WECOM_APP_TOKEN}",
aesKey: "${WECOM_APP_AES_KEY}"
},
contact: {
token: "${WECOM_CONTACT_TOKEN}",
aesKey: "${WECOM_CONTACT_AES_KEY}"
},
kf: {
token: "${WECOM_KF_TOKEN}",
aesKey: "${WECOM_KF_AES_KEY}"
}
},
database: {
host: "localhost",
port: 5432,
database: "openclaw_crm",
user: "${CRM_DB_USER}",
password: "${CRM_DB_PASSWORD}"
}
}
}
}
}
}需要在企业微信后台配置 3 个回调地址:
/crm/callback/app/crm/callback/contact/crm/callback/kf
例如:
https://your-domain:18789/crm/callback/app
https://your-domain:18789/crm/callback/contact
https://your-domain:18789/crm/callback/kf
openclaw crm migrate
openclaw crm sync-org
openclaw crm seed-rolesopenclaw crm ai-status
openclaw crm ai-run-log --failed --limit 20
openclaw crm acceptance-check默认建议:
ai.enabled = false- 先只开
assist - 跟执行相关的 feature 最后开
模式语义:
off:完全关闭 AIassist:只做识别、摘要、草稿、建议confirm:AI 给动作建议,但执行前必须确认auto:允许自动执行,但仍需经过 contract、权限、审计和回退
这套设计解决的是“AI 能帮忙,但不能失控”的问题。
安装并初始化后,可以先从这几个入口体验:
帮助 演示
查AI状态
记录跟进 张三:刚通了电话,对报价很满意
如果你只想验证链路,不想真的执行后续动作:
openclaw crm run-followup-playbook --draft examples/playbooks/followup-basic.json --userid lisi --prepare-only
openclaw crm run-kf-playbook --draft examples/playbooks/kf-purchase-intent.json --userid kf_zhang --prepare-only.
├─ README.md # 开源首页说明
├─ docs/ # 设计、部署、接入、运维文档
├─ examples/ # 示例消息与 playbook 草稿
├─ crm/ # 实际插件代码
│ ├─ core/ # 数据库、权限、审计、AI Gate、企微客户端
│ ├─ tools/ # CRM / WeCom Tools
│ ├─ routes/ # HTTP 回调与管理路由
│ ├─ handlers/ # 回调事件处理器
│ ├─ services/ # 后台服务与定时任务
│ ├─ migrations/ # 数据库迁移
│ ├─ skills/ # Agent Skills
│ ├─ cli/ # 运维与诊断命令
│ └─ tests/ # 测试
└─ frontendManager/ # 后台管理前端雏形
crm/index.ts
业务入口,负责向 OpenClaw 注册 Tools、路由、后台服务和 CLI。
crm/core/
业务基础设施层,包含数据库、权限、身份映射、审计、AI Gate、企微客户端等关键能力。
crm/tools/
Agent 可以调用的业务操作层,是所有写库和读库动作的统一出口。
crm/routes/ + crm/handlers/
承接企业微信回调,并把外部事件转成内部业务处理流程。
crm/services/
负责组织架构同步、客服补偿轮询、Heartbeat 巡检、流失检测等后台任务。
frontendManager/
后台管理端雏形,适合后续做管理配置、运营视图、审核面板。
这个项目不是简单把“AI 接到 CRM 上”,而是遵循下面几条原则:
- 对话入口优先:因为销售和客服天然就在企业微信里工作
- AI 只是增强:因为真实业务必须保证稳定、可控、可追责
- Tool 是唯一执行出口:因为权限、事务、审计都要收口
- 默认关闭高风险能力:因为上线策略必须先保守、再灰度
- 先沉淀数据,再做智能:因为没有统一事实库,AI 只会放大混乱
当前仓库已经实现了 OpenClaw-native CRM AI 的基础设施、显式 Playbook 入口、诊断能力、回调链路和部分后台能力,适合:
- 开源展示
- 二次开发
- 联调验证
- 小范围内部试用
对于执行类 AI 能力,当前默认仍建议采用“显式开启、逐步灰度、全链路审计”的上线方式,而不是直接全量自动化。