开源项目

DeskcommCRM

自托管的开源销售 CRM,把 WhatsApp 会话、销售漏斗和 AI Agent 放进同一个后台:Agent 按租户做 RAG 检索、执行 skills、自动跟进并在合适时机转人工,CRM 能力通过 MCP 暴露给外部 agent 调用。亮点是多租户隔离与 LGPD 合规由 Postgres RLS 兜底,一条命令即可在 VPS 上部署,支持页内升级与自动备份。MIT 协议,self-host 无 SLA,数据合规责任在部署方。

README

🇧🇷 Português · 🇺🇸 English · 🇪🇸 Español

Deskcomm CRM

🛠️ DeskcommCRM — 面向 WhatsApp 的 open source AI 销售操作系统

在 WhatsApp 上接待、筛选并成单的 AI agent(智能体)——运行在你自己服务器上的 open source CRM 之内。 无月费,无功能锁,数据归你。Kommo、Octadesk 和 Intercom 的开放替代方案。

Next.js 16 TypeScript Supabase Self-hosted CI License: MIT

⚡ 安装 · 🔄 更新 · 🧭 愿景 · 🏗️ 架构 · 🤝 贡献 · 🗺️ Roadmap


☁️ 用 1 条命令在生产环境运行这个 CRM

DeskcommCRM 是与 HostGator 合作开发的:hostgator-setup-kit/ 可用单条命令在 VPS 上安装完整 CRM(app + WhatsApp + 数据库),而 生产运行手册 已经按这个环境来写。

👉 通过合作折扣订阅 HostGator VPS — 数据中心在圣保罗,非常适合 24/7 运行 WhatsApp。(合作链接 — 通过它订阅既支持项目,也更便宜)

还没有服务器? 在你的电脑上(macOS、Linux 或 WSL)运行下面这条。它会告诉 你该买哪个套餐——用的是运行手册里的实际数字,而不是一句"看情况"——并根据你的 场景给出正确的命令:

curl -fsSL https://raw.githubusercontent.com/melgarafael/DeskcommCRM/main/hostgator-setup-kit/comecar.sh | bash

(想先读再执行?clone 仓库后运行 bash hostgator-setup-kit/comecar.sh — 未经你确认,它不安装任何东西。)


⚡ 在你的 VPS 上安装(主要路径)

1. 登录你的 VPS

在你电脑上打开 Terminal(Windows 上是 PowerShell;Mac 或 Linux 上是 Terminal),用主机商邮件里给你的 IP 和端口连接:

ssh -p PORTA root@SEU_IP

把 PORTA 和 SEU_IP 换成你自己的。如果主机商没提到端口,那就是默认端口 (22),可以省略:ssh root@SEU_IP。

它会询问密码。输入时屏幕上什么都不显示——连星号都没有。 这不是卡住,而是 终端在隐藏密码。输入(或粘贴)后按 Enter。

首次连接时它会问 Are you sure you want to continue connecting? — 回答 yes。那是服务器第一次向你自我介绍。

2. 运行安装器

已经在 VPS 里之后:

git clone https://github.com/melgarafael/DeskcommCRM.git
cd DeskcommCRM
bash hostgator-setup-kit/install.sh

就这样。你不需要安装 Node,不需要 pnpm,也不用编译任何东西——app 镜像已经准备 好了。如果缺少 Docker,安装器会询问并自动安装。

你需要准备什么

项目 从哪里获取
带 Docker 的 VPS HostGator(合作方)——或任何装了 Docker 的 VPS。推荐 4 GB 内存
域名 一条指向 VPS IP 的 A 记录(例如 crm.suaempresa.com.br)
数据库 supabase.com 免费账户——3 个 key + Session pooler 的连接串
AI 一个 OpenRouter、Anthropic 或 OpenAI 的 key——安装器会问你用哪个
WhatsApp 你的号码,在 onboarding 中通过 QR code 连接(或 Meta 官方渠道)

💡 Supabase 可以由安装器自己创建。 在运行前导出一个 SUPABASE_ACCESS_TOKEN,它就会创建项目、等待数据库健康、抓取 4 个凭据,并通过 真实连接测试推断出 pooler 主机——无需复制粘贴。

安装器会替你做什么

