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,30 @@
---
title: AI 代理
description: 将 AI 功能直接集成到您的自动化工作流中。
---
## 概览
将 AI 功能直接集成到您的自动化工作流中,以实现智能数据处理和决策。
## 功能
| 功能 | 描述 |
| --------- | ------------------- |
| **AI 操作** | 将 AI 驱动的步骤添加到任何工作流中 |
| **数据充实** | 自动使用外部数据充实记录 |
| **分类** | 基于内容分析对记录进行分类 |
| **摘要** | 从文本字段生成摘要 |
| **自定义提示** | 精确定义 AI 如何处理您的数据 |
## 使用场景
* **线索评分**:自动为入站线索打分并设定优先级
* **数据清理**:标准化公司名称和联系信息
* **电子邮件草稿**:基于会议记录生成后续电子邮件
* **记录路由**:根据内容将记录分配给合适的团队成员
## 相关内容
* [工作流概览](/l/zh/user-guide/workflows/overview) — 自动化基础
* [AI 权限](/l/zh/user-guide/ai/capabilities/permissions-access-control) — AI 代理的访问控制

View File

@@ -0,0 +1,37 @@
---
title: AI 聊天机器人
description: 一个智能助手,帮助你使用自然语言与 CRM 数据进行交互。
---
## 概览
用自然语言和助手检索并解释您的 CRM 数据。
## 功能
| 功能 | 描述 |
| ---------- | ------------------------ |
| **自然语言查询** | 无需构建筛选器,直接用英文提问 |
| **完全数据访问** | 在你的工作区内查询记录、关系和指标 |
| **页面上下文** | 可根据你当前的视图引用“这家公司”或“这个商机” |
| **对话式** | 后续问题会保留之前查询的上下文 |
## 交互示例
### 查找记录
* "显示所有超过 $50,000 的商机"
* "查找我过去 2 周未发送过电子邮件的联系人"
* "列出医疗保健行业的公司"
### 获取洞察
* "我的销售管道总价值是多少?"
* "上个月成交了多少笔交易?"
* "哪个阶段滞留的商机最多?"
### 使用页面上下文
* "总结我与此人的互动" (在联系人页面)
* "与这家公司关联的商机有哪些?" (在公司页面)
* "这笔交易上次是什么时候更新的?" (在商机页面)

View File

