snapshot of https://github.com/twentyhq/twenty.git (main, 2026-09-17; blobs > 131072B omitted)
Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s

This commit is contained in:
upstream-mirror
2026-09-17 23:28:13 +05:00
commit e7da97194a
32688 changed files with 4208681 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
---
title: AI
description: Twenty 如何使用 AI 增强你的 CRM 体验。
icon: robot
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
Twenty 将 AI 直接集成到你的 CRM 中——不是噱头,而是一个在你的数据模型和权限系统内运行的实用工具。
## AI 聊天机器人
用自然语言就你的数据提出问题。 AI 聊天机器人可以查询你的 CRM 记录、总结信息,并在无需构建复杂筛选条件的情况下帮助你找到所需内容。
<VimeoEmbed videoId="1185511734" title="AI 聊天机器人" />
## AI 代理
AI 代理不仅限于聊天——它们还能自主执行多步骤任务:
* 使用来自外部来源的数据丰富记录
* 撰写并发送跟进电子邮件
* 分析销售管道健康状况并标记存在风险的交易
* 处理传入数据并将其路由到合适的团队
AI 代理在你现有的工作流中运行,因此你可以将 AI 与人工审批、条件逻辑以及外部 API 调用相结合。
## 权限与安全
Twenty 中的 AI 遵循你的权限模型。 AI 代理只能访问用户(或角色)有权查看的对象和字段。 即使在涉及 AI 时,敏感数据也始终受到保护。
<Card title="完整 AI 指南" icon="arrow-right" href="/l/zh/user-guide/ai/overview">
关于聊天机器人、代理和权限控制的详细参考。
</Card>

View File

@@ -0,0 +1,41 @@
---
title: 应用
icon: cube
description: 通过代码扩展 Twenty——将自定义对象、服务器端逻辑、UI 组件和 AI 代理全部构建为 TypeScript 软件包。
---
大多数 CRM 只给你一个配置面板。 Twenty 给你的是一个平台。 应用是开发者将 Twenty 扩展到超出 UI 所提供能力的方式——将数据模型、服务器端逻辑、UI 组件和 AI 能力定义为代码,然后将它们部署到一个或多个工作区。
## 应用存在的原因
工作流涵盖无代码自动化。 但有些事情需要代码:自定义定价引擎、专有的富化管道、在每次记录更新时运行的合规检查、从内部工具中提取数据的自定义 UI 面板。
应用让你将这些构建为一等扩展——不是从外部与 API 通信的脆弱脚本,而是在平台上运行、可完全访问类型系统、权限模型和 UI 的代码。
## 一个应用可以定义什么
一个应用是使用 `twenty-sdk` 声明 **实体** 的 TypeScript 软件包:
| 实体 | 作用 |
| ---------- | --------------------------------------------- |
| **对象与字段** | 在现有对象上新增数据表和字段——与内置项同等对待 |
| **逻辑函数** | 由 HTTP 路由、cron 调度或数据库事件触发的服务端 TypeScript |
| **前端组件** | 在 Twenty 的 UI 内渲染的沙盒化 React 组件(侧边面板、小部件、命令菜单) |
| **技能与智能体** | AI 能力——可复用的指令和自主助手 |
| **视图与导航** | 预配置的列表视图和侧边栏菜单项 |
所有内容都会在构建时通过 AST 分析自动检测——无需配置文件,也不需要注册样板代码。 在任意 `.ts` 文件中放入一行 `export default defineObject(...)`,SDK 就会自动识别。
## 它们如何运行
* **逻辑函数** 在隔离的 Node.js 进程中执行,并与宿主环境沙盒隔离。 它们通过限定在应用角色权限范围内的类型化 API 客户端来访问数据。
* **前端组件** 在使用 Remote DOM 的 Web Worker 中运行——与主页面沙盒隔离,但渲染原生 DOM 元素(非 iframe)。
* **权限** 在 API 层面强制执行。 应用只能看到其角色权限所允许的内容。
## 开发者体验
你在本机上以一个 TypeScript 项目的形式编写你的应用。 CLI 监听你的源码文件,并将它们实时同步到正在运行的 Twenty 服务器——编辑文件后,你可以在一秒内在 UI 中看到变更。 当模式发生变化时,会自动重新生成类型化的 API 客户端。 准备就绪后,使用 `yarn twenty app:publish --private` 推送到生产服务器,或者使用 `yarn twenty app:publish` 将你的应用发布到 npm 和 Twenty 应用市场。
<Card title="构建你的第一个应用" icon="arrow-right" href="/l/zh/developers/extend/apps/getting-started/quick-start">
三阶段引导——脚手架搭建、本地服务器运行、同步你的更改。
</Card>

View File

