trycompai/crm · 上手攻略

  • 仓库:trycompai/crm
  • 链接:https://github.com/trycompai/crm
  • 分类:AI/Agent · CRM
  • 作者:Tom
  • 更新:2026-08-05

这是什么

trycompai/crm 是一个以 AI Agent 为核心的 CRM 系统,核心理念与所有传统 CRM 完全不同:大多数 CRM 是"数据库前面加表单",AI 版不过是在表单旁边加了个聊天框。trycompai/crm 反其道而行——Agent 才是产品,数据库只是它的笔记本

该系统由两个独立进程组成: - NestJS API 服务:纯粹的记录层,只负责任务队列写入,不做任何智能判断("把 enrichment API 调用塞进 NestJS 服务 = Bug")。 - Agent 运行时:跑在 eve.dev(Vercel 面向持久化 Agent 的文件系统优先框架)上,自己决定下一步看什么、预约跟进、花研究预算,并在预算耗尽时主动停止。

Agent 有 18 个内置工具(read_crm_historysearch_crmidentify_contactresearch_personenrich_companyrecord_factschedule_recheck 等)、4 个 skill(以 Markdown 文件形式存在,由 Agent 读取后可版本化管理)、1 个调度器(dispatch.ts),以及一个 deny-all 出向流量的沙箱(可执行 bash/grep/glob,但沙箱内无网络、无数据库凭证)。

一句话总结:Agent 长期驻存、自主工作,不需要人工触发——关掉浏览器它还在跑。

解决什么问题

传统 CRM 的问题是"找真相、写下来"全靠人,销售要手动录入数据、查客户背景、记跟进理由,AI 聊天框不过是把这些活儿挪到对话里,本质还是 request-response。trycompai/crm 把"持续研究 + 主动记录"这件事交给 Agent,人只负责核实和决策。

具体解决: - 不用销售手动填字段:Agent 自动从邮箱同步、签名块、GitHub 账号等来源提取信息写入 CRM。 - 不用人去想下一步看谁:Agent 根据调度队列自行决定优先看哪个客户、何时复检。 - 不依赖外部数据源也能跑:零 API Key 时,Agent 读自己的邮件线程和签名块——免费且是最可信赖的证据来源。 - 证据分级,避免 AI 幻觉写入记录:Agent 的工具只报告"观察到什么"(如 crm.signature-block),不报告置信度;强证据写入记录,弱证据变成待人确认的建议。模型自评置信度往往出错,所以系统根本不接受这个概念。

快速安装

⚠️ 前提:Node.js 18+,Docker(推荐)或 PostgreSQL 14+

# 1. 克隆仓库
git clone https://github.com/trycompai/crm.git
cd crm

# 2. 复制环境变量模板
cp .env.example .env

# 3. 编辑 .env,至少填写以下必须项:
# DATABASE_URL=postgresql://user:pass@localhost:5432/crm
# GOOGLE_CLIENT_ID=你的Google OAuth Client ID
# GOOGLE_CLIENT_SECRET=你的Google OAuth Client Secret
# AGENT_BRIDGE_SECRET=随机字符串(API与Agent进程间共享密钥)

# 可选(逐步开启):
# PERPLEXITY_API_KEY=  # 网络研究
# RAPIDAPI_KEY=        # LinkedIn 集成
# CONTEXT_API_KEY=     # 公司品牌数据(logo、行业、颜色)

# 4. 启动数据库(Docker)
docker compose up -d postgres

# 5. 安装依赖并启动
npm install
npm run dev

启动后会看到 Agent 打印出当前已配置的集成清单:

[agent] on LinkedIn (RAPIDAPI_KEY)
[agent] off Web research (PERPLEXITY_API_KEY)
[agent] off Company brand data (Settings → General)

核心用法

日常使用

  1. 打开浏览器,用 Google 账号登录(allow-list 白名单控制访问)。
  2. 在 Contact / Company / Deal 页面可以看到Agent Tab:显示 Agent 思考链路、丢弃的线索及原因。
  3. 直接与 Agent 对话,指定研究目标或要求它对某联系人做复检。

Agent 工作机制

