@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.
- package/README.md +15 -51
- package/corpus/core/CHANGELOG.md +12 -0
- package/corpus/core/docs/content/actions.mdx +17 -24
- package/corpus/core/docs/content/agent-surfaces.mdx +59 -56
- package/corpus/core/docs/content/cloneable-saas.mdx +3 -3
- package/corpus/core/docs/content/faq.mdx +4 -4
- package/corpus/core/docs/content/getting-started.mdx +246 -204
- package/corpus/core/docs/content/key-concepts.mdx +9 -9
- package/corpus/core/docs/content/locales/ar-SA/cloneable-saas.mdx +3 -3
- package/corpus/core/docs/content/locales/ar-SA/faq.mdx +4 -4
- package/corpus/core/docs/content/locales/ar-SA/getting-started.mdx +148 -214
- package/corpus/core/docs/content/locales/ar-SA/pure-agent-apps.mdx +4 -9
- package/corpus/core/docs/content/locales/ar-SA/template-chat.mdx +2 -2
- package/corpus/core/docs/content/locales/ar-SA/using-your-agent.mdx +2 -2
- package/corpus/core/docs/content/locales/de-DE/cloneable-saas.mdx +3 -3
- package/corpus/core/docs/content/locales/de-DE/faq.mdx +4 -4
- package/corpus/core/docs/content/locales/de-DE/getting-started.mdx +145 -211
- package/corpus/core/docs/content/locales/de-DE/pure-agent-apps.mdx +4 -9
- package/corpus/core/docs/content/locales/de-DE/template-chat.mdx +2 -2
- package/corpus/core/docs/content/locales/de-DE/using-your-agent.mdx +2 -2
- package/corpus/core/docs/content/locales/es-ES/cloneable-saas.mdx +3 -3
- package/corpus/core/docs/content/locales/es-ES/faq.mdx +4 -4
- package/corpus/core/docs/content/locales/es-ES/getting-started.mdx +148 -214
- package/corpus/core/docs/content/locales/es-ES/pure-agent-apps.mdx +4 -9
- package/corpus/core/docs/content/locales/es-ES/template-chat.mdx +2 -2
- package/corpus/core/docs/content/locales/es-ES/using-your-agent.mdx +2 -2
- package/corpus/core/docs/content/locales/fr-FR/cloneable-saas.mdx +2 -2
- package/corpus/core/docs/content/locales/fr-FR/faq.mdx +4 -4
- package/corpus/core/docs/content/locales/fr-FR/getting-started.mdx +146 -212
- package/corpus/core/docs/content/locales/fr-FR/pure-agent-apps.mdx +4 -9
- package/corpus/core/docs/content/locales/fr-FR/template-chat.mdx +2 -2
- package/corpus/core/docs/content/locales/fr-FR/using-your-agent.mdx +2 -2
- package/corpus/core/docs/content/locales/hi-IN/cloneable-saas.mdx +3 -3
- package/corpus/core/docs/content/locales/hi-IN/faq.mdx +4 -4
- package/corpus/core/docs/content/locales/hi-IN/getting-started.mdx +149 -215
- package/corpus/core/docs/content/locales/hi-IN/pure-agent-apps.mdx +8 -13
- package/corpus/core/docs/content/locales/hi-IN/template-chat.mdx +2 -2
- package/corpus/core/docs/content/locales/hi-IN/using-your-agent.mdx +2 -2
- package/corpus/core/docs/content/locales/ja-JP/cloneable-saas.mdx +2 -2
- package/corpus/core/docs/content/locales/ja-JP/faq.mdx +4 -4
- package/corpus/core/docs/content/locales/ja-JP/getting-started.mdx +144 -210
- package/corpus/core/docs/content/locales/ja-JP/pure-agent-apps.mdx +8 -13
- package/corpus/core/docs/content/locales/ja-JP/template-chat.mdx +2 -2
- package/corpus/core/docs/content/locales/ja-JP/using-your-agent.mdx +2 -2
- package/corpus/core/docs/content/locales/ko-KR/cloneable-saas.mdx +3 -3
- package/corpus/core/docs/content/locales/ko-KR/faq.mdx +4 -4
- package/corpus/core/docs/content/locales/ko-KR/getting-started.mdx +146 -212
- package/corpus/core/docs/content/locales/ko-KR/pure-agent-apps.mdx +8 -13
- package/corpus/core/docs/content/locales/ko-KR/template-chat.mdx +2 -2
- package/corpus/core/docs/content/locales/ko-KR/using-your-agent.mdx +2 -2
- package/corpus/core/docs/content/locales/pt-BR/cloneable-saas.mdx +3 -3
- package/corpus/core/docs/content/locales/pt-BR/faq.mdx +4 -4
- package/corpus/core/docs/content/locales/pt-BR/getting-started.mdx +145 -211
- package/corpus/core/docs/content/locales/pt-BR/pure-agent-apps.mdx +4 -9
- package/corpus/core/docs/content/locales/pt-BR/template-chat.mdx +2 -2
- package/corpus/core/docs/content/locales/pt-BR/using-your-agent.mdx +2 -2
- package/corpus/core/docs/content/locales/zh-CN/cloneable-saas.mdx +3 -3
- package/corpus/core/docs/content/locales/zh-CN/faq.mdx +4 -4
- package/corpus/core/docs/content/locales/zh-CN/getting-started.mdx +158 -209
- package/corpus/core/docs/content/locales/zh-CN/pure-agent-apps.mdx +4 -9
- package/corpus/core/docs/content/locales/zh-CN/template-chat.mdx +2 -2
- package/corpus/core/docs/content/locales/zh-CN/using-your-agent.mdx +2 -2
- package/corpus/core/docs/content/locales/zh-TW/cloneable-saas.mdx +3 -3
- package/corpus/core/docs/content/locales/zh-TW/faq.mdx +4 -4
- package/corpus/core/docs/content/locales/zh-TW/getting-started.mdx +158 -212
- package/corpus/core/docs/content/locales/zh-TW/pure-agent-apps.mdx +4 -9
- package/corpus/core/docs/content/locales/zh-TW/template-chat.mdx +2 -2
- package/corpus/core/docs/content/locales/zh-TW/using-your-agent.mdx +2 -2
- package/corpus/core/docs/content/native-chat-ui.mdx +17 -32
- package/corpus/core/docs/content/pure-agent-apps.mdx +46 -26
- package/corpus/core/docs/content/template-chat.mdx +8 -8
- package/corpus/core/docs/content/using-your-agent.mdx +2 -2
- package/corpus/core/docs/content/what-is-agent-native.mdx +6 -6
- package/corpus/core/package.json +1 -1
- package/corpus/core/src/cli/skills.ts +7 -9
- package/corpus/core/src/client/MultiTabAssistantChat.tsx +2 -0
- package/corpus/core/src/client/RunStuckBanner.tsx +172 -18
- package/corpus/core/src/client/blocks/library/wireframe-kit.tsx +57 -9
- package/corpus/core/src/client/blocks/library/wireframe.tsx +3 -18
- package/corpus/core/src/client/chat/widgets/builtin-tool-renderers.tsx +28 -32
- package/corpus/core/src/db/schema.ts +5 -0
- package/corpus/core/src/styles/blocks.css +27 -6
- package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +1 -4
- package/corpus/templates/content/actions/list-trashed-content-databases.ts +1 -1
- package/corpus/templates/plan/.agents/skills/visual-plan/references/wireframe.md +7 -9
- package/corpus/templates/plan/.agents/skills/visual-recap/references/wireframe.md +7 -9
- package/dist/cli/skills.d.ts +1 -1
- package/dist/cli/skills.d.ts.map +1 -1
- package/dist/cli/skills.js +7 -9
- package/dist/cli/skills.js.map +1 -1
- package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
- package/dist/client/MultiTabAssistantChat.js +1 -1
- package/dist/client/MultiTabAssistantChat.js.map +1 -1
- package/dist/client/RunStuckBanner.d.ts +13 -1
- package/dist/client/RunStuckBanner.d.ts.map +1 -1
- package/dist/client/RunStuckBanner.js +123 -16
- package/dist/client/RunStuckBanner.js.map +1 -1
- package/dist/client/blocks/library/wireframe-kit.d.ts +6 -6
- package/dist/client/blocks/library/wireframe-kit.d.ts.map +1 -1
- package/dist/client/blocks/library/wireframe-kit.js +52 -5
- package/dist/client/blocks/library/wireframe-kit.js.map +1 -1
- package/dist/client/blocks/library/wireframe.d.ts.map +1 -1
- package/dist/client/blocks/library/wireframe.js +1 -11
- package/dist/client/blocks/library/wireframe.js.map +1 -1
- package/dist/client/chat/widgets/builtin-tool-renderers.d.ts.map +1 -1
- package/dist/client/chat/widgets/builtin-tool-renderers.js +27 -31
- package/dist/client/chat/widgets/builtin-tool-renderers.js.map +1 -1
- package/dist/collab/routes.d.ts +2 -2
- package/dist/db/schema.d.ts +2 -1
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +3 -2
- package/dist/db/schema.js.map +1 -1
- package/dist/resources/handlers.d.ts +3 -3
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/dist/styles/blocks.css +27 -6
- package/docs/content/actions.mdx +17 -24
- package/docs/content/agent-surfaces.mdx +59 -56
- package/docs/content/cloneable-saas.mdx +3 -3
- package/docs/content/faq.mdx +4 -4
- package/docs/content/getting-started.mdx +246 -204
- package/docs/content/key-concepts.mdx +9 -9
- package/docs/content/locales/ar-SA/cloneable-saas.mdx +3 -3
- package/docs/content/locales/ar-SA/faq.mdx +4 -4
- package/docs/content/locales/ar-SA/getting-started.mdx +148 -214
- package/docs/content/locales/ar-SA/pure-agent-apps.mdx +4 -9
- package/docs/content/locales/ar-SA/template-chat.mdx +2 -2
- package/docs/content/locales/ar-SA/using-your-agent.mdx +2 -2
- package/docs/content/locales/de-DE/cloneable-saas.mdx +3 -3
- package/docs/content/locales/de-DE/faq.mdx +4 -4
- package/docs/content/locales/de-DE/getting-started.mdx +145 -211
- package/docs/content/locales/de-DE/pure-agent-apps.mdx +4 -9
- package/docs/content/locales/de-DE/template-chat.mdx +2 -2
- package/docs/content/locales/de-DE/using-your-agent.mdx +2 -2
- package/docs/content/locales/es-ES/cloneable-saas.mdx +3 -3
- package/docs/content/locales/es-ES/faq.mdx +4 -4
- package/docs/content/locales/es-ES/getting-started.mdx +148 -214
- package/docs/content/locales/es-ES/pure-agent-apps.mdx +4 -9
- package/docs/content/locales/es-ES/template-chat.mdx +2 -2
- package/docs/content/locales/es-ES/using-your-agent.mdx +2 -2
- package/docs/content/locales/fr-FR/cloneable-saas.mdx +2 -2
- package/docs/content/locales/fr-FR/faq.mdx +4 -4
- package/docs/content/locales/fr-FR/getting-started.mdx +146 -212
- package/docs/content/locales/fr-FR/pure-agent-apps.mdx +4 -9
- package/docs/content/locales/fr-FR/template-chat.mdx +2 -2
- package/docs/content/locales/fr-FR/using-your-agent.mdx +2 -2
- package/docs/content/locales/hi-IN/cloneable-saas.mdx +3 -3
- package/docs/content/locales/hi-IN/faq.mdx +4 -4
- package/docs/content/locales/hi-IN/getting-started.mdx +149 -215
- package/docs/content/locales/hi-IN/pure-agent-apps.mdx +8 -13
- package/docs/content/locales/hi-IN/template-chat.mdx +2 -2
- package/docs/content/locales/hi-IN/using-your-agent.mdx +2 -2
- package/docs/content/locales/ja-JP/cloneable-saas.mdx +2 -2
- package/docs/content/locales/ja-JP/faq.mdx +4 -4
- package/docs/content/locales/ja-JP/getting-started.mdx +144 -210
- package/docs/content/locales/ja-JP/pure-agent-apps.mdx +8 -13
- package/docs/content/locales/ja-JP/template-chat.mdx +2 -2
- package/docs/content/locales/ja-JP/using-your-agent.mdx +2 -2
- package/docs/content/locales/ko-KR/cloneable-saas.mdx +3 -3
- package/docs/content/locales/ko-KR/faq.mdx +4 -4
- package/docs/content/locales/ko-KR/getting-started.mdx +146 -212
- package/docs/content/locales/ko-KR/pure-agent-apps.mdx +8 -13
- package/docs/content/locales/ko-KR/template-chat.mdx +2 -2
- package/docs/content/locales/ko-KR/using-your-agent.mdx +2 -2
- package/docs/content/locales/pt-BR/cloneable-saas.mdx +3 -3
- package/docs/content/locales/pt-BR/faq.mdx +4 -4
- package/docs/content/locales/pt-BR/getting-started.mdx +145 -211
- package/docs/content/locales/pt-BR/pure-agent-apps.mdx +4 -9
- package/docs/content/locales/pt-BR/template-chat.mdx +2 -2
- package/docs/content/locales/pt-BR/using-your-agent.mdx +2 -2
- package/docs/content/locales/zh-CN/cloneable-saas.mdx +3 -3
- package/docs/content/locales/zh-CN/faq.mdx +4 -4
- package/docs/content/locales/zh-CN/getting-started.mdx +158 -209
- package/docs/content/locales/zh-CN/pure-agent-apps.mdx +4 -9
- package/docs/content/locales/zh-CN/template-chat.mdx +2 -2
- package/docs/content/locales/zh-CN/using-your-agent.mdx +2 -2
- package/docs/content/locales/zh-TW/cloneable-saas.mdx +3 -3
- package/docs/content/locales/zh-TW/faq.mdx +4 -4
- package/docs/content/locales/zh-TW/getting-started.mdx +158 -212
- package/docs/content/locales/zh-TW/pure-agent-apps.mdx +4 -9
- package/docs/content/locales/zh-TW/template-chat.mdx +2 -2
- package/docs/content/locales/zh-TW/using-your-agent.mdx +2 -2
- package/docs/content/native-chat-ui.mdx +17 -32
- package/docs/content/pure-agent-apps.mdx +46 -26
- package/docs/content/template-chat.mdx +8 -8
- package/docs/content/using-your-agent.mdx +2 -2
- package/docs/content/what-is-agent-native.mdx +6 -6
- package/package.json +1 -1
|
@@ -1,259 +1,193 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "はじめに"
|
|
3
|
-
description: "
|
|
3
|
+
description: "チャットから始まる agentic app を作成し、action を追加し、構造化結果をインライン表示して、agent が開ける永続ページへ広げます。"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# はじめに
|
|
7
7
|
|
|
8
|
-
Agent-Native
|
|
9
|
-
状態。基本的なエージェントは、それをガイドする命令 (skills) から作成されます。
|
|
10
|
-
再現可能な動作と、実際の作業を可能にする actions。
|
|
11
|
-
|
|
12
|
-
**完全なアプリから開始したいですか?** 豊富なテンプレートの 1 つを複製します —
|
|
13
|
-
[Chat](/docs/template-chat), [Mail](/docs/template-mail),
|
|
14
|
-
[Calendar](/docs/template-calendar), [Content](/docs/template-content),
|
|
15
|
-
[Analytics](/docs/template-analytics)、および [many more](/docs/cloneable-saas) —
|
|
16
|
-
それぞれがカスタマイズしたフル機能のアプリです。
|
|
17
|
-
|
|
18
|
-
ゼロから構築しますか?事前の唯一の選択肢は、UI が必要かどうかです —
|
|
19
|
-
その後のすべて (命令の作成、skills の追加、actions の定義、実行
|
|
20
|
-
エージェント)はどちらの方法でも同じです。
|
|
21
|
-
|
|
22
|
-
<FileTree
|
|
23
|
-
id="doc-block-10kfbl8"
|
|
24
|
-
title={"基本的な Agent-Native エージェント"}
|
|
25
|
-
entries={[
|
|
26
|
-
{
|
|
27
|
-
path: "AGENTS.md",
|
|
28
|
-
note: "常時有効な指示: 目的、ルール、トーン、エージェントができることのマップ",
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
path: ".agents/skills/customer-research/SKILL.md",
|
|
32
|
-
note: "タスクが一致したときにエージェントが読み込む再利用可能な playbook",
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
path: "actions/summarize-week.ts",
|
|
36
|
-
note: "エージェント、UI、CLI、HTTP、MCP、A2A、jobs、webhooks が実行できる型付きコード",
|
|
37
|
-
},
|
|
38
|
-
]}
|
|
39
|
-
/>
|
|
40
|
-
|
|
41
|
-
これは、チャット UI、ヘッドレス エージェント、または完全なアプリから開始するかどうかに当てはまります。
|
|
42
|
-
UI は表面を変更します。命令、skills、および actions はエージェントに
|
|
43
|
-
指導と行動。
|
|
44
|
-
|
|
45
|
-
## 1.アプリを作成します
|
|
8
|
+
Agent-Native は agentic applications を作るためのフレームワークです。AI agent と UI は同じ [actions](/docs/actions)、SQL データ、application state を共有します。最初に headless agent を作るのではなく、ユーザーがすぐ会話できる Chat app から始め、必要なアプリ画面を足していきます。
|
|
46
9
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
フラグなしで `create` を実行すると、どのように開始するかを尋ねられます (完全なテンプレート、
|
|
50
|
-
チャット、またはヘッドレス) 他の何よりも前に:
|
|
10
|
+
基本の流れ:
|
|
51
11
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
12
|
+
1. Chat app を作成する。
|
|
13
|
+
2. action を追加する。
|
|
14
|
+
3. action の結果をチャット内のネイティブ UI として表示する。
|
|
15
|
+
4. データを SQL に永続化する。
|
|
16
|
+
5. 視覚的に確認したいときに agent が開けるページを追加する。
|
|
55
17
|
|
|
56
|
-
|
|
18
|
+
## 1. Chat app を作成する {#create-your-app}
|
|
57
19
|
|
|
58
|
-
|
|
59
|
-
カスタマイズ可能なチャット UI、追加したすべてのアクションが自動的にチャットに表示されます:
|
|
20
|
+
[Node.js 22+](https://nodejs.org) と [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
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
29
|
+
このテンプレートには durable chat threads、auth、live sync、`actions/` ディレクトリ、標準の `view-screen` / `navigate` actions、拡張できる React app が含まれます。
|
|
30
|
+
|
|
31
|
+
## 2. action を追加する {#add-an-action}
|
|
32
|
+
|
|
33
|
+
action は agent と UI が共有する typed operation です。この流れでは `actions/analyze-responses.ts` を作成し、フォーム回答を分析してカスタムチャットグラフ用の検証済み形状を返します。
|
|
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: "回答チャート"
|
|
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
|
-
|
|
64
|
+
直接実行できます:
|
|
73
65
|
|
|
74
66
|
```bash
|
|
75
|
-
|
|
76
|
-
pnpm install
|
|
67
|
+
pnpm action analyze-responses --formId demo
|
|
77
68
|
```
|
|
78
69
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
## 2.アクションを追加
|
|
82
|
-
|
|
83
|
-
アクションとは、エージェント (および UI) が呼び出すことができる 1 つの操作です。両方の足場
|
|
84
|
-
このサンプルが同梱されています:
|
|
85
|
-
|
|
86
|
-
<AnnotatedCode
|
|
87
|
-
id="doc-block-7yg0w9"
|
|
88
|
-
title={"最初の 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: "ローカルエージェントから挨拶します。",\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: "ツール説明",
|
|
98
|
-
note: "エージェントは `description` を読み、いつツールとして呼び出すかを判断します。",
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
lines: "6-8",
|
|
102
|
-
label: "型付き契約",
|
|
103
|
-
note: "1 つの zod `schema` が、エージェント、UI、HTTP、MCP、A2A のすべての入力を検証します。",
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
lines: "9",
|
|
107
|
-
label: "HTTP 動詞",
|
|
108
|
-
note: "このアクションを自動マウントされる HTTP エンドポイントとして公開します。",
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
lines: "10",
|
|
112
|
-
label: "読み取り専用",
|
|
113
|
-
note: "`readOnly` は、このアクションが承認なしで安全に呼び出せ、クエリとしてキャッシュ可能であることを示します。",
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
lines: "11-13",
|
|
117
|
-
label: "単一の実装",
|
|
118
|
-
note: "`run` 本体は、すべてのサーフェスが実行する唯一の信頼できる実装です。",
|
|
119
|
-
},
|
|
120
|
-
]}
|
|
121
|
-
/>
|
|
122
|
-
|
|
123
|
-
`hello` をドメイン内の最初の実際の操作に置き換えます。一度定義すれば、
|
|
124
|
-
あらゆる表面がそれを拾います。
|
|
125
|
-
|
|
126
|
-
毎ターン適用されるガイダンスとして `AGENTS.md` を使用してください。
|
|
127
|
-
エージェントには、再利用可能なワークフローまたはドメイン プロシージャが必要です。
|
|
128
|
-
エージェントには、データの読み取り、書き込み、API の呼び出しなどを行うための、型指定されたテスト可能な方法が必要です。
|
|
129
|
-
承認を実行します。
|
|
130
|
-
|
|
131
|
-
## 3.実行してください
|
|
132
|
-
|
|
133
|
-
アクションを直接呼び出します:
|
|
70
|
+
またはブラウザーで agent に依頼します:
|
|
134
71
|
|
|
135
|
-
|
|
136
|
-
pnpm action hello --name Steve
|
|
137
|
-
```
|
|
72
|
+
> デモフォームの最近の回答を分析して。
|
|
138
73
|
|
|
139
|
-
|
|
74
|
+
## 3. チャット内に結果を表示する {#render-inline}
|
|
140
75
|
|
|
141
|
-
|
|
142
|
-
pnpm agent "Call the hello action for Steve and explain what happened."
|
|
143
|
-
```
|
|
76
|
+
action が `outputSchema` とプロダクト固有の `chatUI.renderer` を宣言しているため、チャットは構造化データを長い文章に潰しません。次に、app の起動時にその正確な renderer id に対応する React コンポーネントを登録します。たとえば `app/root.tsx` から `app/chat-renderers.tsx` を一度 import します。
|
|
144
77
|
|
|
145
|
-
|
|
146
|
-
|
|
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
|
-
|
|
149
|
-
|
|
105
|
+
registerActionChatRenderer({
|
|
106
|
+
id: "responses.response-chart",
|
|
107
|
+
renderer: "responses.response-chart",
|
|
108
|
+
Component: ResponseChart,
|
|
109
|
+
});
|
|
150
110
|
```
|
|
151
111
|
|
|
152
|
-
|
|
153
|
-
スケジュールされたジョブ、および webhooks。一度定義すれば、どこからでも呼び出すことができます。
|
|
154
|
-
|
|
155
|
-
<Diagram id="doc-block-1e9l236" title={"1 つのアクションであらゆる面に対応"} summary={"単一の defineAction ファイルは、追加の配線なしですべてのコンシューマに展開されます。"}>
|
|
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">→</div>
|
|
161
|
-
<div class="diagram-surfaces">
|
|
162
|
-
<span class="diagram-pill">チャット UI</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">スケジュール済みジョブ</span
|
|
166
|
-
><span class="diagram-pill">Webhooks</span>
|
|
167
|
-
</div>
|
|
168
|
-
</div>
|
|
169
|
-
```
|
|
112
|
+
再利用できる汎用出力には、framework 組み込みの `data-chart` と `data-table` renderers も使えます。`data-insights` は summary/chart/table を組み合わせたカード向けです。詳しくは [Native Chat UI](/docs/native-chat-ui) を参照してください。
|
|
170
113
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
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-ja">
|
|
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'>デモの回答を分析して。</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'>responses.response-chart で描画。</p><section class='wf-card' data-rough style='padding:14px'><h3 style='margin:0 0 12px;font-size:14px'>回答チャート</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'>月</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'>火</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'>水</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'>木</span></div></div></section></div></div></div>"
|
|
119
|
+
}
|
|
120
|
+
/>
|
|
121
|
+
</WireframeBlock>
|
|
189
122
|
|
|
190
|
-
|
|
123
|
+
## 4. SQL に永続化する {#persist-data}
|
|
191
124
|
|
|
192
|
-
|
|
125
|
+
結果を後で見返す、比較する、更新する必要があるなら SQL に保存し、読み書きは actions の後ろに置きます。
|
|
193
126
|
|
|
194
|
-
|
|
195
|
-
実行履歴と資格情報はすべて SQL に存在します。ローカルでは、
|
|
196
|
-
`data/app.db`;運用環境では、`DATABASE_URL` を設定します。参照
|
|
197
|
-
[Deployment](/docs/deployment).
|
|
127
|
+
テーブルは `drizzle-orm/sqlite-core` や `drizzle-orm/pg-core` から import するのではなく、framework のポータブルな helper で定義します。
|
|
198
128
|
|
|
199
|
-
|
|
129
|
+
```ts
|
|
130
|
+
// server/db/schema.ts
|
|
131
|
+
import { integer, now, table, text } from "@agent-native/core/db/schema";
|
|
200
132
|
|
|
201
|
-
|
|
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
|
-
|
|
144
|
+
これらの helper は設定された SQL backend を選ぶため、同じ schema がローカルの SQLite と、production の Postgres、Turso/libSQL、D1、その他の対応 SQL provider で動きます。
|
|
204
145
|
|
|
205
|
-
|
|
146
|
+
- `create-response-insight` は新しい insight を書き込みます。
|
|
147
|
+
- `list-response-insights` はページ用のデータを読みます。
|
|
148
|
+
- `update-response-insight` はレコードを更新します。
|
|
149
|
+
- `analyze-responses` はチャット用のネイティブ widget を返し続けます。
|
|
206
150
|
|
|
207
|
-
|
|
208
|
-
`<AgentChatSurface>` コンポーネント上に構築された 1 つの小さなルートです:
|
|
151
|
+
ブラウザー専用の重複 REST route は作らず、UI と agent が actions を共有します。
|
|
209
152
|
|
|
210
|
-
|
|
211
|
-
// app/routes/_index.tsx
|
|
212
|
-
import { AgentChatSurface } from "@agent-native/core/client";
|
|
153
|
+
## 5. agent が開けるページを追加する {#add-a-page}
|
|
213
154
|
|
|
214
|
-
|
|
215
|
-
return <AgentChatSurface mode="page" className="h-full" />;
|
|
216
|
-
}
|
|
217
|
-
```
|
|
155
|
+
`/response-insights` route を追加し、`useActionQuery("list-response-insights")` と `useActionMutation("create-response-insight")` を使います。このページは SQL state の表示であり、データは同じ actions で書き込まれます。
|
|
218
156
|
|
|
219
|
-
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
-
|
|
224
|
-
|
|
225
|
-
|
|
157
|
+
<WireframeBlock id="doc-block-response-insights-page-wireframe-ja">
|
|
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'>回答インサイト</h2><p class='wf-muted' style='margin:0'>エージェントがフォーム回答から作成したインサイト。</p></header><button class='primary' data-rough style='align-self:flex-start'>デモフォームを分析</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>料金テーマ</strong><p class='wf-muted' style='margin:8px 0 0'>ユーザーはチームプランを求めています。</p></article><article class='wf-box' data-rough style='padding:12px'><strong>オンボーディング離脱</strong><p class='wf-muted' style='margin:8px 0 0'>3つのステップにより明確な文言が必要です。</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>デモフォーム</strong><span class='wf-muted'>42件の回答を分析済み</span></div><div class='wf-row wf-box' data-rough style='padding:10px 12px;gap:12px;justify-content:space-between'><strong>次のステップ</strong><span class='wf-muted'>2件のインサイト下書きを確認</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>チャット</strong><div class='wf-box' data-rough style='align-self:flex-end;max-width:210px;padding:10px 12px'><span class='wf-muted'>あなた</span><p style='margin:4px 0 0'>回答インサイトを開く。</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'>回答インサイトを開きました。</p></div></aside></section></main>"
|
|
162
|
+
}
|
|
163
|
+
/>
|
|
164
|
+
</WireframeBlock>
|
|
226
165
|
|
|
227
|
-
|
|
228
|
-
[Native チャット UI](/docs/native-chat-ui) はアクションの結果をテーブルとしてレンダリングします。
|
|
229
|
-
プレーンテキストの代わりにグラフと入力されたカード。
|
|
166
|
+
`view-screen` と `navigate` を拡張し、agent が現在の route を理解して `/response-insights` を開けるようにします。結果に `href: "/response-insights"` を含めれば、チャットに "回答インサイトを開く" ボタンを表示できます。
|
|
230
167
|
|
|
231
|
-
|
|
232
|
-
その `app/` レイヤー (React ルーター + Vite) はまさにヘッドレス足場です
|
|
233
|
-
は除外されます。最もクリーンな方法は、チャットから開始 (または再スキャフォールディング) することです
|
|
234
|
-
テンプレート; `actions/`、エージェント、および SQL の状態は変更されずに引き継がれます。参照
|
|
235
|
-
間にあるすべてのサーフェスに対して [Agent Surfaces](/docs/agent-surfaces)。
|
|
168
|
+
フルページ chat から app ページを開くときは、[Agent Surfaces](/docs/agent-surfaces#rich-chat) の `AgentChatSurface`、`AgentSidebar`、`useAgentChatHomeHandoff`、`useAgentChatHomeHandoffLinks`、`chatViewTransition` を使い、同じ thread のままチャットをサイドバーへ移動します。
|
|
236
169
|
|
|
237
|
-
##
|
|
170
|
+
## プロジェクト構成 {#project-structure}
|
|
238
171
|
|
|
239
172
|
```text
|
|
240
173
|
my-app/
|
|
241
|
-
actions/ #
|
|
242
|
-
app/ # React
|
|
243
|
-
server/ # Nitro
|
|
244
|
-
AGENTS.md #
|
|
174
|
+
actions/ # エージェントとUIから呼び出せる操作
|
|
175
|
+
app/ # Reactのルート、ページ、チャット画面
|
|
176
|
+
server/ # NitroサーバーとSQLスキーマ
|
|
177
|
+
AGENTS.md # アプリアージェントの常時有効な指示
|
|
245
178
|
.agents/ # 必要に応じてエージェントが読み込むスキル
|
|
246
|
-
data/app.db # DATABASE_URL
|
|
179
|
+
data/app.db # DATABASE_URL未設定時のローカルSQLite状態
|
|
247
180
|
```
|
|
248
181
|
|
|
249
|
-
##
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
- **[
|
|
256
|
-
|
|
257
|
-
- **[
|
|
258
|
-
- **[
|
|
259
|
-
- **[
|
|
182
|
+
## 本格的な Analytics の出発点が必要な場合 {#analytics-starting-point}
|
|
183
|
+
|
|
184
|
+
上の 回答インサイト 例は、framework の部品を見やすくするために小さくしています。実際の analytics product を作るなら、[Analytics](/docs/template-analytics) から始めてください。providers を接続し、既存の dashboards と agent actions を使い、そこからカスタマイズできる堅牢な出発点です。
|
|
185
|
+
|
|
186
|
+
## 次のステップ {#next}
|
|
187
|
+
|
|
188
|
+
- **[Actions](/docs/actions)** — schemas、auth、approvals、hooks、transport。
|
|
189
|
+
- **[Native Chat UI](/docs/native-chat-ui)** — action 結果をテーブル、グラフ、typed cards として表示。
|
|
190
|
+
- **[Chat Template](/docs/template-chat)** — 最小の chat-first app。
|
|
191
|
+
- **[Analytics Template](/docs/template-analytics)** — 堅牢な analytics app の出発点。providers を接続してカスタマイズできます。
|
|
192
|
+
- **[Context Awareness](/docs/context-awareness)** — `view-screen`、`navigate`、route state、選択中のオブジェクト。
|
|
193
|
+
- **[Agent Surfaces](/docs/agent-surfaces)** — chat、inline UI、app pages、embedded sidecars、automation、外部 agent。
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "
|
|
3
|
-
description: "
|
|
2
|
+
title: "Automation-First Apps"
|
|
3
|
+
description: "scheduled jobs、queues、scripts、integration workers、external agents 向けのブラウザーなし Agent-Native apps。"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# Automation-First Apps
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
製品であり、ダッシュボードではありません。端末 Slack、電子メール、
|
|
10
|
-
スケジュールされたジョブ、別のエージェント、またはチャット — 「未読メールの要約」、「投稿」
|
|
11
|
-
毎日のメトリクスを Slack に送信します。エージェントはどこにいても動作し、結果を返します。
|
|
12
|
-
に属します。これはまだ実際のアプリです: actions、セッション、アプリの状態、履歴
|
|
13
|
-
設定、認証情報、共有レコードはすべて SQL に保存されます。
|
|
8
|
+
Automation-first app は、scheduled jobs、queues、scripts、integration workers、external agents 向けのブラウザーなし Agent-Native app です。Getting Started の既定ルートではありませんが、workflow がまだページを必要としない場合に有用です。これはまだ実際の app です: actions、sessions、application state、run history、settings、credentials、共有レコードはすべて SQL に保存されます。
|
|
14
9
|
|
|
15
10
|
<Diagram id="doc-block-1evvzm8" title={"アプリとエージェントのループが玄関口です"} summary={"多くのエントリ ポイントは、SQL-backed アクションと状態を介して 1 つのエージェント ループに到達します。結果はリクエストの送信元に返されます。 UIは人間が監視する必要がある場合にのみ追加されます。"}>
|
|
16
11
|
|
|
@@ -66,7 +61,7 @@ description: "エージェントが製品全体であるアプリ: アプリと
|
|
|
66
61
|
作業がバックグラウンドで実行されているときにこの形状に到達すると、出力が残ります
|
|
67
62
|
アプリ、ドメインはワンショットであるか、プロトタイピング中です。エージェントには依然として UI が必要です —
|
|
68
63
|
ダッシュボードではなく、人間が管理、設定、操作するための場所です —
|
|
69
|
-
|
|
64
|
+
これが、automation-first apps でも通常、組み込みのチャット シェルをマウントする理由です。
|
|
70
65
|
|
|
71
66
|
これは **ヘッドレス** 製品形状です。完全な意思決定ガイド、同梱物
|
|
72
67
|
ボックス、スキャフォールド、リポジトリへのアクセス、および実行共有が 1 か所に存在するようになりました:
|
|
@@ -76,8 +71,8 @@ description: "エージェントが製品全体であるアプリ: アプリと
|
|
|
76
71
|
## 次は何ですか
|
|
77
72
|
|
|
78
73
|
- [**Agent Surfaces — Headless**](/docs/agent-surfaces#headless) — 完全なヘッドレス意思決定ガイドと API
|
|
79
|
-
- [**Getting Started**](/docs/getting-started) —
|
|
80
|
-
- [**Dispatch**](/docs/template-dispatch) —
|
|
74
|
+
- [**Getting Started**](/docs/getting-started) — まず chat-first app を作成し、actions、inline results、pages へ拡張します
|
|
75
|
+
- [**Dispatch**](/docs/template-dispatch) — automation-first workflows に適した workspace template
|
|
81
76
|
- [**Messaging the agent**](/docs/messaging) — ユーザーがウェブ、Slack、電報、電子メールでエージェントと会話する方法
|
|
82
77
|
- [**Recurring Jobs**](/docs/recurring-jobs) — エージェントが独自に実行するスケジュールされたプロンプト
|
|
83
|
-
- [**Actions**](/docs/actions) —
|
|
78
|
+
- [**Actions**](/docs/actions) — automation-first app が呼び出すツール
|
|
@@ -7,7 +7,7 @@ description: "最小限のチャットファーストのエージェントネイ
|
|
|
7
7
|
|
|
8
8
|
チャットは、エージェントネイティブ アプリの基本的な開始点です。中央にチャット、左側にスレッド リスト、標準のアプリ ナビゲーション、認証、ライブ同期、actions、および 1 つのサンプル アクションを備えたクリーンな ChatGPT スタイルのシェルが提供されます。ドメイン テンプレートにコミットせずに構築できる実際のブラウザ アプリが必要な場合は、ここから始めてください。
|
|
9
9
|
|
|
10
|
-
ブラウザー UI
|
|
10
|
+
ブラウザー UI を使用しない automation-first runtime が必要な場合は、[Automation-First Apps](/docs/pure-agent-apps) から始めてください。完成したドメイン プロダクトの形状が必要な場合は、[Calendar](/docs/template-calendar)、[Mail](/docs/template-mail)、[Content](/docs/template-content)、[Forms](/docs/template-forms)、[Analytics](/docs/template-analytics)、または別のドメイン テンプレートから開始してください。
|
|
11
11
|
|
|
12
12
|
<WireframeBlock id="doc-block-12k6jf8">
|
|
13
13
|
<Screen
|
|
@@ -200,4 +200,4 @@ export default function ChatRoute() {
|
|
|
200
200
|
- [**Agent Surfaces**](/docs/agent-surfaces) — ヘッドレス、チャット、埋め込み、フルアプリのパターン
|
|
201
201
|
- [**Actions**](/docs/actions) — アクション システム チャットと UI の両方を呼び出します
|
|
202
202
|
- [**Native チャット UI**](/docs/native-chat-ui) — チャット サーフェス プリミティブとランタイム オプション
|
|
203
|
-
- [**
|
|
203
|
+
- [**Automation-First Apps**](/docs/pure-agent-apps) — ブラウザー UI のない automations、queues、scripts、external agent workflows
|
|
@@ -99,7 +99,7 @@ description: "エージェントとの日々の作業のループ。エージェ
|
|
|
99
99
|
|
|
100
100
|
すべてのアプリに完全なダッシュボードが必要なわけではありません。エージェントが製品である場合、カスタム UI のほとんどをスキップできます。アプリを開いて必要なものを尋ね、残りはエージェントに任せます。エージェントには履歴、ワークスペース、設定などの管理画面がまだありますが、主な操作はクリックではなく会話です。
|
|
101
101
|
|
|
102
|
-
→ [**
|
|
102
|
+
→ [**Automation-First Apps**](/docs/pure-agent-apps) — jobs、queues、scripts、external agents 向けのブラウザーなしアプリ。
|
|
103
103
|
|
|
104
104
|
## あなたはそれを共同編集します {#you-co-edit}
|
|
105
105
|
|
|
@@ -113,5 +113,5 @@ description: "エージェントとの日々の作業のループ。エージェ
|
|
|
113
113
|
- [**Agent Mentions**](/docs/agent-mentions) — `@` メンションで指示
|
|
114
114
|
- [**Voice Input**](/docs/voice-input) — 話すことで指示
|
|
115
115
|
- [**Drop-in Agent**](/docs/drop-in-agent) — React アプリに埋め込みます
|
|
116
|
-
- [**
|
|
116
|
+
- [**Automation-First Apps**](/docs/pure-agent-apps) — jobs、queues、scripts、external agents 向けのブラウザーなしアプリ
|
|
117
117
|
- [**Real-Time Collaboration**](/docs/real-time-collaboration) — 同じドキュメントを一緒に共同編集します
|
|
@@ -30,7 +30,7 @@ description: "작동하는 SaaS 제품을 포크하여 귀하의 것으로 만
|
|
|
30
30
|
| [**Plan**](/docs/template-plan) | 다이어그램, 와이어프레임 및 주석을 포함한 시각적 계획 및 PR 요약 |
|
|
31
31
|
| [**Dispatch**](/docs/template-dispatch) | 작업 공간 제어 플레인: 공유 비밀, 재사용 가능한 통합, Slack/Telegram, 예약된 작업. |
|
|
32
32
|
|
|
33
|
-
도메인 앱을 원하지 않습니까? 사용자가 즉시 대화할 수 있는 기본 앱을
|
|
33
|
+
도메인 앱을 원하지 않습니까? 사용자가 즉시 대화할 수 있고 actions, native results, screens로 확장할 수 있는 기본 앱을 원한다면 [Chat](/docs/template-chat)를 사용하세요. 아직 브라우저 UI가 필요 없는 workflow에만 [Automation-First Apps](/docs/pure-agent-apps)를 사용하세요.
|
|
34
34
|
|
|
35
35
|
[Apps](/apps)에서 전체 카탈로그를 확인하거나 바로 카탈로그로 이동하세요. 예를 들어 작업 공간 스타일 앱을 원한다면 [Dispatch](/docs/template-dispatch)가 시작하기에 좋은 곳입니다.
|
|
36
36
|
|
|
@@ -168,7 +168,7 @@ description: "작동하는 SaaS 제품을 포크하여 귀하의 것으로 만
|
|
|
168
168
|
|
|
169
169
|
## 이를 토대로 구축
|
|
170
170
|
|
|
171
|
-
- [**Getting Started**](/docs/getting-started) —
|
|
171
|
+
- [**Getting Started**](/docs/getting-started) — chat-first app을 만들고, action을 추가하고, structured result를 렌더링한 뒤 page로 확장하기
|
|
172
172
|
- [**Messaging the agent**](/docs/messaging) — 사용자(및 귀하)가 각 템플릿과 함께 제공되는 에이전트와 대화하는 방법
|
|
173
173
|
- [**Multi-App Workspace**](/docs/multi-app-workspace) — 여러 템플릿을 인증, 브랜드 및 에이전트를 공유하는 하나의 작업 공간으로 묶습니다.
|
|
174
174
|
- [**Dispatch**](/docs/template-dispatch) — 작업공간 제어 평면 템플릿
|
|
@@ -182,7 +182,7 @@ description: "작동하는 SaaS 제품을 포크하여 귀하의 것으로 만
|
|
|
182
182
|
npx @agent-native/core@latest create my-platform
|
|
183
183
|
```
|
|
184
184
|
|
|
185
|
-
다중 선택 선택 도구가 제공됩니다. 하나의 앱(독립 실행형) 또는 여러 개(작업 공간 - 앱 공유 인증, 브랜드, 에이전트 구성 및 데이터베이스)를 선택합니다. 선택한 각 템플릿은 필요한 모든 파일과 함께 `apps/<name>/`에 스캐폴딩됩니다. 템플릿 UI 대신
|
|
185
|
+
다중 선택 선택 도구가 제공됩니다. 하나의 앱(독립 실행형) 또는 여러 개(작업 공간 - 앱 공유 인증, 브랜드, 에이전트 구성 및 데이터베이스)를 선택합니다. 선택한 각 템플릿은 필요한 모든 파일과 함께 `apps/<name>/`에 스캐폴딩됩니다. 템플릿 UI 대신 브라우저 UI 없는 automation을 만들려면 `npx @agent-native/core@latest create my-agent --headless`를 사용하세요.
|
|
186
186
|
|
|
187
187
|
`.env`(주로 `ANTHROPIC_API_KEY` 및 `DATABASE_URL`), `pnpm install`, `pnpm dev`를 입력하면 작동합니다. "TODO: 로그인 구현" 없음, 자리 표시자 경로 없음.
|
|
188
188
|
|
|
@@ -11,15 +11,15 @@ description: "에이전트 네이티브에 대한 일반적인 질문 - 그것
|
|
|
11
11
|
|
|
12
12
|
### 에이전트 네이티브란 무엇인가요? {#what-is-agent-native}
|
|
13
13
|
|
|
14
|
-
에이전트 네이티브는 AI 에이전트와 그 주변의 제품 표면이 동등한 파트너인 앱을 구축하기 위한 프레임워크입니다.
|
|
14
|
+
에이전트 네이티브는 AI 에이전트와 그 주변의 제품 표면이 동등한 파트너인 앱을 구축하기 위한 프레임워크입니다. 일반적인 경로는 chat에서 시작해 typed actions를 추가하고, structured results를 inline으로 렌더링한 뒤, 같은 SQL state 위에 durable pages를 확장하는 것입니다. 변하지 않는 점은 에이전트와 인간이 동일한 actions, 데이터베이스 및 상태를 공유한다는 것입니다. 전체 설명은 [What Is Agent-Native?](/docs/what-is-agent-native)를 참조하세요.
|
|
15
15
|
|
|
16
16
|
### 이것은 누구를 위한 것인가요? {#who-is-this-for}
|
|
17
17
|
|
|
18
18
|
에이전트 네이티브는 실제 앱과 AI 에이전트가 동일한 데이터와 actions에서 작동하기를 원하는 사람들을 위한 것입니다. 일반적인 경로는 다음과 같습니다:
|
|
19
19
|
|
|
20
20
|
- **설정 없이 메일, 캘린더, 양식, 계획 또는 기타 완성된 템플릿을 원하는 경우 호스팅된 앱을 사용하세요** — [template gallery](/templates)에서 시작하세요.
|
|
21
|
-
- **채팅으로 시작** 사용자가 즉시
|
|
22
|
-
- **
|
|
21
|
+
- **채팅으로 시작** 사용자가 즉시 agent와 대화하고 actions, native results, screens로 확장하는 기본 경로를 원한다면 [Getting Started](/docs/getting-started) 또는 [Chat](/docs/template-chat)로 시작하세요.
|
|
22
|
+
- **automation-first로 시작** 예약 작업, queues, scripts, integration workers 또는 아직 브라우저 UI가 필요 없는 외부 agent workflows를 만든다면 [Automation-First Apps](/docs/pure-agent-apps)로 시작하세요.
|
|
23
23
|
- **인증, 데이터베이스, UI 및 에이전트 actions가 이미 연결되어 있는 자체 SaaS 제품을 원하는 경우 템플릿을 포크하고 사용자 정의**하세요. [Templates](/docs/cloneable-saas)를 참조하세요.
|
|
24
24
|
- **처음부터 빌드** 새로운 에이전트 기반 제품을 위한 프레임워크 기본 요소를 원한다면 [Getting Started](/docs/getting-started)로 시작하세요.
|
|
25
25
|
- **다른 에이전트 또는 코드 도구 연결** Claude, ChatGPT, Codex, Cursor 또는 GitHub Copilot/VS Code를 사용하여 에이전트 기본 앱을 사용하려면 — [External Agents](/docs/external-agents) 및 [Skills Guide](/docs/skills-guide)를 참조하세요.
|
|
@@ -128,7 +128,7 @@ Anthropic Claude, OpenAI(GPT-5 제품군), Google Gemini 및 OpenAI API 형태
|
|
|
128
128
|
|
|
129
129
|
### 템플릿에서 다루지 않는 것을 만들 수 있나요? {#build-from-scratch}
|
|
130
130
|
|
|
131
|
-
그렇습니다. 기본
|
|
131
|
+
그렇습니다. 기본 agentic app을 원한다면 `npx @agent-native/core@latest create my-chat-app --template chat`를 실행하세요. 내구성 있는 채팅 스레드, actions, 인증, SQL 지원 런타임 상태, native inline rendering 및 자신만의 화면을 추가할 수 있는 공간이 제공됩니다. 브라우저 없는 automation을 만든다면 `npx @agent-native/core@latest create my-agent --headless`를 실행하세요. [Getting Started](/docs/getting-started), [Automation-First Apps](/docs/pure-agent-apps) 및 [Chat](/docs/template-chat)를 참조하세요.
|
|
132
132
|
|
|
133
133
|
### 템플릿을 포크하지 않고 시도해 볼 수 있나요? {#try-with-a-skill}
|
|
134
134
|
|