@agent-native/core 0.79.12 → 0.79.15
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 +19 -0
- package/corpus/core/docs/content/locales/zh-TW/a2a-protocol.md +68 -68
- package/corpus/core/docs/content/locales/zh-TW/actions.md +82 -82
- package/corpus/core/docs/content/locales/zh-TW/agent-mentions.md +22 -22
- package/corpus/core/docs/content/locales/zh-TW/agent-surfaces.md +82 -82
- package/corpus/core/docs/content/locales/zh-TW/agent-teams.md +29 -29
- package/corpus/core/docs/content/locales/zh-TW/agent-web-surfaces.md +11 -11
- package/corpus/core/docs/content/locales/zh-TW/audit-log.md +16 -16
- package/corpus/core/docs/content/locales/zh-TW/authentication.md +32 -32
- package/corpus/core/docs/content/locales/zh-TW/automations.md +32 -32
- package/corpus/core/docs/content/locales/zh-TW/blueprint-installer.md +19 -19
- package/corpus/core/docs/content/locales/zh-TW/cli-adapters.md +17 -17
- package/corpus/core/docs/content/locales/zh-TW/client.md +62 -62
- package/corpus/core/docs/content/locales/zh-TW/cloneable-saas.md +32 -32
- package/corpus/core/docs/content/locales/zh-TW/code-agents-ui.md +91 -91
- package/corpus/core/docs/content/locales/zh-TW/components.md +51 -51
- package/corpus/core/docs/content/locales/zh-TW/context-awareness.md +66 -66
- package/corpus/core/docs/content/locales/zh-TW/creating-templates.md +39 -39
- package/corpus/core/docs/content/locales/zh-TW/cross-app-sso.md +29 -29
- package/corpus/core/docs/content/locales/zh-TW/database.md +21 -21
- package/corpus/core/docs/content/locales/zh-TW/deployment.md +37 -37
- package/corpus/core/docs/content/locales/zh-TW/dispatch.md +43 -43
- package/corpus/core/docs/content/locales/zh-TW/drop-in-agent.md +34 -34
- package/corpus/core/docs/content/locales/zh-TW/durable-resume.md +18 -18
- package/corpus/core/docs/content/locales/zh-TW/embedding-sdk.md +73 -73
- package/corpus/core/docs/content/locales/zh-TW/evals.md +16 -16
- package/corpus/core/docs/content/locales/zh-TW/extensions.md +81 -81
- package/corpus/core/docs/content/locales/zh-TW/external-agents.md +146 -146
- package/corpus/core/docs/content/locales/zh-TW/faq.md +43 -43
- package/corpus/core/docs/content/locales/zh-TW/file-uploads.md +11 -11
- package/corpus/core/docs/content/locales/zh-TW/frames.md +33 -33
- package/corpus/core/docs/content/locales/zh-TW/getting-started.md +28 -28
- package/corpus/core/docs/content/locales/zh-TW/harness-agents.md +78 -78
- package/corpus/core/docs/content/locales/zh-TW/human-approval.md +27 -27
- package/corpus/core/docs/content/locales/zh-TW/internationalization.md +19 -19
- package/corpus/core/docs/content/locales/zh-TW/key-concepts.md +68 -68
- package/corpus/core/docs/content/locales/zh-TW/local-file-mode.md +50 -50
- package/corpus/core/docs/content/locales/zh-TW/mcp-apps.md +38 -38
- package/corpus/core/docs/content/locales/zh-TW/mcp-clients.md +67 -67
- package/corpus/core/docs/content/locales/zh-TW/mcp-protocol.md +50 -50
- package/corpus/core/docs/content/locales/zh-TW/messaging.md +99 -99
- package/corpus/core/docs/content/locales/zh-TW/migration-workbench.md +6 -6
- package/corpus/core/docs/content/locales/zh-TW/multi-app-workspace.md +39 -39
- package/corpus/core/docs/content/locales/zh-TW/multi-tenancy.md +7 -7
- package/corpus/core/docs/content/locales/zh-TW/native-chat-ui.md +38 -38
- package/corpus/core/docs/content/locales/zh-TW/notifications.md +23 -23
- package/corpus/core/docs/content/locales/zh-TW/observability.md +49 -49
- package/corpus/core/docs/content/locales/zh-TW/observational-memory.md +23 -23
- package/corpus/core/docs/content/locales/zh-TW/onboarding.md +40 -40
- package/corpus/core/docs/content/locales/zh-TW/plan-plugin.md +37 -37
- package/corpus/core/docs/content/locales/zh-TW/pr-visual-recap.md +72 -72
- package/corpus/core/docs/content/locales/zh-TW/processors.md +17 -17
- package/corpus/core/docs/content/locales/zh-TW/progress.md +15 -15
- package/corpus/core/docs/content/locales/zh-TW/pure-agent-apps.md +10 -10
- package/corpus/core/docs/content/locales/zh-TW/real-time-collaboration.md +103 -103
- package/corpus/core/docs/content/locales/zh-TW/recurring-jobs.md +19 -19
- package/corpus/core/docs/content/locales/zh-TW/routing.md +9 -9
- package/corpus/core/docs/content/locales/zh-TW/sandbox-adapters.md +48 -48
- package/corpus/core/docs/content/locales/zh-TW/security.md +49 -49
- package/corpus/core/docs/content/locales/zh-TW/server.md +47 -47
- package/corpus/core/docs/content/locales/zh-TW/sharing.md +22 -22
- package/corpus/core/docs/content/locales/zh-TW/skills-guide.md +46 -46
- package/corpus/core/docs/content/locales/zh-TW/template-analytics.md +40 -40
- package/corpus/core/docs/content/locales/zh-TW/template-assets.md +69 -69
- package/corpus/core/docs/content/locales/zh-TW/template-brain.md +81 -81
- package/corpus/core/docs/content/locales/zh-TW/template-calendar.md +40 -40
- package/corpus/core/docs/content/locales/zh-TW/template-chat.md +27 -27
- package/corpus/core/docs/content/locales/zh-TW/template-clips.md +85 -85
- package/corpus/core/docs/content/locales/zh-TW/template-content.md +65 -66
- package/corpus/core/docs/content/locales/zh-TW/template-design.md +29 -29
- package/corpus/core/docs/content/locales/zh-TW/template-dispatch.md +51 -51
- package/corpus/core/docs/content/locales/zh-TW/template-forms.md +25 -25
- package/corpus/core/docs/content/locales/zh-TW/template-mail.md +71 -71
- package/corpus/core/docs/content/locales/zh-TW/template-plan.md +92 -92
- package/corpus/core/docs/content/locales/zh-TW/template-slides.md +52 -52
- package/corpus/core/docs/content/locales/zh-TW/template-videos.md +30 -30
- package/corpus/core/docs/content/locales/zh-TW/tracking.md +29 -29
- package/corpus/core/docs/content/locales/zh-TW/using-your-agent.md +18 -18
- package/corpus/core/docs/content/locales/zh-TW/voice-input.md +19 -19
- package/corpus/core/docs/content/locales/zh-TW/what-is-agent-native.md +61 -61
- package/corpus/core/docs/content/locales/zh-TW/workspace-connections.md +41 -41
- package/corpus/core/docs/content/locales/zh-TW/workspace-management.md +27 -27
- package/corpus/core/docs/content/locales/zh-TW/workspace.md +58 -58
- package/corpus/core/docs/content/locales/zh-TW/writing-agent-instructions.md +41 -41
- package/corpus/core/docs/content/template-clips.md +48 -2
- package/corpus/core/package.json +2 -1
- package/corpus/core/src/client/AgentPanel.tsx +27 -3
- package/corpus/core/src/deploy/build.ts +417 -42
- package/corpus/core/src/deploy/route-discovery.ts +1 -1
- package/corpus/core/src/server/edge.ts +50 -0
- package/corpus/core/src/styles/agent-native.css +93 -0
- package/corpus/core/src/templates/default/app/i18n/zh-TW.ts +44 -44
- package/corpus/core/src/vite/client.ts +1 -0
- package/corpus/templates/analytics/app/components/layout/Layout.tsx +5 -3
- package/corpus/templates/analytics/app/i18n/zh-TW.ts +69 -70
- package/corpus/templates/analytics/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
- package/corpus/templates/assets/app/components/layout/Layout.tsx +3 -3
- package/corpus/templates/assets/app/i18n/zh-TW.ts +82 -82
- package/corpus/templates/assets/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
- package/corpus/templates/brain/app/components/layout/Layout.tsx +6 -4
- package/corpus/templates/brain/app/i18n/zh-TW.ts +90 -90
- package/corpus/templates/brain/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
- package/corpus/templates/calendar/app/components/layout/AppLayout.tsx +1 -1
- package/corpus/templates/calendar/app/components/layout/Sidebar.tsx +1 -1
- package/corpus/templates/calendar/app/i18n/zh-TW.ts +57 -57
- package/corpus/templates/calendar/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
- package/corpus/templates/calendar/server/lib/booking-og-fonts.ts +20 -6
- package/corpus/templates/calendar/server/lib/booking-og-image.ts +17 -9
- package/corpus/templates/chat/app/components/layout/Layout.tsx +5 -3
- package/corpus/templates/chat/app/i18n/zh-TW.ts +3 -3
- package/corpus/templates/chat/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
- package/corpus/templates/clips/AGENTS.md +6 -0
- package/corpus/templates/clips/actions/delete-recording-permanent.ts +7 -1
- package/corpus/templates/clips/actions/get-recording-player-data.ts +44 -2
- package/corpus/templates/clips/actions/navigate.ts +2 -0
- package/corpus/templates/clips/actions/save-bug-report-context.ts +173 -0
- package/corpus/templates/clips/actions/view-screen.ts +58 -7
- package/corpus/templates/clips/app/components/recorder/storage-setup-card.tsx +9 -3
- package/corpus/templates/clips/app/hooks/use-navigation-state.ts +17 -0
- package/corpus/templates/clips/app/i18n/ar-SA.ts +31 -0
- package/corpus/templates/clips/app/i18n/de-DE.ts +32 -0
- package/corpus/templates/clips/app/i18n/en-US.ts +32 -0
- package/corpus/templates/clips/app/i18n/es-ES.ts +32 -0
- package/corpus/templates/clips/app/i18n/fr-FR.ts +32 -0
- package/corpus/templates/clips/app/i18n/hi-IN.ts +32 -0
- package/corpus/templates/clips/app/i18n/ja-JP.ts +31 -0
- package/corpus/templates/clips/app/i18n/ko-KR.ts +32 -0
- package/corpus/templates/clips/app/i18n/pt-BR.ts +32 -0
- package/corpus/templates/clips/app/i18n/zh-CN.ts +30 -0
- package/corpus/templates/clips/app/i18n/zh-TW.ts +461 -451
- package/corpus/templates/clips/app/routes/bug-report.done.tsx +126 -0
- package/corpus/templates/clips/app/routes/bug-report.tsx +222 -0
- package/corpus/templates/clips/app/routes/record.tsx +104 -12
- package/corpus/templates/clips/changelog/2026-06-26-brief-network-blips-no-longer-block-recording-or-wrongly-pro.md +6 -0
- package/corpus/templates/clips/changelog/2026-06-26-bug-report-recordings-can-keep-redacted-host-app-context-wit.md +6 -0
- package/corpus/templates/clips/changelog/2026-06-26-bug-report-widgets-can-launch-clips-recordings-from-embedded.md +6 -0
- package/corpus/templates/clips/changelog/2026-06-26-desktop-recording-keeps-connected-users-out-of-the-storage-s.md +6 -0
- package/corpus/templates/clips/changelog/2026-06-26-if-a-recording-can-t-be-uploaded-the-chrome-extension-now-sa.md +6 -0
- package/corpus/templates/clips/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
- package/corpus/templates/clips/chrome-extension/public/manifest.json +9 -2
- package/corpus/templates/clips/chrome-extension/src/background.ts +43 -0
- package/corpus/templates/clips/chrome-extension/src/offscreen.ts +111 -6
- package/corpus/templates/clips/chrome-extension/src/popup.ts +18 -7
- package/corpus/templates/clips/desktop/src/app.tsx +53 -19
- package/corpus/templates/clips/server/db/schema.ts +26 -0
- package/corpus/templates/clips/server/lib/public-agent-context.ts +51 -0
- package/corpus/templates/clips/server/plugins/auth.ts +1 -0
- package/corpus/templates/clips/server/plugins/db.ts +28 -0
- package/corpus/templates/clips/server/routes/api/agent-context.json.get.ts +4 -1
- package/corpus/templates/clips/shared/bug-report.ts +161 -0
- package/corpus/templates/content/app/components/layout/Layout.tsx +10 -8
- package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +1 -1
- package/corpus/templates/content/app/i18n/zh-TW.ts +67 -66
- package/corpus/templates/content/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
- package/corpus/templates/design/app/components/layout/Layout.tsx +3 -3
- package/corpus/templates/design/app/i18n/zh-TW.ts +44 -44
- package/corpus/templates/design/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
- package/corpus/templates/dispatch/app/i18n/zh-TW.ts +5 -4
- package/corpus/templates/dispatch/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
- package/corpus/templates/forms/app/components/layout/Layout.tsx +4 -2
- package/corpus/templates/forms/app/components/layout/Sidebar.tsx +1 -1
- package/corpus/templates/forms/app/i18n/zh-TW.ts +48 -48
- package/corpus/templates/forms/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
- package/corpus/templates/macros/app/components/layout/AppLayout.tsx +3 -3
- package/corpus/templates/macros/app/i18n/zh-TW.ts +5 -5
- package/corpus/templates/macros/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
- package/corpus/templates/mail/app/i18n/zh-TW.ts +83 -83
- package/corpus/templates/mail/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
- package/corpus/templates/plan/app/components/layout/Layout.tsx +5 -3
- package/corpus/templates/plan/app/i18n/zh-TW.ts +69 -69
- package/corpus/templates/plan/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
- package/corpus/templates/slides/app/components/layout/Layout.tsx +3 -3
- package/corpus/templates/slides/app/i18n/zh-TW.ts +64 -64
- package/corpus/templates/slides/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
- package/corpus/templates/videos/app/components/layout/Layout.tsx +2 -2
- package/corpus/templates/videos/app/i18n/zh-TW.ts +54 -54
- package/corpus/templates/videos/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +14 -4
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/deploy/build.d.ts +3 -1
- package/dist/deploy/build.d.ts.map +1 -1
- package/dist/deploy/build.js +361 -37
- package/dist/deploy/build.js.map +1 -1
- package/dist/deploy/route-discovery.d.ts +1 -1
- package/dist/deploy/route-discovery.js +1 -1
- package/dist/deploy/route-discovery.js.map +1 -1
- package/dist/resources/handlers.d.ts +2 -2
- package/dist/server/edge.d.ts +11 -0
- package/dist/server/edge.d.ts.map +1 -0
- package/dist/server/edge.js +11 -0
- package/dist/server/edge.js.map +1 -0
- package/dist/styles/agent-native.css +93 -0
- package/dist/templates/default/app/i18n/zh-TW.ts +44 -44
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +1 -0
- package/dist/vite/client.js.map +1 -1
- package/docs/content/locales/zh-TW/a2a-protocol.md +68 -68
- package/docs/content/locales/zh-TW/actions.md +82 -82
- package/docs/content/locales/zh-TW/agent-mentions.md +22 -22
- package/docs/content/locales/zh-TW/agent-surfaces.md +82 -82
- package/docs/content/locales/zh-TW/agent-teams.md +29 -29
- package/docs/content/locales/zh-TW/agent-web-surfaces.md +11 -11
- package/docs/content/locales/zh-TW/audit-log.md +16 -16
- package/docs/content/locales/zh-TW/authentication.md +32 -32
- package/docs/content/locales/zh-TW/automations.md +32 -32
- package/docs/content/locales/zh-TW/blueprint-installer.md +19 -19
- package/docs/content/locales/zh-TW/cli-adapters.md +17 -17
- package/docs/content/locales/zh-TW/client.md +62 -62
- package/docs/content/locales/zh-TW/cloneable-saas.md +32 -32
- package/docs/content/locales/zh-TW/code-agents-ui.md +91 -91
- package/docs/content/locales/zh-TW/components.md +51 -51
- package/docs/content/locales/zh-TW/context-awareness.md +66 -66
- package/docs/content/locales/zh-TW/creating-templates.md +39 -39
- package/docs/content/locales/zh-TW/cross-app-sso.md +29 -29
- package/docs/content/locales/zh-TW/database.md +21 -21
- package/docs/content/locales/zh-TW/deployment.md +37 -37
- package/docs/content/locales/zh-TW/dispatch.md +43 -43
- package/docs/content/locales/zh-TW/drop-in-agent.md +34 -34
- package/docs/content/locales/zh-TW/durable-resume.md +18 -18
- package/docs/content/locales/zh-TW/embedding-sdk.md +73 -73
- package/docs/content/locales/zh-TW/evals.md +16 -16
- package/docs/content/locales/zh-TW/extensions.md +81 -81
- package/docs/content/locales/zh-TW/external-agents.md +146 -146
- package/docs/content/locales/zh-TW/faq.md +43 -43
- package/docs/content/locales/zh-TW/file-uploads.md +11 -11
- package/docs/content/locales/zh-TW/frames.md +33 -33
- package/docs/content/locales/zh-TW/getting-started.md +28 -28
- package/docs/content/locales/zh-TW/harness-agents.md +78 -78
- package/docs/content/locales/zh-TW/human-approval.md +27 -27
- package/docs/content/locales/zh-TW/internationalization.md +19 -19
- package/docs/content/locales/zh-TW/key-concepts.md +68 -68
- package/docs/content/locales/zh-TW/local-file-mode.md +50 -50
- package/docs/content/locales/zh-TW/mcp-apps.md +38 -38
- package/docs/content/locales/zh-TW/mcp-clients.md +67 -67
- package/docs/content/locales/zh-TW/mcp-protocol.md +50 -50
- package/docs/content/locales/zh-TW/messaging.md +99 -99
- package/docs/content/locales/zh-TW/migration-workbench.md +6 -6
- package/docs/content/locales/zh-TW/multi-app-workspace.md +39 -39
- package/docs/content/locales/zh-TW/multi-tenancy.md +7 -7
- package/docs/content/locales/zh-TW/native-chat-ui.md +38 -38
- package/docs/content/locales/zh-TW/notifications.md +23 -23
- package/docs/content/locales/zh-TW/observability.md +49 -49
- package/docs/content/locales/zh-TW/observational-memory.md +23 -23
- package/docs/content/locales/zh-TW/onboarding.md +40 -40
- package/docs/content/locales/zh-TW/plan-plugin.md +37 -37
- package/docs/content/locales/zh-TW/pr-visual-recap.md +72 -72
- package/docs/content/locales/zh-TW/processors.md +17 -17
- package/docs/content/locales/zh-TW/progress.md +15 -15
- package/docs/content/locales/zh-TW/pure-agent-apps.md +10 -10
- package/docs/content/locales/zh-TW/real-time-collaboration.md +103 -103
- package/docs/content/locales/zh-TW/recurring-jobs.md +19 -19
- package/docs/content/locales/zh-TW/routing.md +9 -9
- package/docs/content/locales/zh-TW/sandbox-adapters.md +48 -48
- package/docs/content/locales/zh-TW/security.md +49 -49
- package/docs/content/locales/zh-TW/server.md +47 -47
- package/docs/content/locales/zh-TW/sharing.md +22 -22
- package/docs/content/locales/zh-TW/skills-guide.md +46 -46
- package/docs/content/locales/zh-TW/template-analytics.md +40 -40
- package/docs/content/locales/zh-TW/template-assets.md +69 -69
- package/docs/content/locales/zh-TW/template-brain.md +81 -81
- package/docs/content/locales/zh-TW/template-calendar.md +40 -40
- package/docs/content/locales/zh-TW/template-chat.md +27 -27
- package/docs/content/locales/zh-TW/template-clips.md +85 -85
- package/docs/content/locales/zh-TW/template-content.md +65 -66
- package/docs/content/locales/zh-TW/template-design.md +29 -29
- package/docs/content/locales/zh-TW/template-dispatch.md +51 -51
- package/docs/content/locales/zh-TW/template-forms.md +25 -25
- package/docs/content/locales/zh-TW/template-mail.md +71 -71
- package/docs/content/locales/zh-TW/template-plan.md +92 -92
- package/docs/content/locales/zh-TW/template-slides.md +52 -52
- package/docs/content/locales/zh-TW/template-videos.md +30 -30
- package/docs/content/locales/zh-TW/tracking.md +29 -29
- package/docs/content/locales/zh-TW/using-your-agent.md +18 -18
- package/docs/content/locales/zh-TW/voice-input.md +19 -19
- package/docs/content/locales/zh-TW/what-is-agent-native.md +61 -61
- package/docs/content/locales/zh-TW/workspace-connections.md +41 -41
- package/docs/content/locales/zh-TW/workspace-management.md +27 -27
- package/docs/content/locales/zh-TW/workspace.md +58 -58
- package/docs/content/locales/zh-TW/writing-agent-instructions.md +41 -41
- package/docs/content/template-clips.md +48 -2
- package/package.json +2 -1
- package/src/templates/default/app/i18n/zh-TW.ts +44 -44
|
@@ -11,23 +11,23 @@ description: "使用 <AgentPanel>、<AgentSidebar> 和 sendToAgentChat() 將代
|
|
|
11
11
|
|
|
12
12
|
> **先決條件:** 伺服器必須執行 `agent-chat-plugin`(它會自動安裝在每個範本中)。如果您是從頭開始,請參閱 [Server](/docs/server)。
|
|
13
13
|
>
|
|
14
|
-
> 需要公開 API
|
|
14
|
+
> 需要公開 API 地圖而不是教學?參見[Component API](/docs/components)。
|
|
15
15
|
|
|
16
16
|
## 元件一覽 {#components}
|
|
17
17
|
|
|
18
|
-
| 元件 |
|
|
18
|
+
| 元件 | 它是什麼 | 什麼時候使用它 |
|
|
19
19
|
| --------------------- | -------------------------------------------------- | ---------------------------------------- |
|
|
20
20
|
| `<AgentSidebar>` | 包裝您的根應用布局並新增包含完整代理的可切換側面板 | 您希望代理在每個螢幕上與您的應用一起使用 |
|
|
21
21
|
| `<AgentToggleButton>` | 開啟/關閉 `<AgentSidebar>`(將其放入標頭中) | 與 `<AgentSidebar>` 配對 |
|
|
22
22
|
| `<AgentPanel>` | 原始面板本身 - 聊天 + CLI + 工作區分頁 | 您想要完全控制布局或專用代理頁面 |
|
|
23
23
|
| `<AgentChatSurface>` | 預接線面板/頁面聊天介面 | 您想要在沒有側邊欄包裝器的情況下進行聊天 |
|
|
24
|
-
| `<AssistantChat>` |
|
|
25
|
-
| `sendToAgentChat()` |
|
|
24
|
+
| `<AssistantChat>` | 具有撰寫器/歷史掛鉤的低階聊天渲染器 | 您需要圍繞標準對話 UI 進行自訂鑲邊 |
|
|
25
|
+
| `sendToAgentChat()` | 以程式化方式向聊天傳送訊息 | 將工作交給代理而不是行內執行的按鈕 |
|
|
26
26
|
| `useActionMutation()` | 圍繞操作的型別安全前端包裝 | UI 需要執行代理工具執行的相同操作 |
|
|
27
27
|
|
|
28
28
|
所有這些都是從`@agent-native/core/client`匯出的。
|
|
29
29
|
|
|
30
|
-
```an-diagram title="安裝型號" summary="<AgentSidebar>
|
|
30
|
+
```an-diagram title="安裝型號" summary="<AgentSidebar> 包裝您現有的布局。您的路由在主要區域中呈現;代理面板安裝在它們旁邊。 <AgentPanel> 是沒有包裝紙的同一面板。"
|
|
31
31
|
{
|
|
32
32
|
"html": "<div class=\"diagram-mount\"><div class=\"diagram-box sidebar\" data-rough><span class=\"diagram-pill accent\"><AgentSidebar></span><div class=\"inner\"><div class=\"diagram-node main\">你的應用程式<br><small class=\"diagram-muted\">children: header + <Outlet/></small></div><div class=\"diagram-node panel\">代理面板<br><small class=\"diagram-muted\">chat · CLI · workspace</small></div></div></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">↔</div><div class=\"diagram-card alt\"><span class=\"diagram-pill\"><AgentPanel></span><small class=\"diagram-muted\">same panel, no wrapper — you own the layout</small></div></div>",
|
|
33
33
|
"css": ".diagram-mount{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.diagram-mount .sidebar{display:flex;flex-direction:column;gap:8px;padding:14px}.diagram-mount .inner{display:flex;gap:10px}.diagram-mount .main{flex:2}.diagram-mount .panel{flex:1}.diagram-mount .alt{display:flex;flex-direction:column;gap:6px;padding:14px}.diagram-mount .diagram-arrow{font-size:22px;line-height:1}"
|
|
@@ -37,39 +37,39 @@ description: "使用 <AgentPanel>、<AgentSidebar> 和 sendToAgentChat() 將代
|
|
|
37
37
|
## 80%的情況:`<AgentSidebar>` {#sidebar}
|
|
38
38
|
|
|
39
39
|
最常見的設定是在任何螢幕上從右側開啟側邊欄。
|
|
40
|
-
用 `<AgentSidebar>`
|
|
40
|
+
用 `<AgentSidebar>` 包裹現有的根布局;無論你傳遞什麼
|
|
41
41
|
孩子們留在主應用程式區域。代理聊天位於側面板。
|
|
42
42
|
|
|
43
43
|
```an-annotated-code title="用 <AgentSidebar> 包裝根布局"
|
|
44
44
|
{
|
|
45
45
|
"filename": "app/root.tsx",
|
|
46
46
|
"language": "tsx",
|
|
47
|
-
"code": "import { Outlet } from \"react-router\";\nimport { AgentSidebar, AgentToggleButton } from \"@agent-native/core/client\";\n\nexport default function Root() {\n return (\n <AgentSidebar\n emptyStateText=\"
|
|
47
|
+
"code": "import { Outlet } from \"react-router\";\nimport { AgentSidebar, AgentToggleButton } from \"@agent-native/core/client\";\n\nexport default function Root() {\n return (\n <AgentSidebar\n emptyStateText=\"我能幫什麼?\"\n suggestions={[\n \"Summarize my inbox\",\n \"Draft a reply to the latest email\",\n \"Show me yesterday's signup numbers\",\n ]}\n dynamicSuggestions\n defaultSidebarWidth={420}\n position=\"right\"\n >\n <header>\n <AgentToggleButton />\n </header>\n\n <main>\n <Outlet />\n </main>\n </AgentSidebar>\n );\n}",
|
|
48
48
|
"annotations": [
|
|
49
49
|
{ "lines": "6", "label": "包裝紙", "note": "`<AgentSidebar>` wraps your whole layout. It adds the toggleable side panel; everything you pass as children stays in the main app area." },
|
|
50
|
-
{ "lines": "8-12", "label": "啟動提示", "note": "`suggestions`
|
|
51
|
-
{ "lines": "13", "label": "
|
|
50
|
+
{ "lines": "8-12", "label": "啟動提示", "note": "`suggestions` 在空聊天中呈現為可點選的標籤。" },
|
|
51
|
+
{ "lines": "13", "label": "脈絡感知標籤", "note": "`dynamicSuggestions` merges screen-aware prompts (e.g. \"Summarize this selection\") with your static ones. On by default." },
|
|
52
52
|
{ "lines": "18-20", "label": "切換按鈕", "note": "Put `<AgentToggleButton />` anywhere in your header to open and close the panel." },
|
|
53
53
|
{ "lines": "22-24", "label": "你的應用程式", "note": "`<Outlet/>` (your routes) renders in the main area, untouched." }
|
|
54
54
|
]
|
|
55
55
|
}
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
-
就是這樣。使用者現在在每個頁面上都有一個可切換代理 - 具有聊天歷史紀錄、工作區分頁、CLI
|
|
58
|
+
就是這樣。使用者現在在每個頁面上都有一個可切換代理 - 具有聊天歷史紀錄、工作區分頁、CLI 終端、語音輸入和全螢幕模式。透過 `localStorage` 重新載入,狀態仍然存在。
|
|
59
59
|
|
|
60
60
|
### 道具
|
|
61
61
|
|
|
62
|
-
- **`children`** —
|
|
62
|
+
- **`children`** — 您的應用程式的正常布局和路由。在主區域渲染;代理面板在桌面上安裝在其旁邊,在行動/全螢幕上安裝在其上方。
|
|
63
63
|
- **`emptyStateText`** — 聊天沒有訊息時顯示的問候語。預設值:`"How can I help you?"`。
|
|
64
|
-
- **`suggestions`** —
|
|
65
|
-
- **`dynamicSuggestions`** —
|
|
64
|
+
- **`suggestions`** — 啟動提示在空時呈現為可點選的標籤。
|
|
65
|
+
- **`dynamicSuggestions`** — 脈絡感知提示標籤與 `suggestions` 合併。預設啟用;傳遞 `false` 僅顯示靜態建議,或傳遞 `{ max, includeStatic, getSuggestions }` 進行自訂。
|
|
66
66
|
- **`defaultSidebarWidth`** — 初始像素寬度(僅安裝;使用者調整大小並覆蓋儲存的值)。預設值:`380`。
|
|
67
67
|
- **`position`** — `"left"` 或 `"right"`。預設值:`"right"`。
|
|
68
68
|
- **`defaultOpen`** — 側邊欄是否開始開啟(僅限桌面)。預設值:`false`。
|
|
69
69
|
|
|
70
70
|
## 另外20%:`<AgentPanel>` {#panel}
|
|
71
71
|
|
|
72
|
-
當您需要完全控制布局時 - 專用的 `/chat`
|
|
72
|
+
當您需要完全控制布局時 - 專用的 `/chat` 路由、您管理的側欄中的嵌入式面板或快顯視窗 - 直接渲染 `<AgentPanel>`:
|
|
73
73
|
|
|
74
74
|
```tsx
|
|
75
75
|
// app/routes/agent.tsx
|
|
@@ -91,14 +91,14 @@ export default function AgentRoute() {
|
|
|
91
91
|
- **`defaultMode`** — `"chat"` 或 `"cli"`。預設值:`"chat"`。
|
|
92
92
|
- **`className`** — 外部容器的 CSS 類。
|
|
93
93
|
- **`onCollapse`** — 如果提供,標題中會出現折疊按鈕。
|
|
94
|
-
- **`isFullscreen`** / **`onToggleFullscreen`** — 如果您想要 Claude
|
|
94
|
+
- **`isFullscreen`** / **`onToggleFullscreen`** — 如果您想要 Claude 樣式的居中列,請連線外部全螢幕狀態。
|
|
95
95
|
- **`storageKey`** — `localStorage` 金鑰的命名空間。當您在同一頁面中渲染多個面板(不同的應用程式執行個體或工作區)時很有用。
|
|
96
96
|
|
|
97
97
|
完整道具:`@agent-native/core/client` 中的 `AgentPanelProps`。
|
|
98
98
|
|
|
99
|
-
##
|
|
99
|
+
## 程式化訊息:`sendToAgentChat()` {#send}
|
|
100
100
|
|
|
101
|
-
|
|
101
|
+
將工作交給代理的按鈕(而不是執行行內 `llm()` 呼叫 - [ladder](/docs/what-is-agent-native#the-ladder) 的反模式):
|
|
102
102
|
|
|
103
103
|
```tsx
|
|
104
104
|
import { sendToAgentChat } from "@agent-native/core/client";
|
|
@@ -119,11 +119,11 @@ import { sendToAgentChat } from "@agent-native/core/client";
|
|
|
119
119
|
### 選項
|
|
120
120
|
|
|
121
121
|
- **`message`** — 聊天中顯示的可見提示。
|
|
122
|
-
- **`context`** -
|
|
122
|
+
- **`context`** - 附加到提示的隱藏脈絡(選定的文字、游標位置、目前實體 ID - 代理應該知道但使用者不應看到兩次的任何內容)。
|
|
123
123
|
- **`submit`** — `true` 自動執行,`false` 預填充但等待。省略使用專案預設值。
|
|
124
|
-
- **`newTab`** —
|
|
125
|
-
- **`background`** — 使用 `newTab
|
|
126
|
-
- **`openSidebar`** — 設定為 `false`
|
|
124
|
+
- **`newTab`** — 為此提示建立一個單獨的聊天對話串。
|
|
125
|
+
- **`background`** — 使用 `newTab`,執行時無需聚焦新對話串。隱藏執行在 `RunsTray` 中進行跟蹤。
|
|
126
|
+
- **`openSidebar`** — 設定為 `false` 以進行背景/靜默傳送。預設開啟側邊欄,以便使用者看到回應。
|
|
127
127
|
- **`type`** — `"content"`(預設)將工作保留在嵌入式應用程式代理中。 `"code"` 路由到程式碼編輯框架(對於代理編寫的程式碼更改,請參閱 [Frames](/docs/frames))。
|
|
128
128
|
|
|
129
129
|
`sendToAgentChat` 返回一個穩定的 `tabId`,您可以使用它來跟蹤聊天執行。
|
|
@@ -141,11 +141,11 @@ sendToAgentChat({
|
|
|
141
141
|
});
|
|
142
142
|
```
|
|
143
143
|
|
|
144
|
-
這仍然是一個使用工具、actions
|
|
144
|
+
這仍然是一個使用工具、actions、對話串狀態和執行執行的完整代理
|
|
145
145
|
跟蹤。它根本不會從使用者目前的側邊欄狀態中竊取焦點。
|
|
146
146
|
|
|
147
|
-
當嵌入相同的路由作為MCP App時,提交
|
|
148
|
-
`sendToAgentChat()`
|
|
147
|
+
當嵌入相同的路由作為 MCP App 時,提交
|
|
148
|
+
`sendToAgentChat()` 呼叫將轉發至支援的聊天主機;參見
|
|
149
149
|
[Client](/docs/client#sendtoagentchat) 用於 MCP 應用橋接行為。
|
|
150
150
|
|
|
151
151
|
如果您想要載入狀態,請使用 `useSendToAgentChat()` 鉤子 - 它返回 `send` 和 `isGenerating`:
|
|
@@ -161,22 +161,22 @@ const { send, isGenerating } = useSendToAgentChat();
|
|
|
161
161
|
`<AgentSidebar>`和`<AgentPanel>`涵蓋了大多數應用程式。當您需要擁有
|
|
162
162
|
圍繞代理進行布局,或者您想要與代理進行對話
|
|
163
163
|
您在其他地方建置,放下一層 - 但繼續讓框架擁有
|
|
164
|
-
執行時、actions 和 SQL
|
|
164
|
+
執行時、actions 和 SQL 支援的狀態:
|
|
165
165
|
|
|
166
166
|
- **在標準執行時擁有 chrome。**使用 `<AgentChatSurface>`
|
|
167
167
|
專用聊天路由,或者當您需要自訂標題時為 `<AssistantChat>`,
|
|
168
168
|
分頁,以及標準對話週圍的空白狀態。完整圖層圖 —
|
|
169
|
-
|
|
169
|
+
每個元件、鉤子、編寫器和轉接器,以及匯入路徑 - 都位於
|
|
170
170
|
[Component API](/docs/components#agent-chat-ui).
|
|
171
171
|
- **自帶代理執行時。**如果您在其他地方建置的代理應該
|
|
172
|
-
在 Agent-Native
|
|
173
|
-
|
|
172
|
+
在 Agent-Native 保留撰寫器、文字紀錄和工具的同時推動對話
|
|
173
|
+
卡片、核准和本機小工具,將 `AgentChatRuntime` 傳遞給
|
|
174
174
|
`<AssistantChat runtime={...} />`。連線器
|
|
175
175
|
(`createHttpAgentChatRuntime()` 和 OpenAI / Claude / Vercel AI / AG-UI
|
|
176
176
|
helpers)和事件契約紀錄在
|
|
177
177
|
[Native 聊天介面 — BYO agent runtimes](/docs/native-chat-ui#byo-agent-runtimes).
|
|
178
178
|
|
|
179
|
-
無論您選取哪一層,都將 actions 和 SQL
|
|
179
|
+
無論您選取哪一層,都將 actions 和 SQL 支援的應用程式狀態保留為合約,
|
|
180
180
|
並避免從產品 UI 直接發布到 `/_agent-native/agent-chat`。如果一個
|
|
181
181
|
真正的自訂表面缺少指定的助手,請先新增該助手
|
|
182
182
|
用戶端程式碼不會學習第二個臨時傳輸。
|
|
@@ -204,9 +204,9 @@ const { mutate, isPending } = useActionMutation("reply-to-email");
|
|
|
204
204
|
}
|
|
205
205
|
```
|
|
206
206
|
|
|
207
|
-
##
|
|
207
|
+
## 選取+游標感知 {#selection}
|
|
208
208
|
|
|
209
|
-
|
|
209
|
+
代理可以在應用程式狀態下透過 `navigation` 和 `selection` 鍵檢視使用者選取的內容 - 文字、單元格、幻燈片、聯絡人。當目前螢幕使它們相關時,空聊天還使用這些鍵提供動態建議,例如“總結此選取”或“改進此幻燈片”。如果您希望使用 Cmd-I(或類似鍵)將選定的範圍作為脈絡傳送到聊天中,請參閱 [Context Awareness](/docs/context-awareness)。
|
|
210
210
|
|
|
211
211
|
## 將它們放在一起 {#putting-it-together}
|
|
212
212
|
|
|
@@ -250,11 +250,11 @@ export default function Root() {
|
|
|
250
250
|
</Button>
|
|
251
251
|
```
|
|
252
252
|
|
|
253
|
-
|
|
253
|
+
使用者在標題中看到一個聊天按鈕,可以開啟它,並可以與代理交談。您的按鈕將工作交給同一個代理,而不是執行一次性 LLM 呼叫。
|
|
254
254
|
|
|
255
|
-
##
|
|
255
|
+
## 下一步是什麼
|
|
256
256
|
|
|
257
257
|
- [**Actions**](/docs/actions) — `defineAction()` 和 `useActionMutation()`
|
|
258
258
|
- [**Context Awareness**](/docs/context-awareness) — 選取、導覽、檢視螢幕
|
|
259
|
-
- [**Workspace**](/docs/workspace) —“工作空間”分頁包含的內容(skills
|
|
259
|
+
- [**Workspace**](/docs/workspace) —“工作空間”分頁包含的內容(skills、記憶、MCP 伺服器、計畫作業)
|
|
260
260
|
- [**Voice Input**](/docs/voice-input) — 聊天編輯器中的麥克風
|
|
@@ -1,54 +1,54 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "持久的簡歷"
|
|
3
|
-
description: "
|
|
3
|
+
description: "當託管代理執行被中斷並恢復時,已完成的副作用工具呼叫不會重新執行 - 從持久帳本派生的工具呼叫記錄會阻止重複傳送、收費和票證。"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# 持久的簡歷
|
|
7
7
|
|
|
8
8
|
> **這是誰的:**任何想要了解框架如何執行的人
|
|
9
|
-
>
|
|
9
|
+
> 恢復可避免重複的副作用。這是內建行為——有
|
|
10
10
|
> 無需連線。
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
託管代理執行被中斷:無伺服器函式在中途遇到硬超時,閘道在 45 秒時斷開連線,socket 暫停,平台冷啟動。此框架已經透過儲存對話前綴並重新執行 LLM 呼叫(“從上次中斷的地方繼續”)來恢復。但僅恢復就有一個明顯的優勢:如果被中斷的嘗試**已經傳送了一封電子郵件或建立了一個票證**,那麼天真的簡歷可以再次做到這一點。
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
持久的簡歷彌補了這一差距。恢復時,框架知道哪個副作用工具呼叫已經完成,並拒絕在兩層重新執行它們。
|
|
15
15
|
|
|
16
|
-
```an-diagram title="兩層可阻止簡歷上重複的副作用" summary="
|
|
16
|
+
```an-diagram title="兩層可阻止簡歷上重複的副作用" summary="記錄讀取持久帳本並對之前的呼叫進行分類;第 1 層告訴模型,第 2 層硬阻止與已完成條目匹配的重新分派寫入。"
|
|
17
17
|
{
|
|
18
18
|
"html": "<div class=\"diagram-durable\"><div class=\"diagram-box\" data-rough>Run-event ledger<br><small class=\"diagram-muted\">tool_start / tool_done</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-panel center\" data-rough><strong>Tool-call journal</strong><small class=\"diagram-ok\">completed = start+done</small><small class=\"diagram-warn\">interrupted = start, no done</small></div><div class=\"diagram-col\"><div class=\"diagram-pill\">Layer 1 · prompt note → model</div><div class=\"diagram-pill accent\">第 2 層 · 硬阻塞重新派發寫入</div></div></div>",
|
|
19
19
|
"css": ".diagram-durable{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.diagram-durable .diagram-col{display:flex;flex-direction:column;gap:8px}.diagram-durable .diagram-arrow{font-size:22px;line-height:1}.diagram-durable .center{display:flex;flex-direction:column;align-items:center;gap:4px}"
|
|
20
20
|
}
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
##
|
|
23
|
+
## 工具呼叫記錄 {#journal}
|
|
24
24
|
|
|
25
|
-
記錄是**對持久執行事件分類帳的純粹讀取** -
|
|
25
|
+
記錄是**對持久執行事件分類帳的純粹讀取** - 熱路徑中沒有新的紀錄掛鉤。它對目前回合已紀錄的工具呼叫進行分類:
|
|
26
26
|
|
|
27
|
-
- **已完成** — `tool_start` 與匹配的 `tool_done
|
|
27
|
+
- **已完成** — `tool_start` 與匹配的 `tool_done`。呼叫執行,它的副作用發生,並且它的結果被紀錄。 **不要重新執行。**
|
|
28
28
|
- **中斷** — `tool_start`,**沒有**匹配 `tool_done`。通話開始了,它的副作用可能已經發生,也可能沒有發生,而中斷則吞噬了結果。結果未知。
|
|
29
29
|
|
|
30
|
-
匹配反映了如何在其他地方重建耐用轉彎:`tool_done` 與最舊的仍開啟的 `tool_start` 配對,使用相同的工具名稱(每個工具 FIFO)。 `clear`
|
|
30
|
+
匹配反映了如何在其他地方重建耐用轉彎:`tool_done` 與最舊的仍開啟的 `tool_start` 配對,使用相同的工具名稱(每個工具 FIFO)。 `clear` 事件(廢棄的部分輸出)會重設每輪計數,因此廢棄的部分輸出不會留下虛擬的開放呼叫。
|
|
31
31
|
|
|
32
32
|
## 第1層:提示級日記筆記 {#prompt-note}
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
當執行恢復時(軟超時、閘道超時或任何可恢復的傳輸錯誤),框架會在“從上次停止的地方繼續”輕推之後,將**結構化記錄註解**附加到恢復提示中。該註解以純文字形式告訴模型:
|
|
35
35
|
|
|
36
|
-
-
|
|
37
|
-
-
|
|
36
|
+
- 哪個工具呼叫**已經完成**(結果很短),因此它會重用它們並且**不會**重新執行它們,並且
|
|
37
|
+
- 哪個工具呼叫被**因未知結果而中斷**,因此它會在假設成功或失敗之前驗證狀態。
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
當記錄為空時(沒有工具活動的回合,或幹淨的延續),不會附加任何額外內容,並且恢復行為與之前的情況相同。該註解是盡力而為的:失敗的帳本讀取永遠不會阻止本來會成功的恢復。
|
|
40
40
|
|
|
41
41
|
## 第2層:工具層硬塊 {#hard-block}
|
|
42
42
|
|
|
43
|
-
提示資訊是建議性的 -
|
|
43
|
+
提示資訊是建議性的 - 一個表現良好的模型會注意到它,但模型並不能保證。因此迴圈也在工具層強制執行它。
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
在迴圈在恢復的塊中執行之前,它會對記錄進行一次快照(僅捕獲此邏輯回合的**之前**塊)。當模型重新分派工具名稱**和輸入**與已完成的日記條目匹配的**寫入**工具時,迴圈會短路:它返回日記結果而不是執行操作,並注意該呼叫已在之前中斷的嘗試中完成,並且不會重新執行以避免重複的副作用。
|
|
46
46
|
|
|
47
47
|
關鍵屬性:
|
|
48
48
|
|
|
49
49
|
- **僅限寫入工具。**唯讀 (`readOnly` / GET) actions 永遠不會被阻止 - 重新讀取是安全且冪等的。
|
|
50
|
-
- **內容尋址。** 匹配基於工具名稱 +
|
|
51
|
-
-
|
|
50
|
+
- **內容尋址。** 匹配基於工具名稱 + 輸入簽名,因此輪流中位於不同位置的恢復呼叫仍然匹配; _ different_ 呼叫(不同的參數)被視為新鮮呼叫並正常執行。
|
|
51
|
+
- **消費一次。**每個已完成的條目在匹配時都會被聲明,因此同一輪中兩個真正不同的相同的新呼叫不會在一個記錄完成時同時短路。
|
|
52
52
|
- **新呼叫未受影響。**首輪呼叫會看到空記錄;正常執行沒有任何變化。
|
|
53
53
|
|
|
54
54
|
```an-callout
|
|
@@ -62,4 +62,4 @@ description: "當託管代理執行被中斷並恢復時,已完成的副作用
|
|
|
62
62
|
|
|
63
63
|
- [**Real-Time Sync**](/docs/real-time-collaboration) — 持久執行帳本如何流式傳輸到用戶端並在重新連線時重播。
|
|
64
64
|
- [**Actions**](/docs/actions) — `readOnly` 將讀取標記為可以安全地重新執行;其他一切都被視為副作用。
|
|
65
|
-
- [**In-Loop Processors**](/docs/processors) —
|
|
65
|
+
- [**In-Loop Processors**](/docs/processors) — 另一個迴圈內部硬化接縫。
|