跳转到主要内容
大多数 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 应用市场。

构建你的第一个应用

三阶段引导——脚手架搭建、本地服务器运行、同步你的更改。