@agent-native/core 0.79.1 → 0.79.5
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/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +30 -0
- package/corpus/core/docs/content/locales/zh-TW/a2a-protocol.md +392 -0
- package/corpus/core/docs/content/locales/zh-TW/actions.md +583 -0
- package/corpus/core/docs/content/locales/zh-TW/agent-mentions.md +164 -0
- package/corpus/core/docs/content/locales/zh-TW/agent-surfaces.md +397 -0
- package/corpus/core/docs/content/locales/zh-TW/agent-teams.md +171 -0
- package/corpus/core/docs/content/locales/zh-TW/agent-web-surfaces.md +161 -0
- package/corpus/core/docs/content/locales/zh-TW/audit-log.md +111 -0
- package/corpus/core/docs/content/locales/zh-TW/authentication.md +332 -0
- package/corpus/core/docs/content/locales/zh-TW/automations.md +268 -0
- package/corpus/core/docs/content/locales/zh-TW/blueprint-installer.md +83 -0
- package/corpus/core/docs/content/locales/zh-TW/cli-adapters.md +129 -0
- package/corpus/core/docs/content/locales/zh-TW/client.md +398 -0
- package/corpus/core/docs/content/locales/zh-TW/cloneable-saas.md +114 -0
- package/corpus/core/docs/content/locales/zh-TW/code-agents-ui.md +436 -0
- package/corpus/core/docs/content/locales/zh-TW/components.md +368 -0
- package/corpus/core/docs/content/locales/zh-TW/context-awareness.md +373 -0
- package/corpus/core/docs/content/locales/zh-TW/creating-templates.md +411 -0
- package/corpus/core/docs/content/locales/zh-TW/cross-app-sso.md +188 -0
- package/corpus/core/docs/content/locales/zh-TW/database.md +183 -0
- package/corpus/core/docs/content/locales/zh-TW/deployment.md +348 -0
- package/corpus/core/docs/content/locales/zh-TW/dispatch.md +146 -0
- package/corpus/core/docs/content/locales/zh-TW/drop-in-agent.md +260 -0
- package/corpus/core/docs/content/locales/zh-TW/durable-resume.md +65 -0
- package/corpus/core/docs/content/locales/zh-TW/embedding-sdk.md +597 -0
- package/corpus/core/docs/content/locales/zh-TW/evals.md +155 -0
- package/corpus/core/docs/content/locales/zh-TW/extensions.md +360 -0
- package/corpus/core/docs/content/locales/zh-TW/external-agents.md +619 -0
- package/corpus/core/docs/content/locales/zh-TW/faq.md +142 -0
- package/corpus/core/docs/content/locales/zh-TW/file-uploads.md +122 -0
- package/corpus/core/docs/content/locales/zh-TW/frames.md +153 -0
- package/corpus/core/docs/content/locales/zh-TW/getting-started.md +199 -0
- package/corpus/core/docs/content/locales/zh-TW/harness-agents.md +349 -0
- package/corpus/core/docs/content/locales/zh-TW/human-approval.md +86 -0
- package/corpus/core/docs/content/locales/zh-TW/internationalization.md +147 -0
- package/corpus/core/docs/content/locales/zh-TW/key-concepts.md +312 -0
- package/corpus/core/docs/content/locales/zh-TW/local-file-mode.md +433 -0
- package/corpus/core/docs/content/locales/zh-TW/mcp-apps.md +147 -0
- package/corpus/core/docs/content/locales/zh-TW/mcp-clients.md +330 -0
- package/corpus/core/docs/content/locales/zh-TW/mcp-protocol.md +279 -0
- package/corpus/core/docs/content/locales/zh-TW/messaging.md +461 -0
- package/corpus/core/docs/content/locales/zh-TW/migration-workbench.md +33 -0
- package/corpus/core/docs/content/locales/zh-TW/multi-app-workspace.md +312 -0
- package/corpus/core/docs/content/locales/zh-TW/multi-tenancy.md +52 -0
- package/corpus/core/docs/content/locales/zh-TW/native-chat-ui.md +321 -0
- package/corpus/core/docs/content/locales/zh-TW/notifications.md +231 -0
- package/corpus/core/docs/content/locales/zh-TW/observability.md +294 -0
- package/corpus/core/docs/content/locales/zh-TW/observational-memory.md +77 -0
- package/corpus/core/docs/content/locales/zh-TW/onboarding.md +216 -0
- package/corpus/core/docs/content/locales/zh-TW/plan-plugin.md +200 -0
- package/corpus/core/docs/content/locales/zh-TW/pr-visual-recap.md +384 -0
- package/corpus/core/docs/content/locales/zh-TW/processors.md +106 -0
- package/corpus/core/docs/content/locales/zh-TW/progress.md +199 -0
- package/corpus/core/docs/content/locales/zh-TW/pure-agent-apps.md +39 -0
- package/corpus/core/docs/content/locales/zh-TW/real-time-collaboration.md +680 -0
- package/corpus/core/docs/content/locales/zh-TW/recurring-jobs.md +142 -0
- package/corpus/core/docs/content/locales/zh-TW/routing.md +79 -0
- package/corpus/core/docs/content/locales/zh-TW/sandbox-adapters.md +227 -0
- package/corpus/core/docs/content/locales/zh-TW/security.md +330 -0
- package/corpus/core/docs/content/locales/zh-TW/server.md +265 -0
- package/corpus/core/docs/content/locales/zh-TW/sharing.md +219 -0
- package/corpus/core/docs/content/locales/zh-TW/skills-guide.md +281 -0
- package/corpus/core/docs/content/locales/zh-TW/template-analytics.md +259 -0
- package/corpus/core/docs/content/locales/zh-TW/template-assets.md +303 -0
- package/corpus/core/docs/content/locales/zh-TW/template-brain.md +324 -0
- package/corpus/core/docs/content/locales/zh-TW/template-calendar.md +194 -0
- package/corpus/core/docs/content/locales/zh-TW/template-chat.md +129 -0
- package/corpus/core/docs/content/locales/zh-TW/template-clips.md +368 -0
- package/corpus/core/docs/content/locales/zh-TW/template-content.md +402 -0
- package/corpus/core/docs/content/locales/zh-TW/template-design.md +173 -0
- package/corpus/core/docs/content/locales/zh-TW/template-dispatch.md +220 -0
- package/corpus/core/docs/content/locales/zh-TW/template-forms.md +178 -0
- package/corpus/core/docs/content/locales/zh-TW/template-mail.md +239 -0
- package/corpus/core/docs/content/locales/zh-TW/template-plan.md +814 -0
- package/corpus/core/docs/content/locales/zh-TW/template-slides.md +293 -0
- package/corpus/core/docs/content/locales/zh-TW/template-videos.md +222 -0
- package/corpus/core/docs/content/locales/zh-TW/tracking.md +236 -0
- package/corpus/core/docs/content/locales/zh-TW/using-your-agent.md +71 -0
- package/corpus/core/docs/content/locales/zh-TW/voice-input.md +81 -0
- package/corpus/core/docs/content/locales/zh-TW/what-is-agent-native.md +202 -0
- package/corpus/core/docs/content/locales/zh-TW/workspace-connections.md +321 -0
- package/corpus/core/docs/content/locales/zh-TW/workspace-management.md +175 -0
- package/corpus/core/docs/content/locales/zh-TW/workspace.md +323 -0
- package/corpus/core/docs/content/locales/zh-TW/writing-agent-instructions.md +173 -0
- package/corpus/core/package.json +1 -1
- package/corpus/core/src/client/ErrorBoundary.tsx +10 -0
- package/corpus/core/src/client/FeedbackButton.tsx +12 -0
- package/corpus/core/src/client/blocks/library/block-copy.ts +32 -0
- package/corpus/core/src/client/extensions/ExtensionsSidebarSection.tsx +33 -0
- package/corpus/core/src/client/i18n.tsx +5 -0
- package/corpus/core/src/localization/actions/set-localization-preference.ts +2 -1
- package/corpus/core/src/localization/shared.ts +45 -0
- package/corpus/core/src/server/agent-chat-plugin.ts +54 -2
- package/corpus/core/src/server/onboarding-html.ts +99 -0
- package/corpus/core/src/templates/default/app/i18n/index.ts +2 -0
- package/corpus/core/src/templates/default/app/i18n/zh-TW.ts +466 -0
- package/corpus/core/src/templates/default/app/root.tsx +8 -0
- package/corpus/templates/analytics/app/i18n/index.ts +2 -0
- package/corpus/templates/analytics/app/i18n/zh-TW.ts +818 -0
- package/corpus/templates/analytics/app/i18n-data.ts +9 -0
- package/corpus/templates/assets/app/i18n/index.ts +2 -0
- package/corpus/templates/assets/app/i18n/zh-TW.ts +860 -0
- package/corpus/templates/assets/app/i18n-data.ts +3 -0
- package/corpus/templates/brain/app/i18n/index.ts +2 -0
- package/corpus/templates/brain/app/i18n/zh-TW.ts +709 -0
- package/corpus/templates/brain/app/i18n-data.ts +3 -0
- package/corpus/templates/calendar/app/i18n/zh-TW.ts +836 -0
- package/corpus/templates/calendar/app/i18n-data.ts +4 -0
- package/corpus/templates/chat/app/i18n/index.ts +2 -0
- package/corpus/templates/chat/app/i18n/zh-TW.ts +67 -0
- package/corpus/templates/chat/app/i18n-data.ts +3 -0
- package/corpus/templates/clips/app/i18n/index.ts +2 -0
- package/corpus/templates/clips/app/i18n/zh-TW.ts +1280 -0
- package/corpus/templates/content/app/i18n/index.ts +2 -0
- package/corpus/templates/content/app/i18n/zh-TW.ts +906 -0
- package/corpus/templates/content/app/i18n-data.ts +4 -0
- package/corpus/templates/design/app/i18n/index.ts +2 -0
- package/corpus/templates/design/app/i18n/zh-TW.ts +517 -0
- package/corpus/templates/design/app/i18n-data.ts +6 -0
- package/corpus/templates/dispatch/app/i18n/index.ts +2 -0
- package/corpus/templates/dispatch/app/i18n/zh-TW.ts +195 -0
- package/corpus/templates/dispatch/app/i18n-data.ts +3 -0
- package/corpus/templates/forms/app/i18n/index.ts +2 -0
- package/corpus/templates/forms/app/i18n/zh-TW.ts +349 -0
- package/corpus/templates/macros/app/i18n/index.ts +2 -0
- package/corpus/templates/macros/app/i18n/zh-TW.ts +224 -0
- package/corpus/templates/mail/app/i18n/index.ts +2 -0
- package/corpus/templates/mail/app/i18n/zh-TW.ts +562 -0
- package/corpus/templates/mail/app/root.tsx +6 -0
- package/corpus/templates/plan/app/i18n/index.ts +2 -0
- package/corpus/templates/plan/app/i18n/zh-TW.ts +712 -0
- package/corpus/templates/slides/app/i18n/index.ts +2 -0
- package/corpus/templates/slides/app/i18n/zh-TW.ts +531 -0
- package/corpus/templates/videos/app/i18n/index.ts +2 -0
- package/corpus/templates/videos/app/i18n/zh-TW.ts +435 -0
- package/dist/client/ErrorBoundary.d.ts.map +1 -1
- package/dist/client/ErrorBoundary.js +10 -0
- package/dist/client/ErrorBoundary.js.map +1 -1
- package/dist/client/FeedbackButton.d.ts.map +1 -1
- package/dist/client/FeedbackButton.js +12 -0
- package/dist/client/FeedbackButton.js.map +1 -1
- package/dist/client/blocks/library/block-copy.d.ts.map +1 -1
- package/dist/client/blocks/library/block-copy.js +32 -0
- package/dist/client/blocks/library/block-copy.js.map +1 -1
- package/dist/client/extensions/ExtensionsSidebarSection.d.ts.map +1 -1
- package/dist/client/extensions/ExtensionsSidebarSection.js +32 -0
- package/dist/client/extensions/ExtensionsSidebarSection.js.map +1 -1
- package/dist/client/i18n.d.ts.map +1 -1
- package/dist/client/i18n.js +5 -0
- package/dist/client/i18n.js.map +1 -1
- package/dist/collab/awareness.d.ts +2 -2
- package/dist/collab/awareness.d.ts.map +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/localization/actions/set-localization-preference.d.ts.map +1 -1
- package/dist/localization/actions/set-localization-preference.js +2 -2
- package/dist/localization/actions/set-localization-preference.js.map +1 -1
- package/dist/localization/shared.d.ts +1 -1
- package/dist/localization/shared.d.ts.map +1 -1
- package/dist/localization/shared.js +43 -0
- package/dist/localization/shared.js.map +1 -1
- package/dist/resources/handlers.d.ts +2 -2
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +55 -2
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/onboarding-html.d.ts.map +1 -1
- package/dist/server/onboarding-html.js +96 -0
- package/dist/server/onboarding-html.js.map +1 -1
- package/dist/templates/default/app/i18n/index.ts +2 -0
- package/dist/templates/default/app/i18n/zh-TW.ts +466 -0
- package/dist/templates/default/app/root.tsx +8 -0
- package/docs/content/locales/zh-TW/a2a-protocol.md +392 -0
- package/docs/content/locales/zh-TW/actions.md +583 -0
- package/docs/content/locales/zh-TW/agent-mentions.md +164 -0
- package/docs/content/locales/zh-TW/agent-surfaces.md +397 -0
- package/docs/content/locales/zh-TW/agent-teams.md +171 -0
- package/docs/content/locales/zh-TW/agent-web-surfaces.md +161 -0
- package/docs/content/locales/zh-TW/audit-log.md +111 -0
- package/docs/content/locales/zh-TW/authentication.md +332 -0
- package/docs/content/locales/zh-TW/automations.md +268 -0
- package/docs/content/locales/zh-TW/blueprint-installer.md +83 -0
- package/docs/content/locales/zh-TW/cli-adapters.md +129 -0
- package/docs/content/locales/zh-TW/client.md +398 -0
- package/docs/content/locales/zh-TW/cloneable-saas.md +114 -0
- package/docs/content/locales/zh-TW/code-agents-ui.md +436 -0
- package/docs/content/locales/zh-TW/components.md +368 -0
- package/docs/content/locales/zh-TW/context-awareness.md +373 -0
- package/docs/content/locales/zh-TW/creating-templates.md +411 -0
- package/docs/content/locales/zh-TW/cross-app-sso.md +188 -0
- package/docs/content/locales/zh-TW/database.md +183 -0
- package/docs/content/locales/zh-TW/deployment.md +348 -0
- package/docs/content/locales/zh-TW/dispatch.md +146 -0
- package/docs/content/locales/zh-TW/drop-in-agent.md +260 -0
- package/docs/content/locales/zh-TW/durable-resume.md +65 -0
- package/docs/content/locales/zh-TW/embedding-sdk.md +597 -0
- package/docs/content/locales/zh-TW/evals.md +155 -0
- package/docs/content/locales/zh-TW/extensions.md +360 -0
- package/docs/content/locales/zh-TW/external-agents.md +619 -0
- package/docs/content/locales/zh-TW/faq.md +142 -0
- package/docs/content/locales/zh-TW/file-uploads.md +122 -0
- package/docs/content/locales/zh-TW/frames.md +153 -0
- package/docs/content/locales/zh-TW/getting-started.md +199 -0
- package/docs/content/locales/zh-TW/harness-agents.md +349 -0
- package/docs/content/locales/zh-TW/human-approval.md +86 -0
- package/docs/content/locales/zh-TW/internationalization.md +147 -0
- package/docs/content/locales/zh-TW/key-concepts.md +312 -0
- package/docs/content/locales/zh-TW/local-file-mode.md +433 -0
- package/docs/content/locales/zh-TW/mcp-apps.md +147 -0
- package/docs/content/locales/zh-TW/mcp-clients.md +330 -0
- package/docs/content/locales/zh-TW/mcp-protocol.md +279 -0
- package/docs/content/locales/zh-TW/messaging.md +461 -0
- package/docs/content/locales/zh-TW/migration-workbench.md +33 -0
- package/docs/content/locales/zh-TW/multi-app-workspace.md +312 -0
- package/docs/content/locales/zh-TW/multi-tenancy.md +52 -0
- package/docs/content/locales/zh-TW/native-chat-ui.md +321 -0
- package/docs/content/locales/zh-TW/notifications.md +231 -0
- package/docs/content/locales/zh-TW/observability.md +294 -0
- package/docs/content/locales/zh-TW/observational-memory.md +77 -0
- package/docs/content/locales/zh-TW/onboarding.md +216 -0
- package/docs/content/locales/zh-TW/plan-plugin.md +200 -0
- package/docs/content/locales/zh-TW/pr-visual-recap.md +384 -0
- package/docs/content/locales/zh-TW/processors.md +106 -0
- package/docs/content/locales/zh-TW/progress.md +199 -0
- package/docs/content/locales/zh-TW/pure-agent-apps.md +39 -0
- package/docs/content/locales/zh-TW/real-time-collaboration.md +680 -0
- package/docs/content/locales/zh-TW/recurring-jobs.md +142 -0
- package/docs/content/locales/zh-TW/routing.md +79 -0
- package/docs/content/locales/zh-TW/sandbox-adapters.md +227 -0
- package/docs/content/locales/zh-TW/security.md +330 -0
- package/docs/content/locales/zh-TW/server.md +265 -0
- package/docs/content/locales/zh-TW/sharing.md +219 -0
- package/docs/content/locales/zh-TW/skills-guide.md +281 -0
- package/docs/content/locales/zh-TW/template-analytics.md +259 -0
- package/docs/content/locales/zh-TW/template-assets.md +303 -0
- package/docs/content/locales/zh-TW/template-brain.md +324 -0
- package/docs/content/locales/zh-TW/template-calendar.md +194 -0
- package/docs/content/locales/zh-TW/template-chat.md +129 -0
- package/docs/content/locales/zh-TW/template-clips.md +368 -0
- package/docs/content/locales/zh-TW/template-content.md +402 -0
- package/docs/content/locales/zh-TW/template-design.md +173 -0
- package/docs/content/locales/zh-TW/template-dispatch.md +220 -0
- package/docs/content/locales/zh-TW/template-forms.md +178 -0
- package/docs/content/locales/zh-TW/template-mail.md +239 -0
- package/docs/content/locales/zh-TW/template-plan.md +814 -0
- package/docs/content/locales/zh-TW/template-slides.md +293 -0
- package/docs/content/locales/zh-TW/template-videos.md +222 -0
- package/docs/content/locales/zh-TW/tracking.md +236 -0
- package/docs/content/locales/zh-TW/using-your-agent.md +71 -0
- package/docs/content/locales/zh-TW/voice-input.md +81 -0
- package/docs/content/locales/zh-TW/what-is-agent-native.md +202 -0
- package/docs/content/locales/zh-TW/workspace-connections.md +321 -0
- package/docs/content/locales/zh-TW/workspace-management.md +175 -0
- package/docs/content/locales/zh-TW/workspace.md +323 -0
- package/docs/content/locales/zh-TW/writing-agent-instructions.md +173 -0
- package/package.json +1 -1
- package/src/templates/default/app/i18n/index.ts +2 -0
- package/src/templates/default/app/i18n/zh-TW.ts +466 -0
- package/src/templates/default/app/root.tsx +8 -0
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "元件API"
|
|
3
|
+
description: "用於自訂代理 UI、聊天欄位、對話呈現、實時狀態、共用、進度和丰富編輯器的公開 React 建置塊。"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 元件API
|
|
7
|
+
|
|
8
|
+
Agent-Native 附帶了完整的側邊欄,但側邊欄不是合同。
|
|
9
|
+
合約是執行時:聊天流、線程狀態、actions、上下文,
|
|
10
|
+
附件、模型選取、執行和 SQL 支持的同步。使用庫存
|
|
11
|
+
當你需要定制產品UI時,可以選取元件,並下拉一層。
|
|
12
|
+
|
|
13
|
+
從聚焦的用戶端子路徑匯入瀏覽器UI:
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
import { AgentSidebar } from "@agent-native/core/client";
|
|
17
|
+
import { PromptComposer } from "@agent-native/core/client/composer";
|
|
18
|
+
import { AgentConversation } from "@agent-native/core/client/conversation";
|
|
19
|
+
import { usePresence } from "@agent-native/core/client/collab";
|
|
20
|
+
import { SharedRichEditor } from "@agent-native/core/client/editor";
|
|
21
|
+
import { ResourcesPanel } from "@agent-native/core/client/resources";
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
避免從裸 `@agent-native/core` 包匯入 UI 元件。使用
|
|
25
|
+
`@agent-native/core/client` 或聚焦的 `@agent-native/core/client/*` 子路徑
|
|
26
|
+
因此捆綁商選取瀏覽器安全的條目。
|
|
27
|
+
|
|
28
|
+
```an-diagram title="下拉一層,不脫離框架" summary="每個層都保持相同的執行時 - 操作、線程狀態和 SQL-backed 同步 - 同時讓您更好地控制鑲邊。"
|
|
29
|
+
{
|
|
30
|
+
"html": "<div class=\"diagram-layers\"><div class=\"diagram-card layer\"><span class=\"diagram-pill accent\"><AgentSidebar></span><small class=\"diagram-muted\">圍繞應用的完整側邊欄。80% 的常見場景。</small></div><div class=\"diagram-card layer l2\"><span class=\"diagram-pill\"><AgentPanel> · <AgentChatSurface></span><small class=\"diagram-muted\">你自己布局中的面板或聊天頁面。</small></div><div class=\"diagram-card layer l3\"><span class=\"diagram-pill\"><AssistantChat> + runtime</span><small class=\"diagram-muted\">Own the chrome; optionally pass a BYO AgentChatRuntime.</small></div><div class=\"diagram-card layer l4\"><span class=\"diagram-pill\"><PromptComposer> · <AgentConversation></span><small class=\"diagram-muted\">撰寫r and transcript primitives only.</small></div><div class=\"diagram-rail\" data-rough>同一 runtime: actions · thread state · SQL-backed sync</div></div>",
|
|
31
|
+
"css": ".diagram-layers{display:flex;flex-direction:column;gap:10px}.diagram-layers .layer{display:flex;flex-direction:column;gap:4px;padding:12px 14px}.diagram-layers .l2{margin-inline-start:24px}.diagram-layers .l3{margin-inline-start:48px}.diagram-layers .l4{margin-inline-start:72px}.diagram-layers .diagram-rail{margin-top:6px;padding:10px 14px;text-align:center}"
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## 代理並聊天UI {#agent-chat-ui}
|
|
36
|
+
|
|
37
|
+
| API | 匯入路徑 | 何時使用 |
|
|
38
|
+
| ------------------------------------ | --------------------------------------------- | ----------------------------------------------------------- |
|
|
39
|
+
| `<AgentSidebar>` | `@agent-native/core/client` 或 `/client/chat` | 您希望應用程式週圍有完整的側邊欄。 |
|
|
40
|
+
| `<AgentToggleButton>` | `@agent-native/core/client` 或 `/client/chat` | 您為側邊欄渲染自己的標題按鈕。 |
|
|
41
|
+
| `<AgentPanel>` | `@agent-native/core/client` 或 `/client/chat` | 您希望在自己的布局、路線、對話框或側欄中顯示完整面板。 |
|
|
42
|
+
| `<AgentChatSurface>` | `@agent-native/core/client` 或 `/client/chat` | 您希望在面板或頁面模式下聊天,而不需要側邊欄包裝。 |
|
|
43
|
+
| `<AssistantChat>` | `@agent-native/core/client`或`/client/chat` | 您希望擁有週圍的鑲邊,同時保持標準對話和作曲家執行時。 |
|
|
44
|
+
| `<MultiTabAssistantChat>` | `@agent-native/core/client` 或 `/client/chat` | 您希望框架的線程分頁沒有 `AgentPanel` chrome。 |
|
|
45
|
+
| `createHttpAgentChatRuntime()` | `@agent-native/core/client` 或 `/client/chat` | 您有一個 BYO 代理端點,用於流式傳輸規範化的聊天事件。 |
|
|
46
|
+
| `createOpenAIAgentsChatRuntime()` | `@agent-native/core/client` 或 `/client/chat` | 您有一個 OpenAI 代理 SDK 流,並希望圍繞它進行標準聊天 UI。 |
|
|
47
|
+
| `createOpenAIResponsesChatRuntime()` | `@agent-native/core/client` 或 `/client/chat` | 您有一個 OpenAI 回應事件流,並希望將其規範化到聊天 UI 中。 |
|
|
48
|
+
| `createAgUiChatRuntime()` | `@agent-native/core/client`或`/client/chat` | 您有一個 AG-UI 事件流,並希望將其規範化到聊天 UI 中。 |
|
|
49
|
+
| `createClaudeAgentChatRuntime()` | `@agent-native/core/client`或`/client/chat` | 您有一個 Claude 代理 SDK 流,並希望將其規範化到聊天 UI 中。 |
|
|
50
|
+
| `createVercelAiChatRuntime()` | `@agent-native/core/client` 或 `/client/chat` | 您有一個 Vercel AI SDK 流,並希望將其規範化到聊天 UI 中。 |
|
|
51
|
+
| `createAgentChatRuntimeAdapter()` | `@agent-native/core/client` 或 `/client/chat` | 需要自己將一個`AgentChatRuntime`適配成assistant-ui。 |
|
|
52
|
+
| `createAgentChatAdapter()` | `@agent-native/core/client` 或 `/client/chat` | 您需要內置 Agent-Native SSE 傳輸作為低級助手 UI 適配器。 |
|
|
53
|
+
| `useChatThreads()` | `@agent-native/core/client`或`/client/chat` | 您需要自訂話題列表、歷史紀錄選取器或範圍聊天 UI。 |
|
|
54
|
+
| `sendToAgentChat()` | `@agent-native/core/client` 或 `/client/chat` | 產品操作應該將工作交給代理聊天。 |
|
|
55
|
+
|
|
56
|
+
`AgentChatRuntime` 是標準聊天 shell 的 BYO 代理合約。通過
|
|
57
|
+
當外部代理應該為 `runtime` 到 `<AssistantChat>` 供電時
|
|
58
|
+
Agent-Native 保留作曲家、文字紀錄、工具卡和
|
|
59
|
+
本機小部件渲染。上面的連線器是API面;執行時
|
|
60
|
+
合同和事件形狀在中教授
|
|
61
|
+
[Native 聊天介面 — BYO agent runtimes](/docs/native-chat-ui#byo-agent-runtimes).
|
|
62
|
+
如果您在無頭代理、丰富聊天、嵌入式 sidecar 之間進行選取
|
|
63
|
+
完整的應用形狀,請參閱 [Agent Surfaces](/docs/agent-surfaces)。
|
|
64
|
+
|
|
65
|
+
最短的自訂路線仍然是預接線表面:
|
|
66
|
+
|
|
67
|
+
```tsx
|
|
68
|
+
import { AgentChatSurface } from "@agent-native/core/client/chat";
|
|
69
|
+
|
|
70
|
+
export default function ChatRoute() {
|
|
71
|
+
return <AgentChatSurface mode="page" className="h-screen" />;
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
對於標準執行時的自訂鑲邊:
|
|
76
|
+
|
|
77
|
+
```tsx
|
|
78
|
+
import { AssistantChat, useChatThreads } from "@agent-native/core/client/chat";
|
|
79
|
+
|
|
80
|
+
function CustomChat({ projectSlug }: { projectSlug: string }) {
|
|
81
|
+
const threads = useChatThreads(undefined, projectSlug);
|
|
82
|
+
const threadId = threads.activeThreadId ?? undefined;
|
|
83
|
+
|
|
84
|
+
return (
|
|
85
|
+
<section className="grid h-full grid-cols-[260px_1fr]">
|
|
86
|
+
<ThreadList
|
|
87
|
+
threads={threads.threads}
|
|
88
|
+
activeThreadId={threadId}
|
|
89
|
+
onSelect={threads.switchThread}
|
|
90
|
+
/>
|
|
91
|
+
<AssistantChat threadId={threadId} />
|
|
92
|
+
</section>
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
對於自帶代理端點,請使用其中之一建置 `AgentChatRuntime`
|
|
98
|
+
上面的連線器並將其傳遞給`<AssistantChat runtime={...} />`。請參閱
|
|
99
|
+
[Native 聊天介面 — BYO agent runtimes](/docs/native-chat-ui#byo-agent-runtimes)
|
|
100
|
+
連線器使用情況、標準化事件流以及何時到達
|
|
101
|
+
`createHttpAgentChatRuntime()` 與特定於協議的連線器。
|
|
102
|
+
|
|
103
|
+
## 聊天欄位和作曲家 {#composer}
|
|
104
|
+
|
|
105
|
+
當您需要進行相同的聊天時,請使用`@agent-native/core/client/composer`
|
|
106
|
+
自訂UI內的側邊欄使用的欄位。
|
|
107
|
+
|
|
108
|
+
| API | 何時使用 |
|
|
109
|
+
| --------------------------------- | -------------------------------------------------------------------------------------------------------------- |
|
|
110
|
+
| `<PromptComposer>` | 您需要一個隨時可以提交的聊天欄位,其中包含附件、斜線指令、參考、貼上文本處理、草稿持久性、語音輸入和提交語義。 |
|
|
111
|
+
| `<AgentComposerFrame>` | 您需要自訂 撰寫r 主體週圍的標準視覺外殼。 |
|
|
112
|
+
| `<TiptapComposer>` | 您需要最低級別的丰富聊天欄位。它必須在 Assistant-ui `ThreadPrimitive.Root` / 撰寫r 執行時內呈現。 |
|
|
113
|
+
| `buildPromptComposerSubmission()` | 在調用您自己的提交處理程序之前,您需要相同的附件和貼上文本規範化。 |
|
|
114
|
+
| `formatPromptWithAttachments()` | 您需要將隱藏的附件元資料呈現到提示字串中。 |
|
|
115
|
+
|
|
116
|
+
大多數自訂 UI 應以 `PromptComposer` 開頭:
|
|
117
|
+
|
|
118
|
+
```tsx
|
|
119
|
+
import { PromptComposer } from "@agent-native/core/client/composer";
|
|
120
|
+
|
|
121
|
+
<PromptComposer
|
|
122
|
+
placeholder="Ask the agent..."
|
|
123
|
+
onSubmit={async (text, files, references, options) => {
|
|
124
|
+
await sendMessageToYourRuntime({ text, files, references, options });
|
|
125
|
+
}}
|
|
126
|
+
/>;
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
僅當您已經連線 Assistant-ui 原語時才使用 `TiptapComposer`
|
|
130
|
+
你自己。這是欄位,而不是整個聊天執行時。
|
|
131
|
+
|
|
132
|
+
## 對話渲染 {#conversation}
|
|
133
|
+
|
|
134
|
+
使用 `@agent-native/core/client/conversation` 進行轉錄樣式渲染
|
|
135
|
+
在完整代理執行時之外。
|
|
136
|
+
|
|
137
|
+
| API | 何時使用 |
|
|
138
|
+
| ----------------------------------------------- | ------------------------------------ |
|
|
139
|
+
| `<AgentConversation>` | 呈現標準化代理訊息列表。 |
|
|
140
|
+
| `<AgentConversationMessageView>` | 渲染一條標準化訊息。 |
|
|
141
|
+
| `normalizeCodeAgentTranscriptForConversation()` | 將程式碼代理轉錄事件轉換為對話訊息。 |
|
|
142
|
+
| `useNearBottomAutoscroll()` | 在流式傳輸時將自訂腳本固定在底部。 |
|
|
143
|
+
|
|
144
|
+
這一層有意做到資料優先:您擁有訊息的來源,並且
|
|
145
|
+
渲染器擁有一致的降價、附件、通知、工件和
|
|
146
|
+
工具調用顯示。
|
|
147
|
+
|
|
148
|
+
## 本機工具小部件 {#native-tool-widgets}
|
|
149
|
+
|
|
150
|
+
當操作結果應呈現為應用品質 UI 時,請使用本機工具小部件
|
|
151
|
+
內部聊天而不是普通的 JSON。內置可重複使用的輸出包括
|
|
152
|
+
`DataTableWidget`、`DataChartWidget` 和 `DataWidgetResult`;它們被匯出
|
|
153
|
+
來自 `@agent-native/core/client/chat` 和根用戶端條目。請參閱
|
|
154
|
+
[Native 聊天介面](/docs/native-chat-ui) 表示操作結果合約。
|
|
155
|
+
|
|
156
|
+
| API | 何時使用 |
|
|
157
|
+
| -------------------------------- | ----------------------------------------------------------------------------- |
|
|
158
|
+
| `DataTableWidget` | 您希望操作結果在本機聊天中呈現行和列。 |
|
|
159
|
+
| `DataChartWidget` | 您希望在本機聊天中輸出緊湊的條形圖、折線圖或面積圖。 |
|
|
160
|
+
| `DataWidgetResult` | 您想要 `"data-table"`、`"data-chart"` 或 `"data-insights"` 的型別化結果形狀。 |
|
|
161
|
+
| `registerActionChatRenderer()` | 您需要一個由精確的 `chatUI.renderer` 選取的動作聲明渲染器。 |
|
|
162
|
+
| `registerToolRenderer()` | 您需要特定於產品的本機渲染器來獲得非核心工具結果。 |
|
|
163
|
+
| `registerReservedToolRenderer()` | 框架程式碼需要一個保留的渲染器,該渲染器在範本渲染器之前獲勝。 |
|
|
164
|
+
|
|
165
|
+
## 實時協作和線上狀態 {#collab-presence}
|
|
166
|
+
|
|
167
|
+
使用 `@agent-native/core/client/collab` 實現 Liveblocks 式的呈現效果
|
|
168
|
+
協作檔案掛鉤。
|
|
169
|
+
|
|
170
|
+
| API | 何時使用 |
|
|
171
|
+
| --------------------------------------------------- | ----------------------------------------------------------------- |
|
|
172
|
+
| `useCollaborativeDoc()` | 將富文本編輯器或自訂 Yjs 介面綁定到 `/_agent-native/collab`。 |
|
|
173
|
+
| `usePresence()` | 發布並渲染任意感知欄位:光標、選取、視口、模式。 |
|
|
174
|
+
| `<PresenceBar>` | 顯示活躍的人類和代理協作者。 |
|
|
175
|
+
| `<LiveCursorOverlay>` | 在定位的容器上渲染遠端光標標籤。 |
|
|
176
|
+
| `<RemoteSelectionRings>` | 在 DOM 元素上渲染遠端選取輪廓。 |
|
|
177
|
+
| `useFollowUser()` | 跟隨其他參與者的視口或選取。 |
|
|
178
|
+
| `useCollaborativeMap()` / `useCollaborativeArray()` | 當富文本內文協作不合適時,使用結構化 Y.Map/Y.Array 狀態進行實驗。 |
|
|
179
|
+
| `dedupeCollabUsersByEmail()` | 為同一使用者建置一個沒有重複分頁的自訂頭像堆堆疊。 |
|
|
180
|
+
|
|
181
|
+
```an-diagram title="存在:人類和智能體共用一個意識層" summary="useCollaborativeDoc 擁有感知執行個體;用戶端掛鉤發布光標和選取;伺服器助手讓代理操作顯示為實時參與者。"
|
|
182
|
+
{
|
|
183
|
+
"html": "<div class=\"diagram-presence\"><div class=\"diagram-col\"><div class=\"diagram-node\">Humans<br><small class=\"diagram-muted\">usePresence · cursors, selection</small></div><div class=\"diagram-node diagram-accent\">Agent 操作<br><small class=\"diagram-muted\">agentUpdateSelection()</small></div></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-panel center\" data-rough><span class=\"diagram-pill accent\">useCollaborativeDoc</span><small class=\"diagram-muted\">awareness layer</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-box\"><PresenceBar> · <LiveCursorOverlay><br><small class=\"diagram-muted\">渲染所有人,包括代理</small></div></div>",
|
|
184
|
+
"css": ".diagram-presence{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.diagram-presence .diagram-col{display:flex;flex-direction:column;gap:10px}.diagram-presence .center{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px}.diagram-presence .diagram-arrow{font-size:22px;line-height:1}"
|
|
185
|
+
}
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
想要作為現場參與者出現的伺服器端代理 actions 使用
|
|
189
|
+
較低級別的 `@agent-native/core/collab` 代理存在助手:
|
|
190
|
+
|
|
191
|
+
```ts
|
|
192
|
+
import {
|
|
193
|
+
agentEnterDocument,
|
|
194
|
+
agentLeaveDocument,
|
|
195
|
+
agentUpdateSelection,
|
|
196
|
+
} from "@agent-native/core/collab";
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
## 丰富的編輯器 {#rich-editor}
|
|
200
|
+
|
|
201
|
+
當需要共用markdown編輯器時使用`@agent-native/core/client/editor`
|
|
202
|
+
計畫、內容、資源和協作檔案使用的表面
|
|
203
|
+
經驗。
|
|
204
|
+
|
|
205
|
+
| API | 何時使用 |
|
|
206
|
+
| -------------------------------- | ------------------------------------------------------------------------- |
|
|
207
|
+
| `<SharedRichEditor>` | 您需要具有 Markdown 序列化、可選 Yjs 和應用附加功能的目前可設定編輯器。 |
|
|
208
|
+
| `<RichMarkdownEditor>` | 您需要共用丰富編輯器的向後兼容別名。 |
|
|
209
|
+
| `createSharedEditorExtensions()` | 您正在建置自己的 Tiptap 編輯器,但需要框架架構和 Markdown 方言。 |
|
|
210
|
+
| `<SlashCommandMenu>` | 您需要共用斜線指令 UI 來建立自訂 Tiptap 表面。 |
|
|
211
|
+
| `<BubbleToolbar>` | 您需要用於標記、連結和自訂內聯 actions 的共用選取工具列。 |
|
|
212
|
+
| `createRegistryBlockNode()` | 您需要在丰富的編輯器中提供註冊表支持的塊節點。 |
|
|
213
|
+
| `uploadEditorImage()` | 您希望框架上傳圖片操作位於編輯器的共用圖片塊後面。 |
|
|
214
|
+
| `useCollabReconcile()` | 您正在將自訂編輯器介面綁定到 Yjs 檔案,同時將 Markdown 保留為已儲存狀態。 |
|
|
215
|
+
|
|
216
|
+
基本的受控編輯器只是 markdown in 和 markdown out:
|
|
217
|
+
|
|
218
|
+
```tsx
|
|
219
|
+
import { SharedRichEditor } from "@agent-native/core/client/editor";
|
|
220
|
+
|
|
221
|
+
<SharedRichEditor
|
|
222
|
+
value={markdown}
|
|
223
|
+
onChange={setMarkdown}
|
|
224
|
+
placeholder="Write notes..."
|
|
225
|
+
features={{ tables: true, tasks: true, link: true }}
|
|
226
|
+
/>;
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
對於實時編輯,請將其與協作子路徑配對:
|
|
230
|
+
|
|
231
|
+
```tsx
|
|
232
|
+
import {
|
|
233
|
+
emailToColor,
|
|
234
|
+
useCollaborativeDoc,
|
|
235
|
+
} from "@agent-native/core/client/collab";
|
|
236
|
+
import { SharedRichEditor } from "@agent-native/core/client/editor";
|
|
237
|
+
|
|
238
|
+
const editorUser = {
|
|
239
|
+
name: user.name,
|
|
240
|
+
email: user.email,
|
|
241
|
+
color: emailToColor(user.email),
|
|
242
|
+
};
|
|
243
|
+
const collab = useCollaborativeDoc({
|
|
244
|
+
docId,
|
|
245
|
+
user: editorUser,
|
|
246
|
+
});
|
|
247
|
+
|
|
248
|
+
<SharedRichEditor
|
|
249
|
+
value={markdown}
|
|
250
|
+
onChange={setMarkdown}
|
|
251
|
+
ydoc={collab.ydoc}
|
|
252
|
+
awareness={collab.awareness}
|
|
253
|
+
user={editorUser}
|
|
254
|
+
/>;
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
## 工作區資源 {#resources}
|
|
258
|
+
|
|
259
|
+
當您想要公開相同的內容時,請使用 `@agent-native/core/client/resources`
|
|
260
|
+
為代理面板的“工作空間”分頁提供支持的工作空間資源模型。
|
|
261
|
+
|
|
262
|
+
| API | 何時使用 |
|
|
263
|
+
| --------------------------------------------------------------------- | ---------------------------------------------------- |
|
|
264
|
+
| `<ResourcesPanel>` | 您希望將完整的“工作區”分頁作為頁面、抽屜或自訂面板。 |
|
|
265
|
+
| `<ResourceTree>` | 您想要圍繞框架資料渲染您自己的資源瀏覽器。 |
|
|
266
|
+
| `<ResourceEditor>` | 您需要所選資源的框架編輯器。 |
|
|
267
|
+
| `useResourceTree()` | 您需要一個用於個人、共用或工作區資源的作用域樹。 |
|
|
268
|
+
| `useResource()` | 您需要一項選定資源的內容和元資料。 |
|
|
269
|
+
| `useCreateResource()` / `useUpdateResource()` / `useDeleteResource()` | 您需要圍繞資源生命週期進行自訂控制。 |
|
|
270
|
+
| `useUploadResource()` | 您需要將檔案上傳到框架資源存儲中。 |
|
|
271
|
+
|
|
272
|
+
完整的面板不需要道具:
|
|
273
|
+
|
|
274
|
+
```tsx
|
|
275
|
+
import { ResourcesPanel } from "@agent-native/core/client/resources";
|
|
276
|
+
|
|
277
|
+
<ResourcesPanel />;
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
對於自訂資源鑲邊,請將鉤子和基元放在一起:
|
|
281
|
+
|
|
282
|
+
```tsx
|
|
283
|
+
import { useState } from "react";
|
|
284
|
+
import {
|
|
285
|
+
ResourceEditor,
|
|
286
|
+
ResourceTree,
|
|
287
|
+
useResource,
|
|
288
|
+
useResourceTree,
|
|
289
|
+
useUpdateResource,
|
|
290
|
+
} from "@agent-native/core/client/resources";
|
|
291
|
+
|
|
292
|
+
function WorkspaceResources() {
|
|
293
|
+
const tree = useResourceTree("workspace");
|
|
294
|
+
const updateResource = useUpdateResource();
|
|
295
|
+
const [selectedId, setSelectedId] = useState<string | null>(null);
|
|
296
|
+
const resource = useResource(selectedId);
|
|
297
|
+
|
|
298
|
+
return (
|
|
299
|
+
<div className="grid h-full grid-cols-[260px_1fr]">
|
|
300
|
+
<ResourceTree
|
|
301
|
+
tree={tree.data ?? []}
|
|
302
|
+
selectedId={selectedId}
|
|
303
|
+
onSelect={(item) => setSelectedId(item.id)}
|
|
304
|
+
onCreateFile={() => {}}
|
|
305
|
+
onCreateFolder={() => {}}
|
|
306
|
+
onDelete={() => {}}
|
|
307
|
+
onRename={() => {}}
|
|
308
|
+
onDrop={() => {}}
|
|
309
|
+
/>
|
|
310
|
+
{resource.data ? (
|
|
311
|
+
<ResourceEditor
|
|
312
|
+
resource={resource.data}
|
|
313
|
+
onSave={(content) =>
|
|
314
|
+
updateResource.mutate({ id: resource.data.id, content })
|
|
315
|
+
}
|
|
316
|
+
/>
|
|
317
|
+
) : null}
|
|
318
|
+
</div>
|
|
319
|
+
);
|
|
320
|
+
}
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
## 其他公開UI {#other-ui}
|
|
324
|
+
|
|
325
|
+
| 區域 | APIs | 匯入路徑 |
|
|
326
|
+
| ------------ | ----------------------------------------------------- | ----------------------------------------- |
|
|
327
|
+
| 分享 | `<ShareButton>`, `<ShareDialog>`, `<VisibilityBadge>` | `@agent-native/core/client/sharing` |
|
|
328
|
+
| 通知 | `<NotificationsBell>` | `@agent-native/core/client/notifications` |
|
|
329
|
+
| 進度 | `<RunsTray>`,進度掛鉤和型別 | `@agent-native/core/client/progress` |
|
|
330
|
+
| 入職 | `useOnboarding()`,入門面板掛鉤 | `@agent-native/core/client/onboarding` |
|
|
331
|
+
| 可觀察性 | `<ObservabilityDashboard>`, `<ThumbsFeedback>` | `@agent-native/core/client/observability` |
|
|
332
|
+
| 資源 | `<ResourcesPanel>`、`<ResourceTree>`、資源掛鉤 | `@agent-native/core/client/resources` |
|
|
333
|
+
| 丰富的編輯器 | `<SharedRichEditor>`,斜杠指令,塊節點掛鉤 | `@agent-native/core/client/editor` |
|
|
334
|
+
|
|
335
|
+
## 一次性文本完成 {#one-off-text-completion}
|
|
336
|
+
|
|
337
|
+
如果您確實需要原始文本輸入/文本輸出,請將其保留在伺服器端並使用
|
|
338
|
+
`completeText()` 來自 `@agent-native/core/server`。將面向使用者的用法包裝在
|
|
339
|
+
采取行動,使 UI 和代理共用相同的功能。
|
|
340
|
+
|
|
341
|
+
```an-callout
|
|
342
|
+
{
|
|
343
|
+
"tone": "warning",
|
|
344
|
+
"body": "`completeText()` is the escape hatch, not the default. Reach for it only for true text-in/text-out (a label, a one-line rewrite). Anything needing tools, state, auditability, or steering belongs in an action plus `sendToAgentChat({ background: true })`."
|
|
345
|
+
}
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
```ts
|
|
349
|
+
import { defineAction } from "@agent-native/core/action";
|
|
350
|
+
import { completeText } from "@agent-native/core/server";
|
|
351
|
+
|
|
352
|
+
export default defineAction({
|
|
353
|
+
description: "Classify a short message",
|
|
354
|
+
run: async ({ body }: { body: string }) => {
|
|
355
|
+
const result = await completeText({
|
|
356
|
+
systemPrompt: "Return exactly one label.",
|
|
357
|
+
input: body,
|
|
358
|
+
maxOutputTokens: 12,
|
|
359
|
+
temperature: 0,
|
|
360
|
+
});
|
|
361
|
+
return { label: result.text.trim() };
|
|
362
|
+
},
|
|
363
|
+
});
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
使用 `sendToAgentChat({ background: true, openSidebar: false })` 代替
|
|
367
|
+
工作需要工具、狀態、可審計性、使用者指導或多步驟
|
|
368
|
+
推理。
|