// apps/agent/lib/tasks.ts
// 任务调度核心:claimDue 用 FOR UPDATE SKIP LOCKED 租下到期行
const due = await claimDue(db);
// Agent 决定看哪个联系人、调用哪个工具
// 完成后调用 schedule_recheck(contactId, reason) 预约下次复检
// reason 对销售可见——Agent 必须能解释为什么 14 天后再来看这个人

关键工具一览

工具 作用
read_crm_history 读取指定联系人的 CRM 历史记录
search_crm 语义搜索 CRM 数据库
identify_contact 从签名块/邮件头识别联系人身份
research_person 研究某人的公开信息(需 LinkedIn key)
enrich_company 补充公司 logo、行业、地理位置
record_fact 将结构化事实写入 CRM 记录
schedule_recheck 预约下次复检时间及原因
github.account-identity 从 GitHub 信息核实身份

沙箱安全模型

# 沙箱:无网络 + 无数据库凭证
# 仅允许:bash, grep, glob, /workspace 目录操作
# 出向网络全走 web_fetch / web_search(由主应用运行时处理)

环境变量核心清单

变量 必需 说明
DATABASE_URL PostgreSQL 连接串
GOOGLE_CLIENT_ID/SECRET Google OAuth(登录)
AGENT_BRIDGE_SECRET API 与 Agent 进程间共享密钥
PERPLEXITY_API_KEY 网络研究(关 Agent Tab 可选)
RAPIDAPI_KEY LinkedIn 集成
CONTEXT_API_KEY 公司 logo/行业数据(品牌识别)

典型适用场景

  • B2B 销售团队:需要持续追踪潜在客户,Agent 自动从公开渠道研究对方公司动态,减少销售手动 Research 时间。
  • 内部 CRM 迁移:已有大量客户数据但缺乏结构化背景,Agent 可以批量读取邮件签名块和历史对话来填补字段。
  • 一人公司 / 小团队:不需要完整的销售流程管理,Agent 帮你记住上次跟谁聊了什么、下次该联系谁。
  • 研究驱动型销售:需要深入了解客户公司战略、技术栈、融资情况,而非简单记录姓名电话。

坑与注意

  1. 安全模型极简:整个授权就是"谁能登录谁能看到一切",适合内部工具;不要直接用于真实客户数据,先看 SECURITY.md
  2. 单租户设计:不支持多租户,每个部署一个数据库实例,适合内部团队共享,不适合 SaaS 对外服务。
  3. Agent 幻觉风险:工具输出的是"观察到的事实"而非"我认为是这样",但仍需人在 Agent Tab 里核实——系统只是把错误从"写入字段"降级为"待确认建议"。
  4. API 端点零智能:后端 API 只写队列不调用 LLM,智能全在 Agent 进程。如果 Agent 崩溃,数据库仍在写入但无 Agent 处理——监控 Agent 进程健康状态很重要。
  5. Eve 框架依赖:Agent 运行时基于 Vercel 的实验性框架 eve.dev,生产使用前需确认框架稳定性。
  6. PostgreSQL FOR UPDATE SKIP LOCKED:调度器依赖这个特性做并发抢占——不支持此语法的数据库(如 MySQL)无法运行。

与同类对比

方案 定位 Agent 自主性 数据源依赖 部署难度
trycompai/crm Agent-first CRM 完全自主运行 可零外部依赖 中等(需自托管)
HubSpot CRM 传统表单+AI辅助 无自主运行 需手动录入 低(SaaS)
Salesforce Einstein 大厂AI CRM 有限(辅助建议) 封闭生态 高(企业级)
Pipedrive 轻量销售管道 有限 手动+部分自动 低(SaaS)

核心差异:大多数 CRM 把 AI 当"增强搜索/写邮件"的附件功能;trycompai/crm 把 AI Agent 当核心,数据库只是持久化层。

一句话推荐结论

如果你厌倦了"CRM 还是要人来填",又愿意接受 Agent 的不确定性——trycompai/crm 提供了目前最彻底的"Agent 即产品"实验,值得用一个真实客户池测试它能否真正减少你的销售 Research 工作量。

原始 commit:https://github.com/trycompai/crm/commits/main 原始 issue/PR 链接:https://github.com/trycompai/crm/issues