@@ -0,0 +1,46 @@
---
title: 日历与电子邮件
description: 将您的电子邮件和日历与 Twenty 同步。
icon: envelope
---
Twenty 连接到您现有的工具,让您的 CRM 在无需手动输入数据的情况下保持最新。
## 电子邮件同步
连接您的 **Google Workspace** 或 **Microsoft 365** 邮箱。 连接后:
* 电子邮件会自动关联到匹配的公司和联系人记录
* 完整的电子邮件会话在每条记录的时间轴中可见
* 您可以直接从 Twenty 发送电子邮件
* 支持每位用户使用多个邮箱
您可以控制要导入的内容——按日期范围或发件人筛选,以避免导入不相关的电子邮件。
## 日历同步
日历事件会从您已连接的账户自动同步。 事件会出现在相关的 CRM 记录上,为您提供与每个联系人或公司的互动全景。
## 集成
除了电子邮件和日历之外,Twenty 还通过以下方式连接到外部工具:
| 方法 | 用例 |
| --------------- | ----------------------------- |
| **API** | 使用 GraphQL 或 REST API 构建自定义集成 |
| **Webhooks** | 当记录发生变更时,将实时通知推送到外部系统 |
| **Zapier** | 无需编码即可连接 5,000+ 应用 |
| **工作流 HTTP 操作** | 在自动化工作流中调用任意外部 API |
## 自定义应用
开发者可以在 Twenty 之上构建功能完整的应用,添加自定义 UI、服务端逻辑以及深度集成。 应用可以发布给社区,也可以保持私有。
<CardGroup cols={2}>
<Card title="日历与电子邮件指南" icon="envelope" href="/l/zh/user-guide/calendar-emails/overview">
设置电子邮件同步、日历同步,并排查相关问题。
</Card>
<Card title="API 与扩展" icon="plug" href="/l/zh/developers/extend/api">
使用 Twenty API 构建自定义集成。
</Card>
</CardGroup>

View File

@@ -0,0 +1,37 @@
---
title: 仪表板
description: 通过自定义仪表板跟踪绩效并可视化您的 CRM 数据。
icon: chart-bar
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
仪表板为您的业务指标提供实时可见性——销售管道健康状况、团队绩效、收入趋势,以及您希望跟踪的任何其他内容。
<VimeoEmbed videoId="1185511768" title="仪表板" />
## 小部件
每个仪表板都由小部件组成。 小部件是与您的 CRM 数据关联的单个图表或指标。 您可以配置:
* **图表类型** — 条形图、折线图、饼图、数字等
* **数据源** — 数据模型中的任何对象(标准或自定义)
* **筛选器** — 细化到特定记录、日期范围或细分
* **聚合** — 对任何数值字段进行计数、求和、平均值、最小值、最大值
* **分组** — 按所选字段、日期或关系进行分组
## 可跟踪的内容
* 按阶段划分的销售管道金额
* 随时间变化的成交交易
* 按来源划分的平均交易金额
* 任务完成率
* 任意对象上的自定义指标
## 共享
仪表板位于工作区级别——您团队中的每个人都可以看到它们。 以网格布局排列小部件并调整其大小,以构建适合您团队的视图。
<Card title="完整仪表板指南" icon="arrow-right" href="/l/zh/user-guide/dashboards/overview">
关于创建仪表板、配置小部件及图表设置的详细说明。
</Card>

View File

@@ -0,0 +1,47 @@
---
title: 数据模型
description: 了解 Twenty 如何使用对象、字段和关系来构建你的数据。
icon: database
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
Twenty 中的一切都围绕着**对象**和**字段**构建——它们是你的数据模型的基础构件。
## 对象
对象是保存你数据的表。 Twenty 自带标准对象:
* **Companies** — 与你有业务往来的组织
* **People** — 个人联系人
* **Opportunities** — 销售流程中的交易
* **Tasks** — 你的团队需要完成的行动项
* **Notes** — 关联到记录的自由文本
你也可以为业务所需的任何内容创建**自定义对象**——项目、支持工单、产品、合同等。
## 字段
字段是每个对象上的属性。 Twenty 支持广泛的字段类型:
| 类别 | 类型 |
| ------ | ------------------------------ |
| **基础** | 文本、数字、布尔值、日期、货币、评分、选择 |
| **复合** | 地址(街道、城市、州/省、邮编)、全名、链接、电话、电子邮件 |
| **特殊** | 关系、文件附件、JSON、操作者(创建/修改的人) |
每个对象还会自动获得系统字段:`id`、`createdAt`、`updatedAt`、`createdBy` 和 `position`。
## 关系
对象通过关系相互连接。 一个公司拥有多个联系人,一个商机从属于一个公司,依此类推。 你可以在任意对象之间创建自定义关系,包括多对多关系。
## 强大之处
与传统 CRM 中受限于预定义对象和预定义字段不同,Twenty 允许你按照业务的实际运行方式来建模你的数据。 自定义对象与内置对象享有同等的一流待遇——包括 API 端点、视图、权限和工作流触发器。
<Card title="深入了解数据模型" icon="arrow-right" href="/l/zh/user-guide/data-model/overview">
关于对象、字段、关系以及如何配置它们的完整参考。
</Card>
<VimeoEmbed videoId="1185511827" title="数据模型" />

