@agent-native/core 0.79.12 → 0.79.16
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 +25 -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 +29 -6
- package/corpus/core/src/deploy/build.ts +432 -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 +123 -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 +16 -6
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/collab/routes.d.ts +2 -2
- package/dist/deploy/build.d.ts +3 -1
- package/dist/deploy/build.d.ts.map +1 -1
- package/dist/deploy/build.js +372 -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/notifications/routes.d.ts +1 -1
- package/dist/observability/routes.d.ts +5 -5
- package/dist/resources/handlers.d.ts +3 -3
- package/dist/server/agent-engine-api-key-route.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/server/transcribe-voice.d.ts +1 -1
- package/dist/styles/agent-native.css +123 -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
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "關鍵概念"
|
|
3
|
-
description: "
|
|
3
|
+
description: "Agent-Native 應用程式的工作原理:首先是 actions、SQL 資料庫、應用程式代理迴圈、可選的 UI、輪詢同步、外部代理入口點、脈絡感知和可移植性。"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# 關鍵概念
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Agent-Native 應用程式如何在幕後工作 - 原則和架構。此頁面為合同;有關以這種方式建置的願景和案例,請參閱 [What Is Agent-Native?](/docs/what-is-agent-native)。
|
|
9
9
|
|
|
10
10
|
## 架構 {#the-architecture}
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
每個 Agent-Native 應用程式都由三部分協同工作:
|
|
13
13
|
|
|
14
14
|
> **代理** — 讀取資料、寫入資料、執行 actions 和修改程式碼的自主 AI。可使用 skills 和說明進行定制。
|
|
15
15
|
>
|
|
16
|
-
> **應用** —
|
|
16
|
+
> **應用** — 試劑週圍的產品表面。一開始這可能只是操作、豐富的聊天、小型控制平面或帶有儀表板、流程和視覺化的完整 React 介面。
|
|
17
17
|
>
|
|
18
|
-
>
|
|
18
|
+
> **電腦** — 資料庫、瀏覽器、程式碼執行。代理直接使用 SQL 和內建工具進行工作; MCP 伺服器是可選的附加元件,而不是基礎。
|
|
19
19
|
|
|
20
|
-
```an-diagram title="
|
|
20
|
+
```an-diagram title="代理、應用程式和電腦" summary="三層在一個共用的 SQL 儲存上協同工作。代理和應用程式讀取和寫入相同的資料。"
|
|
21
21
|
{
|
|
22
22
|
"html": "<div class=\"diagram-arch\"><div class=\"diagram-row\"><div class=\"diagram-card\"><span class=\"diagram-pill accent\">Agent</span><small class=\"diagram-muted\">讀取和寫入資料、執行 actions、修改程式碼</small></div><div class=\"diagram-card\"><span class=\"diagram-pill\">Application</span><small class=\"diagram-muted\">action-only, chat, control plane, or full React 介面</small></div></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">↓ ↑</div><div class=\"diagram-box\" data-rough>Computer<br><small class=\"diagram-muted\">SQL 資料庫 · browser · code execution</small></div></div>",
|
|
23
23
|
"css": ".diagram-arch{display:flex;flex-direction:column;align-items:center;gap:10px}.diagram-arch .diagram-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.diagram-arch .diagram-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;min-width:220px}.diagram-arch .diagram-arrow{font-size:20px;line-height:1}.diagram-arch .diagram-box{text-align:center;padding:12px 18px}"
|
|
24
24
|
}
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
無頭應用程式可以使用 `pnpm agent`
|
|
27
|
+
無頭應用程式可以使用 `pnpm agent` 從資料夾執行相同的正式環境應用程式代理迴圈,而 UI 應用程式則安裝嵌入式代理面板並使用 `pnpm dev` 在本機執行。在雲端中,Builder.io 提供了一個託管框架(在您的應用旁邊託管代理的環境),為團隊提供協作、視覺化編輯和託管基礎架構。
|
|
28
28
|
|
|
29
29
|
## 代理建置塊 {#agent-building-blocks}
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
每個 Agent-Native 應用程式都具有相同的代理建置塊,無論是否
|
|
32
32
|
產品表面是無頭的、聊天優先的或完整的 UI:
|
|
33
33
|
|
|
34
34
|
```an-file-tree title="指導和行為"
|
|
@@ -43,22 +43,22 @@ description: "代理本機應用程式的工作原理:首先是 actions、SQL
|
|
|
43
43
|
|
|
44
44
|
| 建置塊 | 使用它 | 載入時間 |
|
|
45
45
|
| ----------- | ---------------------------------------------------------------------- | -------------------------------- |
|
|
46
|
-
| **說明** |
|
|
46
|
+
| **說明** | 代理應在每項工作中進行穩定的指導:應用程式是什麼、不變數、語氣、索引 | 每個回合 |
|
|
47
47
|
| **Skills** | 可重用行為:如何遵循工作流程、應用策略、檢查證據或驗證輸出 | 當技能描述與工作匹配時按需 |
|
|
48
|
-
| **Actions** |
|
|
48
|
+
| **Actions** | 實際操作:讀取或寫入資料、呼叫 API、傳送訊息、執行核准、生成型別化結果 | 每次都被列為工具;僅在呼叫時執行 |
|
|
49
49
|
|
|
50
50
|
Skills 和 actions 一起工作。一項技能教代理如何做一類
|
|
51
|
-
|
|
51
|
+
工作;操作是它在執行該工作時可以呼叫的程式碼路徑。例如,
|
|
52
52
|
`customer-research` 技能可能會告訴代理要檢查哪些來源
|
|
53
|
-
如何在 `search-crm` 和 `create-brief` actions
|
|
53
|
+
如何在 `search-crm` 和 `create-brief` actions 取得的同時總結證據
|
|
54
54
|
並寫入實際資料。
|
|
55
55
|
|
|
56
56
|
管理架構的六項規則:
|
|
57
57
|
|
|
58
|
-
1. **資料存在於 SQL** -
|
|
59
|
-
2. **所有 AI
|
|
58
|
+
1. **資料存在於 SQL** - 所有應用程式狀態都透過 Drizzle ORM 存在於資料庫中
|
|
59
|
+
2. **所有 AI 都透過代理** - 無行內 LLM 呼叫
|
|
60
60
|
3. **Actions 用於代理操作** — 複雜的工作作為 actions 執行
|
|
61
|
-
4.
|
|
61
|
+
4. **即時同步使 UI 保持同步** — 透過 SSE 進行資料庫更改流,並以輪詢作為通用回退
|
|
62
62
|
5. **代理可以修改程式碼** - 應用程式會隨著您的使用而不斷發展
|
|
63
63
|
6. **SQL 中的應用程式狀態** — 臨時 UI 狀態存在於資料庫中,代理和 UI 都可讀
|
|
64
64
|
|
|
@@ -69,15 +69,15 @@ Skills 和 actions 一起工作。一項技能教代理如何做一類
|
|
|
69
69
|
| 區域 | 描述 |
|
|
70
70
|
| ------------------- | ---------------------------------------- |
|
|
71
71
|
| **1. UI** | 使用者與之互動的頁面、元件或對話框 |
|
|
72
|
-
| **2。行動** | actions
|
|
72
|
+
| **2。行動** | actions/中的代理可呼叫操作用於相同操作 |
|
|
73
73
|
| **3. Skills** | 更新 AGENTS.md 和/或建立紀錄該模式的技能 |
|
|
74
|
-
| **4。應用程式狀態** |
|
|
74
|
+
| **4。應用程式狀態** | 導覽狀態、檢視螢幕資料和導覽指令 |
|
|
75
75
|
|
|
76
|
-
只有 UI 的功能對於代理來說是不可見的。僅包含 actions 的完整 UI 功能對使用者來說是不可見的。沒有應用程式狀態的功能意味著代理對使用者正在做的事情一無所知。無頭操作可以合法地從操作 +
|
|
76
|
+
只有 UI 的功能對於代理來說是不可見的。僅包含 actions 的完整 UI 功能對使用者來說是不可見的。沒有應用程式狀態的功能意味著代理對使用者正在做的事情一無所知。無頭操作可以合法地從操作 + 指令開始,並在稍後當人們需要瀏覽、核准、設定或共用時新增 UI/應用程式狀態。
|
|
77
77
|
|
|
78
|
-
## SQL中的資料 {#data-in-sql}
|
|
78
|
+
## SQL 中的資料 {#data-in-sql}
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
所有應用程式狀態都透過 Drizzle ORM 儲存在 SQL 資料庫中。模式與提供者無關;支援的資料庫、`DATABASE_URL` 設定和可移植性規則位於 [Database](/docs/database) 中。
|
|
81
81
|
|
|
82
82
|
核心 SQL 商店是自動建立的,並且在每個範本中都可用:
|
|
83
83
|
|
|
@@ -89,7 +89,7 @@ Skills 和 actions 一起工作。一項技能教代理如何做一類
|
|
|
89
89
|
```an-schema title="核心 SQL 商店" summary="在每個範本中自動建立 - 代理和 UI 都可以讀取和寫入這些範本。"
|
|
90
90
|
{
|
|
91
91
|
"entities": [
|
|
92
|
-
{ "id": "application_state", "name": "application_state", "note": "
|
|
92
|
+
{ "id": "application_state", "name": "application_state", "note": "代理讀取脈絡的臨時 UI 狀態", "fields": [
|
|
93
93
|
{ "name": "key", "type": "text", "pk": true, "note": "e.g。 '導覽'" },
|
|
94
94
|
{ "name": "value", "type": "json", "note": "檢視、選取、草稿" }
|
|
95
95
|
] },
|
|
@@ -127,21 +127,21 @@ export const forms = table("forms", {
|
|
|
127
127
|
pnpm action db-schema # show all tables
|
|
128
128
|
pnpm action db-query --sql "SELECT * FROM forms"
|
|
129
129
|
pnpm action db-exec --sql "UPDATE forms SET status = ? WHERE id = ?" --args '["closed","form-1"]'
|
|
130
|
-
#
|
|
130
|
+
# 大型文字列上的 Surgical find/replace — 傳送差異,而不是整個值
|
|
131
131
|
pnpm action db-patch --table documents --column content \
|
|
132
132
|
--where "id='doc-1'" --find "old heading" --replace "new heading"
|
|
133
133
|
```
|
|
134
134
|
|
|
135
135
|
正式環境代理聊天外掛預設啟用原始資料庫寫入
|
|
136
|
-
(`databaseTools: "write"`)
|
|
136
|
+
(`databaseTools: "write"`),以便代理可以修復應用程式擁有的資料,而無需等待
|
|
137
137
|
新型別的動作。這些寫入的範圍僅限於經過驗證的使用者/組織。設定
|
|
138
138
|
`databaseTools: "read"` 僅保留 `db-schema` / `db-query` 檢查,或
|
|
139
|
-
`databaseTools: "off"` / `false` 要求型別化應用程式 actions
|
|
139
|
+
`databaseTools: "off"` / `false` 要求型別化應用程式 actions 取得所有資料
|
|
140
140
|
存取。
|
|
141
141
|
|
|
142
142
|
## 代理聊天橋 {#agent-chat-bridge}
|
|
143
143
|
|
|
144
|
-
UI
|
|
144
|
+
UI 從不直接呼叫 LLM。當使用者點選“產生圖表”或“寫入摘要”時,UI 透過 `postMessage` 向代理傳送訊息。代理完成工作 - 具有完整的對話歷史紀錄、skills、指令和迭代能力。
|
|
145
145
|
|
|
146
146
|
```ts
|
|
147
147
|
// In a React component — delegate AI work to the agent
|
|
@@ -154,16 +154,16 @@ sendToAgentChat({
|
|
|
154
154
|
});
|
|
155
155
|
```
|
|
156
156
|
|
|
157
|
-
|
|
157
|
+
為什麼不呼叫 LLM 行內?
|
|
158
158
|
|
|
159
|
-
-
|
|
160
|
-
-
|
|
161
|
-
- **代理可以做更多事情。**它可以執行 actions
|
|
162
|
-
-
|
|
159
|
+
- **人工智慧是不確定的。**您需要對話流來提供意見回饋和迭代——而不是一次性按鈕。
|
|
160
|
+
- **脈絡很重要。**代理擁有您的完整程式碼庫、說明、skills 和歷史紀錄。行內呼叫則沒有這些。
|
|
161
|
+
- **代理可以做更多事情。**它可以執行 actions、瀏覽網頁、修改程式碼以及將多個步驟連結在一起。
|
|
162
|
+
- **無頭執行。**因為一切都透過代理進行,所以任何應用程式都可以完全由 Slack、Telegram 或其他代理透過 [A2A](/docs/a2a-protocol) 驅動。
|
|
163
163
|
|
|
164
164
|
## Actions系統 {#actions-system}
|
|
165
165
|
|
|
166
|
-
|
|
166
|
+
當代理需要做一些複雜的事情時——呼叫 API、處理資料、查詢資料庫——它會執行一個**操作**。 Actions 是 `actions/` 中的 TypeScript 檔案,匯出預設的 `defineAction()`:
|
|
167
167
|
|
|
168
168
|
```ts
|
|
169
169
|
// actions/fetch-data.ts
|
|
@@ -182,19 +182,19 @@ export default defineAction({
|
|
|
182
182
|
});
|
|
183
183
|
```
|
|
184
184
|
|
|
185
|
-
一次 `defineAction()`
|
|
185
|
+
一次 `defineAction()` 呼叫將為您提供:
|
|
186
186
|
|
|
187
|
-
- **代理工具** —
|
|
187
|
+
- **代理工具** — 代理透過 zod 派生的 JSON 架構看到它並可以呼叫它。
|
|
188
188
|
- **前端鉤子** - `useActionMutation("fetch-data")` 具有完整的 TypeScript 推理。
|
|
189
189
|
- **框架傳輸** - 自動安裝在用戶端掛鉤後面。
|
|
190
|
-
- **CLI** — `pnpm action fetch-data --source=signups`
|
|
190
|
+
- **CLI** — `pnpm action fetch-data --source=signups` 用於指令碼和代理開發迴圈。
|
|
191
191
|
- **MCP 工具/A2A 工具** — 當啟用 MCP 伺服器或 A2A 時,也會顯示相同的操作。
|
|
192
192
|
|
|
193
|
-
相同的邏輯,一個定義,自動連線到每個消費者。請參閱 [Actions](/docs/actions)
|
|
193
|
+
相同的邏輯,一個定義,自動連線到每個消費者。請參閱 [Actions](/docs/actions) 取得完整參考。
|
|
194
194
|
|
|
195
|
-
##
|
|
195
|
+
## 即時同步 {#polling-sync}
|
|
196
196
|
|
|
197
|
-
|
|
197
|
+
資料庫更改透過`useDbSync()`同步到 UI。同行程透過`/_agent-native/events`寫流; `/_agent-native/poll` 仍然是跨行程和無伺服器的後備方案。當代理寫入資料庫(應用程式狀態、設定或域資料)時,版本計數器會遞增,並且用戶端會使相關的 React 查詢快取無效。
|
|
198
198
|
|
|
199
199
|
```ts
|
|
200
200
|
// Client: subscribe to agent/UI data changes once near the app shell
|
|
@@ -207,48 +207,48 @@ useDbSync({ queryClient });
|
|
|
207
207
|
|
|
208
208
|
1. 代理執行寫入資料庫的操作
|
|
209
209
|
2. 伺服器使用 `"action"` 或 `"settings"` 等來源發出更改事件
|
|
210
|
-
3. `useDbSync`
|
|
211
|
-
4. `useActionQuery` 掛鉤和來源版本 `useQuery`
|
|
210
|
+
3. `useDbSync` 透過 SSE 或輪詢回退接收它
|
|
211
|
+
4. `useActionQuery` 掛鉤和來源版本 `useQuery` 掛鉤重新取得
|
|
212
212
|
5. 元件無需重新載入頁面即可呈現新資料
|
|
213
213
|
|
|
214
|
-
```an-diagram title="
|
|
214
|
+
```an-diagram title="即時同步流程" summary="代理寫入變成 UI 渲染,無需手動重新整理 - 首先是 SSE,輪詢作為通用後備。"
|
|
215
215
|
{
|
|
216
|
-
"html": "<div class=\"diagram-sync\"><div class=\"diagram-node\">Agent 操作<br><small class=\"diagram-muted\">寫入資料庫</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-node\">變更事件<br><small class=\"diagram-muted\">source: action / settings</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-panel center\"><span class=\"diagram-pill accent\">useDbSync</span><small class=\"diagram-muted\">SSE · poll fallback</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-node\"
|
|
216
|
+
"html": "<div class=\"diagram-sync\"><div class=\"diagram-node\">Agent 操作<br><small class=\"diagram-muted\">寫入資料庫</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-node\">變更事件<br><small class=\"diagram-muted\">source: action / settings</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-panel center\"><span class=\"diagram-pill accent\">useDbSync</span><small class=\"diagram-muted\">SSE · poll fallback</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-node\">重新取得查詢<br><small class=\"diagram-muted\">渲染,無需重載</small></div></div>",
|
|
217
217
|
"css": ".diagram-sync{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.diagram-sync .diagram-arrow{font-size:22px;line-height:1}.diagram-sync .center{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 14px}"
|
|
218
218
|
}
|
|
219
219
|
```
|
|
220
220
|
|
|
221
|
-
|
|
221
|
+
這適用於所有部署環境(包括無伺服器和邊緣),因為它使用資料庫,而不是記憶狀態或檔案系統觀察器。
|
|
222
222
|
|
|
223
223
|
## 框架 {#frames}
|
|
224
224
|
|
|
225
225
|
_frame_ 是在您的應用程式旁邊託管代理的環境 - 在本機是嵌入式面板;在雲端端,它是 Builder.io 的託管表面。參見[Frames](/docs/frames)。
|
|
226
226
|
|
|
227
|
-
|
|
227
|
+
Agent-Native 應用程式包括一個嵌入式代理面板,該面板與應用程式 UI 一起提供 AI 代理。這就是架構發揮作用的原因:代理需要電腦(資料庫、瀏覽器、程式碼執行),而應用程式需要代理來進行 AI 工作。
|
|
228
228
|
|
|
229
|
-
> **嵌入式代理面板** -
|
|
229
|
+
> **嵌入式代理面板** - 每個應用程式中內建聊天和可選的 CLI 終端。支援 Claude 程式碼、Codex、Gemini、OpenCode 和 Builder.io。在本機執行。免費且開放原始碼。
|
|
230
230
|
>
|
|
231
|
-
> **雲端** —
|
|
231
|
+
> **雲端** — 透過即時協作、視覺化編輯、角色和權限部署到任何雲端。最適合團隊。
|
|
232
232
|
|
|
233
233
|
## 情境感知 {#context-awareness}
|
|
234
234
|
|
|
235
|
-
|
|
235
|
+
代理始終知道使用者在看什麼。 UI 在每次路由更改時將 `navigation` 金鑰寫入應用程式狀態。代理在執行操作之前透過 `view-screen` 操作讀取它。
|
|
236
236
|
|
|
237
|
-
|
|
237
|
+
例如,當您開啟電子郵件對話串時,UI 會插入一行,例如:
|
|
238
238
|
|
|
239
239
|
```json
|
|
240
240
|
{ "key": "navigation", "value": { "view": "thread", "threadId": "th_abc123" } }
|
|
241
241
|
```
|
|
242
242
|
|
|
243
|
-
UI
|
|
243
|
+
UI 在路由變更時寫入此資訊;代理在採取任何操作之前都會讀取它(透過 `view-screen`),因此它始終知道您關注的是哪個對話串 - 或圖表或幻燈片。
|
|
244
244
|
|
|
245
|
-
請參閱 [Context Awareness](/docs/context-awareness)
|
|
245
|
+
請參閱 [Context Awareness](/docs/context-awareness) 了解完整模式:導覽狀態、檢視螢幕、導覽指令和抖動預防。
|
|
246
246
|
|
|
247
247
|
## 一個動作,多個表面 {#protocols}
|
|
248
248
|
|
|
249
|
-
|
|
249
|
+
將一個域操作作為一個動作執行一次;此框架將其暴露給每個消費者。相同的 `defineAction()` 成為代理工具、型別安全 UI 掛鉤、HTTP 端點、CLI 指令、MCP 工具和 A2A 工具,並且僅在表面需要時新增可選的 `link`、`mcpApp` 或顯式本機小工具中繼資料。 Skills 和說明涵蓋行為。
|
|
250
250
|
|
|
251
|
-
有關完整的協議/表面矩陣(MCP 伺服器和 OAuth、MCP 應用程式、A2A
|
|
251
|
+
有關完整的協議/表面矩陣(MCP 伺服器和 OAuth、MCP 應用程式、A2A、深層連結、本機聊天小工具、AgentChatRuntime 連線器、Agent Web 以及 ACP 和 A2UI 的轉接器範圍),以及選取產品形狀(無頭、豐富聊天、嵌入式邊車或完整應用程式),請參閱[Agent Surfaces](/docs/agent-surfaces)。
|
|
252
252
|
|
|
253
253
|
## 代理修改程式碼 {#agent-modifies-code}
|
|
254
254
|
|
|
@@ -257,7 +257,7 @@ UI 在路線變更時寫入此資訊;代理在采取任何操作之前都會
|
|
|
257
257
|
沒有需要破壞的共用程式碼庫。您擁有該應用程式,代理會隨著時間的推移為您改進它:
|
|
258
258
|
|
|
259
259
|
1. 分叉範本(例如分析範本)
|
|
260
|
-
2.
|
|
260
|
+
2. 透過詢問代理進行定制
|
|
261
261
|
3. “為同期群分析新增新的圖表型別”——代理建置它
|
|
262
262
|
4. “連線到我們的 Stripe 帳戶”- 代理編寫整合
|
|
263
263
|
5. 您的應用無需手動開發即可不斷改進
|
|
@@ -266,36 +266,36 @@ UI 在路線變更時寫入此資訊;代理在采取任何操作之前都會
|
|
|
266
266
|
|
|
267
267
|
兩條架構規則使應用程式可以跨資料庫和主機移植:
|
|
268
268
|
|
|
269
|
-
- **與資料庫無關。** 使用 `@agent-native/core/db/schema` 寫入模式並使用 Drizzle 的可移植查詢 DSL
|
|
270
|
-
- **與主機無關。** 伺服器在 Nitro 上執行並編譯為任何部署目標。切勿在伺服器路由或外掛中使用特定於節點的 API(`fs`、`child_process`、`path
|
|
269
|
+
- **與資料庫無關。** 使用 `@agent-native/core/db/schema` 寫入模式並使用 Drizzle 的可移植查詢 DSL 進行讀/寫,因此相同的程式碼可以在任何支援的提供者上執行。僅將原始 SQL 用於附加遷移或一次性維護,保持參數化且與方言無關。參見[Database](/docs/database)。
|
|
270
|
+
- **與主機無關。** 伺服器在 Nitro 上執行並編譯為任何部署目標。切勿在伺服器路由或外掛中使用特定於節點的 API(`fs`、`child_process`、`path`),並且切勿假設持久伺服器行程 - 無伺服器和邊緣是無狀態的,因此將所有狀態保留在 SQL 中。參見[Deployment](/docs/deployment)。
|
|
271
271
|
|
|
272
272
|
## 工作區 {#workspace}
|
|
273
273
|
|
|
274
|
-
每個使用者都會獲得一個個人**工作空間** - 指令、skills
|
|
274
|
+
每個使用者都會獲得一個個人**工作空間** - 指令、skills、記憶、自訂子代理、計畫作業和連線的 MCP 伺服器 - 全部儲存在 SQL 而不是檔案中。這使得 Claude 程式碼級定制可以在多租戶 SaaS 中實現,而無需為每個使用者啟動一個容器。參見[Workspace](/docs/workspace)。
|
|
275
275
|
|
|
276
276
|
## 相關建置塊 {#building-blocks}
|
|
277
277
|
|
|
278
278
|
這些位於同一個合約之上,並且有自己的深入研究:
|
|
279
279
|
|
|
280
|
-
- **[Dispatch](/docs/dispatch)** —
|
|
280
|
+
- **[Dispatch](/docs/dispatch)** — 工作區控制平面:共用收件箱、機密庫、計畫作業以及透過 A2A 委托給專業應用程式的編排器。
|
|
281
281
|
- **[Extensions](/docs/extensions)** — 代理在執行時建立的沙盒 Alpine.js 迷你應用,無需更改來源或遷移。
|
|
282
|
-
- **[A2A Protocol](/docs/a2a-protocol)** —
|
|
282
|
+
- **[A2A Protocol](/docs/a2a-protocol)** — 同一工作區中的應用如何透過 JSON-RPC 發現並相互呼叫。
|
|
283
283
|
|
|
284
284
|
## 您免費獲得的東西 {#what-you-get-for-free}
|
|
285
285
|
|
|
286
|
-
|
|
286
|
+
采用此框架很有價值,主要是因為您不再需要建置什麼。一旦您的應用遵循這六個規則,您就繼承了:
|
|
287
287
|
|
|
288
|
-
- **一個操作 = 每個表面。** 使用 `defineAction()` 定義的每個操作同時是一個代理工具、型別安全前端掛鉤 (`useActionQuery` / `useActionMutation`)、框架擁有的 HTTP 傳輸、CLI 指令、用於外部用戶端的 MCP
|
|
289
|
-
- **每個使用者一個完整的工作區。** Skills、共用 `LEARNINGS.md`、個人 `memory/MEMORY.md`、`AGENTS.md`、自訂子代理、計畫作業、連線的 MCP 伺服器 — 所有 SQL
|
|
288
|
+
- **一個操作 = 每個表面。** 使用 `defineAction()` 定義的每個操作同時是一個代理工具、型別安全前端掛鉤 (`useActionQuery` / `useActionMutation`)、框架擁有的 HTTP 傳輸、CLI 指令、用於外部用戶端的 MCP 工具以及用於其他 Agent-Native 應用程式的 A2A 工具。可選的 `link` 和 `mcpApp` 中繼資料新增深層連結和 MCP 應用 UI,無需第二次實現。
|
|
289
|
+
- **每個使用者一個完整的工作區。** Skills、共用 `LEARNINGS.md`、個人 `memory/MEMORY.md`、`AGENTS.md`、自訂子代理、計畫作業、連線的 MCP 伺服器 — 所有 SQL 支援,無需開發盒。參見[Workspace](/docs/workspace)。
|
|
290
290
|
- **插入 React 元件。** `<AgentPanel />` 和 `<AgentSidebar />` 在應用程式中的任何位置呈現聊天 + 工作區。參見[Drop-in Agent](/docs/drop-in-agent)。
|
|
291
291
|
- **BYO 代理聊天執行時。** 相同的聊天 UI 可以位於 OpenAI 代理、OpenAI 回應、Claude 代理 SDK、Vercel AI SDK、AG-UI 或您自己的規範化 HTTP 流之上。參見[Native 聊天介面](/docs/native-chat-ui#byo-agent-runtimes)。
|
|
292
|
-
- **代理和 UI
|
|
293
|
-
- **Auth、orgs、RBAC。**
|
|
294
|
-
-
|
|
292
|
+
- **代理和 UI 之間的即時同步。**同一行程立即透過 `/_agent-native/events` 寫入流;輕量級輪詢使無伺服器、cron 和跨行程寫入保持收斂。改變 actions 會自動使操作支援的查詢失效,因此無需手動重新整理即可顯示代理建立的紀錄。請參閱下面的 [Live Sync](#polling-sync)。
|
|
293
|
+
- **Auth、orgs、RBAC。** 每個範本都內建了帶有 orgs/members/roles 的更好的驗證。參見[Authentication](/docs/authentication)。
|
|
294
|
+
- **脈絡感知。**代理始終透過 `navigation` 應用狀態鍵了解使用者正在檢視的內容。參見[Context Awareness](/docs/context-awareness)。
|
|
295
295
|
- **MCP 用戶端 + 伺服器,雙向。** 應用程式攝取 MCP 伺服器(本機、遠端、集線器共用)*並且*將其自己的 actions 公開為 MCP 伺服器。請參閱 [MCP Clients](/docs/mcp-clients) 和 [MCP Protocol](/docs/mcp-protocol)。
|
|
296
|
-
-
|
|
297
|
-
- **子代理團隊。**
|
|
298
|
-
- **可移植性。**任何 Drizzle
|
|
296
|
+
- **應用程式間委托。**不同應用程式中的代理透過 [A2A](/docs/a2a-protocol) 進行通信。同來源部署跳過 JWT;跨域使用共用的`A2A_SECRET`。
|
|
297
|
+
- **子代理團隊。** 產生一個具有自己的對話串和工具的子代理,以聊天中行內的標籤形式出現。參見[Agent Teams](/docs/agent-teams)。
|
|
298
|
+
- **可移植性。**任何 Drizzle 支援的 SQL 資料庫、任何 Nitro 相容的主機(Node、Workers、Netlify、Vercel、Deno、Lambda、Bun)。
|
|
299
299
|
|
|
300
300
|
這就是“以及其他所有東西”,否則你需要自己將它們粘合在一起。
|
|
301
301
|
|
|
@@ -304,9 +304,9 @@ UI 在路線變更時寫入此資訊;代理在采取任何操作之前都會
|
|
|
304
304
|
有關特定模式的詳細指導:
|
|
305
305
|
|
|
306
306
|
- [What Is Agent-Native?](/docs/what-is-agent-native) — 願景和理念
|
|
307
|
-
- [Context Awareness](/docs/context-awareness) —
|
|
307
|
+
- [Context Awareness](/docs/context-awareness) — 導覽狀態、檢視螢幕、導覽指令
|
|
308
308
|
- [Skills Guide](/docs/skills-guide) — 框架 skills,域 skills,建立自訂 skills
|
|
309
309
|
- [Native 聊天介面](/docs/native-chat-ui) — 操作聲明的表格、圖表和 BYO 執行時狀態
|
|
310
|
-
- [Agent Surfaces](/docs/agent-surfaces) —
|
|
310
|
+
- [Agent Surfaces](/docs/agent-surfaces) — 無頭、豐富的聊天、嵌入式 sidecar 和完整應用路徑
|
|
311
311
|
- [A2A Protocol](/docs/a2a-protocol) — 代理間通信
|
|
312
312
|
- [Multi-App Workspace](/docs/multi-app-workspace) — 在一個單一儲存庫中託管多個應用程式,並具有共用驗證、skills、元件和憑證
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "本機檔案模式"
|
|
3
|
-
description: "使用本機 Markdown、MDX
|
|
3
|
+
description: "使用本機 Markdown、MDX 和其他儲存庫檔案作為事實來源執行 Agent-Native 應用 - 包括帶有自訂元件的黑曜石風格 MDX 檔案。"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# 本機檔案模式
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
本機檔案模式允許 Agent-Native 應用程式附加其正常的 UI 和操作介面
|
|
9
9
|
直接到儲存庫或工作區中的檔案。該應用程式仍然感覺像是託管的
|
|
10
|
-
|
|
11
|
-
而不是 SQL
|
|
10
|
+
產品,但其清單檢視、編輯器和代理工具可讀寫本機檔案
|
|
11
|
+
而不是 SQL 支援的應用紀錄。
|
|
12
12
|
|
|
13
13
|
第一個實現是在內容範本中:左側邊欄是
|
|
14
14
|
從本機 `.md` 和 `.mdx` 檔案填充,選取一個頁面開啟標準
|
|
@@ -16,21 +16,21 @@ description: "使用本機 Markdown、MDX 和其他儲存庫檔案作為事實
|
|
|
16
16
|
也可以由 Codex、Claude 程式碼、Agent-Native 側邊欄代理或普通編輯
|
|
17
17
|
編輯器。
|
|
18
18
|
|
|
19
|
-
對於內容,這使得該產品感覺像是 MDX
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
對於內容,這使得該產品感覺像是 MDX 的開放原始碼黑曜石:
|
|
20
|
+
您的檔案以檔案形式存在,而應用程式新增了視覺化編輯器、代理 actions,
|
|
21
|
+
可共用的副本,以及豐富的互動式 MDX 元件。
|
|
22
22
|
|
|
23
23
|
當您想要回購優先的工作流程時,請使用本機檔案模式:
|
|
24
24
|
|
|
25
25
|
- `docs/*.mdx` 的檔案儲存庫
|
|
26
|
-
- `blog/*.mdx`
|
|
26
|
+
- `blog/*.mdx` 的部落格
|
|
27
27
|
- `resources/*.md` 中的定位、訊息傳遞或團隊筆記等資源
|
|
28
|
-
-
|
|
29
|
-
- 需要從本機 React
|
|
28
|
+
- 個人黑曜石風格的知識庫,具有更豐富的 MDX 編輯器
|
|
29
|
+
- 需要從本機 React 程式碼產生的互動式自訂 MDX 塊的檔案
|
|
30
30
|
- 應用程式工件應該易於編碼代理檢查和修補
|
|
31
31
|
|
|
32
32
|
當您需要託管協作應用程式體驗時,請使用資料庫模式:
|
|
33
|
-
多使用者共用、SQL
|
|
33
|
+
多使用者共用、SQL 支援的權限、評論、版本歷史紀錄和
|
|
34
34
|
沒有本機檔案系統存取權限的正式環境託管。
|
|
35
35
|
|
|
36
36
|
## 心智模型
|
|
@@ -42,11 +42,11 @@ description: "使用本機 Markdown、MDX 和其他儲存庫檔案作為事實
|
|
|
42
42
|
| 資料庫模式 | SQL 行至 Drizzle | 託管應用、協作、共用、評論、版本歷史紀錄 |
|
|
43
43
|
| 本機檔案模式 | `agent-native.json`聲明的Repo檔案 | 本機/開發工作流程、Git 審核、編碼代理編輯、檔案本機內容 |
|
|
44
44
|
|
|
45
|
-
UI
|
|
45
|
+
UI 和代理 actions 在兩種模式下都應保持相同的形狀。內容
|
|
46
46
|
編輯器仍然編輯檔案;區別在於這些檔案是否解析
|
|
47
47
|
到 SQL 行或本機檔案。
|
|
48
48
|
|
|
49
|
-
```an-diagram title="相同的行為,兩個事實來源" summary="UI
|
|
49
|
+
```an-diagram title="相同的行為,兩個事實來源" summary="UI 和代理在兩種模式下呼叫相同的操作。操作層決定每個呼叫是否解析為 SQL 行或儲存庫檔案。"
|
|
50
50
|
{
|
|
51
51
|
"html": "<div class=\"diagram-mode\"><div class=\"diagram-col entry\"><div class=\"diagram-node\">內容 UI</div><div class=\"diagram-node\">代理 + actions<br><small class=\"diagram-muted\">list/get/update-document</small></div></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-row resolve\"><div class=\"diagram-panel\" data-rough><span class=\"diagram-pill accent\">資料庫模式</span><small class=\"diagram-muted\">SQL rows via Drizzle</small><small class=\"diagram-muted\">託管 · 分享 · 評論 · 歷史</small></div><div class=\"diagram-panel\" data-rough><span class=\"diagram-pill ok\">Local File Mode</span><small class=\"diagram-muted\">repo files via agent-native.json</small><small class=\"diagram-muted\">Git 評審 · 編碼代理編輯</small></div></div></div>",
|
|
52
52
|
"css": ".diagram-mode{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.diagram-mode .diagram-col{display:flex;flex-direction:column;gap:10px}.diagram-mode .diagram-arrow{font-size:22px;line-height:1}.diagram-mode .resolve{display:flex;gap:12px;flex-wrap:wrap}.diagram-mode .diagram-panel{display:flex;flex-direction:column;gap:4px;padding:12px 14px}"
|
|
@@ -84,16 +84,16 @@ UI 和特工 actions 在兩種模式下都應保持相同的形狀。內容
|
|
|
84
84
|
`docs/getting-started.mdx`.
|
|
85
85
|
|
|
86
86
|
`components/` 不是內容根。 MDX
|
|
87
|
-
檔案可以匯入或引用。編輯器可以渲染簡單的本機MDX元件
|
|
87
|
+
檔案可以匯入或引用。編輯器可以渲染簡單的本機 MDX 元件
|
|
88
88
|
無需您克隆或分叉整個內容應用。
|
|
89
89
|
|
|
90
90
|
`extensions/` 也不是內容根。它是一個本機擴充功能庫:
|
|
91
|
-
|
|
91
|
+
小型沙盒小工具,可以在應用程式槽中呈現,同時其來源保留在
|
|
92
92
|
儲存庫。
|
|
93
93
|
|
|
94
94
|
## 將內容安裝到儲存庫中
|
|
95
95
|
|
|
96
|
-
|
|
96
|
+
對於現有檔案、部落格或 MDX 工作區,安裝內容本機檔案
|
|
97
97
|
技能:
|
|
98
98
|
|
|
99
99
|
```bash
|
|
@@ -103,11 +103,11 @@ npx @agent-native/core@latest skills add content --mode local-files --scope proj
|
|
|
103
103
|
這會將 `content` 技能複製到儲存庫的代理技能資料夾中並寫入
|
|
104
104
|
或使用內容預設值更新 `agent-native.json`:
|
|
105
105
|
|
|
106
|
-
-
|
|
106
|
+
- 工作區層級的 `mode: "local-files"`
|
|
107
107
|
- `apps.content.mode: "local-files"`
|
|
108
108
|
- `docs/`、`blog/`、`content/` 和 `resources/` 的內容根
|
|
109
109
|
- `components/` 用於本機 MDX 元件
|
|
110
|
-
- `extensions/`
|
|
110
|
+
- `extensions/` 用於本機擴充功能小工具
|
|
111
111
|
|
|
112
112
|
安裝的技能告訴編碼代理使用內容actions
|
|
113
113
|
(`list-documents`, `get-document`, `edit-document`, `update-document`,
|
|
@@ -160,7 +160,7 @@ npx @agent-native/core@latest skills add content --mode local-files --scope proj
|
|
|
160
160
|
|
|
161
161
|
## 內容檔案格式
|
|
162
162
|
|
|
163
|
-
內容為 Markdown 和 MDX。 Frontmatter
|
|
163
|
+
內容為 Markdown 和 MDX。 Frontmatter 儲存頁面中繼資料,內文為
|
|
164
164
|
可編輯檔案:
|
|
165
165
|
|
|
166
166
|
```mdx
|
|
@@ -177,8 +177,8 @@ Use <FrameworkTabs value="react" /> to show framework-specific code.
|
|
|
177
177
|
```
|
|
178
178
|
|
|
179
179
|
標題來自 `title` frontmatter(如果存在),否則來自
|
|
180
|
-
|
|
181
|
-
|
|
180
|
+
檔名。編輯器保留了 MDX 來源程式碼,但尚無法進行視覺化編輯,因此
|
|
181
|
+
編碼代理和普通文字編輯器仍然是安全的逃生艙口。
|
|
182
182
|
|
|
183
183
|
## 自訂 MDX 元件
|
|
184
184
|
|
|
@@ -268,12 +268,12 @@ title: "發布說明"
|
|
|
268
268
|
元件執行有意成為本機開發/桌面橋接功能,而不是
|
|
269
269
|
普通託管瀏覽器資料夾存取。如果你開啟`content.agent-native.com`,
|
|
270
270
|
選取**本機檔案**,並在Chrome中選取一個資料夾,應用程式可以讀寫
|
|
271
|
-
|
|
271
|
+
透過瀏覽器檔案系統存取`.md`和`.mdx`檔案 API,但是
|
|
272
272
|
Chrome 不會公開 Vite 編譯的絕對資料夾路徑
|
|
273
273
|
`components/*.tsx`。要預覽和熱重載自訂 React 元件,請執行
|
|
274
274
|
本機內容或使用 Agent Native Desktop,以便受信任的本機網橋可以
|
|
275
275
|
將所選工作區註冊到本機內容開發伺服器。在該模式下,
|
|
276
|
-
|
|
276
|
+
透過 Vite 編輯現有元件檔案熱重載,並新增或
|
|
277
277
|
刪除元件檔案會重新載入元件註冊表和斜杠選單。
|
|
278
278
|
|
|
279
279
|
代理還可以使用這些已註冊的元件檔案。使用
|
|
@@ -283,14 +283,14 @@ Chrome 不會公開 Vite 編譯的絕對資料夾路徑
|
|
|
283
283
|
元件使用的真實來源;元件檔案保持正常倉庫
|
|
284
284
|
使用 Git 審核來源檔案。
|
|
285
285
|
|
|
286
|
-
|
|
287
|
-
|
|
286
|
+
如果元件匯出輸入中繼資料,則在編輯器中選取該元件
|
|
287
|
+
在元件的右上角顯示一個編輯按鈕。支援的輸入型別
|
|
288
288
|
為 `string`、`textarea`、`number`、`boolean` 和 `select`。表格寫
|
|
289
289
|
更改回 MDX 標籤,因此本機檔案仍然是事實來源。
|
|
290
|
-
|
|
290
|
+
中繼資料可以匯出為 `ComponentNameInputs`、`ComponentNameConfig.inputs`、
|
|
291
291
|
`Component.inputs`,或`agentNative.inputs`。
|
|
292
292
|
|
|
293
|
-
|
|
293
|
+
帶有文字屬性的簡單元件標籤可以行內預覽:
|
|
294
294
|
|
|
295
295
|
```mdx
|
|
296
296
|
<FrameworkTabs value="react" />
|
|
@@ -305,15 +305,15 @@ Chrome 不會公開 Vite 編譯的絕對資料夾路徑
|
|
|
305
305
|
## 共用本機檔案
|
|
306
306
|
|
|
307
307
|
本機檔案不會直接共用,因為其他使用者無法讀取路徑
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
308
|
+
你的機器。內容工具列的共用按鈕建立或重新整理
|
|
309
|
+
所選檔案的資料庫支援副本,導覽到該副本,然後開啟
|
|
310
|
+
正常共用快顯視窗。原始本機檔案保留在本機檔案下;
|
|
311
311
|
資料庫副本出現在本機檔案模式下的共用副本下,並使用
|
|
312
312
|
標準檔案共用模型。
|
|
313
313
|
|
|
314
314
|
## 本機擴充功能
|
|
315
315
|
|
|
316
|
-
|
|
316
|
+
本機檔案模式還可以從設定中載入儲存庫支援的擴充功能
|
|
317
317
|
`extensions` 資料夾。每個擴充功能都是一個帶有 `extension.json`
|
|
318
318
|
清單和 HTML 條目檔案:
|
|
319
319
|
|
|
@@ -339,32 +339,32 @@ extensions/
|
|
|
339
339
|
```
|
|
340
340
|
|
|
341
341
|
`index.html` 與普通使用的 Alpine/Tailwind 擴充功能主體格式相同
|
|
342
|
-
|
|
342
|
+
資料庫支援的擴充功能。當內容應用看到本機擴充功能時
|
|
343
343
|
聲明了 `content.sidebar.bottom`,它在底部呈現該擴充功能
|
|
344
|
-
|
|
345
|
-
檔案 ID
|
|
344
|
+
內容側邊欄。主機透過選取的`window.slotContext`
|
|
345
|
+
檔案 ID、標題、來源中繼資料以及內容是否處於本機檔案模式。
|
|
346
346
|
|
|
347
347
|
本機擴充功能由應用程式預覽,但作為檔案進行編輯。擴充功能
|
|
348
|
-
|
|
349
|
-
入口檔案。 SQL
|
|
348
|
+
清單顯示它們帶有本機檔案徽章,整頁面檢視器指向
|
|
349
|
+
入口檔案。 SQL 支援的擴充功能 actions,例如更新、刪除、共用和
|
|
350
350
|
歷史紀錄不適用;使用您的編輯器、Codex、Claude 程式碼或 Git 歷史紀錄
|
|
351
351
|
來源程式碼更改。
|
|
352
352
|
|
|
353
353
|
對於 v1,本機擴充功能有意保守:
|
|
354
354
|
|
|
355
355
|
- 他們可以將 `extensionData` 用於自己的小型執行時狀態
|
|
356
|
-
-
|
|
356
|
+
- 他們只能呼叫`extension.json`中列出的`appAction`
|
|
357
357
|
- 原始 SQL 助手和外部 `extensionFetch` 已停用
|
|
358
|
-
- slot 目標在 `extension.json`
|
|
358
|
+
- slot 目標在 `extension.json` 中聲明,而不是透過 SQL 安裝
|
|
359
359
|
|
|
360
360
|
這為本機工作空間提供了類似黑曜石的外掛介面,而無需讓
|
|
361
|
-
|
|
361
|
+
任意儲存庫檔案繼承資料庫支援的擴充功能的所有功能。
|
|
362
362
|
|
|
363
363
|
## 應用程式如何使用它
|
|
364
364
|
|
|
365
|
-
|
|
365
|
+
本機檔案模式是透過框架的本機工件助手實現的。
|
|
366
366
|
應用程式聲明其擁有的工件型別的根,然後讀取和寫入
|
|
367
|
-
|
|
367
|
+
透過 UI 和代理已經使用的相同操作介面。
|
|
368
368
|
|
|
369
369
|
對於內容,這意味著:
|
|
370
370
|
|
|
@@ -375,12 +375,12 @@ extensions/
|
|
|
375
375
|
- `delete-document`刪除本機檔案。
|
|
376
376
|
- 搜尋在設定的本機檔案中執行。
|
|
377
377
|
|
|
378
|
-
不能從內容 UI
|
|
379
|
-
|
|
380
|
-
|
|
378
|
+
不能從內容 UI 中行動、重新命名和重新排序本機檔案頁面
|
|
379
|
+
尚支援。在工作區或使用編碼代理執行這些操作;
|
|
380
|
+
內容側邊欄將反映產生的檔案樹。
|
|
381
381
|
|
|
382
382
|
這使代理合約變得簡單:代理可以繼續使用內容 actions,
|
|
383
|
-
而這些 actions 決定目標是 SQL
|
|
383
|
+
而這些 actions 決定目標是 SQL 支援的還是檔案支援的。
|
|
384
384
|
|
|
385
385
|
隨著時間的推移,其他應用程式可以采用相同的模式。幻燈片應用程式可以對應
|
|
386
386
|
`slides/*.mdx` 到甲板,計畫應用程式可以將 `plans/*` 對應到計畫檔案,以及
|
|
@@ -391,7 +391,7 @@ extensions/
|
|
|
391
391
|
|
|
392
392
|
內容有兩種不同的檔案工作流程:
|
|
393
393
|
|
|
394
|
-
| 工作流程 |
|
|
394
|
+
| 工作流程 | 發生了什麼 |
|
|
395
395
|
| ------------------------ | ------------------------------------------------------------------------ |
|
|
396
396
|
| `/local-files` 匯出/匯入 | 資料庫模式仍然是事實來源。檔案是您匯出、編輯、預覽和匯入的顯式同步表面。 |
|
|
397
397
|
| 本機檔案模式 | 檔案是真相的來源。內容側邊欄和編輯器直接對本機檔案進行操作。 |
|
|
@@ -404,15 +404,15 @@ extensions/
|
|
|
404
404
|
本機檔案模式依賴於檔案本機歷史紀錄:
|
|
405
405
|
|
|
406
406
|
- 向 Git 提交重要更改
|
|
407
|
-
-
|
|
407
|
+
- 使用 pull request 進行審核
|
|
408
408
|
- 讓編碼代理直接編輯相同的檔案
|
|
409
409
|
- 使用普通檔案差異來了解更改
|
|
410
410
|
|
|
411
411
|
資料庫模式仍然更適合託管協作功能,例如
|
|
412
|
-
共用、評論、SQL
|
|
412
|
+
共用、評論、SQL 支援的版本歷史紀錄和即時多使用者編輯。
|
|
413
413
|
|
|
414
414
|
提供者同步可以分層在任一模式之上。例如,檔案儲存庫可以
|
|
415
|
-
新增 actions,將內容從 CMS
|
|
415
|
+
新增 actions,將內容從 CMS 擷取到本機 MDX 檔案或推送所選內容
|
|
416
416
|
本機檔案返回到那個CMS。
|
|
417
417
|
|
|
418
418
|
## 安全正式環境
|
|
@@ -430,4 +430,4 @@ AGENT_NATIVE_ALLOW_LOCAL_FILES_IN_PRODUCTION=true
|
|
|
430
430
|
|
|
431
431
|
僅針對受信任的單租戶部署進行設定,其中每個人都可以使用
|
|
432
432
|
應用程式可以讀取和寫入設定的檔案。對於普通託管,
|
|
433
|
-
多使用者應用程式,使用資料庫模式和SQL
|
|
433
|
+
多使用者應用程式,使用資料庫模式和 SQL 支援的共用。
|