项目详情

DeskcommCRM

开源自托管 AI 销售 OS——AI Agent 在 WhatsApp 里接待、跟进、成交,CRM 数据全在自己服务器

GitHub 地址 MIT 1.8k Stars TypeScript · Next.js 16 · Supabase v1.19.0

更新于 2026-09-13

← 返回汇总
项目速览

一句话定位

把销售团队、AI Agent 和 WhatsApp 装进一台你自己的服务器

开源 AI 销售 OS:带 RAG 知识库的 AI Agent 在 WhatsApp 上接待询盘、资格筛查、推进漏斗、触发自动化,并在该交给人类时交接——整套 CRM 通过 MCP 暴露给 Agent 操作。对标 Kommo / Octadesk / Intercom,面向一切「靠聊天卖货」的生意:电商、诊所、房产、知识付费。多租户 + LGPD 合规,一条命令自托管。

项目速览

核心数据

1.8k
Stars
4,000+
Commits
45
贡献者
196
API 路由
为什么存在

聊天卖货的生意,养不起 SaaS CRM

按座位收月费

Kommo / Octadesk / Intercom 按 Agent、按座位计费,AI 功能更是单独加钱。巴西小微商家(也是全球)对月费高度敏感。

功能被订阅档位锁死

自动化规则、AI Agent、API 访问分散在不同付费档。想改字段、改流程?等官方排期。

客户数据不在自己手里

聊天记录、成交数据是核心资产,存在别人的云上既贵又不放心——LGPD(巴西版 GDPR)还要求控制者对数据负责。

答案:一套跑在自己 VPS 上的完整销售系统——无月费、无功能锁定、数据不出服务器,AI Agent 原生内置。

核心理念

Desk + comm:一张「商业桌」三条信条

多利基设计:漏斗词汇表可配置——lead 叫「客户 / 患者 / 买家」、won 叫「付款 / 预约 / 成交」,同一套核心服务电商、诊所、房产、知识付费。

🔥 核心架构

五层架构:数据库触发器从不直接发 HTTP

接入层 WAHA(QR 多号) Meta Cloud API(官方通道) Webhook 捕获端点 /api/v1/webhooks/in/<token> MCP /api/mcp 落地页表单 · Zapier/n8n · 电商(Nuvemshop) 应用层 Next.js 16 App Router · React 19 · TS strict proxy.ts 边缘中间件(X-Request-Id / 会话校验)→ 196 个 route handler(166 个租户路由) 约 35 块屏(收件箱 / 看板 / 雷达 / AI 控制台 13 屏 / LGPD / 审计)· Supabase Realtime 实时推送 事件层(轻量事件溯源) event_log 表 + 9 个 worker + 10 个 cron 端点排水 ai-response · ai-sentiment · rag-indexer · media-persist · media-derive lgpd-export · lgpd-redact · storage-cleanup · agent-worker —— Postgres 触发器只写队列,永不发 HTTP 数据层 Supabase Postgres(RLS 全表 + fn_user_org_ids) pgvector(租户级 RAG) Storage(whatsapp-media 私桶) Auth 多租户:organization_id 全表强制 · 审计日志 append-only 保留 5 年 AI 层(可换供应商) Vercel AI SDK v7 → OpenRouter / Anthropic / OpenAI / Google 对话用一家、embedding 用另一家,按系统部位分别配置
主线层(应用 + 事件) 支撑层(接入 + 数据) AI 供应商层
🔥 核心机制

AI Agent 的一个回合

WhatsApp 入站客户消息 HMAC 校验 + 幂等unique(external_id) event_log只入队不处理 runAgentTurn租户 RAG 检索 + MCP 工具 发送前守卫guardrails 审查 发送WAHA/Meta 可执行 SkillsAgent 自主调用(查单/改漏斗/查库存) 人工 handoff(审计留痕)触发条件:低置信 / 客户明确要求 / 情绪恶化 / 消费触顶 —— 交接后 Agent 退出会话,人类接管 组织记忆 + 情绪分析跨会话记忆 · ai-sentiment worker
主流程(实线) 支撑能力(虚线)
核心机制

自我进化飞轮:AI 给自己提 PR

对话被解决人工介入收尾或 AI 独立完成 知识沉淀rag-indexer 入库(租户隔离) AI 提改进提案Propostas:发现自己哪里答不好 人工审核 Gate一键应用 = Agent 新版本 更好的 Agent 版本回环:下一轮对话质量提升 「AI 进化」屏可看到:进步曲线 · 高频错误 · 还缺哪些知识
自动环节 人工把关(默认暂停,审核后生效)

这是全项目最有辨识度的设计:Agent 不只是被动回答,而是主动暴露自己的短板,以「提案 → 人工 gate → 新版本」的方式迭代——把传统「调 prompt 靠感觉」变成了可审计的版本化流程。

核心机制

WhatsApp 双通道 + 反封禁

QR 通道(WAHA)官方通道(Meta Cloud API)
接入方式扫码即用,个人号即可需 Meta 商业认证 + 审批模板
多号码支持,每号一会话支持
成本零(非官方,有封号风险)按对话计费
适合起步、试水、低预算规模化、合规要求高
架构模式

event_log:轻量事件溯源的心脏

// 一切事件先落库,worker 异步排水
// 幂等:unique(org_id, external_id) + 23505 捕获

消息/看板变动/标签/Webhook
        │
        ▼
   event_log 表  ←─ Postgres 触发器只写这里
        │              (永不发 HTTP)
        ▼
