30分钟本地搭建 AI Agent 驱动的 CRM
本教程带你30分钟在本地完整部署 Comp AI CRM 系统。从环境准备、权限配置到三服务协同启动,全程手把手教学。实战演示 Agent 如何自主扫描邮件、识别联系人并自动丰富客户档案,掌握证据驱动的录入机制与任务队列原理。学完即可跑通私有化 AI CRM,并具备自定义扩展能力。

每次跟进新线索,手动查官网、翻领英、整理企查查数据并逐条填入系统,是技术创业者与销售团队的隐形时间杀手。市面上的 AI CRM 大多停留在聊天框层面,核心的“查明信息、写进系统”依然依赖人工。本篇教程以开源项目 Comp AI CRM 为核心,带你花 30 分钟在本地完整跑通一套 AI Agent 驱动的客户管理系统。部署完成后,Agent 会在后台自主调度任务:扫描往来邮件、反查联系人身份、自动充实企业档案。你只需关闭浏览器,Agent 会持续工作并将结果直接写入数据库。
基础环境准备
启动前请确保本机已安装 Bun 1.0+ 和 Docker(含 Docker Compose)。该项目采用 Turborepo 单仓管理模式,内部划分 Next.js 前端(3000 端口)、NestJS 后端(3001 端口)与独立 Agent 进程。三者共享同一份环境变量与 Postgres 实例。Bun 的 Workspace 机制能一次性拉齐所有依赖,显著降低版本冲突概率。使用 Bun 替代传统 npm 或 pnpm,能更快完成跨应用依赖树的构建。
完整启动链路
终端拉取代码后默认进入 release 稳定分支,规避主干开发中的未发版风险。复制环境模板并安装依赖。使用 Docker Compose 拉起数据库时,容器会严格锁定 Postgres 版本,确保 Prisma 迁移脚本在任何机型上表现一致。自行安装的系统级数据库极易因版本差异导致 Schema 生成失败,容器化方案彻底隔离了底层差异。
bash
git clone https://github.com/trycompai/crm.git && cd crm
cp .env.example .env
bun install
docker compose up -d # Postgres on :5432
bun run db:deploy # apply migrations
bun run db:seed # optional: demo data
bun run dev # start app(3000) + api(3001) + agent
打开 .env 填入核心参数。BETTER_AUTH_SECRET 必须通过 OpenSSL 生成高强度随机串,直接决定会话 Cookie 的防篡改能力。ALLOWED_SIGN_IN 充当全局权限网关,填入公司域名即可放行对应邮箱注册,留空则阻断所有访问请求。配置 Google OAuth 凭据可解锁邮件与日历同步能力,Agent 将以此为数据基准进行客户画像。前往 Google Cloud Console 创建 Web 应用类型凭证,重定向回调地址设为本地 API 路径,并开启 Gmail 与 Calendar 接口权限。至少保留一个 OAuth 提供商配置,否则登录页将处于空白状态。
bash
## 生成认证签名密钥
openssl rand -base64 32
## .env 中设置
BETTER_AUTH_SECRET="生成的密钥字符串"
ALLOWED_SIGN_IN="acme.com" # 公司全员可用
## 或
ALLOWED_SIGN_IN="acme.com,contractor@gmail.com" # 公司 + 外部人员
## 或
ALLOWED_SIGN_IN="you@gmail.com" # 个人使用
执行数据库迁移命令生成完整表结构,随后一键启动全栈服务。终端打印端口监听日志即代表环境就绪。通过白名单域名邮箱登录,系统无缝对接 OAuth 流程。
Agent 自动丰富档案实战
进入控制台新建联系人,仅需提供目标邮箱。切换至该条目的 Agent 视图,后台任务队列即刻激活。系统内置 18 项专业工具,按优先级依次执行身份解析、企业资料抓取、历史通信记录清洗。所有数据录入严格遵循证据分级原则:强证据直接落库更新,弱证据标记为人工审核建议。Agent 绝对不凭空编造联系人属性,所有结论均附带原始数据来源。任务调度依托底层任务脚本实现,采用行级锁并行处理,自动规划跟进节奏与执行频率。
高频避坑指南
数据库连接报错优先排查 Docker 容器健康状态,若主机 5432 端口被占用,修改环境变量中的端口映射即可。登录页缺失第三方按钮源于 OAuth 密钥未配置,系统设计如此以防误暴露。外部搜索源显示关闭属正常现象,不依赖付费 API 同样能基于自有邮件完成基础建档。生产部署时务必保证前后端服务使用完全一致的 Auth 密钥与数据库连接串,否则鉴权校验将失效。API 层的编译产物已固化提交,切勿在生产构建阶段重复生成,避免 GLIBC 环境不匹配导致崩溃。
后续能力延伸
跑通基础流程后,建议深入 apps/agent 目录解析技能定义文件,掌握智能体决策逻辑。开发者可参照现有模板编写自定义 TypeScript 工具,无缝接入本地工作流。配置 Agent Bridge 密钥后,即可在联系人面板直接与智能体交互。该仓库采用单租户架构,UI 组件库独立封装,拒绝过度设计,代码规范极具独立项目参考价值。