Skip to content

congwa/openclaw-crm

Repository files navigation

OpenClaw CRM

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 从“后台系统”变成“会协作的同事”,但所有关键动作仍然回到确定性业务链路里执行。

核心能力

1. 对话式 CRM

  • 销售查客户、看跟进、建任务、记沟通、推商机
  • 老板查日报、月报、销售表现、流失风险、逾期任务
  • 客服消息自动沉淀到 CRM,并可触发后续处理链路

2. 企业微信原生接入

  • 支持自建应用消息入口
  • 支持客户联系回调
  • 支持微信客服回调与消息同步
  • 支持欢迎语、应用消息、客服消息等外部触达能力

3. AI 增强但不失控

  • 支持全局、模块、feature 三层 AI 开关
  • 支持 off / assist / confirm / auto 四种运行模式
  • 所有 AI 输出先过结构化 contract 校验
  • 所有写库、发消息、推进阶段的动作都回到 Tool 层做权限、审计和回退

4. 可上线的运行体系

  • HTTP 回调路由
  • 后台服务与定时任务
  • 组织架构同步
  • CLI 运维与诊断命令
  • 审计日志、AI 运行日志、验收检查

5. 开发与联调友好

  • 提供示例消息模板
  • 提供 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

四层权限与风控模型

每次请求都会经过四层约束:

  1. 数据库层:RLS 作为最后防线
  2. Tool 层:resolveCaller() + checkPermission() 做数据范围控制
  3. Agent 层:不同 Agent 有不同 Tool allow/deny 列表
  4. 企业微信层:企微自身可见范围与接口权限限制

AI 在架构中的位置

OpenClaw 负责模型运行时与 Agent 编排,CRM 插件只负责业务 AI 开关和安全边界:

  • OpenClaw 负责 Agent、Skills、Heartbeat、模型运行时
  • CRM 插件负责 feature gate、contract、权限、审计、回退
  • AI 只做增强,不替代确定性主流程

这意味着:

  • 关掉 AI,核心 CRM 链路仍然可以跑
  • 开启 AI,也不能绕过权限和审计
  • 执行类能力可以按模块逐步灰度

安装教程

前置条件

开始前请先准备:

  • OpenClaw Gateway 已安装并可运行
  • Node.js >= 18
  • PostgreSQL 数据库
  • 企业微信管理员权限
  • 可公网访问的回调地址

参考文档:

方式一:直接安装插件

如果你已经有 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

配置教程

1. 配置环境变量

建议把敏感信息放进 ~/.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

2. 配置插件

~/.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. 配置企业微信回调

需要在企业微信后台配置 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

4. 初始化数据

openclaw crm migrate
openclaw crm sync-org
openclaw crm seed-roles

5. 查看系统状态

openclaw crm ai-status
openclaw crm ai-run-log --failed --limit 20
openclaw crm acceptance-check

AI 开关建议

默认建议:

  • ai.enabled = false
  • 先只开 assist
  • 跟执行相关的 feature 最后开

模式语义:

  • off:完全关闭 AI
  • assist:只做识别、摘要、草稿、建议
  • 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 能力,当前默认仍建议采用“显式开启、逐步灰度、全链路审计”的上线方式,而不是直接全量自动化。

About

openclaw-crm是一个"同事"。 销售跟它说话就能管客户,老板跟它说话就能看数据,客户通过微信客服通道与之交互,所有数据自动沉淀。

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors