应用存在的原因
工作流涵盖无代码自动化。 但有些事情需要代码:自定义定价引擎、专有的富化管道、在每次记录更新时运行的合规检查、从内部工具中提取数据的自定义 UI 面板。 应用让你将这些构建为一等扩展——不是从外部与 API 通信的脆弱脚本,而是在平台上运行、可完全访问类型系统、权限模型和 UI 的代码。一个应用可以定义什么
一个应用是使用twenty-sdk 声明 实体 的 TypeScript 软件包:
| 实体 | 作用 |
|---|---|
| 对象与字段 | 在现有对象上新增数据表和字段——与内置项同等对待 |
| 逻辑函数 | 由 HTTP 路由、cron 调度或数据库事件触发的服务端 TypeScript |
| 前端组件 | 在 Twenty 的 UI 内渲染的沙盒化 React 组件(侧边面板、小部件、命令菜单) |
| 技能与智能体 | AI 能力——可复用的指令和自主助手 |
| 视图与导航 | 预配置的列表视图和侧边栏菜单项 |
.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 应用市场。
构建你的第一个应用
三阶段引导——脚手架搭建、本地服务器运行、同步你的更改。