Twenty 开源 CRM
Twenty 是面向 AI 时代的开源 CRM,定位为 Salesforce 的开放替代品。它把对象、视图、工作流与 AI Agent 作为可编程积木,让技术团队像管理代码一样构建、发布和版本化自己的 CRM。
爱鲜报评分
0 人评分
6k
星数
否
中文
TypeScript
主语言
是
活跃
779
贡献者
人工分析
EDITORIAL推荐理由
Twenty 用 TypeScript 全栈实现,前后端与数据模型都可扩展,适合希望摆脱 SaaS 锁定、把 CRM 纳入自有技术栈的团队。它提供 CLI 与应用 SDK,可把对象、字段、视图甚至 Agent 定义为代码并纳入版本控制,工程化程度在开源 CRM 中较为少见。近 6 万 Star 与活跃社区也说明其生态正在快速成熟。
适用场景
- 需要深度定制数据模型与业务流程的销售团队
- 希望自托管、数据自主可控的企业
- 把 CRM 能力嵌入自有产品的开发者
- 用代码管理 CRM 配置与版本迭代的工程团队
- 构建 AI Agent 驱动的销售自动化流程
优点
- 完全开源,可自托管,数据与配置自主可控
- 对象、字段、视图、Agent 均可用代码定义,便于版本管理
- TypeScript + NestJS + React + PostgreSQL 技术栈主流,二次开发门槛低
- 提供 CLI 与应用 SDK,扩展与发布流程清晰
- 社区活跃,Star 与贡献者数量可观
缺点
- 功能仍在快速演进,部分能力与成熟商业 CRM 相比有差距
- 自托管需要维护数据库、容器等基础设施
- 生态与第三方集成数量尚不及 Salesforce 等老牌产品
- 中文文档与本地化支持有限
Twenty 是什么
Twenty 是一款开源 CRM,官方定位是「Salesforce 的开放替代品,为 AI 而设计」。它不只提供联系人、公司、商机等常规 CRM 能力,更强调把 CRM 当作一套可编程系统:对象、字段、视图、工作流与 AI Agent 都是可以扩展和版本化的积木。
项目采用 TypeScript 编写,前端基于 React,后端基于 NestJS,数据存储使用 PostgreSQL,并以 monorepo 方式组织代码。
核心理念
传统 CRM 往往需要迁就厂商固定的数据模型,Twenty 则希望技术团队能像维护其他服务一样维护 CRM:
- 用代码定义业务对象与字段
- 用版本控制管理配置变更
- 用应用与 Agent 扩展业务逻辑
主要能力
- 可编程数据模型:通过 SDK 定义对象、字段与视图
- 应用体系:用 CLI 初始化应用、开发并发布到工作区
- AI Agent:在 CRM 内构建和编排智能代理
- 布局自定义:按团队习惯调整界面与视图
- 自托管:支持 Docker Compose 部署到自有基础设施
快速上手示意
官方提供云端工作区,注册后即可在较短时间内创建空间。若要以开发者方式构建应用,可使用 Twenty CLI 初始化项目:
npm install -g twenty
twenty app init my-app
cd my-app
yarn install
随后用 SDK 以声明式方式定义对象,例如一个「商机」对象:
import { defineObject, FieldType } from 'twenty-sdk/define';
export default defineObject({
nameSingular: 'deal',
namePlural: 'deals',
labelSingular: 'Deal',
labelPlural: 'Deals',
fields: [
{ name: 'name', label: 'Name', type: FieldType.TEXT },
{ name: 'amount', label: 'Amount', type: FieldType.CURRENCY },
],
});
定义完成后即可登录工作区并发布应用。具体命令与参数请以官方文档为准。
部署方式
- 云端:直接使用官方托管服务,无需管理基础设施
- 自托管:通过 Docker Compose 部署到自己的服务器
- 本地开发:按贡献指南在本地搭建开发环境
适合谁
Twenty 更适合有一定工程能力、希望把 CRM 深度融入自有系统的团队。如果只是需要开箱即用的轻量客户管理,可能需要评估其功能成熟度与运维成本。
评论
- 暂无评论,来写第一条吧。