它只问你属于你的东西(域名、key、admin 密码),在继续前校验每个回答—— key 错了它会当场拒绝,而不是三步之后才说——其余都帮你打理好:

  1. 自动生成所有技术密钥(你不需要自己发明任何密码)。
  2. 创建 Postgres 扩展并应用完整 schema(supabase/baseline.sql)。
  3. 用你选择的邮箱和密码创建第一个 admin。
  4. 用自动 HTTPS 拉起整套 stack,并在最后检查健康状况。
  5. 安装自动化 cron(没有它,WHEN/IF/THEN 规则会卡在队列里)以及更新 agent, 后者正是让屏幕上那个"立即更新"按钮存在的原因。

重复运行不会破坏任何东西——install.sh 是幂等的:不会重复 cron、不会重建用户、 会从中断处继续。

非交互模式: 把 .env.hostgator.example 复制为 .env,填好后运行 bash hostgator-setup-kit/install.sh --yes。

其他主机商?(Hostinger、Coolify、Dokploy、CapRover…)

都可以。如果你的 VPS 自带了自己的反向代理并占用了 80/443 端口,安装器会 自动检测到并通过它发布 CRM,而不是硬塞一个装不进去的 Caddy。在一种特殊情况下 ——代理使用 --network host,比如 Hostinger 那样——它会询问而不是猜测,因为在 错误的代理后面发布,会"成功"装出一个哑掉的站点。细节见 hostgator-setup-kit/README.md。

首次访问

打开 https://<你的域名>(小锁大约 1 分钟后才出现),用 admin 登录,并且如果你 想开启双重验证,请提前准备好 Google Authenticator 或 Authy——它是可选的, 位于 设置 › 安全;首次登录不要求它。在 onboarding 中,用你号码的 WhatsApp 扫描 QR code。

🤖 想让 AI 帮你安装?

把 hostgator-setup-kit/ 文件夹丢进运行在 VPS 里的 Claude Code 聊天窗口,然后说 "instala o DeskcommCRM pra mim"。它会读取套件里的 CLAUDE.md ——里面有步骤和已经标注好的坑——并用葡萄牙语全程带你走一遍。


🔄 更新

出新版本了?有两条路,而且第一条不需要终端。

仓库 clone 下来后,安装指南已经包含在内——.agents/skills/deskcomm-instalar/—— 它会在该文件夹下打开的 Claude Code、Codex、Cursor、OpenCode 或 Antigravity 中自动加载。 只需说*"quero instalar o CRM na minha VPS"*。此外还有指南教你按细分行业搭建客户、 分析指标、调优 agent 的 prompt,以及贡献代码(AGENTS.md,"Guias do assistente" 一节)。

通过界面(推荐)

当有新版本时,侧边栏底部会亮起 "Nova versão"——只对服务器所有者显示,因为通知 无法更新的人只是噪音。点击后你就进入 设置 → 更新,那里会显示变更内容、 自动备份数据库,并跟踪每个阶段(备份 → 代码 → 数据库 → 上线)直到完成。无需 SSH。

如果新版本上线后崩了,agent 会自动回退到上一个镜像,并把这次回退写进 .env ——否则下次重启会再次悄悄带起坏掉的 app。

底层逻辑:app 只是登记更新请求;执行者是 install.sh 留在你 VPS 上的 agent, 它挂在一个每 5 分钟检查一次的 cron 里——因此更新会在点击后最多 5 分钟内开始。 如果这个 agent 挂了,界面会提示 "Atualização automática indisponível" 并展示 下面的命令——它不会假装成功。

通过终端

cd /caminho/do/DeskcommCRM
bash hostgator-setup-kit/update.sh

这条命令按顺序: (1) 确认是否真有新版本——没有的话立即退出; (2) 在动任何东西之前备份数据库; (3) 拉取新代码; (4) 通过重新应用 baseline.sql 更新数据库,它是幂等且自愈的(会自行修复被旧版本 搞乱的数据); (5) 拉取新的 app 镜像; (6) 最后检查健康状况。

目标是已发布的最新版本(v1.2.3),而不是 main 的顶端——更新总是带你去一个 在 CHANGELOG.md 里标注并描述过的版本,而绝不是一个未经测试的 commit。它会拒绝回退到早于已安装版本之前的版本(那会关掉你已经拥有的东西); 为此有意提供了 --force。

你会看到的正常现象: 数据库部分出现一大堆 already exists / multiple primary keys ——这是预期且无害的,那些都是已经存在的东西。脚本会过滤掉这些噪音,显示 ✓ banco atualizado。如果出现 ⚠ avisos que não são os esperados,那才需要保存消息。

出问题了? bash hostgator-setup-kit/restore.sh 回到备份。 只想诊断? bash hostgator-setup-kit/healthcheck.sh。

