56 lines
3.6 KiB
Plaintext
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>
|