twenty 开源 CRM 实战:从 5 分钟部署到自定义字段与视图的完整指南
2026/8/30 13:21:14 网站建设 项目流程

twenty 开源 CRM 实战:从 5 分钟部署到自定义字段与视图的完整指南

【免费下载链接】twentyThe open alternative to Salesforce, designed for AI.项目地址: https://gitcode.com/GitHub_Trending/tw/twenty

你负责的销售团队,是不是也卡在这样的 CRM 里:想加一个"续约日期"字段,销售运营说这属于定制需求,报价按人天算;数据导出时却发现字段命名是三年前的旧标准,谁也说不清含义。twenty 是一个开源的 CRM,你完全可以把它部署到自己的服务器或者笔记本上,像开发一个普通应用那样去定义数据对象、写自动化逻辑、改页面布局——代码进版本库,改坏了可以回滚。本文带你看清楚它怎么跑起来、日常怎么用、怎么改造成团队自己的工具,以及出问题去哪儿查。

1. 快速部署 twenty:三种方式按需选择

你能做什么:在一台有 Docker 的机器上,用一条命令或一套手工步骤,把完整的 CRM 实例跑起来,浏览器打开http://localhost:3000就能用。

方式一:一键脚本(推荐)

curl -fsSL https://gitcode.com/GitHub_Trending/tw/twenty/raw/branch/main/packages/twenty-docker/scripts/1-click.sh | bash

这个脚本会自动拉取最新版本的安装程序并完成环境初始化;想锁定版本,可以在前面加VERSION=v0.32.4

方式二:Docker Compose 手工部署

适合你想看清每一步在做什么的场景。先拿到环境模板:

curl -o .env https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-docker/.env.example

然后重点改两处:用openssl rand -base64 32生成一个随机串填入ENCRYPTION_KEY(丢了它就解不出库里存的任何密钥,务必保管好),再设置PG_DATABASE_PASSWORD。接着下载编排文件并启动:

curl -o docker-compose.yml https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-docker/docker-compose.yml docker compose up -d

三条命令分别完成:拉取环境模板、生成并填入密钥、启动容器组。机器内存至少留 2GB,不然进程会被挤崩。部署细节(比如给外网暴露服务时SERVER_URL怎么填、HTTPS 怎么配)可以看仓库里的 Docker Compose 自托管文档。

方式三:源码本地开发

如果你要贡献代码或者研究内部实现,走这条:

git clone https://gitcode.com/GitHub_Trending/tw/twenty cd twenty yarn install ./nx serve twenty-front

最后一条命令启动前端开发服务器,整个仓库由 Nx 管理多包构建,前端在 packages/twenty-front/,后端服务在 packages/twenty-server/,共享类型在 packages/twenty-shared/。

2. 打开就能用的日常操作

部署完成、注册第一个账号(默认单工作区模式下第一个用户自动成为管理员),你面前已经是一套能用的 CRM:联系人、公司、交易等标准对象预置好了,每条记录有时间线,可以记笔记、挂任务。

视图是日常主战场。同一份数据可以切成表格、看板、日历三种形态——交易按阶段拖卡片走流程,日程按周看安排,列表里加过滤器和分组。配置存在你的工作区里,换台电脑登录还是你的样子。

仪表盘解决"这周怎么样"的问题:把对象上的数据聚合成图表,不用自己导出表格再透视。

AI 对话内置在工作区里,你直接用自然语言问"上个月金额最高的 5 笔交易是什么",它替你查数据:

工作流是自动化的入口:设置触发条件(比如新建一条记录、字段变更)加上一串动作(发通知、改字段、调外部接口),保存后后台自动执行。想给团队配自动提醒,从这里入手比写脚本省事得多。

命令菜单(按Cmd/Ctrl + K)是提效细节:跨对象搜索、快速跳转、执行常用动作,都在一个弹窗里完成。

3. 用代码改造数据模型:创建对象、字段与视图