⚠️ 在一个还没有界面更新 agent 的旧安装上,请把 update.sh 运行两次: 第一次跑的还是旧脚本(它会下载新脚本);第二次才会安装 agent 并启用按钮。

通俗语言的分步说明:docs/ATUALIZANDO.md。

套件的其他命令

脚本 功能
install.sh 安装全部(幂等——可重复运行)
update.sh 更新到新版本,带自动备份
backup.sh 备份数据库 + WhatsApp 会话
restore.sh 恢复某次备份
reset-password.sh 重置某个用户的密码
reset-mfa.sh 为丢失手机的人移除 MFA
healthcheck.sh 一次性诊断所有服务

备份很重要: Supabase 免费版不会自动备份。值得把 backup.sh 排进每日 cron。update.sh 已在每次更新前运行一次备份。


✨ 这是什么

Deskcomm 来自 Desk(桌子)+ comm(商业):桌面商业——把你生意的整个销售 运营集中在一张桌子上,由人和 AI agent(智能体)一起操作。

项目最初是作为电商 CRM 诞生的,社区把它带得更远:如今它运行在诊所、房产中介、知识 付费、代理商、店铺和服务提供商——任何通过 WhatsApp 卖东西的生意。产品也随着这一 转变,成了一个销售操作系统:按 tenant 隔离、基于 RAG 的 AI agent 负责接待、筛选、 在漏斗里推动 lead、触发自动化,并知道何时该转交给人工——整个 CRM 都通过 MCP 暴露出 来,让 agent 真正操作它。完整故事见 VISION.md。

差异点

  • 🤖 会操作 CRM 的 AI agent — 按 tenant 隔离的 RAG、agent 在接待过程中自行执行的 skills、运营记忆、情感分析、可审计的 AI→人工 handoff、AI 作为一等公民 assignee, 以及按组织设置的花费上限。不是装饰性 chatbot:agent 会接待、筛选并推动漏斗。
  • 🔁 没有任何东西会默默死掉 — 重新点燃冷却对话的 follow-up(带自适应时间和按漏斗 阶段的触发器)、识别什么有回应中断风险的 radar,以及需要人工决策事项的告警中心。
  • 🧠 会自我改进的 agent — 已解决的对话变成新知识;AI 演进页面显示 agent 是否 在进步、在哪出错、还缺什么没教;提案是 AI 对自己提出的改进,可作为新版本应用 ——始终有人工把关。
  • 🧩 天生多行业 — 按 pipeline 可配置词汇:lead 变成客户、患者或买家;won 变成 已付款、已预约或已关闭。同一个核心服务电商(我们的发源地,含 Nuvemshop 集成)、 诊所、房产中介或知识付费。
  • 💬 两种 WhatsApp 方式 — 通过 QR code(WAHA,多号码,带防封:throttle + jitter + 时间窗)或通过 Meta 官方渠道(Cloud API,带已审批且已同步的模板)。媒体走 Storage, STOP 检测。
  • 🔀 AI 由你选 — OpenRouter、Anthropic 或 OpenAI,在安装时决定,之后可通过界面按 系统部位更换(负责对话的不必是负责索引的)。
  • 👥 接待治理 — 真正的服务端 RBAC、可审计的分配/转交、轮换队列、按意图自动路由, 以及按角色的查看范围。
  • 🏢 Multi-tenant + LGPD 原生设计 — 每张 tenant-aware 表都启用 RLS,隔离测试作为 CI gate;优先匿名化而非删除;append-only 审计,保留 5 年。
  • 🖥️ 真正的 self-hosted — 数据在你自己的 VPS 上;安装和更新只需 1 条命令(或 1 次 点击);没有付费版,没有功能锁。

🔌 Webhooks 与自动化

每个 tenant 都可以创建获客来源:一个公开地址 (/api/v1/webhooks/in/<token>),通过 POST(JSON 或 application/x-www-form-urlencoded)接收来自落地页、自有表单或 Zapier/n8n 等工具的 lead,直接进入所选的漏斗/阶段——不需要代码,不需要为每个 tenant 定制集成。 在这些来源(以及 CRM 的其他事件——lead 换阶段、被打上 tag、WhatsApp 收到消息)之上, tenant 可以搭建自动化:WHEN/IF/THEN 形式的规则,触发诸如加 tag、在漏斗中移动 lead、 分配给某位客服、发送 WhatsApp 消息,或通过出站 webhook 通知其他系统等动作。