@@ -0,0 +1,137 @@
---
title: MCP服务器
description: 使用 Model Context Protocol 将 AI 助手连接到你的 Twenty 工作区。
---
Twenty 提供一个 [MCP](https://modelcontextprotocol.io/) 服务器,使 AI 助手——Claude Desktop、Claude Code、Cursor、ChatGPT 等——能够通过自然语言读取和写入您的 CRM 数据。
将您的**工作区 URL**(用于访问 Twenty 的 URL)用作 MCP 端点。 在 Twenty Cloud 上,您的工作区 URL 可能是 `https://{mycompany}.twenty.com`,也可能是自定义域名。 服务器可通过以下地址访问:
| 环境 | MCP 端点 |
| ------- | -------------------------------------------------------------------------- |
| **云端** | `https://{your-workspace-url}/mcp` (例如 `https://mycompany.twenty.com/mcp`) |
| **自托管** | `https://{your-domain}/mcp` |
## 身份验证方法
您可以通过两种方式对 MCP 客户端进行身份验证:**OAuth**(推荐)或 **API 密钥**。
### 选项 A — OAuth(推荐)
使用 OAuth 时,您的 MCP 客户端会打开浏览器窗口供您登录。 不会在配置文件中存储任何机密,令牌会自动刷新。
<Note>
OAuth 需要支持[MCP 授权规范](https://modelcontextprotocol.io/specification/2025-03-26/basic/authorization)的 MCP 客户端。 Claude Desktop、Claude Code、Cursor 和 ChatGPT 均支持它。
</Note>
将以下内容添加到 MCP 客户端配置中,并将 `{your-workspace-url}` 替换为您的工作区主机(例如 `mycompany.twenty.com`):
```json
{
"mcpServers": {
"twenty": {
"type": "streamable-http",
"url": "https://{your-workspace-url}/mcp"
}
}
}
```
就这样——无需 API 密钥。 客户端首次连接时将:
1. 通过 `/.well-known/oauth-protected-resource` 和 `/.well-known/oauth-authorization-server` 发现 Twenty 的 OAuth 元数据
2. 通过动态客户端注册(RFC 7591)将自身注册为 OAuth 客户端
3. 打开您的浏览器以授权访问
4. 接收令牌并连接到 MCP 服务器
后续连接会重用已存储的令牌并自动刷新。
### 选项 B — API 密钥
如果您的 MCP 客户端不支持 OAuth,或您更喜欢静态凭据,请在 `Authorization` 请求头中传递 API 密钥:
```json
{
"mcpServers": {
"twenty": {
"type": "streamable-http",
"url": "https://{your-workspace-url}/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
```
<Warning>
您的 API 密钥可访问工作区数据。 请不要将其纳入版本控制,也不要放入共享的 dotfiles。
</Warning>
要创建 API 密钥,请前往 **Settings → MCP & APIs → API → + Create key**。 详见[API](/l/zh/developers/extend/api#create-an-api-key)。
## 快速开始
### 1. 复制配置
在 Twenty 中前往 **Settings → MCP & APIs → MCP**。 选择您的身份验证方式(OAuth 或 API 密钥),复制 JSON 片段(其中已包含您的工作区 URL),并将其粘贴到 MCP 客户端的配置文件中。
| 客户端 | 配置文件位置 |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------- |
| **Claude Desktop** | `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) 或 `%APPDATA%\Claude\claude_desktop_config.json` (Windows) |
| **Claude Code** | `~/.claude.json` (用户) 或 `.mcp.json` (项目) |
| **Cursor** | 在您的项目中为 `.cursor/mcp.json`,或全局为 `~/.cursor/mcp.json` |
| **ChatGPT** | 在 **Settings → Apps & Connectors → Advanced settings** 中开启开发者模式,然后在 **Settings → Apps & Connectors** 中使用 **Create** 添加 MCP 服务器 |
### 2. 连接
重启您的 MCP 客户端(或重新加载配置)。 如果使用 OAuth,您将被重定向到 Twenty 以授权访问。 如果使用 API 密钥,连接会立即建立。
### 3. 开始使用
让您的 AI 助手与您的 CRM 交互:
* *"给我展示最近创建的 5 家公司"*
* *"在 Acme Corp 新建一位名为 Jane Doe 的联系人"*
* *"查找所有价值超过 $10k 的未关闭商机"*
## 可用工具
连接后,MCP 服务器会提供与 Twenty API 一一对应的工具。 推荐的工作流程是:
1. **`learn_tools`** — 获取特定工具的输入模式
2. **`execute_tool`** — 运行工具
您无需记住工具名称。 询问您的 AI 助手它能做什么,它会自动调用 `learn_tools`。
## 权限
MCP 连接将继承已通过身份验证的用户(OAuth)的权限,或继承分配给 API 密钥的角色。 要限制 MCP 服务器的操作范围:
* **OAuth**:生效的是该用户在工作区中的角色。
* **API 密钥**:在 **Settings → Members → Roles** 下为该 API 密钥分配角色。 参见[权限](/l/zh/user-guide/permissions-access/capabilities/permissions)。
## 自托管配置
对于自托管实例,请将 `{your-workspace-url}` 替换为您的服务器 URL。 请确保您环境中的 `SERVER_URL` 与 Twenty 实例的公共 URL 一致——该值用于生成 OAuth 发现元数据。
```bash
SERVER_URL=https://twenty.yourcompany.com
```
MCP 端点、OAuth 端点以及发现元数据都基于该值生成。
## 故障排除
**"Unauthorized" 或 401 错误**
* OAuth:清除 MCP 客户端中存储的令牌并重新连接以重新授权。
* API 密钥:验证该密钥有效且未过期。 如有需要,请重新生成。
**OAuth 流程未打开浏览器**
* 确保您的 MCP 客户端支持 MCP 授权。 如果不支持,请改用 API 密钥方法。
**连接超时**
* 确认从您的机器可以访问 MCP 端点 URL。 对于自托管实例,请检查服务器是否正在运行,并确认 `SERVER_URL` 设置正确。

View File

@@ -0,0 +1,35 @@
---
title: 权限与访问控制
description: 控制 AI 代理在您的工作区中可以访问和修改的内容。
---
## 概览
AI 代理遵循您现有的权限结构。 对于希望精确控制自动化 AI 流程在其工作区中能够访问或修改内容的团队来说,这一点尤为重要。
## 将角色分配给 AI 代理
1. 转到 **设置 → 成员 → 角色**
2. 单击您要分配的角色
3. 打开 **分配** 选项卡
4. 在 **AI 代理** 下,单击 **+ 分配给 AI 代理**
5. 从列表中选择 AI 代理
6. 确认分配
## 为什么要将角色分配给 AI 代理?
| 优势 | 描述 |
| -------- | ------------------ |
| **安全** | 限制 AI 代理可以访问或修改的数据 |
| **合规** | 确保 AI 代理仅处理其所需的数据 |
| **控制** | 防止 AI 自动化执行非预期操作 |
| **可审计性** | 跟踪各项操作由哪个 AI 代理执行 |
<Note>
对于在工作流中运行的 AI 代理,角色分配可确保该代理无法访问或修改其预期范围之外的数据—即使该工作流具有更广泛的权限。
</Note>
## 相关
* [权限](/l/zh/user-guide/permissions-access/capabilities/permissions) — 有关创建和管理角色的详细信息
* [AI 代理](/l/zh/user-guide/ai/capabilities/ai-agents) — 工作流中的 AI 功能

View File

@@ -0,0 +1,31 @@
---
title: AI 常见问题
description: 关于 Twenty 中 AI 功能的常见问题。
---
<AccordionGroup>
<Accordion title="有哪些可用的 AI 功能?">
AI 的两项主要功能是:
1. **AI 聊天机器人**:一个具备上下文感知能力的助手,可访问你的 Twenty 数据并协助你进行查询
2. **工作流中的 AI 代理**:智能自动化功能,能够在你的工作流内处理数据、做出决策并执行任务
</Accordion>
<Accordion title="AI 代理会访问我所有的数据吗?">
AI 代理人是在许可系统下运作的。 你可以在 **设置 → 成员 → 角色** 下为 AI 代理分配特定角色,从而完全控制其可访问的数据以及可以执行的操作。
</Accordion>
<Accordion title="AI 额度如何运作?">
AI 操作会根据任务的复杂度和所使用的 AI 模型消耗工作流额度。
</Accordion>
<Accordion title="我可以使用自己的 AI 模型吗?">
在云端,你只能使用 Twenty 提供的 AI 模型。 在你的自托管实例中,获取 Organization 许可证后,你可以使用自己的 AI 模型。
</Accordion>
<Accordion title="我看不出我分配给一个 AI 代理人的角色在哪里?">
默认情况下,角色列表会被过滤为仅显示可分配给工作区成员的角色。 如果一个角色只能分配给AI 代理,您需要更改过滤器以包含AI代理角色。
</Accordion>
</AccordionGroup>

View File

@@ -0,0 +1,58 @@
---
title: AI
description: Twenty 中的 AI 驱动功能。
---
<Frame>
<img src="/images/user-guide/workflows/robot.png" alt="AI" />
</Frame>
## 功能
当前,Twenty 提供:
### 1. AI 聊天机器人
一款能理解你的上下文并可访问你在 Twenty 中所有数据的对话式助手。
**关键功能:**
* **完整数据访问**:查询你工作区中的任何记录、关系或指标
* **页面上下文感知**:可根据你在 Twenty 中所处的位置引用 "this company" 或 "this opportunity"
* **自然语言**:无需在菜单中导航即可提问并获得答案
**示例提示:**
* "本月将要成交的商机有哪些?"
* "哪些交易在谈判阶段已超过 30 天?"
* "总结我与此人的互动"
### 2. 工作流中的 AI 代理
通过由 AI 驱动的操作和自主代理扩展你的工作流。
**关键功能:**
* **AI 操作**:使用 AI 丰富数据、分类记录、生成摘要等
* **自主代理**:允许代理在工作流内执行多步任务
* **自定义提示词**:精确定义 AI 应如何处理你的数据
**使用场景:**
* 自动分类入站线索
* 从公共来源丰富公司数据
* 基于会议记录生成后续电子邮件草稿
* 根据互动模式为商机评分
## 权限与访问控制
AI 代理通过现有的权限系统进行管理:
1. 转到 **设置 → 成员 → 角色**
2. 配置每个 AI 代理可访问的数据
3. 为每个对象设置读/写权限
这可确保 AI 代理遵守你的数据治理策略,并且只访问其所需的数据。
* 关注我们的 [GitHub](https://github.com/twentyhq/twenty) 获取开发更新
* 加入我们的 [Discord](https://discord.gg/UfGNZJfAG6) 分享反馈和功能需求