View File

@@ -0,0 +1,105 @@
---
title: 术语表
icon: book
description: 在 Twenty 中使用的关键术语。
---
## 接口
API(应用程序接口)允许您将 Twenty 与其他软件系统连接并构建自定义集成。
## 应用
应用是以代码构建的自定义扩展,可定义数据模型和逻辑函数。 它使开发者能够创建可复用的自定义内容,并可部署到多个工作区。
## 代码操作
代码操作是工作流步骤,允许您编写自定义 JavaScript 来转换数据、进行计算,或执行内置操作无法实现的复杂逻辑。
## 命令菜单
命令菜单是一个快速访问界面(在 Mac 上用 `Cmd + K` 打开,Windows 上用 `Ctrl + K` 打开),可以让您执行操作、创建记录并高效地导航您的工作区。
## 公司与人员
CRM 有两种基本类型的记录:
* `公司` 表示一个企业或组织。
* `人员` 代表您的公司当前和潜在的客户。
## 自定义字段
自定义字段是您创建的数据字段,用于捕获特定于您的业务需求和流程的信息。
## 数据模型
数据模型是定义信息在您的 CRM 中如何组织的结构,包括哪些对象存在、它们的属性(字段)以及它们如何相互关联。
## 收藏夹
收藏是您标记用于快速访问的记录,会显示在侧边栏,便于即时导航到重要数据。
## 字段
字段是指为某个实体存储特定数据的特定区域。
## 迭代器
迭代器是一种工作流操作,用于遍历项目数组,并为列表中的每个项目执行后续操作。
## 看板
`看板` 是一种使用卡片和列来跟踪业务流程的可视化方法。 每一列代表您的流程中的一个阶段(例如:新建、进行中、赢得、失去),您可以随着进度将记录在这些阶段中移动。
## 对象
对象是一种数据结构,表示 CRM 中的特定类型的实体(如人员、公司或机会)。 对象可以是标准的(内置)或自定义的(由您创建)。
## 机会
在 Twenty CRM 中,机会是与帐户或联系人潜在的交易或销售。
## 记录
记录表示一个对象的实例,比如特定的帐户或联系人。
## 关系字段
关系字段在不同对象之间创建连接,允许您将记录链接在一起(例如连接一个人到一个公司)。
## 标准字段
标准字段是默认附带对象的预构建数据字段,并在所有工作空间中提供常见功能。
## 任务
在 Twenty CRM 中,任务是与联系人、帐户或机会相关的分配活动。
## 触发器
触发器是工作流的起点——用于启动自动化的事件或条件。 示例包括记录创建、记录更新、Webhook 或预定时间。
## 视图
您可以使用视图自定义记录的显示,为每个视图设置不同的过滤器、布局和排序选项。
## 更新或插入
更新或插入是一种将“更新”和“插入”合并的操作——如果找到匹配项,则更新现有记录;如果没有匹配,则创建新记录。
## Webhooks
Webhook 是在特定事件发生时从 Twenty 发送到其他应用的自动消息,实现实时数据同步。
## 工作流
工作流是基于特定条件触发动作的自动化过程,帮助您自动化重复性任务和业务流程。
## 工作区
一个 `工作区` 通常代表使用 Twenty 的公司。 它保存您和您的团队成员添加到 Twenty 的所有记录和数据。
它有一个单一的域名,通常是您公司用于员工电子邮件地址的域名。
## 工作区成员
工作区成员是您的团队中有权访问您的工作区的 Twenty 用户。 他们可以被指定为记录的所有者或负责人。

View File