在 UI 里,一切都位于侧边栏的 Webhooks(仅对 manager/admin 角色可见)。页面有三个 标签页:接收数据(创建来源、复制现成地址/表单、发送测试 lead、查看最近接收记录)、 自动化(搭建规则,规则总是以暂停状态诞生,直到你审核并开启),以及活动(每次执行 的时间线,展示每个动作的结果,外部调用失败时可手动重发)。

底层上,每个事件都会变成 event_log 里的一行——没有任何数据库 trigger 会直接发起 HTTP 调用。排空这个队列的是 /api/v1/cron/event-log-drain 路由,每分钟被调用一次。 install.sh/update.sh 已经自动配置好这个 cron——没有它,自动化会被正常创建但永远 不会运行。


🖥️ 你操作什么(各个页面)

分组 页面
接待 Inbox(WhatsApp 对话,你和 AI 并排) · Radar(哪些冷掉了但还开着) · 快捷回复
CRM Kanban(每笔生意在漏斗里的位置) · 联系人 · 漏斗(阶段、业务词汇和丢单原因)
AI agent Agents · Follow-ups · Roteadores · Providers 和 Credentials · Knowledge (RAG) · Memory · Skills · Casos · Alertas · Propostas · Execuções · 用量与预算
渠道 连接(QR 或 Meta 官方渠道,含健康、重连和模板) · Nuvemshop · Webhooks
分析 绩效(漏斗和按客服的表现) · AI 演进 · Audit Log
组织 团队 · 接待分配 · 组织 · LGPD · API Tokens · 安全(MFA、恢复码、会话) · 个人资料、通知、Billing

每个页面都有导航入口——CI 会打回那些存在但只能靠手动输入 URL 才能到达的页面。


🧱 技术栈

层 选择 原因
前端 Next.js 16 App Router (Turbopack) + React 19 + 严格 TypeScript 6 Server Components + Route Handlers 在同一仓库
样式 Tailwind + shadcn/ui (new-york, neutral) 可定制,无 lock-in
DB Supabase (Postgres + RLS + vector) 原生 multi-tenant,embedding 用于 RAG
Auth 通过 @supabase/ssr 使用 Supabase Auth Cookie SameSite=Strict, HttpOnly
Realtime Supabase Realtime postgres_changes + broadcast
Storage Supabase Storage(签名 URL) 私有 bucket whatsapp-media
WhatsApp WAHA Plus (engine NOWEB) + Meta Cloud API QR 快速起步;官方渠道用于规模化
队列 event_log 表 + workers (cron) 数据库 trigger 从不发 HTTP
限流 Upstash Redis(滑动窗口) Serverless,免费额度够用
AI Vercel AI SDK v7 — OpenRouter、Anthropic、OpenAI 和 Google 安装器询问用哪个;之后可界面切换
校验 Zod 外部输入、env、payloads
可观测性 Sentry(error、transaction、span 和 breadcrumb 均 scrub) 安装时 opt-in 遥测
托管 带 Docker 的 VPS(合作方 HostGator/SP) App + WhatsApp + workers 都在你的机器上

细节:ARCHITECTURE.md。


🧑‍💻 开发(仅用于为代码做贡献)

⚠️ 如果你想使用这个 CRM,不是这里 — 请用 VPS 安装器。 本节是给要改代码的人看的。

git clone https://github.com/melgarafael/DeskcommCRM.git
cd DeskcommCRM

nvm use                     # Node 22
npm install -g pnpm && pnpm install

cp .env.example .env.local  # guia completo em docs/SETUP.md

docker compose up -d        # WAHA local (opcional em dev sem WhatsApp)

# Schema: aplique o baseline, NÃO as migrations.
# As migrations 0001-0009 e 0013 são stubs `SELECT 1;` — a cadeia não sobe do zero.
# O schema real vive no baseline.sql, o mesmo que o install.sh aplica na VPS.
# `supabase db push` "passa" e deixa o banco vazio.
supabase link --project-ref <seu-ref>

# Num projeto Supabase NOVO, habilite antes as extensões que o schema usa —
# sem elas o baseline para em `type public.vector does not exist`.
psql "$SUPABASE_DB_URL" -v ON_ERROR_STOP=1 -c \
  'create extension if not exists vector with schema public;
   create extension if not exists citext with schema public;
   create extension if not exists pg_trgm with schema public;'

psql "$SUPABASE_DB_URL" -v ON_ERROR_STOP=1 -f supabase/baseline.sql

pnpm dev

App:http://localhost:3000 · 健康检查:http://localhost:3000/api/v1/health

