@agent-native/core 0.84.35 → 0.84.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/README.md +15 -51
  2. package/corpus/core/CHANGELOG.md +12 -0
  3. package/corpus/core/docs/content/actions.mdx +17 -24
  4. package/corpus/core/docs/content/agent-surfaces.mdx +59 -56
  5. package/corpus/core/docs/content/cloneable-saas.mdx +3 -3
  6. package/corpus/core/docs/content/faq.mdx +4 -4
  7. package/corpus/core/docs/content/getting-started.mdx +246 -204
  8. package/corpus/core/docs/content/key-concepts.mdx +9 -9
  9. package/corpus/core/docs/content/locales/ar-SA/cloneable-saas.mdx +3 -3
  10. package/corpus/core/docs/content/locales/ar-SA/faq.mdx +4 -4
  11. package/corpus/core/docs/content/locales/ar-SA/getting-started.mdx +148 -214
  12. package/corpus/core/docs/content/locales/ar-SA/pure-agent-apps.mdx +4 -9
  13. package/corpus/core/docs/content/locales/ar-SA/template-chat.mdx +2 -2
  14. package/corpus/core/docs/content/locales/ar-SA/using-your-agent.mdx +2 -2
  15. package/corpus/core/docs/content/locales/de-DE/cloneable-saas.mdx +3 -3
  16. package/corpus/core/docs/content/locales/de-DE/faq.mdx +4 -4
  17. package/corpus/core/docs/content/locales/de-DE/getting-started.mdx +145 -211
  18. package/corpus/core/docs/content/locales/de-DE/pure-agent-apps.mdx +4 -9
  19. package/corpus/core/docs/content/locales/de-DE/template-chat.mdx +2 -2
  20. package/corpus/core/docs/content/locales/de-DE/using-your-agent.mdx +2 -2
  21. package/corpus/core/docs/content/locales/es-ES/cloneable-saas.mdx +3 -3
  22. package/corpus/core/docs/content/locales/es-ES/faq.mdx +4 -4
  23. package/corpus/core/docs/content/locales/es-ES/getting-started.mdx +148 -214
  24. package/corpus/core/docs/content/locales/es-ES/pure-agent-apps.mdx +4 -9
  25. package/corpus/core/docs/content/locales/es-ES/template-chat.mdx +2 -2
  26. package/corpus/core/docs/content/locales/es-ES/using-your-agent.mdx +2 -2
  27. package/corpus/core/docs/content/locales/fr-FR/cloneable-saas.mdx +2 -2
  28. package/corpus/core/docs/content/locales/fr-FR/faq.mdx +4 -4
  29. package/corpus/core/docs/content/locales/fr-FR/getting-started.mdx +146 -212
  30. package/corpus/core/docs/content/locales/fr-FR/pure-agent-apps.mdx +4 -9
  31. package/corpus/core/docs/content/locales/fr-FR/template-chat.mdx +2 -2
  32. package/corpus/core/docs/content/locales/fr-FR/using-your-agent.mdx +2 -2
  33. package/corpus/core/docs/content/locales/hi-IN/cloneable-saas.mdx +3 -3
  34. package/corpus/core/docs/content/locales/hi-IN/faq.mdx +4 -4
  35. package/corpus/core/docs/content/locales/hi-IN/getting-started.mdx +149 -215
  36. package/corpus/core/docs/content/locales/hi-IN/pure-agent-apps.mdx +8 -13
  37. package/corpus/core/docs/content/locales/hi-IN/template-chat.mdx +2 -2
  38. package/corpus/core/docs/content/locales/hi-IN/using-your-agent.mdx +2 -2
  39. package/corpus/core/docs/content/locales/ja-JP/cloneable-saas.mdx +2 -2
  40. package/corpus/core/docs/content/locales/ja-JP/faq.mdx +4 -4
  41. package/corpus/core/docs/content/locales/ja-JP/getting-started.mdx +144 -210
  42. package/corpus/core/docs/content/locales/ja-JP/pure-agent-apps.mdx +8 -13
  43. package/corpus/core/docs/content/locales/ja-JP/template-chat.mdx +2 -2
  44. package/corpus/core/docs/content/locales/ja-JP/using-your-agent.mdx +2 -2
  45. package/corpus/core/docs/content/locales/ko-KR/cloneable-saas.mdx +3 -3
  46. package/corpus/core/docs/content/locales/ko-KR/faq.mdx +4 -4
  47. package/corpus/core/docs/content/locales/ko-KR/getting-started.mdx +146 -212
  48. package/corpus/core/docs/content/locales/ko-KR/pure-agent-apps.mdx +8 -13
  49. package/corpus/core/docs/content/locales/ko-KR/template-chat.mdx +2 -2
  50. package/corpus/core/docs/content/locales/ko-KR/using-your-agent.mdx +2 -2
  51. package/corpus/core/docs/content/locales/pt-BR/cloneable-saas.mdx +3 -3
  52. package/corpus/core/docs/content/locales/pt-BR/faq.mdx +4 -4
  53. package/corpus/core/docs/content/locales/pt-BR/getting-started.mdx +145 -211
  54. package/corpus/core/docs/content/locales/pt-BR/pure-agent-apps.mdx +4 -9
  55. package/corpus/core/docs/content/locales/pt-BR/template-chat.mdx +2 -2
  56. package/corpus/core/docs/content/locales/pt-BR/using-your-agent.mdx +2 -2
  57. package/corpus/core/docs/content/locales/zh-CN/cloneable-saas.mdx +3 -3
  58. package/corpus/core/docs/content/locales/zh-CN/faq.mdx +4 -4
  59. package/corpus/core/docs/content/locales/zh-CN/getting-started.mdx +158 -209
  60. package/corpus/core/docs/content/locales/zh-CN/pure-agent-apps.mdx +4 -9
  61. package/corpus/core/docs/content/locales/zh-CN/template-chat.mdx +2 -2
  62. package/corpus/core/docs/content/locales/zh-CN/using-your-agent.mdx +2 -2
  63. package/corpus/core/docs/content/locales/zh-TW/cloneable-saas.mdx +3 -3
  64. package/corpus/core/docs/content/locales/zh-TW/faq.mdx +4 -4
  65. package/corpus/core/docs/content/locales/zh-TW/getting-started.mdx +158 -212
  66. package/corpus/core/docs/content/locales/zh-TW/pure-agent-apps.mdx +4 -9
  67. package/corpus/core/docs/content/locales/zh-TW/template-chat.mdx +2 -2
  68. package/corpus/core/docs/content/locales/zh-TW/using-your-agent.mdx +2 -2
  69. package/corpus/core/docs/content/native-chat-ui.mdx +17 -32
  70. package/corpus/core/docs/content/pure-agent-apps.mdx +46 -26
  71. package/corpus/core/docs/content/template-chat.mdx +8 -8
  72. package/corpus/core/docs/content/using-your-agent.mdx +2 -2
  73. package/corpus/core/docs/content/what-is-agent-native.mdx +6 -6
  74. package/corpus/core/package.json +1 -1
  75. package/corpus/core/src/cli/skills.ts +7 -9
  76. package/corpus/core/src/client/MultiTabAssistantChat.tsx +2 -0
  77. package/corpus/core/src/client/RunStuckBanner.tsx +172 -18
  78. package/corpus/core/src/client/blocks/library/wireframe-kit.tsx +57 -9
  79. package/corpus/core/src/client/blocks/library/wireframe.tsx +3 -18
  80. package/corpus/core/src/client/chat/widgets/builtin-tool-renderers.tsx +28 -32
  81. package/corpus/core/src/db/schema.ts +5 -0
  82. package/corpus/core/src/styles/blocks.css +27 -6
  83. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +1 -4
  84. package/corpus/templates/content/actions/list-trashed-content-databases.ts +1 -1
  85. package/corpus/templates/plan/.agents/skills/visual-plan/references/wireframe.md +7 -9
  86. package/corpus/templates/plan/.agents/skills/visual-recap/references/wireframe.md +7 -9
  87. package/dist/cli/skills.d.ts +1 -1
  88. package/dist/cli/skills.d.ts.map +1 -1
  89. package/dist/cli/skills.js +7 -9
  90. package/dist/cli/skills.js.map +1 -1
  91. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  92. package/dist/client/MultiTabAssistantChat.js +1 -1
  93. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  94. package/dist/client/RunStuckBanner.d.ts +13 -1
  95. package/dist/client/RunStuckBanner.d.ts.map +1 -1
  96. package/dist/client/RunStuckBanner.js +123 -16
  97. package/dist/client/RunStuckBanner.js.map +1 -1
  98. package/dist/client/blocks/library/wireframe-kit.d.ts +6 -6
  99. package/dist/client/blocks/library/wireframe-kit.d.ts.map +1 -1
  100. package/dist/client/blocks/library/wireframe-kit.js +52 -5
  101. package/dist/client/blocks/library/wireframe-kit.js.map +1 -1
  102. package/dist/client/blocks/library/wireframe.d.ts.map +1 -1
  103. package/dist/client/blocks/library/wireframe.js +1 -11
  104. package/dist/client/blocks/library/wireframe.js.map +1 -1
  105. package/dist/client/chat/widgets/builtin-tool-renderers.d.ts.map +1 -1
  106. package/dist/client/chat/widgets/builtin-tool-renderers.js +27 -31
  107. package/dist/client/chat/widgets/builtin-tool-renderers.js.map +1 -1
  108. package/dist/collab/routes.d.ts +2 -2
  109. package/dist/db/schema.d.ts +2 -1
  110. package/dist/db/schema.d.ts.map +1 -1
  111. package/dist/db/schema.js +3 -2
  112. package/dist/db/schema.js.map +1 -1
  113. package/dist/resources/handlers.d.ts +3 -3
  114. package/dist/server/transcribe-voice.d.ts +1 -1
  115. package/dist/styles/blocks.css +27 -6
  116. package/docs/content/actions.mdx +17 -24
  117. package/docs/content/agent-surfaces.mdx +59 -56
  118. package/docs/content/cloneable-saas.mdx +3 -3
  119. package/docs/content/faq.mdx +4 -4
  120. package/docs/content/getting-started.mdx +246 -204
  121. package/docs/content/key-concepts.mdx +9 -9
  122. package/docs/content/locales/ar-SA/cloneable-saas.mdx +3 -3
  123. package/docs/content/locales/ar-SA/faq.mdx +4 -4
  124. package/docs/content/locales/ar-SA/getting-started.mdx +148 -214
  125. package/docs/content/locales/ar-SA/pure-agent-apps.mdx +4 -9
  126. package/docs/content/locales/ar-SA/template-chat.mdx +2 -2
  127. package/docs/content/locales/ar-SA/using-your-agent.mdx +2 -2
  128. package/docs/content/locales/de-DE/cloneable-saas.mdx +3 -3
  129. package/docs/content/locales/de-DE/faq.mdx +4 -4
  130. package/docs/content/locales/de-DE/getting-started.mdx +145 -211
  131. package/docs/content/locales/de-DE/pure-agent-apps.mdx +4 -9
  132. package/docs/content/locales/de-DE/template-chat.mdx +2 -2
  133. package/docs/content/locales/de-DE/using-your-agent.mdx +2 -2
  134. package/docs/content/locales/es-ES/cloneable-saas.mdx +3 -3
  135. package/docs/content/locales/es-ES/faq.mdx +4 -4
  136. package/docs/content/locales/es-ES/getting-started.mdx +148 -214
  137. package/docs/content/locales/es-ES/pure-agent-apps.mdx +4 -9
  138. package/docs/content/locales/es-ES/template-chat.mdx +2 -2
  139. package/docs/content/locales/es-ES/using-your-agent.mdx +2 -2
  140. package/docs/content/locales/fr-FR/cloneable-saas.mdx +2 -2
  141. package/docs/content/locales/fr-FR/faq.mdx +4 -4
  142. package/docs/content/locales/fr-FR/getting-started.mdx +146 -212
  143. package/docs/content/locales/fr-FR/pure-agent-apps.mdx +4 -9
  144. package/docs/content/locales/fr-FR/template-chat.mdx +2 -2
  145. package/docs/content/locales/fr-FR/using-your-agent.mdx +2 -2
  146. package/docs/content/locales/hi-IN/cloneable-saas.mdx +3 -3
  147. package/docs/content/locales/hi-IN/faq.mdx +4 -4
  148. package/docs/content/locales/hi-IN/getting-started.mdx +149 -215
  149. package/docs/content/locales/hi-IN/pure-agent-apps.mdx +8 -13
  150. package/docs/content/locales/hi-IN/template-chat.mdx +2 -2
  151. package/docs/content/locales/hi-IN/using-your-agent.mdx +2 -2
  152. package/docs/content/locales/ja-JP/cloneable-saas.mdx +2 -2
  153. package/docs/content/locales/ja-JP/faq.mdx +4 -4
  154. package/docs/content/locales/ja-JP/getting-started.mdx +144 -210
  155. package/docs/content/locales/ja-JP/pure-agent-apps.mdx +8 -13
  156. package/docs/content/locales/ja-JP/template-chat.mdx +2 -2
  157. package/docs/content/locales/ja-JP/using-your-agent.mdx +2 -2
  158. package/docs/content/locales/ko-KR/cloneable-saas.mdx +3 -3
  159. package/docs/content/locales/ko-KR/faq.mdx +4 -4
  160. package/docs/content/locales/ko-KR/getting-started.mdx +146 -212
  161. package/docs/content/locales/ko-KR/pure-agent-apps.mdx +8 -13
  162. package/docs/content/locales/ko-KR/template-chat.mdx +2 -2
  163. package/docs/content/locales/ko-KR/using-your-agent.mdx +2 -2
  164. package/docs/content/locales/pt-BR/cloneable-saas.mdx +3 -3
  165. package/docs/content/locales/pt-BR/faq.mdx +4 -4
  166. package/docs/content/locales/pt-BR/getting-started.mdx +145 -211
  167. package/docs/content/locales/pt-BR/pure-agent-apps.mdx +4 -9
  168. package/docs/content/locales/pt-BR/template-chat.mdx +2 -2
  169. package/docs/content/locales/pt-BR/using-your-agent.mdx +2 -2
  170. package/docs/content/locales/zh-CN/cloneable-saas.mdx +3 -3
  171. package/docs/content/locales/zh-CN/faq.mdx +4 -4
  172. package/docs/content/locales/zh-CN/getting-started.mdx +158 -209
  173. package/docs/content/locales/zh-CN/pure-agent-apps.mdx +4 -9
  174. package/docs/content/locales/zh-CN/template-chat.mdx +2 -2
  175. package/docs/content/locales/zh-CN/using-your-agent.mdx +2 -2
  176. package/docs/content/locales/zh-TW/cloneable-saas.mdx +3 -3
  177. package/docs/content/locales/zh-TW/faq.mdx +4 -4
  178. package/docs/content/locales/zh-TW/getting-started.mdx +158 -212
  179. package/docs/content/locales/zh-TW/pure-agent-apps.mdx +4 -9
  180. package/docs/content/locales/zh-TW/template-chat.mdx +2 -2
  181. package/docs/content/locales/zh-TW/using-your-agent.mdx +2 -2
  182. package/docs/content/native-chat-ui.mdx +17 -32
  183. package/docs/content/pure-agent-apps.mdx +46 -26
  184. package/docs/content/template-chat.mdx +8 -8
  185. package/docs/content/using-your-agent.mdx +2 -2
  186. package/docs/content/what-is-agent-native.mdx +6 -6
  187. package/package.json +1 -1
