Aplicațiile Twenty sunt pachete TypeScript care vă extind spațiul de lucru cu obiecte personalizate, logică, componente UI și capabilități AI. Acestea rulează pe platforma Twenty, cu izolare completă (sandboxing) și controale de permisiuni.Documentation Index
Fetch the complete documentation index at: https://docs.twenty.com/llms.txt
Use this file to discover all available pages before exploring further.
Cum funcționează aplicațiile
O aplicație este o colecție de entități declarate folosind funcțiiledefineEntity() din pachetul twenty-sdk. SDK-ul detectează aceste declarații prin analiză AST în timpul construirii și produce un manifest — o descriere completă a ceea ce aplicația dvs. adaugă unui spațiu de lucru. Aceste funcții validează configurația în timpul build-ului și oferă completare automată în IDE și siguranța tipurilor.
Organizarea fișierelor ține de dvs. Detectarea entităților este bazată pe AST — SDK-ul găsește apelurile
export default defineEntity(...) indiferent unde se află fișierul. Structura de foldere de mai sus este o convenție, nu o cerință.Tipuri de entități
| Entitate | Scop | Documentație |
|---|---|---|
| Aplicație | App identity, default role, variables | Application Config |
| Rol | Permission sets on objects and fields | Roles & Permissions |
| Obiect | Custom record types with fields | Objects |
| Câmp | Add fields to objects from other apps | Extending Objects |
| Relation | Bidirectional links between objects | Relations |
| Funcție logică | TypeScript pe partea de server cu declanșatoare | Funcții logice |
| Abilitate | Instrucțiuni reutilizabile pentru agenți AI | Abilități și agenți |
| Agent | Agenți AI cu prompturi personalizate | Abilități și agenți |
| Connection Provider | OAuth credentials for third-party APIs | Connections |
| Vizualizare | Vizualizări preconfigurate ale listelor de înregistrări | Views |
| Element de meniu de navigare | Intrări personalizate în bara laterală | Navigation Menu Items |
| Layout pagină | Tabs and widgets on a record’s detail page | Page Layouts |
| Componentă front-end | Sandboxed React UI inside Twenty | Componente front-end |
| Command Menu Item | Quick actions and Cmd+K entries | Command Menu Items |
Izolare (sandboxing)
- Funcțiile logice rulează în procese Node.js izolate pe server. Acestea accesează datele doar prin clientul API tipizat, limitat de permisiunile rolului aplicației.
- Componentele front-end rulează în Web Workers folosind Remote DOM — izolate de pagina principală, dar randând elemente DOM native (nu iframes). Acestea comunică cu Twenty printr-un API al gazdei bazat pe transmiterea de mesaje.
- Permisiunile sunt aplicate la nivelul API-ului. Tokenul de rulare (
TWENTY_APP_ACCESS_TOKEN) este derivat din rolul definit îndefineApplication().
Ciclul de viață al aplicației
yarn twenty dev— monitorizează fișierele sursă și sincronizează în timp real modificările către un server Twenty conectat. Clientul API tipizat este regenerat automat atunci când schema se schimbă.yarn twenty build— compilează TypeScript, împachetează funcțiile logice și componentele front-end cu esbuild și produce un manifest.- Pre/post-install hooks — optional functions that run during installation. See Install Hooks for details.
Pașii următori
Configurare
Application identity, default role, and install hooks.
Date
Objects, fields, and bidirectional relations.
Logică
Logic functions, skills, agents, and OAuth connections.
Aspect
Views, navigation, page layouts, front components.
Operațiuni
CLI, testing, remotes, CI, and publishing your app.