docs/SETUP.md 是所有集成(Supabase、WAHA、AI 提供商、Upstash、 Sentry、Resend、Nuvemshop)的完整教程——从零到 app 跑起来约 60–90 分钟。


📁 结构

DeskcommCRM/
├── app/                    # Next.js App Router
│   ├── (admin)/            # Rotas super-admin (impersonate, tenants)
│   ├── (public)/           # Login, recovery
│   ├── app/                # Rotas autenticadas: inbox, radar, kanban, contacts,
│   │                       #   connections, ai/*, integrations, metrics, lgpd,
│   │                       #   audit, team, settings
│   └── api/v1/             # API REST canônica (196 route handlers)
├── components/             # React (ui/, inbox/, kanban/, shell/, ...)
├── lib/                    # supabase/, waha/, channels/, ai/, agent-engine/,
│                           #   api/, routing/, navigation/, env.ts
├── workers/                # consumers de event_log (IA, RAG, LGPD, mídia, rotinas)
├── supabase/migrations/    # SQL versionado (+ baseline.sql pro self-host)
├── tests/{e2e,unit,invariants,shell}/
├── scripts/                # seeds, qa-waves, manutenção
├── docs/                   # PRDs, specs, runbooks, SETUP.md, ATUALIZANDO.md
└── hostgator-setup-kit/    # instalação e atualização self-host

🧪 测试

pnpm typecheck     # tsc --noEmit (estrito)
pnpm lint          # eslint next/core-web-vitals
pnpm test:unit     # Vitest (NÃO inclui tests/invariants/**)
pnpm test:db       # Postgres efêmero + baseline install/update + invariantes
pnpm test:e2e      # Playwright (requer dev server)

这些检查是合并到 main 的必要条件。下面这份清单之前说过"四个",后来又说"五个" ——自己去量,别信它:

gh api repos/melgarafael/DeskcommCRM/branches/main/protection \
  --jq '.required_status_checks.contexts|join(", ")'
# em 2026-08-14: verify, build-and-size, invariants, e2e, imagens-ok
Check 作用
verify typecheck + lint + lint:channels + test:unit + test:shell
invariants 起一个干净的 Postgres,以 install 模式应用 baseline.sql,然后再以 update 模式应用——两遍都用 ON_ERROR_STOP=1,正是这一点让第二遍成为幂等性证明,而不只是"跑完了"——然后运行 RBAC、分配、范围、路由、follow-up、webhooks 和自动化的不变量
build-and-size 在 Node 22 上 pnpm build
e2e 起本地 Supabase,应用 baseline.sql,并通过前端运行 49 个 spec 中的 48 个 Playwright
imagens-ok 三个 Docker 镜像(app、worker、scheduler)中任何一个构建失败就报错——那正是 self-hoster 安装的产物

e2e 之外唯一一个 spec 是 vps-fresh-onboarding——它需要真实的 WAHA + Redis + Resend + Nuvemshop。它是我们视觉 QA 信条中的 P0,所以 e2e 变绿并不证明全新安装的旅程; 那条旅程要在 VPS 上验证。

不变量中包含 RLS 隔离测试:创建 2 个组织,通过与生产 policy 相同的 auth.uid() / fn_user_org_ids() 路径模拟 JWT claims,并证明 A 组织的用户在 conversations、messages、contacts 和 crm_leads 中看到 B 组织的零行。在此 之前,一个对照用例会证明 B 组织的行确实存在——没有它,表为空时测试也会通过。


📚 文档

文档 内容
hostgator-setup-kit/README.md Self-host 安装 — 套件、脚本、带自有代理的主机商
docs/ATUALIZANDO.md 如何更新你的安装,通俗语言
VISION.md 愿景与定位 — 项目是什么、相信什么、走向何方
CHANGELOG.md 每个版本改了什么 — 更新前先读该版本的章节
docs/SETUP.md 开发环境搭建,所有集成的分步指南
docs/white-label.md 为客户安装 — 换品牌,每客户一套 vs 共享一套,转售
docs/runbooks/waha-hostgator.md 生产环境 WAHA 运行手册(容量规划、恢复)
docs/runbooks/deploy.md 生产部署
CLAUDE.md 不可协商的约定(贡献前必读)
ARCHITECTURE.md 1 页架构概览
docs/index.md 157 份文档的索引,含优先级规则
docs/prd/ · docs/specs/ PRD 和技术 spec(SQL schema、payloads、MCP、治理)

🤝 贡献

