Files
twenty/packages/twenty-docs/l/zh/developers/extend/apps/logic/overview.mdx
T
18b9cc5281 i18n - docs translations (#20385)
Created by Github action

Co-authored-by: github-actions <github-actions@twenty.com>
2026-05-08 03:13:20 +02:00

56 lines
3.6 KiB
Plaintext

---
title: 概览
description: 在 Twenty 内运行的服务端 TypeScript,可由 HTTP 路由、Cron 调度、数据库事件、AI 工具或工作流动作触发。
icon: bolt
---
Twenty 应用的 **逻辑层** 是实际*运行*的代码——用于响应 HTTP 请求、cron 调度和记录变更的服务端 TypeScript 处理程序;存在于工作区内的 AI 技能和智能体;以及让你的函数能够代表用户在第三方服务中执行操作的 OAuth 连接。
```text
┌─ HTTP route ──┐
│ Cron schedule │
│ Database event │ ┌────────────────────┐
triggers ─┤ AI tool call ├─────▶│ Logic function │
│ Workflow action │ │ (your handler) │
│ Manual exec │ └────────────────────┘
└────────────────────┘ │
┌────────────────────────────┐
│ Twenty API (records) │
│ Third-party API │
│ (via Connection token) │
└────────────────────────────┘
```
## 本节内容
<CardGroup cols={2}>
<Card title="逻辑函数" icon="bolt" href="/l/zh/developers/extend/apps/logic/logic-functions">
核心构建块——触发器类型、载荷以及类型化的 API 客户端。
</Card>
<Card title="技能与智能体" icon="robot" href="/l/zh/developers/extend/apps/logic/skills-and-agents">
可复用的 AI 智能体指令和助手,支持自定义系统提示词。
</Card>
<Card title="连接" icon="plug" href="/l/zh/developers/extend/apps/logic/connections">
你的应用为第三方服务(如 Linear、GitHub、Slack 等)持有的 OAuth 凭证。
</Card>
</CardGroup>
## 触发器类型一览
逻辑函数选择一个或多个触发器——下面的每一项都是 `defineLogicFunction()` 上的一个独立字段:
| 触发器 | 触发时机 | 设置 |
| ----------- | --------------------------------------- | ------------------------------- |
| **HTTP 路由** | 请求命中你的 `/s/\<path>` 端点 | `httpRouteTriggerSettings` |
| **Cron** | 匹配到一个 CRON 表达式时 | `cronTriggerSettings` |
| **数据库事件** | 当工作区记录被创建、更新或删除时 | `databaseEventTriggerSettings` |
| **AI 工具** | 某个 Twenty AI 功能决定调用你的函数时 | `toolTriggerSettings` |
| **工作流动作** | 当工作流步骤调用你的函数时 | `workflowActionTriggerSettings` |
函数在隔离的 Node.js 进程沙箱中运行,并通过限定在 [`defineApplication()`](/l/zh/developers/extend/apps/config/application) 上声明角色范围内的类型化 API 客户端访问工作区。
<Note>
**安装时钩子(Install-time hooks)**——在安装前或安装后运行的代码——与上述共享同一运行时,但使用它们自己的 define 函数,并位于 [Config → Install Hooks](/l/zh/developers/extend/apps/config/install-hooks) 下。
</Note>