cron 每 60s 排水 /api/v1/cron/event-log-drain
        │
        ▼
9 个 worker 消费(ai-response / rag-indexer
/ lgpd-redact / agent-worker ...)
  • 为什么不让触发器直接发 HTTP:数据库事务保持纯净,外部调用失败不污染数据,还能重放
  • 动作副作用再入队:自动化规则移动漏斗阶段 → 产生新事件 → 可再触发其他规则(级联)
  • 诚实工程:README 明确警告「没配 cron,自动化规则创建成功但永远不跑」——install.sh 自动配好
  • worker 可独立扩缩:app / worker / scheduler 三镜像分开构建,CI 逐一验证
安全与合规

多租户 RLS 不是口号,是 CI 门槛

核心机制

QUANDO / SE / ENTÃO:无代码自动化

WHEN 事件 + IF 条件 → THEN 动作
环节能力
触发源公开捕获端点收落地页/Zapier/n8n 表单 · lead 换阶段 · 获得标签 · WhatsApp 新消息
条件阶段、标签、消息内容、时间窗等自由组合
动作加标签 · 移漏斗 · 分配给人 · 发 WhatsApp · 回调外部系统 webhook
治理规则创建后默认暂停,人工审核再启用;执行时间线逐条可查,外部调用失败可手动重发

事件全部经 event_log 排水执行,动作副作用产生级联事件——这套规则引擎在最后一页有可玩的模拟器。

上手体验

自托管:一条命令,一键升级

# VPS 上(任意 Docker 主机)
git clone https://github.com/melgarafael/DeskcommCRM.git
cd DeskcommCRM
bash hostgator-setup-kit/install.sh

# 不装 Node、不编译:镜像现成
# 缺 Docker 会询问并自动装
# 幂等:跑挂了重跑不重复创建

需要:4GB VPS + 域名 A 记录 + Supabase 免费档(3 把钥匙)+ 一家 LLM API key。安装器逐步校验输入,错误当场拒绝。

  • 屏幕内升级:侧栏亮「新版本」→ 展示变更 → 自动备份数据库 → backup → 代码 → 库 → 上线四阶段可视 → 失败自动回滚到上一镜像
  • 升级目标永远是已发布 tag,不是 main 头部 commit;拒绝降级(防静默关功能)
  • 运维脚本全家桶:backup / restore / healthcheck / reset-password / reset-mfa
  • AI 装机助手:丢 hostgator-setup-kit/ 给 VPS 里的 Claude Code,说「装一下」即可——kit 内置 CLAUDE.md 分步指引
  • 白标文档:换品牌、按客户部署、共享实例与转售三种模式
工程质量

五道 CI 门槛,罕见的老练

Check内容
verifytypecheck(strict)+ lint + 频道 lint + 单测 + shell 测试
invariants起干净 Postgres,baseline.sql 装两遍(ON_ERROR_STOP=1 证明幂等),跑 RBAC/分配/路由/跟进/webhook/自动化不变量 + RLS 隔离测试
build-and-sizeNode 22 全量构建
e2e本地 Supabase + baseline,49 个 Playwright 规格跑 48 个(剩 1 个需真 VPS,明确声明 e2e 绿 ≠ 装机旅程绿)
imagens-okapp / worker / scheduler 三镜像全部可构建才算过——构建产物就是用户装的东西
开发方式

一个「用 AI 造 AI 产品」的标本仓库

观察意义:这是研究「AI Agent 军团如何运营一个严肃产品」的活样本——epic-executor 流程、QA 波次(qa-waves)、handoff 文档化,都可直接抄作业。

适用场景

谁该用,谁不该

适合
  • 靠 WhatsApp/聊天卖货的中小生意:电商、诊所、房产、知识付费、代理
  • 想脱离 SaaS 月费、要数据自主的团队
  • 服务商/代理商:白标部署给客户,一实例一租户或共享
  • 想研究「AI Agent 操作真实业务系统」最佳实践的工程师(MCP + 审计 + 预算控制全套范例)
跳过
  • 不想管服务器、要 SLA 的团队(社区支持 as-is,无商业版兜底)
  • 非 WhatsApp 市场(邮件/电话为主的销售流程覆盖弱)
  • 期望无缝英文产品体验的团队(面向巴西市场优先,EN 文档是二级)
  • Supabase 免费档用户必须自担备份纪律,没做好数据心理准备
风险提示

需要警惕

潜力评估

评分:8.5 / 10 · tracking

工程纪律
9.5
文档完备
9.5
架构设计
9.0
社区活跃
9.0
国际化友好
6.5
生态成熟度
6.5

4.5 个月做出多数商业 SaaS 都没有的工程纪律(RLS 隔离测试进 CI、威胁模型公开、幂等基线双跑)。若 MCP 公开化 + 多语言模板落地,有机会成为「聊天销售」场景的 self-host 标准件。短期最大变量:维护者精力与 WhatsApp 政策。


上一个
LinkSwift
下一个
System Prompts Leaks
在线体验

自动化规则引擎模拟器

亲手搭一组 QUANDO/SE/ENTÃO 规则,发射 WhatsApp 消息和漏斗事件:看规则命中、条件失败原因、event_log 级联、以及反封禁窗口如何在深夜拦下你的消息——还有一套「循环陷阱」规则集等你踩。

进入 Playground →
1 / 19