这个项目是为社区开源的。所有贡献都欢迎——从文档里的 typo 修复到新功能。

开 PR 之前:

  1. 读 CLAUDE.md(约 5 分钟)——不可协商的约定(multi-tenancy、RLS、audit、LGPD)。
  2. 读 CONTRIBUTING.md——分支、commit、epic-executor 流程。
  3. 遵守行为准则。

简短流程:

git checkout -b feat/short-slug
# implementa + testes
pnpm typecheck && pnpm lint && pnpm lint:channels && pnpm test:unit && pnpm test:shell && pnpm build
pnpm test:db   # precisa de Docker — é o job `invariants`, obrigatório no merge
git commit -m "feat(escopo): descrição"
# abre PR — o template já traz o checklist de Definition of Done

这两行就是你在本机所能运行的一切,这是刻意为之:只跑一半、然后在几小时等待后把 剩下的当成红色惊喜,是这个仓库能给出的最糟糕的首次体验。

有两个强制 gate 不在其中,只在 CI 里运行:e2e(需要本地 Supabase)和 imagens-ok(构建三个 Docker 镜像)。你本机绿不等于合并时绿。

Definition of Done: typecheck 零错误、lint 零错误、相关测试全绿、若触及 tenant-aware 表则测试过 RLS、变更时有 audit log 输出、若改 schema 则版本化 migration + 在 baseline.sql 里加附录(否则变更到不了 self-host 的人那里)。细节见 CLAUDE.md。


🐛 报告 bug

开一个 issue——模板会问我们 需要什么(环境、/api/v1/health、steps)。运行 bash hostgator-setup-kit/healthcheck.sh 并粘贴输出会很有帮助。

对于安全漏洞,不要开公开 issue——请使用私密漏洞报告。 细节见 SECURITY.md。


🗺️ Roadmap

✅ 已交付

  • 基础与平台 — auth(admin 有 MFA)、带 RLS + 隔离测试的 multi-tenancy、4 角色 RBAC、 append-only audit log、tenant onboarding。
  • WhatsApp 接待 — 实时三栏 inbox、通过 QR (WAHA) 或 Meta 官方渠道(已审批且已 同步的模板)的多号码连接、媒体走 Storage、防封(throttle + jitter + 时间窗)、STOP 检测。
  • CRM 与订单 — 按行业可配置词汇的 kanban(fractional indexing)、通过界面管理漏斗、 customer 360、联系人、tags、Nuvemshop 集成。
  • 原生 AI — 带按 tenant 隔离 RAG (pgvector) 的 agent、agent 自行执行的 skills、 组织记忆、按号码的意图路由、情感分析、AI→人工 handoff、按 org 的花费上限、 内部 MCP server。
  • AI 提供商选择 — OpenRouter、Anthropic 或 OpenAI,安装时决定,之后可按系统部位 在界面切换。
  • 活的 follow-up — 用自适应时间重新点燃冷却对话,按漏斗阶段和按案例触发,轮换队列, 以及识别有回应中断风险的 Radar。
  • LGPD — 通过 workers 导出和 redact、级联匿名化、可审计同意。
  • Self-host — hostgator-setup-kit(1 条命令装 app + WhatsApp + 数据库)、自愈式 baseline.sql、通过界面更新并自动备份、生产运行手册。
  • Webhooks 与自动化 — 获客来源 + WHEN/IF/THEN 规则 + 面向外部系统的触发器。
  • 接待治理 — 整个 API 的服务端 RBAC、可审计的分配和转交(AI 作为一等 assignee)、 按角色的查看(RLS)+ 按客服的指标、带队列和管理的自动路由,以及外部 AI agent 的治理 契约(docs/specs/14)。
  • 可见的运营 — 对话中翻译出 anti-ban 保留原因、带严重度的告警中心、卡住消息提醒、 发送保护控制(窗口/节奏/上限)、agent 声明的能力,以及可作为新版本应用(有人工把关) 的 flywheel 提案。

🔮 下一步

  • 公开 MCP — 把 CRM 的能力暴露给 agent 生态:接入你想要的 agent,它就能操作 Deskcomm。
  • 按行业模板 — 面向诊所、房产中介、知识付费和服务的现成 pipeline 和词汇(电商已交付)。
  • 集成 — 通过 adapter pattern 支持 VTEX 和 Shopify(Nuvemshop 已交付)。
  • 概率性身份识别 — 跨渠道联系人统一。

💬 社区

开源项目melgarafael2026-09-11原文

相关内容