能做什么:不再受限于"后台点出来的字段",把数据模型、逻辑、界面当代码来写,改一次同步到 CRM,还能进 Git 做版本管理。

流程分三步,每步一条命令:

npx create-twenty-app my-twenty-app

生成一个 TypeScript 应用项目,目录里已经带好了示例配置和默认角色。

yarn twenty dev

进入开发循环:它会起一个本地 Twenty 服务(Docker 容器,端口 2020),然后持续监听src/目录——你保存一个文件,几秒后改动就出现在 CRM 界面里。

写东西的粒度也很清楚,一个.ts文件对应一类"实体":

你想加的东西对应实体
新业务对象和字段(如"发票")Objects & Fields
定时任务、响应数据库事件的逻辑Logic Functions
嵌进侧边栏、命令菜单的界面块Front Components
预配置好的列表视图和侧边导航Views & Navigation
自定义记录详情页Page Layouts

举个具体的:你不想每次手工抄会议纪要,就给"交易"对象加一个"纪要"文本字段,再配一个定时触发的 logic function 从外部源拉数据填进去——全程在my-twenty-app/src/里改文件,yarn twenty dev会自动同步。

想深入这块的实现,官方教程在 应用开发入门,数据模型部分参考 扩展对象文档。

4. 配置团队权限:角色、对象级与字段级控制

能做什么:不同岗位看到不同的数据——销售看不到毛利字段,客服只能读不能改,管理员管全局。

twenty 用基于角色的访问控制(RBAC):先建角色,再给角色分配权限,最后把成员挂到角色上。权限能细到两个层面:

  • 对象级:这个角色能不能看/建/改/删"交易"这个对象;
  • 字段级:某个字段对某角色只读、甚至隐藏。

配完之后,邀请成员进工作区时直接选角色即可。相关的文档在 权限与访问控制。

一个实用的分工思路:给"销售"角色放开联系人与交易的全部读写,把"公司"对象设为只读;给"市场"角色只留联系人读权限和邮件营销字段。这样新人入职当天领账号,权限边界就已经画好了。

5. 遇到问题怎么办:日志、文档与升级路径

按出问题的环节对号入座:

  1. 页面打不开 / 容器反复重启:先看 Docker 容器日志,八成是内存不足(再次提醒 2GB 是底线)或者.env里密码特殊字符没处理;核对方法见 自托管故障排查文档。
  2. 应用开发时同步不上:确认yarn twenty dev终端里的状态面板是不是绿的;认证问题重新走一次 OAuth 授权,具体情形参考 应用开发排错。
  3. 升级版本:自托管场景下官方给了专门的升级指南,说明哪些版本之间有配置迁移,在 升级指南 里按版本对查。
  4. 配置改错了:大部分配置(邮件、存储、集成)都可以直接在工作区的管理面板里改,改动十几秒内生效;只有数据库连接、ENCRYPTION_KEY这类基础设施项才需要动.env并重启容器。

顺带一提,工作流"配了但没触发"这类问题,90% 是触发条件写得比实际数据粒度粗,先拿一条已知数据去验证条件是否命中,再谈其他。

6. 下一步:从试用到深度参与

  • 今天就部署一个:按第 1 节方式一跑起来,用 30 分钟把团队现有的联系人数据导进去,感受一遍视图、工作流和 AI 对话。
  • 把需求变成代码:挑一个"现在要提定制"的字段,照第 3 节的流程做成第一个 twenty 应用,体验"自己改自己的 CRM"。
  • 参与社区:想贡献代码,先走 本地开发环境文档 把贡献环境搭起来;有想法或 bug,直接在仓库的 issue 区提交。官方文档入口在 packages/twenty-docs/,用户手册从 用户指南 开始读。

【免费下载链接】twentyThe open alternative to Salesforce, designed for AI.项目地址: https://gitcode.com/GitHub_Trending/tw/twenty

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询