@@ -1,259 +1,193 @@
1
1
  ---
2
2
  title: "Erste Schritte"
3
- description: "Erstellen Sie eine Agenten-App, verstehen Sie die Anweisungen skills und actions und beobachten Sie dann, wie der Agent seine erste Aktion aufruft."
3
+ description: "Erstellen Sie eine chat-first agentic app, fügen Sie eine action hinzu, rendern Sie strukturierte Ergebnisse inline und wachsen Sie zu einer persistenten Seite, die der Agent öffnen kann."
4
4
  ---
5
5
 
6
6
  # Erste Schritte
7
7
 
8
- Agent-Native-Apps geben einem KI-Agenten und Ihrem UI die gleichen actions, Daten und
9
- Zustand. Ein Basisagent besteht aus Anweisungen, die ihn leiten, skills, die ihn lehren
10
- wiederholbares Verhalten und actions, mit dem es echte Arbeit leisten kann.
11
-
12
- **Möchten Sie eine vollständige App als Ausgangspunkt?** Klonen Sie eine unserer umfangreichen Vorlagen –
13
- [Chat](/docs/template-chat), [Mail](/docs/template-mail),
14
- [Calendar](/docs/template-calendar), [Content](/docs/template-content),
15
- [Analytics](/docs/template-analytics) und [many more](/docs/cloneable-saas) –
16
- Jede davon ist eine App mit vollem Funktionsumfang, die Sie anpassen können.
17
-
18
- Von Grund auf neu bauen? Die einzige Wahl im Voraus ist, ob Sie einen UI möchten –
19
- alles danach (Anweisungen schreiben, skills hinzufügen, actions definieren, ausführen
20
- der Agent) ist in beiden Fällen gleich.
21
-
22
- <FileTree
23
- id="doc-block-1m1bjf2"
24
- title="Ein einfacher Agent-Native-Agent"
25
- entries={[
26
- {
27
- path: "AGENTS.md",
28
- note: "Immer aktive Anweisungen: Zweck, Regeln, Ton und Karte dessen, was der Agent tun kann",
29
- },
30
- {
31
- path: ".agents/skills/customer-research/SKILL.md",
32
- note: "Ein wiederverwendbares Playbook, das der Agent lädt, wenn die Aufgabe passt",
33
- },
34
- {
35
- path: "actions/summarize-week.ts",
36
- note: "Typisierter Code, den Agent, UI, CLI, HTTP, MCP, A2A, Jobs und Webhooks ausführen können",
37
- },
38
- ]}
39
- />
40
-
41
- Dies gilt unabhängig davon, ob Sie mit einem Chat-Oberfläche, einem Headless-Agenten oder einer vollständigen App beginnen.
42
- Der UI verändert die Oberfläche; Anweisungen, skills und actions geben dem Agenten seine
43
- Anleitung und Verhalten.
44
-
45
- ## 1. Erstellen Sie Ihre App
46
-
47
- Sie benötigen [Node.js 22+](https://nodejs.org) und [pnpm](https://pnpm.io).
48
-
49
- Führen Sie `create` ohne Flags aus und Sie werden gefragt, wie Sie beginnen möchten (eine vollständige Vorlage).
50
- Chat oder Headless) vor allem anderen:
8
+ Agent-Native ist für agentic applications gedacht: AI agent und UI teilen dieselben [actions](/docs/actions), SQL-Daten und application state. Der Standardpfad beginnt mit Chat, damit Benutzer sofort mit dem Agent sprechen können, und wächst dann zu den Produktoberflächen, die der Workflow braucht.
51
9
 