@@ -0,0 +1,74 @@
---
title: 布局
description: 如何在 Twenty 中导航、浏览和查看记录。
icon: table-columns
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## 主布局
屏幕中央是记录所在——人员、公司、商机、任务、备注、仪表板、工作流,以及任何自定义对象。 您可以在这里查看、编辑和删除记录,并创建新的视图。
<img src="/images/user-guide/home/main-layout.png" style={{width:'100%'}} />
## 导航栏
左侧边栏为您提供:
* **工作区切换器**——在不同工作区之间切换或创建新的工作区(顶部下拉菜单)
* **搜索**——按下 `/` 可立即聚焦,跨所有对象进行搜索
* **设置**——从左上角进入
* **收藏夹**——置顶视图,对每个用户独立
* **对象快捷方式**——快速访问人员、公司、商机等对象
* **工作流**——创建自动化流程
拖动项目以重新排序,创建文件夹对相关对象进行分组,隐藏不使用的内容。
<img src="/images/user-guide/home/navigation-bar.png" style={{width:'100%'}} />
## 命令菜单
按 `Cmd+K`(Mac)或 `Ctrl+K`(Windows),或单击右上角的三个点。 从这里您可以:
* 创建新记录
* 通过 CSV 导入和导出数据
* 创建新视图
* 访问已删除的记录(Twenty 支持软删除和硬删除)
* 查看用于在工作区中导航的键盘快捷键
<img src="/images/user-guide/home/command-menu.png" style={{width:'100%'}} />
## 搜索
可通过命令菜单、导航栏顶部或按下 `/` 访问。 搜索可跨所有对象使用。
<img src="/images/user-guide/home/search-bar.png" style={{width:'100%'}} />
## 侧边栏
点击一条记录,会在右侧打开侧边栏——无需离开当前页面即可快速总览该记录的关键信息。 点击 **Open** 进入完整记录页面。
<img src="/images/user-guide/home/side-panel.png" style={{width:'100%'}} />
## 视图
每个对象都支持多个视图——每个对象的视图数量不限。 使用左上角的下拉菜单在不同视图之间切换。
* **表格**——类似电子表格的行和列,支持分组、行内编辑和列自定义
* **看板**——按选择字段组织的拖放卡片,非常适合用于管道
* **日历**——根据日期字段绘制记录,用于基于时间的规划
每个视图都会保存其自己的筛选、排序和字段可见性。 可以将视图共享给整个工作区,或将其设为私有。 将视图添加到收藏夹,以便从侧边栏快速访问。
<img src="/images/user-guide/home/view-menu.png" style={{width:'100%'}} />
## 记录页面
打开记录时,详情页面由可配置的**选项卡**和**小组件**构成。 在网格上添加、删除、重新排序和调整小组件大小——字段、相关记录、电子邮件、时间线、任务、备注、文件、图表、iframe 等。 每种对象类型都有其自己的布局。
<Card title="完整布局指南" icon="arrow-right" href="/l/zh/user-guide/layout/overview">
导航、视图、记录页面——详细参考和操作指南。
</Card>
<VimeoEmbed videoId="1185511790" title="布局" />

View File

@@ -0,0 +1,55 @@
---
title: 工作流
description: 使用 Twenty 的可视化工作流构建器自动化您的业务流程。
icon: bolt
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
工作流可让您自动化重复性任务,并将 Twenty 连接到外部工具——无需编写代码(当然如果您愿意也可以编写)。
<VimeoEmbed videoId="1185511711" title="工作流" />
## 工作流如何运作
每个工作流由三部分组成:
1. **触发器** — 启动工作流的条件
2. **步骤** — 接下来发生的事情(一个或多个按顺序执行的操作)
3. **变量** — 在步骤之间流动的数据
## 触发器
| 触发器 | 触发时机 |
| ----------- | -------------------------- |
| **记录事件** | 当记录被创建、更新、删除或执行 upsert 操作时 |
| **手动** | 当用户点击按钮时(针对单条记录、多条记录或全局) |
| **计划** | 按固定时间间隔(cron 语法) |
| **Webhook** | 外部系统发送一个 HTTP POST |
## 操作
工作流可以以任意组合串联以下内容:
* **记录操作** — 创建、更新、查找、删除或 upsert 记录
* **发送电子邮件** — 从已连接的账户发送或撰写电子邮件
* **HTTP 请求** — 调用任意外部 API
* **代码** — 运行自定义 JavaScript 以处理复杂逻辑
* **分支** — 使用 if/else 条件拆分工作流路径
* **迭代器** — 遍历数据数组
* **AI Agent** — 让 AI 代理自主处理数据
* **延迟** — 在继续之前等待
* **表单** — 在工作流中途收集用户输入
## 你可以构建的内容
* 当交易达到某个阶段时发送 Slack 警报
* 使用外部 API 的数据自动丰富新联系人
* 检测长期未跟进的机会并通知负责人
* 在 Twenty 与您的计费系统之间同步数据
* 从记录数据生成 PDF 或发票
* 对符合特定条件的入站电子邮件自动回复
<Card title="完整工作流指南" icon="arrow-right" href="/l/zh/user-guide/workflows/overview">
关于触发器、操作、变量以及真实世界自动化方案的详细参考。
</Card>