52
- ```bash
53
- npx @agent-native/core@latest create my-app
54
- ```
10
+ Der nützliche Einstieg:
55
11
 
56
- Oder übergeben Sie ein Flag, um die Eingabeaufforderung zu überspringen:
12
+ 1. Eine Chat app erstellen.
13
+ 2. Eine action hinzufügen.
14
+ 3. Das action-Ergebnis inline im Chat rendern.
15
+ 4. Daten in SQL persistieren.
16
+ 5. Eine Seite hinzufügen, die der Agent öffnen kann, wenn visuelle Prüfung besser ist.
57
17
 
58
- **Möchten Sie ein UI?** Beginnen Sie mit der Chat-Vorlage. Sie erhalten einen Arbeitsagenten plus ein
59
- Anpassbarer Chat-Oberfläche, und jede von Ihnen hinzugefügte Aktion wird automatisch darin angezeigt:
18
+ ## 1. Chat app erstellen {#create-your-app}
19
+
20
+ Sie brauchen [Node.js 22+](https://nodejs.org) und [pnpm](https://pnpm.io).
60
21
 
61
22
  ```bash
62
23
  npx @agent-native/core@latest create my-app --template chat
24
+ cd my-app
25
+ pnpm install
26
+ pnpm dev
63
27
  ```
64
28
 
65
- **Nur das Headless-Grundelement?** Headless starten derselbe actions und Agent
66
- Schleife, keine UI-Shell:
67
-
68
- ```bash
69
- npx @agent-native/core@latest create my-agent --headless
29
+ Das Template enthält durable chat threads, auth, live sync, ein `actions/`-Verzeichnis, die Standard-actions `view-screen` und `navigate` sowie eine React app, die Sie erweitern können.
30
+
31
+ ## 2. Action hinzufügen {#add-an-action}
32
+
33
+ Eine action ist eine typisierte Operation, die Agent und UI gemeinsam aufrufen. Für diesen Ablauf erstellen Sie `actions/analyze-responses.ts`: Sie analysiert Formularantworten und gibt eine validierte Form für ein eigenes Chat-Diagramm zurück.
34
+
35
+ {/* prettier-ignore */}
36
+ ```ts
37
+ // actions/analyze-responses.ts
38
+ import { defineAction } from "@agent-native/core/action";
39
+ import { z } from "zod";
40
+
41
+ const responseChartResultSchema = z.object({
42
+ title: z.string(),
43
+ points: z.array(z.object({ day: z.string(), responses: z.number() })),
44
+ });
45
+
46
+ export default defineAction({
47
+ description: "Analyze recent form responses and render a custom chart.",
48
+ schema: z.object({
49
+ formId: z.string().default("demo")
50
+ }),
51
+ outputSchema: responseChartResultSchema,
52
+ chatUI: {
53
+ renderer: "responses.response-chart",
54
+ title: "Antwortdiagramm"
55
+ },
56
+ readOnly: true,
57
+ run: async ({ formId }) => ({
58
+ title: `Responses for ${formId}`,
59
+ points: [{ day: "Mon", responses: 12 }, { day: "Tue", responses: 18 }, { day: "Wed", responses: 24 }, { day: "Thu", responses: 21 }],
60
+ }),
61
+ });
70
62
  ```
71
63
 
72
- Installieren Sie dann aus dem von Ihnen erstellten Ordner:
64
+ Direkt ausführen:
73
65
 
74
66
  ```bash
75
- cd my-agent # oder my-app, wenn Sie die Chat-Vorlage gewählt haben
76
- pnpm install
67
+ pnpm action analyze-responses --formId demo
77
68
  ```
78
69
 
79
- Von hier an sind die beiden identisch.
80
-
81
- ## 2. Fügen Sie eine Aktion hinzu
82
-
83
- Eine Aktion ist ein Vorgang, den Ihr Agent – und Ihr UI – aufrufen kann. Beide Gerüste
84
- Versenden Sie mit diesem Beispiel:
85
-
86
- <AnnotatedCode
87
- id="doc-block-lcwfj3"
88
- title="Deine erste Action"
89
- filename="actions/hello.ts"
90
- language="ts"
91
- code={
92
- 'import { defineAction } from "@agent-native/core/action";\nimport { z } from "zod";\n\nexport default defineAction({\n description: "Sage Hallo vom lokalen Agenten.",\n schema: z.object({\n name: z.string().default("world"),\n }),\n http: { method: "GET" },\n readOnly: true,\n run: async ({ name }) => {\n return { message: `Hello, ${name}!` };\n },\n});'
93
- }
94
- annotations={[
95
- {
96
- lines: "5",
97
- label: "Tool-Beschreibung",
98
- note: "Der Agent liest `description`, um zu entscheiden, wann er dies als Tool aufruft.",
99
- },
100
- {
101
- lines: "6-8",
102
- label: "Typisierter Vertrag",
103
- note: "Ein zod-`schema` validiert Eingaben von jeder Oberfläche: Agent, UI, HTTP, MCP und A2A.",
104
- },
105
- {
106
- lines: "9",
107
- label: "HTTP-Verb",
108
- note: "Schalte diese Action für einen automatisch eingebundenen HTTP-Endpunkt frei.",
109
- },
110
- {
111
- lines: "10",
112
- label: "Schreibgeschützt",
113
- note: "`readOnly` markiert die Action als ohne Genehmigung sicher aufrufbar und für Abfragen cachebar.",
114
- },
115
- {
116
- lines: "11-13",
117
- label: "Eine Implementierung",
118
- note: "Der `run`-Block ist die einzige Wahrheit, die jede Oberfläche ausführt.",
119
- },
120
- ]}
121
- />
122
-
123
- Ersetzen Sie `hello` durch den ersten echten Vorgang in Ihrer Domäne. Sie definieren es einmal;
124
- Jede Oberfläche nimmt es auf.
125
-
126
- Verwenden Sie `AGENTS.md` als Anleitung, die in jeder Runde gelten sollte. Verwenden Sie eine Fertigkeit, wenn
127
- Agent benötigt einen wiederverwendbaren Workflow oder eine wiederverwendbare Domänenprozedur. Verwenden Sie eine Aktion, wenn
128
- Der Agent benötigt eine typisierte, testbare Möglichkeit, Daten zu lesen, Daten zu schreiben, einen API aufzurufen oder
129
- Führen Sie eine Genehmigung durch.
130
-
131
- ## 3. Führen Sie es aus
132
-
133
- Aktion direkt aufrufen:
70
+ Oder im Browser den Agent fragen:
134
71
 
135
- ```bash
136
- pnpm action hello --name Steve
137
- ```
72
+ > Analysiere die letzten Antworten für das Demo-Formular.
138
73
 
139
- Oder bitten Sie den Agenten, für Sie anzurufen:
74
+ ## 3. Ergebnis im Chat rendern {#render-inline}
140
75
 
141
- ```bash
142
- pnpm agent "Call the hello action for Steve and explain what happened."
143
- ```
76
+ Weil die action `outputSchema` und eine produktspezifische `chatUI.renderer` deklariert, muss der Transcript strukturierte Daten nicht in Fließtext verwandeln. Registrieren Sie beim App-Start eine React-Komponente für genau diese Renderer-ID, zum Beispiel indem `app/chat-renderers.tsx` einmal aus `app/root.tsx` importiert wird:
144
77
 
145
- Wenn Sie mit der Chat-Vorlage begonnen haben, führen Sie die App aus und verwenden Sie denselben Agenten in
146
- Browser – er kann bereits jede von Ihnen definierte Aktion aufrufen:
78
+ {/* prettier-ignore */}
79
+ ```tsx
80
+ import { registerActionChatRenderer, type ToolRendererProps,} from "@agent-native/core/client/chat";
81
+
82
+ type ResponseChartResult = {
83
+ title: string;
84
+ points: Array<{ day: string; responses: number }>;
85
+ };
86
+
87
+ function ResponseChart({ context }: ToolRendererProps) {
88
+ const result = context.resultJson as ResponseChartResult;
89
+ const max = Math.max(...result.points.map((point) => point.responses), 1);
90
+ return (
91
+ <section className="rounded-lg border bg-card p-4">
92
+ <h3 className="text-sm font-medium">{result.title}</h3>
93
+ <div className="mt-4 flex h-32 items-end gap-2">
94
+ {result.points.map((point) => (
95
+ <div key={point.day} className="flex flex-1 flex-col items-center gap-2">
96
+ <div className="w-full rounded-t bg-primary" style={{ height: `${(point.responses / max) * 100}%` }} />
97
+ <span className="text-xs text-muted-foreground">{point.day}</span>
98
+ </div>
99
+ ))}
100
+ </div>
101
+ </section>
102
+ );
103
+ }
147
104
 
148
- ```bash
149
- pnpm dev
105
+ registerActionChatRenderer({
106
+ id: "responses.response-chart",
107
+ renderer: "responses.response-chart",
108
+ Component: ResponseChart,
109
+ });
150
110
  ```
151
111
 
152
- Diese eine Aktion ist jetzt über den Chat-Oberfläche, CLI, HTTP, MCP, A2A, erreichbar.
153
- geplante Jobs und webhooks. Einmal festlegen, von überall aus anrufen.
154
-
155
- <Diagram id="doc-block-lkqelv" title={"Eine Aktion, jede Oberfläche"} summary={"Eine einzelne defineAction-Datei wird ohne zusätzliche Verkabelung an jeden Verbraucher verteilt."}>
156
-
157
- ```html
158
- <div class="diagram-fan">
159
- <div class="diagram-box" data-rough>defineAction</div>
160
- <div class="diagram-arrow diagram-muted" aria-hidden="true">&rarr;</div>
161
- <div class="diagram-surfaces">
162
- <span class="diagram-pill">Chat-Oberfläche</span
163
- ><span class="diagram-pill">CLI</span><span class="diagram-pill">HTTP</span
164
- ><span class="diagram-pill">MCP</span><span class="diagram-pill">A2A</span
165
- ><span class="diagram-pill">Geplante Jobs</span
166
- ><span class="diagram-pill">Webhooks</span>
167
- </div>
168
- </div>
169
- ```
112
+ Für wiederverwendbare generische Ausgaben liefert das Framework außerdem eingebaute `data-chart`- und `data-table`-Renderer sowie `data-insights` für kombinierte Zusammenfassung-/Diagramm-/Tabellenkarten. Siehe [Native Chat UI](/docs/native-chat-ui).
170
113
 
171
- ```css
172
- .diagram-fan {
173
- display: flex;
174
- align-items: center;
175
- gap: 14px;
176
- flex-wrap: wrap;
177
- }
178
- .diagram-fan .diagram-surfaces {
179
- display: flex;
180
- flex-wrap: wrap;
181
- gap: 8px;
182
- max-width: 420px;
183
- }
184
- .diagram-fan .diagram-arrow {
185
- font-size: 22px;
186
- line-height: 1;
187
- }
188
- ```
114
+ <WireframeBlock id="doc-block-inline-result-wireframe-de">
115
+ <Screen
116
+ surface="desktop"
117
+ html={
118
+ "<div style='min-height:340px;box-sizing:border-box;padding:24px;display:flex;justify-content:center;align-items:center;background:var(--wf-bg)'><div style='width:min(530px,100%);display:flex;flex-direction:column;gap:14px'><div class='wf-card' data-rough style='align-self:flex-end;max-width:70%;padding:12px 14px'><strong>User</strong><p style='margin:6px 0 0'>Analysiere Demo-Antworten.</p></div><div class='wf-card' data-rough style='align-self:flex-start;width:min(370px,100%);padding:14px'><strong>Agent</strong><p class='wf-muted' style='margin:6px 0 12px'>Gerendert mit responses.response-chart.</p><section class='wf-card' data-rough style='padding:14px'><h3 style='margin:0 0 12px;font-size:14px'>Antwortdiagramm</h3><div data-rough='line:bottom' style='height:104px;display:flex;align-items:end;gap:8px;border-bottom:1.4px solid var(--wf-line);padding-bottom:4px'><div style='flex:1;display:flex;flex-direction:column;align-items:center;gap:6px'><div data-rough style='height:38px;width:100%;background:color-mix(in srgb, var(--wf-accent) 24%, transparent);border:1.4px solid var(--wf-accent);border-radius:8px 8px 3px 3px'></div><span class='wf-muted'>Mo</span></div><div style='flex:1;display:flex;flex-direction:column;align-items:center;gap:6px'><div data-rough style='height:62px;width:100%;background:color-mix(in srgb, var(--wf-accent) 30%, transparent);border:1.4px solid var(--wf-accent);border-radius:8px 8px 3px 3px'></div><span class='wf-muted'>Di</span></div><div style='flex:1;display:flex;flex-direction:column;align-items:center;gap:6px'><div data-rough style='height:86px;width:100%;background:color-mix(in srgb, var(--wf-accent) 36%, transparent);border:1.4px solid var(--wf-accent);border-radius:8px 8px 3px 3px'></div><span class='wf-muted'>Mi</span></div><div style='flex:1;display:flex;flex-direction:column;align-items:center;gap:6px'><div data-rough style='height:54px;width:100%;background:color-mix(in srgb, var(--wf-accent) 42%, transparent);border:1.4px solid var(--wf-accent);border-radius:8px 8px 3px 3px'></div><span class='wf-muted'>Do</span></div></div></section></div></div></div>"
119
+ }
120
+ />
121
+ </WireframeBlock>
189
122
 
190
- </Diagram>
123
+ ## 4. Daten in SQL persistieren {#persist-data}
191
124
 
192
- ## Status ist integriert
125
+ Wenn Ergebnisse erneut geprüft, verglichen oder aktualisiert werden müssen, speichern Sie sie in SQL und halten Lese-/Schreibzugriffe hinter actions:
193
126
 
194
- Kopflos bedeutet nicht staatenlos. Actions, Sitzungen, Anwendungsstatus, Threads,
195
- Ausführungsverlauf und Anmeldeinformationen sind alle in SQL gespeichert. Lokal ist das SQLite bei
196
- `data/app.db`; In der Produktion legen Sie `DATABASE_URL` fest. Siehe
197
- [Deployment](/docs/deployment).
127
+ Definieren Sie die Tabelle mit den portablen Framework-Helpern, nicht mit Imports aus `drizzle-orm/sqlite-core` oder `drizzle-orm/pg-core`:
198
128
 
199
- <Callout id="doc-block-8hc1bg" tone="info">
129
+ ```ts
130
+ // server/db/schema.ts
131
+ import { integer, now, table, text } from "@agent-native/core/db/schema";
200
132
 
201
- **Headless ist immer noch eine echte App.** Die App-Agent-Schleife speichert Sitzungen, Threads, Ausführungen, Einstellungen und Anmeldeinformationen in SQL – es handelt sich nicht um eine zustandslose Eingabeaufforderung. Sie können später eine Benutzeroberfläche hinzufügen, ohne Ihre Aktionen oder Ihren Status zu ändern.
133
+ export const responseInsights = table("response_insights", {
134
+ id: text("id").primaryKey(),
135
+ formId: text("form_id").notNull(),
136
+ title: text("title").notNull(),
137
+ summary: text("summary").notNull(),
138
+ responseCount: integer("response_count").notNull(),
139
+ createdAt: text("created_at").notNull().default(now()),
140
+ updatedAt: text("updated_at").notNull().default(now()),
141
+ });
142
+ ```
202
143
 
203
- </Callout>
144
+ Diese Helper wählen das konfigurierte SQL-Backend, sodass dasselbe Schema lokal mit SQLite und in Produktion mit Postgres, Turso/libSQL, D1 oder einem anderen unterstützten SQL-Provider laufen kann.
204
145
 
205
- ## UI anpassen
146
+ - `create-response-insight` schreibt einen neuen insight.
147
+ - `list-response-insights` liest Daten für die Seite.
148
+ - `update-response-insight` aktualisiert einen Datensatz.
149
+ - `analyze-responses` gibt weiterhin das native Chat-widget zurück.
206
150
 
207
- Wenn Sie mit der Chat-Vorlage begonnen haben, können Sie UI bearbeiten. Der Chat selbst
208
- ist eine kleine Route, die auf der `<AgentChatSurface>`-Komponente basiert:
151
+ Erstellen Sie keine doppelte REST route nur für den Browser; UI und Agent sollten actions teilen.
209
152
 
210
- ```tsx
211
- // app/routes/_index.tsx
212
- import { AgentChatSurface } from "@agent-native/core/client";
153
+ ## 5. Seite hinzufügen, die der Agent öffnen kann {#add-a-page}
213
154
 
214
- export default function ChatRoute() {
215
- return <AgentChatSurface mode="page" className="h-full" />;
216
- }
217
- ```
155
+ Fügen Sie eine Route `/response-insights` mit `useActionQuery("list-response-insights")` und `useActionMutation("create-response-insight")` hinzu. Die Seite ist eine Projektion des SQL state; geschrieben wird weiter über dieselben actions.
218
156
 
219
- - **`app/routes/_index.tsx`** – die Chat-Seite. Ändern Sie die Vorschläge, leer
220
- Zustand und Layout.
221
- - **`app/root.tsx`** – die App-Shell. Fügen Sie Ihre eigenen Routen und Bildschirme rund um das
222
- Agent.
223
- - Legen Sie den Agenten mit `<AgentSidebar>` in einen beliebigen Bildschirm und bearbeiten Sie ihn von einem aus
224
- mit `sendToAgentChat()` oder führen Sie eine Aktion direkt mit
225
- `useActionMutation()`.
157
+ <WireframeBlock id="doc-block-response-insights-page-wireframe-de">
158
+ <Screen
159
+ surface="desktop"
160
+ html={
161
+ "<main style='min-height:440px;box-sizing:border-box;padding:28px;background:var(--wf-bg)'><section style='max-width:960px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:16px;align-items:stretch'><section class='wf-card' data-rough style='display:flex;flex-direction:column;gap:16px'><header><h2 style='margin:0 0 4px;font-size:28px'>Antwort-Insights</h2><p class='wf-muted' style='margin:0'>Insights, die der Agent aus Formularantworten erstellt hat.</p></header><button class='primary' data-rough style='align-self:flex-start'>Demo-Formular analysieren</button><section style='display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px'><article class='wf-box' data-rough style='padding:12px'><strong>Preisthema</strong><p class='wf-muted' style='margin:8px 0 0'>Nutzer fragen nach einem Team-Tarif.</p></article><article class='wf-box' data-rough style='padding:12px'><strong>Onboarding-Abbruch</strong><p class='wf-muted' style='margin:8px 0 0'>Drei Schritte brauchen klarere Texte.</p></article></section><section class='wf-card' data-rough style='display:flex;flex-direction:column;gap:10px'><div class='wf-row wf-box' data-rough style='padding:10px 12px;gap:12px;justify-content:space-between'><strong>Demo-Formular</strong><span class='wf-muted'>42 Antworten analysiert</span></div><div class='wf-row wf-box' data-rough style='padding:10px 12px;gap:12px;justify-content:space-between'><strong>Nächster Schritt</strong><span class='wf-muted'>Zwei Insight-Entwürfe prüfen</span></div></section></section><aside class='wf-card' data-rough style='height:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:12px'><strong>Chat</strong><div class='wf-box' data-rough style='align-self:flex-end;max-width:210px;padding:10px 12px'><span class='wf-muted'>Sie</span><p style='margin:4px 0 0'>Öffne Antwort-Insights.</p></div><div class='wf-box' data-rough style='align-self:flex-start;max-width:210px;padding:10px 12px'><span class='wf-muted'>Agent</span><p style='margin:4px 0 0'>Antwort-Insights geöffnet.</p></div></aside></section></main>"
162
+ }
163
+ />
164
+ </WireframeBlock>
226
165
 
227
- Siehe [Drop-in Agent](/docs/drop-in-agent) für den vollständigen Komponentensatz und
228
- [Native Chat-Oberfläche](/docs/native-chat-ui) zum Rendern von Aktionsergebnissen als Tabellen
229
- Diagramme und getippte Karten anstelle von reinem Text.
166
+ Erweitern Sie `view-screen` und `navigate`, damit der Agent die aktuelle Route kennt und `/response-insights` öffnen kann. Ergebnisse können außerdem `href: "/response-insights"` enthalten, um im Chat einen Button "Antwort-Insights öffnen" zu zeigen.
230
167
 
231
- **Kopflos gestartet und später ein UI wollen?** Die Chat-Vorlage _ist_ die UI-Auffahrt
232
- seine `app/`-Schicht (React Router + Vite) ist genau das, was das Headless-Gerüst ist
233
- lässt weg. Der sauberste Schritt besteht darin, vom Chat aus zu starten (oder ein neues Gerüst zu erstellen)
234
- Vorlage; Ihr `actions/`-, Agent- und SQL-Status wird unverändert übernommen. Siehe
235
- [Agent Surfaces](/docs/agent-surfaces) für jede Fläche dazwischen.
168
+ Wenn der Vollseiten-Chat eine App-Seite öffnet, verwenden Sie `AgentChatSurface`, `AgentSidebar`, `useAgentChatHomeHandoff`, `useAgentChatHomeHandoffLinks` und `chatViewTransition` aus [Agent Surfaces](/docs/agent-surfaces#rich-chat), damit der Chat in die Seitenleiste gleitet und derselbe Thread erhalten bleibt.
236
169
 
237
- ## Projektstruktur
170
+ ## Projektstruktur {#project-structure}
238
171
 
239
172
  ```text
240
173
  my-app/
241
- actions/ # Vom Agenten aufrufbare Actions
242
- app/ # React-Frontend (nur UI-Templates; entfällt bei headless)
243
- server/ # Nitro-API-Server (Routen, Plugins)
244
- AGENTS.md # Ständig geltende Agentenanweisungen
245
- .agents/ # Skills, die der Agent bei Bedarf laden kann
174
+ actions/ # Operationen, die Agent und UI aufrufen können
175
+ app/ # React-Routen, Seiten und Chat-Oberflächen
176
+ server/ # Nitro-Server und SQL-Schema
177
+ AGENTS.md # Immer aktive Anweisungen für den App-Agenten
178
+ .agents/ # Skills, die der Agent bei Bedarf lädt
246
179
  data/app.db # Lokaler SQLite-Status, wenn DATABASE_URL nicht gesetzt ist
247
180
  ```
248
181
 
249
- ## Wohin gehen Sie als nächstes?
250
-
251
- - **[Key Concepts](/docs/key-concepts)** die Kernarchitektur: SQL, actions,
252
- Synchronisierung und Kontextbewusstsein.
253
- - **[Actions](/docs/actions)** die vollständige Aktion API: Schemata, HTTP, Authentifizierung und
254
- Genehmigung.
255
- - **[Agent Surfaces](/docs/agent-surfaces)** Headless, Chat, eingebetteter Sidecar,
256
- und vollständige App.
257
- - **[Drop-in Agent](/docs/drop-in-agent)** Fügen Sie den Agenten-Chat zu jeder React-App hinzu.
258
- - **[Deployment](/docs/deployment)** platzieren Sie Ihre App auf Ihrer eigenen Domain.
259
- - **[FAQ](/docs/faq)** Fragen zur Einrichtung und zum Produkt.
182
+ ## Sie möchten einen vollständigen Analytics-Startpunkt? {#analytics-starting-point}
183
+
184
+ Das Response-insights-Beispiel oben ist absichtlich klein, damit die Framework-Bausteine sichtbar bleiben. Wenn Sie ein echtes Analytics-Produkt bauen, starten Sie stattdessen mit [Analytics](/docs/template-analytics). Das ist der robuste Startpunkt: Provider verbinden, vorhandene Dashboards und agent actions nutzen und von dort aus anpassen.
185
+
186
+ ## Nächste Schritte {#next}
187
+
188
+ - **[Actions](/docs/actions)** schemas, auth, approvals, hooks und transport.
189
+ - **[Native Chat UI](/docs/native-chat-ui)** — Tabellen, Diagramme und typed cards für action-Ergebnisse.
190
+ - **[Chat Template](/docs/template-chat)** die minimale chat-first app.
191
+ - **[Analytics Template](/docs/template-analytics)** ein robuster Analytics-Startpunkt; Provider verbinden und dann anpassen.
192
+ - **[Context Awareness](/docs/context-awareness)** `view-screen`, `navigate`, route state und ausgewählte Objekte.
193
+ - **[Agent Surfaces](/docs/agent-surfaces)** — chat, inline UI, app pages, embedded sidecars, automation und externe Agents.
@@ -1,16 +1,11 @@
1
1
  ---
2
- title: "Pure-Agent-Apps"
3
- description: "Apps, bei denen der Agent das gesamte Produkt darstellt: Die App-Agent-Schleife ist die Eingangstür, und UI wird nur hinzugefügt, wenn Menschen sie benötigen."
2
+ title: "Automation-First Apps"
3
+ description: "Agent-Native Apps ohne Browser für scheduled jobs, Queues, Skripte, integration workers und externe Agents."
4
4
  ---
5
5
 
6
- # Pure-Agent-Apps
6
+ # Automation-First Apps
7
7
 
8
- Eine reine Agent-App ist das minimale Ende von Agent-Native: Die App-Agent-Schleife ist die
9
- Produkt, kein Dashboard. Sie senden eine Anfrage vom Terminal, Slack, E-Mail, a
10
- geplanter Job, ein anderer Agent oder Chat – „meine ungelesenen E-Mails zusammenfassen“, „veröffentlichen
11
- tägliche Metriken an Slack“ – und der Agent handelt und gibt das Ergebnis zurück, wo immer es ist
12
- gehört. Es ist immer noch eine echte App: actions, Sitzungen, App-Status, Verlauf,
13
- Einstellungen, Anmeldeinformationen und Freigabedatensätze sind alle live in SQL.
8
+ Eine automation-first app ist eine Agent-Native App ohne Browser für scheduled jobs, Queues, Skripte, integration workers und externe Agents. Sie ist nicht der Standardpfad im Getting Started, aber nützlich, wenn der Workflow noch keine Seite braucht. Es ist immer noch eine echte App: actions, sessions, application state, run history, settings, credentials und Freigabedatensätze leben in SQL.
14
9
 
15
10
  <Diagram id="doc-block-vbpp1d" title={"Die App-Agent-Schleife ist die Eingangstür"} summary={"Viele Einstiegspunkte erreichen eine Agentenschleife über SQL-backed-Aktionen und -Status; Die Ergebnisse kehren dorthin zurück, woher die Anfrage kam. Die Benutzeroberfläche wird nur dann hinzugefügt, wenn eine Überwachung durch Menschen erforderlich ist."}>
16
11
 
@@ -7,7 +7,7 @@ description: "Eine minimalistische, agentennative Chat-First-App: dauerhafte Cha
7
7
 
8
8
  Chat ist der grundlegende Ausgangspunkt für agentennative Apps. Sie erhalten eine saubere Shell im ChatGPT-Stil mit Chat in der Mitte, einer Thread-Liste auf der linken Seite, Standard-App-Navigation, Authentifizierung, Live-Synchronisierung, actions und einer Beispielaktion. Beginnen Sie hier, wenn Sie eine echte Browser-App wünschen, auf der Sie aufbauen können, ohne sich auf eine Domain-Vorlage festzulegen.
9
9
 
10
- Wenn Sie die kleinste reine Aktionslaufzeit ohne Browser UI wünschen, beginnen Sie mit [Pure-Agent Apps](/docs/pure-agent-apps). Wenn Sie eine fertige Domänenproduktform wünschen, beginnen Sie mit [Calendar](/docs/template-calendar), [Mail](/docs/template-mail), [Content](/docs/template-content), [Forms](/docs/template-forms), [Analytics](/docs/template-analytics) oder einer anderen Domänenvorlage.
10
+ Wenn Sie eine automation-first Laufzeit ohne Browser UI wünschen, beginnen Sie mit [Automation-First Apps](/docs/pure-agent-apps). Wenn Sie eine fertige Domänenproduktform wünschen, beginnen Sie mit [Calendar](/docs/template-calendar), [Mail](/docs/template-mail), [Content](/docs/template-content), [Forms](/docs/template-forms), [Analytics](/docs/template-analytics) oder einer anderen Domänenvorlage.
11
11
 
12
12
  <WireframeBlock id="doc-block-av9kdb">
13
13
  <Screen
@@ -200,4 +200,4 @@ Der Agent sollte ein Drizzle-Schema, actions, Route, Navigation und Anweisungen
200
200
  - [**Agent Surfaces**](/docs/agent-surfaces) – Headless-, Chat-, eingebettete und vollständige App-Muster
201
201
  - [**Actions**](/docs/actions) – der Aktionssystem-Chat und UI rufen beide auf
202
202
  - [**Native Chat-Oberfläche**](/docs/native-chat-ui) – Chat-Oberflächenprimitive und Laufzeitoptionen
203
- - [**Pure-Agent Apps**](/docs/pure-agent-apps) – reine Aktions-Apps, die später in Chat integriert werden können
203
+ - [**Automation-First Apps**](/docs/pure-agent-apps) – Automationen, Queues, Skripte und externe Agent-Workflows ohne Browser-UI
@@ -99,7 +99,7 @@ Der Agent ist keine separate App, zu der Sie wechseln. Es wird als eine Handvoll
99
99
 
100
100
  Nicht jede App benötigt ein vollständiges Dashboard. Wenn der Agent das Produkt ist, können Sie die meisten benutzerdefinierten UI überspringen: Öffnen Sie die App, fragen Sie nach, was Sie möchten, und lassen Sie den Agenten den Rest erledigen. Der Agent verfügt immer noch über seine Verwaltungsoberfläche – Verlauf, Arbeitsbereich, Einstellungen –, aber die primäre Interaktion besteht aus Gesprächen und nicht aus Klicks.
101
101
 
102
- → [**Pure-Agent Apps**](/docs/pure-agent-apps) – Apps, bei denen der Agent das gesamte Produkt ist.
102
+ → [**Automation-First Apps**](/docs/pure-agent-apps) – Apps ohne Browser für Jobs, Queues, Skripte und externe Agents.
103
103
 
104
104
  ## Sie sind Mitherausgeber {#you-co-edit}
105
105
 
@@ -113,5 +113,5 @@ Wenn Sie und der Agent an demselben Dokument arbeiten, wechseln Sie sich nicht a
113
113
  - [**Agent Mentions**](/docs/agent-mentions) – leiten Sie es mit `@`-Erwähnungen
114
114
  - [**Voice Input**](/docs/voice-input) – steuern Sie es durch Sprechen
115
115
  - [**Drop-in Agent**](/docs/drop-in-agent) – in jede React-App einbetten
116
- - [**Pure-Agent Apps**](/docs/pure-agent-apps) – gehen Sie zu UI-arm, wenn der Agent das Produkt ist
116
+ - [**Automation-First Apps**](/docs/pure-agent-apps) – Apps ohne Browser für Jobs, Queues, Skripte und externe Agents
117
117
  - [**Real-Time Collaboration**](/docs/real-time-collaboration) – gemeinsam dasselbe Dokument bearbeiten
@@ -30,7 +30,7 @@ Cada una es una aplicación real que puedes usar hoy y la plataforma de lanzamie
30
30
  | [**Plan**](/docs/template-plan) | Planos visuales y resúmenes de relaciones públicas con diagramas, esquemas y anotaciones. |
31
31
  | [**Dispatch**](/docs/template-dispatch) | El plano de control del espacio de trabajo: secretos compartidos, integraciones reutilizables, Slack/Telegram, trabajos programados. |
32
32
 
33
- ¿No quieres una aplicación de dominio? Utilice [Chat](/docs/template-chat) cuando desee una aplicación básica con la que los usuarios puedan hablar inmediatamente, o comience con una acción en [Pure-Agent Apps](/docs/pure-agent-apps).
33
+ ¿No quieres una aplicación de dominio? Usa [Chat](/docs/template-chat) cuando quieras una app básica con la que los usuarios puedan hablar inmediatamente y que pueda crecer con actions, resultados nativos y pantallas. Usa [Automation-First Apps](/docs/pure-agent-apps) solo cuando el flujo todavía no necesite UI de navegador.
34
34
 
35
35
  Vea el catálogo completo en [Apps](/apps) o vaya directamente a uno; por ejemplo, [Dispatch](/docs/template-dispatch) es un excelente lugar para comenzar si desea una aplicación estilo espacio de trabajo.
36
36
 
@@ -168,7 +168,7 @@ No es necesario. Cada plantilla también está disponible como una aplicación a
168
168
 
169
169
  ## Aprovechando esto
170
170
 
171
- - [**Getting Started**](/docs/getting-started): crea una aplicación de chat mínima o un agente sin cabeza
171
+ - [**Getting Started**](/docs/getting-started): crea una app chat-first, añade una action, renderiza un resultado estructurado y crece hacia una página
172
172
  - [**Messaging the agent**](/docs/messaging): cómo los usuarios (y usted) hablan con el agente que se envía con cada plantilla
173
173
  - [**Multi-App Workspace**](/docs/multi-app-workspace): agrupa varias plantillas en un espacio de trabajo que comparte autenticación, marca y agente
174
174
  - [**Dispatch**](/docs/template-dispatch): la plantilla del plano de control del espacio de trabajo
@@ -182,7 +182,7 @@ Si está realizando un scaffolding ahora, el comando CLI es:
182
182
  npx @agent-native/core@latest create my-platform
183
183
  ```
184
184
 
185
- Obtendrás un selector de selección múltiple. Elija una aplicación (independiente) o varias (espacio de trabajo: las aplicaciones comparten autenticación, marca, configuración del agente y base de datos). Cada plantilla seleccionada se estructura en `apps/<name>/` con cada archivo que necesita. Para una aplicación de solo acción en lugar de una plantilla UI, use `npx @agent-native/core@latest create my-agent --headless`.
185
+ Obtendrás un selector de selección múltiple. Elija una aplicación (independiente) o varias (espacio de trabajo: las aplicaciones comparten autenticación, marca, configuración del agente y base de datos). Cada plantilla seleccionada se estructura en `apps/<name>/` con cada archivo que necesita. Para una automatización sin UI de navegador en lugar de una plantilla UI, use `npx @agent-native/core@latest create my-agent --headless`.
186
186
 
187
187
  Complete `.env` (principalmente `ANTHROPIC_API_KEY` y `DATABASE_URL`), `pnpm install`, `pnpm dev` y funciona. Sin "TODO: implementar inicio de sesión", sin rutas de marcador de posición.
188
188
 
@@ -11,15 +11,15 @@ Preguntas comunes sobre el agente nativo, organizadas desde "Solo estoy mirando"
11
11
 
12
12
  ### ¿Qué es el agente nativo? {#what-is-agent-native}
13
13
 
14
- Agent-native es un marco para crear aplicaciones en las que el agente de IA y la superficie del producto que lo rodea son socios iguales. Esa superficie puede comenzar como un agente sin cabeza con una acción personalizada, convertirse en un chat enriquecido o convertirse en un UI completo. La invariante es que los agentes y los humanos comparten el mismo actions, base de datos y estado. Consulte [What Is Agent-Native?](/docs/what-is-agent-native) para obtener la explicación completa.
14
+ Agent-native es un marco para crear aplicaciones en las que el agente de IA y la superficie del producto que lo rodea son socios iguales. El camino habitual empieza con chat, añade actions tipadas, renderiza resultados estructurados en línea y crece hacia páginas duraderas sobre el mismo estado SQL. La invariante es que los agentes y los humanos comparten el mismo actions, base de datos y estado. Consulte [What Is Agent-Native?](/docs/what-is-agent-native) para obtener la explicación completa.
15
15
 
16
16
  ### ¿Para quién es esto? {#who-is-this-for}
17
17
 
18
18
  El agente nativo es para personas que desean que una aplicación real y un agente de IA trabajen con los mismos datos y actions. Las rutas comunes son:
19
19
 
20
20
  - **Utilice una aplicación alojada** si desea Correo, Calendario, Formularios, Plan u otra plantilla terminada sin configuración; comience en [template gallery](/templates).
21
- - **Comience con Chat** si desea una aplicación básica con la que los usuarios puedan hablar inmediatamente, luego amplíe con actions y pantallas; comience con [Getting Started](/docs/getting-started) o [Chat](/docs/template-chat).
22
- - **Inicie primitivo primero** si desea una acción y un bucle de agente de aplicación sin cabeza antes de comprometerse con UI; comience con [Getting Started](/docs/getting-started).
21
+ - **Comience con Chat** si desea el camino predeterminado desde cero: los usuarios hablan con el agent inmediatamente, y usted amplía con actions, resultados nativos y pantallas; comience con [Getting Started](/docs/getting-started) o [Chat](/docs/template-chat).
22
+ - **Comience automation-first** si crea tareas programadas, colas, scripts, integration workers o flujos de agents externos sin UI de navegador todavía; comience con [Automation-First Apps](/docs/pure-agent-apps).
23
23
  - **Bifurque y personalice una plantilla** si desea su propio producto SaaS con autenticación, base de datos, UI y agente actions ya conectados; consulte [Templates](/docs/cloneable-saas).
24
24
  - **Compile desde cero** si desea las primitivas del marco para un nuevo producto impulsado por agentes, comience con [Getting Started](/docs/getting-started).
25
25
  - **Conecte otro agente o herramienta de código** si desea que Claude, ChatGPT, Codex, Cursor o GitHub Copilot/VS Code utilice una aplicación nativa del agente; consulte [External Agents](/docs/external-agents) y [Skills Guide](/docs/skills-guide).
@@ -130,7 +130,7 @@ Ese es el punto. Bifurca una plantilla y personalízala preguntándole al agente
130
130
 
131
131
  ### ¿Puedo crear algo que las plantillas no cubran? {#build-from-scratch}
132
132
 
133
- Sí. Si desea una aplicación de chat básica, ejecute `npx @agent-native/core@latest create my-chat-app --template chat`; obtienes hilos de chat duraderos, actions, autenticación, estado de ejecución respaldado por SQL y espacio para agregar tus propias pantallas. Si desea la aplicación más pequeña de acción primero sin UI, ejecute `npx @agent-native/core@latest create my-agent --headless`. Consulte [Getting Started](/docs/getting-started), [Pure-Agent Apps](/docs/pure-agent-apps) y [Chat](/docs/template-chat).
133
+ Sí. Si desea una app agentic básica, ejecute `npx @agent-native/core@latest create my-chat-app --template chat`; obtiene hilos de chat duraderos, actions, autenticación, estado de ejecución respaldado por SQL, renderizado nativo en línea y espacio para agregar sus propias pantallas. Si crea una automatización sin navegador, ejecute `npx @agent-native/core@latest create my-agent --headless`. Consulte [Getting Started](/docs/getting-started), [Automation-First Apps](/docs/pure-agent-apps) y [Chat](/docs/template-chat).
134
134
 
135
135
  ### ¿Puedo probarlo sin bifurcar una plantilla? {#try-with-a-skill}
136
136