@agent-native/core 0.79.2 → 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 +24 -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 +38 -0
- 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/notifications/routes.d.ts +3 -3
- package/dist/observability/routes.d.ts +3 -3
- 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 +39 -0
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agent-engine-api-key-route.d.ts +2 -2
- 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,200 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "規劃外掛和市場"
|
|
3
|
+
description: "安裝 Agent-Native 計畫 skills(/visual-plan、/visual-recap)以及託管計畫 MCP 連線器作為 Claude 程式碼或 Codex 外掛,或使用通用 CLI。更新如何進行以及您是否需要提交任何內容。"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 規劃外掛和市場
|
|
7
|
+
|
|
8
|
+
Agent-Native **Plan** 應用程式作為一個可安裝的捆綁包提供。一次安裝即可新增計畫斜線指令 skills **並**連線託管計畫 MCP 連線器,以便代理可以生成計畫,並且 skills 可以將它們直接發布到計畫應用程式中。
|
|
9
|
+
|
|
10
|
+
## 你得到什么 {#what-you-get}
|
|
11
|
+
|
|
12
|
+
一次安裝即可為您提供:
|
|
13
|
+
|
|
14
|
+
- **兩個 skills** — `/visual-plan`(規範入口點)和 `/visual-recap`。
|
|
15
|
+
- **計畫 MCP 連線器** — 針對 `https://plan.agent-native.com` 上的託管應用程式進行註冊(MCP 端點 `https://plan.agent-native.com/_agent-native/mcp`,伺服器名稱 `plan`)。
|
|
16
|
+
|
|
17
|
+
```an-diagram title="三條路線,一攬子" summary="通用 CLI、Claude Code 外掛和 Codex 外掛都安裝相同的兩個技能以及託管計畫連線器。"
|
|
18
|
+
{
|
|
19
|
+
"html": "<div class=\"diagram-routes\"><div class=\"diagram-col\"><div class=\"diagram-node\">Universal CLI<br><small class=\"diagram-muted\">skills add visual-plan</small></div><div class=\"diagram-node\">Claude Code 外掛<br><small class=\"diagram-muted\">/plugin install</small></div><div class=\"diagram-node\">Codex 外掛<br><small class=\"diagram-muted\">codex plugin add</small></div></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-panel center\"><span class=\"diagram-pill accent\">/visual-plan</span><span class=\"diagram-pill accent\">/visual-recap</span><small class=\"diagram-muted\">two skills</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-box\">Plan MCP connector<br><small class=\"diagram-muted\">plan.agent-native.com/_agent-native/mcp</small></div></div>",
|
|
20
|
+
"css": ".diagram-routes{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.diagram-routes .diagram-col{display:flex;flex-direction:column;gap:10px}.diagram-routes .diagram-arrow{font-size:22px;line-height:1}.diagram-routes .center{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.diagram-routes .center .diagram-pill{margin:2px}"
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
預設情況下,skills 都會發布到託管的計畫應用 - 他們通過
|
|
25
|
+
MCP 連線器並向您提供連結或內聯計畫以供審核。他們從不傾倒
|
|
26
|
+
內嵌 Markdown/ASCII 計畫作為可交付成果放入聊天中。如果計畫工具
|
|
27
|
+
返回`needs auth`、`Unauthorized`或`Session terminated`,重新驗證
|
|
28
|
+
連線器而不是退回到內聯輸出。存取權杖是
|
|
29
|
+
壽命長(預設30天,滑動365天刷新),所以這種情況應該很少見;
|
|
30
|
+
當發生這種情況時,輕量級修複是:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npx -y @agent-native/core@latest reconnect https://plan.agent-native.com --client codex
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
`reconnect`通過URL為選定的本機查找並刷新連線器
|
|
37
|
+
用戶端 — 無需重新安裝。重新連線後啟動一個新的Codex線程,這樣
|
|
38
|
+
工具註冊表重新載入。在 Claude 程式碼中,相當於 `/mcp` →
|
|
39
|
+
**驗證/重新連線**,或與 `--client claude-code` 相同的指令。
|
|
40
|
+
|
|
41
|
+
例外是明確的**本機檔案隱私模式**。當你要求沒有資料庫時
|
|
42
|
+
寫入或設定`AGENT_NATIVE_PLANS_MODE=local-files`,skills不得調用
|
|
43
|
+
MCP 計畫連線器。他們寫 `plans/<slug>/plan.mdx` 加上可選
|
|
44
|
+
`canvas.mdx`、`prototype.mdx` 和 `.plan-state.json`,然後使用以下指令進行本機預覽:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx @agent-native/core@latest plan local serve --dir plans/<slug> --kind plan --open
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
這將啟動一個小型本機主機橋並針對本機開啟計畫 UI
|
|
51
|
+
資料夾。 (`plan local preview` 執行本機 Plan 開發伺服器路由,並且
|
|
52
|
+
`plan local preview --out preview.html` 是一個傳統的逃生艙口,寫入
|
|
53
|
+
獨立靜態 HTML 檔案。 `plan serve` 被接受作為
|
|
54
|
+
`plan local serve`.)
|
|
55
|
+
|
|
56
|
+
一些值得了解的本機檔案模式陷阱:
|
|
57
|
+
|
|
58
|
+
- **使用 Chromium 瀏覽器。** Safari 會阻止託管的 HTTPS 計畫頁面
|
|
59
|
+
讀取 `http://127.0.0.1` 本機主機橋(混合內容/私人
|
|
60
|
+
網路),因此頁面掛在“載入計畫”上。已在 macOS `--open` 上
|
|
61
|
+
更喜歡 Chrome/Chromium/Edge/Brave;如果 Safari 仍然開啟,請重新開啟列印的
|
|
62
|
+
Chromium 瀏覽器中的 URL。
|
|
63
|
+
- **服務的URL被寫入`plans/<slug>/.plan-url`**(用
|
|
64
|
+
`--url-file`)。後台或無頭代理可以讀取該檔案,而不是
|
|
65
|
+
抓取長時間執行的 `serve` 標準輸出。將其視為本機權杖檔案並且
|
|
66
|
+
不要提交。
|
|
67
|
+
- **當沒有可用瀏覽器時進行無頭驗證**:
|
|
68
|
+
`npx @agent-native/core@latest plan local verify --dir plans/<slug>`開始
|
|
69
|
+
橋接,檢查專用網路預檢和 JSON 有效負載,列印
|
|
70
|
+
診斷,並在失敗時以非零值退出 - 無需人眼。
|
|
71
|
+
- **首先執行 `plan local check`。**它根據計畫驗證 MDX
|
|
72
|
+
渲染器的塊架構(包括 `checklist` 專案等必填欄位
|
|
73
|
+
`id`/`label` 和 `question-form` 問題 `id`/`title`/`mode`),因此創作
|
|
74
|
+
錯誤在瀏覽器切換之前出現,而不是作為載入程序卡住。
|
|
75
|
+
|
|
76
|
+
對於目前儲存庫中的資料夾,直接本機路由包括 `?path=...`,因此
|
|
77
|
+
本機計畫應用程式可以將瀏覽器編輯儲存到儲存庫資料夾中。計畫
|
|
78
|
+
應用程式使用`agent-native.json`中的`apps.plan.roots[0].path`作為預設位置
|
|
79
|
+
儲存升級的本機計畫,回退到 `plans/`。
|
|
80
|
+
|
|
81
|
+
這會將計畫內容排除在 Agent-Native 計畫資料庫之外。託管共用,
|
|
82
|
+
除非您明確表示,評論、螢幕截圖和計畫歷史紀錄均不可用
|
|
83
|
+
稍後發布。
|
|
84
|
+
|
|
85
|
+
```an-diagram title="託管模式與本機檔案模式" summary="預設情況下技能通過連線器發布;本機檔案模式將 MDX 寫入磁盤並通過本機主機橋進行預覽。"
|
|
86
|
+
{
|
|
87
|
+
"html": "<div class=\"diagram-modes\"><div class=\"diagram-card\"><span class=\"diagram-pill accent\">預設 · 託管</span><strong>發布到 Plan 應用</strong><small class=\"diagram-muted\">MCP connector → hosted DB → share links, comments, history, screenshots</small></div><div class=\"diagram-card\"><span class=\"diagram-pill warn\">本機檔案隱私</span><strong>將 MDX 寫入磁盤</strong><small class=\"diagram-muted\">plan.mdx + canvas.mdx + prototype.mdx → localhost bridge → hosted Plan UI reads local source. No 資料庫寫入s until <code>publish-visual-plan</code>.</small></div></div>",
|
|
88
|
+
"css": ".diagram-modes{display:flex;gap:14px;flex-wrap:wrap}.diagram-modes .diagram-card{flex:1 1 260px;display:flex;flex-direction:column;gap:6px;padding:16px 18px}"
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Agent Native 桌面有一個單獨的託管計畫本機檔案同步路徑:
|
|
93
|
+
桌面應用程式可以將託管計畫鏡像到本機 MDX 檔案並將編輯內容匯入回來
|
|
94
|
+
無需克隆 Plan 應用程式或執行 CLI。該工作流程保持託管
|
|
95
|
+
計畫資料庫作為事實來源;當目標達到時使用本機檔案隱私模式
|
|
96
|
+
沒有計畫資料庫寫入。
|
|
97
|
+
|
|
98
|
+
> 外掛(`agent-native-visual-plans`)帶有app id `visual-plans`,這就是為什么Claude程式碼外掛名稱和Codex外掛名稱都是`agent-native-visual-plans`。計畫應用的顯示名稱為“Agent-Native 計畫”。
|
|
99
|
+
|
|
100
|
+
## 安裝路由 {#install}
|
|
101
|
+
|
|
102
|
+
有三種方式。**通用 CLI 路由**是我們預設推薦的一種,因為它安裝 skills **並且**允許您在一個流程中選取託管、本機檔案或自託管模式。外掛路由適用於具有一流外掛/市場系統的主機,並預設使用託管計畫。
|
|
103
|
+
|
|
104
|
+
### 通用技能路線(任意MCP主機) {#universal}
|
|
105
|
+
|
|
106
|
+
適用於任何主機 - Claude Code、Codex、Cursor、Cline、Goose、ChatGPT 自訂 MCP 應用程式、Claude Cowork 以及任何其他與 MCP 兼容的內容。 Agent-Native CLI 安裝 skills,註冊託管計畫 MCP 連線器,**並在同一步驟中為選定的本機用戶端執行驗證**,因此您的第一個工具調用不會遇到 OAuth 牆:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
npx @agent-native/core@latest skills add visual-plan
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
這將安裝 `visual-plan` 以及配套的 `visual-recap` 技能,然後註冊 `plan` 連線器,然後執行驗證(OAuth 提示託管/帳戶支持的共用)。有用的標志:
|
|
113
|
+
|
|
114
|
+
- `--client codex|claude-code|claude-code-cli|cowork|all` — 為其編寫 MCP 設定的本機代理(預設 `all`)。
|
|
115
|
+
- `--no-connect` — 註冊連線器而不進行驗證;稍後執行 `npx @agent-native/core@latest connect https://plan.agent-native.com --client all`,或者選取更窄的 `--client`。
|
|
116
|
+
- `--mode hosted|local-files|self-hosted` — 選取託管共用、全本機 MDX 檔案或您自己的計畫應用。
|
|
117
|
+
- `--mcp-url <url>` — 將連線器指向自訂來源(ngrok 隧道、本機開發伺服器或自託管部署),而不是託管預設值。
|
|
118
|
+
- `--with-github-action` — 還編寫 PR Visual Recap GitHub 操作(請參閱 [PR Visual Recap](/docs/pr-visual-recap))。
|
|
119
|
+
|
|
120
|
+
當沒有工作流程時,互動式安裝還提供 PR Visual Recap Action
|
|
121
|
+
出席。在技能設定期間選取“是”新增它,或稍後執行上面的指令
|
|
122
|
+
與 `--with-github-action`。工作流程編寫完成後,執行:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
npx @agent-native/core@latest recap setup
|
|
126
|
+
npx @agent-native/core@latest recap doctor
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
`recap setup` 在可能的情況下設定 GitHub 操作秘密和變數,
|
|
130
|
+
並且 `recap doctor` 驗證工作流程、本機發布權杖、GitHub 儲存庫
|
|
131
|
+
存取,並且需要 Actions 設定。安裝完成後,重新啟動或
|
|
132
|
+
重新載入代理用戶端,以便載入新的 skills 和工具,然後執行
|
|
133
|
+
`/visual-plan`.
|
|
134
|
+
|
|
135
|
+
> 注意:裸機 `npx skills@latest add BuilderIO/agent-native --skill visual-plan`(Vercel/open Skills CLI)安裝**僅說明** - 它不註冊 MCP 連線器。當您也想連線連線器時,請使用上面的 Agent-Native CLI。
|
|
136
|
+
|
|
137
|
+
### Claude程式碼(外掛) {#claude-code}
|
|
138
|
+
|
|
139
|
+
公開 `BuilderIO/agent-native` 儲存庫本身就是一個 Claude 程式碼外掛市場,因此您可以直接新增它 - 無需建置步驟。 Claude 內部程式碼:
|
|
140
|
+
|
|
141
|
+
```text
|
|
142
|
+
/plugin marketplace add BuilderIO/agent-native
|
|
143
|
+
/plugin install agent-native-visual-plans@agent-native-apps
|
|
144
|
+
/reload-plugins
|
|
145
|
+
/mcp # authenticate the Plan connector (one OAuth approval)
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
`/plugin install` 新增了計畫 skills 和 **僅 URL** MCP 設定(包中沒有秘密); `/mcp`→**驗證**完成OAuth握手。當您需要本機檔案或自託管模式時,請使用通用 CLI 路由。
|
|
149
|
+
|
|
150
|
+
> 市場目錄名為 `agent-native-apps`,計畫外掛為 `agent-native-visual-plans`,因此安裝目標始終為 `agent-native-visual-plans@agent-native-apps`。
|
|
151
|
+
|
|
152
|
+
### Codex(外掛) {#codex}
|
|
153
|
+
|
|
154
|
+
同一個儲存庫是 Codex 外掛市場。新增它,安裝外掛,然後驗證連線器:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
codex plugin marketplace add BuilderIO/agent-native
|
|
158
|
+
codex plugin add agent-native-visual-plans@agent-native-apps
|
|
159
|
+
codex mcp login plan # 瀏覽器中的 OAuth
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
安裝後,**啟動新的 Codex 線程**,以便 skills 和 MCP 工具載入到工作階段中。該外掛附帶一個僅限 URL 的連線器(`[mcp_servers.plan]` → `https://plan.agent-native.com/_agent-native/mcp`); `codex mcp login plan` 執行 OAuth 流程。如果您更喜歡使用一個指令來同時安裝和驗證,或者需要本機檔案或自託管模式,則上面的通用 CLI 路由也適用於 Codex (`npx @agent-native/core@latest skills add visual-plan --client codex`)。
|
|
163
|
+
|
|
164
|
+
> **較舊的安裝:**如果您的設定仍然有一個 `agent-native-plans` 條目指向相同的 URL,為 Codex 執行 `npx -y @agent-native/core@latest reconnect https://plan.agent-native.com --client codex`,或者與您的目標 `--client` 執行相同的指令,則將其合並為規範的 `plan` 名稱。
|
|
165
|
+
|
|
166
|
+
## 更新 {#updates}
|
|
167
|
+
|
|
168
|
+
外掛路由自動更新 - 您無需重新打包或重新新增市場來進行日常技能更改:
|
|
169
|
+
|
|
170
|
+
- **Claude Code** - 市場條目設定 `autoUpdate: true` 並且外掛使用 commit-SHA 版本控制,因此 Claude Code 在啟動時從儲存庫中提取新版本;執行`/reload-plugins`來激活。每次對儲存庫預設分支的推送都會自動到達已安裝的使用者。
|
|
171
|
+
- **Codex** — 外掛 `version` 嵌入了捆綁的 skills 和 MCP 端點(例如 `1.0.0+codex.<hash>`)的內容哈希,因此任何技能或端點更改都會產生新版本。 Codex的啟動自動升級會自行重新安裝設定的git市場;只需**啟動一個新線程**即可獲取更改。日常更新無需手動`codex plugin marketplace upgrade`。
|
|
172
|
+
- **通用 CLI 路線** — 執行 `npx @agent-native/core@latest skills status visual-plan` 來檢查複製的技能資料夾,或執行 `npx @agent-native/core@latest skills update visual-plan` 來刷新它們。當您還想重新註冊/驗證連線器時,重新執行 `skills add visual-plan` 仍然有效。 `@latest` 始終從已發布的 `@agent-native/core` 包中提取目前的 skills。
|
|
173
|
+
|
|
174
|
+
連線器指向**託管**應用程式,因此計畫應用程式的 actions 和實時工具表面始終反映已部署的版本,無論您何時安裝;只有捆綁的技能說明遵循上述更新機制。
|
|
175
|
+
|
|
176
|
+
> **維護者:** 市場捆綁包(`.claude-plugin/`、`.agents/plugins/`)是由 `pnpm sync:plan-marketplace` 根據規範計畫 skills 生成的,並由 `pnpm guard:plan-marketplace` 在 CI 中進行驗證,因此發布的市場始終與規範 skills 匹配。編輯技能,執行`pnpm sync:plan-marketplace`,然後提交。
|
|
177
|
+
|
|
178
|
+
## 您需要提交什么嗎? {#submission}
|
|
179
|
+
|
|
180
|
+
**分發或安裝此程序不需要提交或審核。** `BuilderIO/agent-native` 是一個自託管的公開 git 市場,因此使用者可以使用上面的指令直接在 **Claude 程式碼和 Codex** 上新增它 - 無需申請或批準。通用 CLI 路線根本不需要市場。
|
|
181
|
+
|
|
182
|
+
如果您想要公開列表,可選的可發現性:
|
|
183
|
+
|
|
184
|
+
- **Claude 程式碼**有一個社區市場,您可以*可選*提交到列表(提交加上自動審核)。 Anthropic 管理的官方市場由 Anthropic 自行決定列出 — 沒有開放的自助應用程式。兩者都不需要使用上面的安裝指令。
|
|
185
|
+
- **Codex** 有一個 OpenAI 策劃的外掛目錄(一個封閉的允許列表,作為合作伙伴而不是自助提交)。自託管 git 市場和 CLI 路線無需提交即可工作。
|
|
186
|
+
|
|
187
|
+
簡而言之:將其作為自託管/公開 git 市場發布,使用者直接安裝;僅當您希望將其列出以供發現時才提交到精選目錄。
|
|
188
|
+
|
|
189
|
+
## 外掛與技能 {#plugin-vs-skill}
|
|
190
|
+
|
|
191
|
+
**技能**是代理在工作匹配時讀取的單個 `SKILL.md` 指令檔案。 **外掛**(Claude 程式碼市場外掛或 Codex 外掛)是一個捆綁一個或多個 skills **加上** MCP 連線器和元資料的軟件包,因此主機可以一步安裝所有內容。
|
|
192
|
+
|
|
193
|
+
在底層,所有三個路由均由 `npx @agent-native/core@latest app-skill` CLI 從同一來源生成:`app-skill pack` 建置市場/外掛適配器,而 `skills add` 是友好的一步安裝程序,還可以註冊和驗證 MCP 連線器。請參閱 [Skills Guide](/docs/skills-guide) 了解應用程式技能清單格式,並參閱 [External Agents](/docs/external-agents) 了解連線任何 MCP 主機和 `npx @agent-native/core@latest connect` 流。
|
|
194
|
+
|
|
195
|
+
## 下一步是什么 {#whats-next}
|
|
196
|
+
|
|
197
|
+
- [**Visual Plans**](/docs/template-plan) — skills 的用途以及如何使用它們
|
|
198
|
+
- [**PR Visual Recap**](/docs/pr-visual-recap) - 在每個拉取請求上自動執行 `/visual-recap`
|
|
199
|
+
- [**Skills Guide**](/docs/skills-guide) - 應用程式支持的 skills 和清單格式
|
|
200
|
+
- [**External Agents**](/docs/external-agents) — 連線任何 MCP 主機和往返工件
|
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "公關視覺回顧"
|
|
3
|
+
description: "GitHub 操作,在每個 PR 上執行儲存庫的視覺回顧技能。 LLM 編碼代理讀取差異,發布互動式回顧計畫,顯示資訊檢查,並發布帶有內聯螢幕截圖的粘性 PR 評論。資訊性和非阻塞。"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 公關視覺回顧
|
|
7
|
+
|
|
8
|
+
PR Visual Recap 是一個 GitHub 操作,它將每個拉取請求轉變為**可視化程式碼審查**。每次推送時,LLM 編碼代理都會根據 PR 差異執行最新的捆綁 [`visual-recap`](/docs/template-plan) 技能(或者 `VISUAL_RECAP_SKILL_SOURCE=repo` 時您的儲存庫的提交副本),向託管計畫應用程式發布結構化回顧計畫,在執行時顯示資訊性 `Visual Recap` 檢查,並更新插入**一條粘性 PR 評論**,該評論連結到互動式計畫,並在評論中嵌入**內聯螢幕截圖**。
|
|
9
|
+
|
|
10
|
+
這不是確定性差異渲染器。該操作調用真正的編碼代理(預設情況下為 Claude 程式碼 CLI,或 OpenAI Codex CLI),該代理讀取更改,決定重要內容,並通過調用計畫 MCP 工具 `create-visual-recap`(與 `/visual-recap` 斜線指令使用的工具相同)來編寫概要。您將獲得變化的高空模式/API/前後視圖,而不是原始差異牆。
|
|
11
|
+
|
|
12
|
+
回顧是**資訊性且非阻塞**。它建立一個檢查行,以便審閱者可以看到生成正在進行中,但這不是必需的檢查,它永遠不會阻止 PR,也永遠不會取代讀取實際的差異。粘性評論是一種審閱輔助工具,而不是簽字。
|
|
13
|
+
|
|
14
|
+
## 它的作用
|
|
15
|
+
|
|
16
|
+
每次 PR 推送時,工作流程:
|
|
17
|
+
|
|
18
|
+
1. 收集 PR 基礎和頭部之間的有界差異。
|
|
19
|
+
2. 使用 `Visual recap in progress` 建立資訊性 `Visual Recap` GitHub 檢查。
|
|
20
|
+
3. 針對該差異執行設定的編碼代理。代理會讀取捆綁的 `visual-recap` 技能指南(或您的儲存庫固定副本)並撰寫回顧,並通過 `create-visual-recap` 發布。
|
|
21
|
+
4. 讀取代理寫給 `recap-url.txt` 的已發布計畫 URL。
|
|
22
|
+
5. 在無頭 Chrome 中開啟 URL 並截取明暗模式下渲染的平面圖。
|
|
23
|
+
6. 將 PNG 上傳到“計畫”應用上已簽名的公開圖片路線。
|
|
24
|
+
7. 在互動式回顧的連結旁邊插入一條粘性公關評論,將螢幕截圖**內聯**嵌入到 `<picture>` 元素(通過 GitHub 的迷彩圖片代理提供)。
|
|
25
|
+
8. 以成功、跳過或中立的方式完成 `Visual Recap` 檢查。
|
|
26
|
+
|
|
27
|
+
```an-diagram title="每次 PR 推送都會發生什么" summary="有界差異為真正的編碼代理提供資訊,該代理編寫了回顧;工作流程會對其進行螢幕截圖並插入一條粘性評論。"
|
|
28
|
+
{
|
|
29
|
+
"html": "<div class=\"diagram-recap\"><div class=\"diagram-node\">PR 推送<br><small class=\"diagram-muted\">bounded base…head diff</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-node\">編碼 Agent<br><small class=\"diagram-muted\">Claude Code / Codex 讀取 diff</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-panel center\"><span class=\"diagram-pill accent\">create-visual-recap</span><small class=\"diagram-muted\">publishes recap plan</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-node\">無頭 Chrome<br><small class=\"diagram-muted\">light + dark screenshots</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-box\">一條置頂 PR 評論<br><small class=\"diagram-muted\">inline screenshot + plan link</small></div></div><div class=\"diagram-foot diagram-muted\">Plus an informational <span class=\"diagram-pill\">Visual Recap</span> check — non-blocking, never required.</div>",
|
|
30
|
+
"css": ".diagram-recap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.diagram-recap .diagram-arrow{font-size:20px;line-height:1}.diagram-recap .center{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.diagram-recap .diagram-foot{flex-basis:100%;margin-top:10px;font-size:13px}"
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
重新推送會更新相同的計畫和相同的粘性評論 - 沒有孤立的計畫,沒有垃圾評論。
|
|
35
|
+
|
|
36
|
+
## 安裝
|
|
37
|
+
|
|
38
|
+
互動安裝套餐時,Agent-Native CLI 詢問是否新增
|
|
39
|
+
自動公關視覺回顧。同意寫入 GitHub 操作,或新增它
|
|
40
|
+
隨時明確:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
npx @agent-native/core@latest skills add visual-plan --with-github-action
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
這將安裝 `visual-plan` 技能(其中包括操作執行的 `visual-recap` 技能)並將 `.github/workflows/pr-visual-recap.yml` 寫入您的儲存庫。工作流程通過 `npx @agent-native/core@latest recap <subcommand>` 調用**發布的 CLI 子指令** — 包括 `gate`、`collect-diff`、`block-reference`、`scan`、`build-prompt`、`publish`、`shot`、`comment`、`check` 和`usage` - 因此沒有任何內容作為幫助程序腳本複製到您的儲存庫中。 `setup`和`doctor`是您本機執行的互動式助手; `gate` 是工作流程在每次回顧之前執行的安全門步驟。
|
|
47
|
+
|
|
48
|
+
然後執行引導設定幫助程序:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npx @agent-native/core@latest recap setup
|
|
52
|
+
npx @agent-native/core@latest recap doctor
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
`recap setup`刷新工作流程,使用`gh`設定GitHub Actions
|
|
56
|
+
當值可從 env 或本機計畫獲得時的秘密/變數
|
|
57
|
+
發布權杖存儲,並列印任何它無法列印的確切缺失指令
|
|
58
|
+
設定。秘密值通過標準輸入發送到 `gh`,而不是指令參數。提交
|
|
59
|
+
生成的工作流程檔案並開啟 PR 以檢視其執行。
|
|
60
|
+
|
|
61
|
+
預設情況下,工作流程根據最新捆綁的內容建置其代理提示
|
|
62
|
+
`@agent-native/core@latest` 中的 `visual-recap` 指導,包括任何同級
|
|
63
|
+
技能附帶的參考檔案。如果您的儲存庫有意定制並且
|
|
64
|
+
固定其提交的`visual-recap`資料夾,設定儲存庫變數
|
|
65
|
+
`VISUAL_RECAP_SKILL_SOURCE=repo`.
|
|
66
|
+
|
|
67
|
+
## 後端選取
|
|
68
|
+
|
|
69
|
+
選取哪個編碼代理使用 `VISUAL_RECAP_AGENT` 儲存庫變數執行技能:
|
|
70
|
+
|
|
71
|
+
| `VISUAL_RECAP_AGENT` | 編碼劑 | 所需的 API 金鑰 |
|
|
72
|
+
| -------------------- | ----------------- | ------------------- |
|
|
73
|
+
| `claude`_(預設)_ | Claude 程式碼 CLI | `ANTHROPIC_API_KEY` |
|
|
74
|
+
| `codex` | OpenAI Codex CLI | `OPENAI_API_KEY` |
|
|
75
|
+
|
|
76
|
+
如果變數未設定,則操作使用 `claude`。
|
|
77
|
+
|
|
78
|
+
## 模型和推理
|
|
79
|
+
|
|
80
|
+
除了後端之外,兩個儲存庫變數還可以調整代理的執行方式:
|
|
81
|
+
|
|
82
|
+
- **`VISUAL_RECAP_MODEL`** 固定傳遞給 CLI (`--model`) 的模型 — 例如 `gpt-5.5` 用於 Codex,或 Claude 模型 ID。保留其未設定以使用 CLI 自己的預設模型。
|
|
83
|
+
- **`VISUAL_RECAP_REASONING`** 設定推理深度:`none`、`minimal`、`low`、`medium`、`high` 或 `xhigh`。適用於Codex後端; Claude 的推理是模型驅動的,因此該變數被忽略。
|
|
84
|
+
- **`VISUAL_RECAP_SKILL_SOURCE`** 控制提示新鮮度:`auto`/unset 使用最新的捆綁技能指南,而 `repo` 固定到已提交的儲存庫本機 `visual-recap` 技能資料夾。
|
|
85
|
+
|
|
86
|
+
例如,要在 Codex 和 GPT-5.5 上以高推理執行回顧,請設定儲存庫變數 `VISUAL_RECAP_AGENT=codex`、`VISUAL_RECAP_MODEL=gpt-5.5` 和 `VISUAL_RECAP_REASONING=high`。
|
|
87
|
+
|
|
88
|
+
## 秘密和變數
|
|
89
|
+
|
|
90
|
+
在儲存庫的 **設定 → 秘密和變數 → Actions** 中設定這些內容。
|
|
91
|
+
|
|
92
|
+
### 秘密(只需兩個)
|
|
93
|
+
|
|
94
|
+
| 秘密 | 目的 |
|
|
95
|
+
| ------------------- | ----------------------------------------------------------------------------------------- |
|
|
96
|
+
| `PLAN_RECAP_TOKEN` | 由 `npx @agent-native/core@latest connect` 鑄造的可撤銷代幣。授權發布回顧計畫和截圖上傳。 |
|
|
97
|
+
| `ANTHROPIC_API_KEY` | 預設 Claude 程式碼後端的 LLM 金鑰。 |
|
|
98
|
+
|
|
99
|
+
**團隊:使用組織服務權杖。**個人權杖與人員綁定
|
|
100
|
+
誰鑄造了它 - 如果他們離開組織或撤銷他們的代幣,每個儲存庫都會使用
|
|
101
|
+
該秘密開始失敗並出現 401,並且 CI 建立的計畫歸其所有
|
|
102
|
+
個人而不是團隊。組織服務權杖歸您所有
|
|
103
|
+
**組織**:它充當服務主體 (`svc-<name>@service.<orgId>`),
|
|
104
|
+
在任何個人離開後仍然存在,其發布的摘要對組織可見,並且
|
|
105
|
+
任何組織所有者或管理員都可以列出或撤銷它。建立一個(僅限組織所有者/管理員):
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
npx @agent-native/core@latest connect https://plan.agent-native.com --service-token pr-recap
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
該指令在瀏覽器中對您進行驗證,然後列印服務權杖
|
|
112
|
+
僅一次 - 將其存儲為 `PLAN_RECAP_TOKEN` 秘密。稍後使用
|
|
113
|
+
`list-org-service-tokens` 和 `revoke-org-service-token` actions
|
|
114
|
+
計畫應用程式。
|
|
115
|
+
|
|
116
|
+
**Solo:個人代幣仍然有效。**用 `npx @agent-native/core@latest connect` 鑄造它
|
|
117
|
+
針對您的計畫應用程式。對於託管應用程式,這還會寫入本機
|
|
118
|
+
`npx @agent-native/core@latest recap setup`可以讀取的發布權杖檔案:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
npx @agent-native/core@latest connect https://plan.agent-native.com --client codex
|
|
122
|
+
npx @agent-native/core@latest recap setup
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
如果您更喜歡手動設定,請將權杖貼上到 GitHub 金鑰中。使用
|
|
126
|
+
像 `plan_recap_xxxxxxxxxxxxxxxx` 這樣的預留位置僅用於範例 - 切勿提交
|
|
127
|
+
真實代幣。
|
|
128
|
+
|
|
129
|
+
### 可選(僅當您更改預設值時)
|
|
130
|
+
|
|
131
|
+
| 秘密/變數 | 預設 | 當你需要的時候 |
|
|
132
|
+
| ------------------------ | ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
|
|
133
|
+
| `OPENAI_API_KEY` | — | 秘密。與 `VISUAL_RECAP_AGENT=codex` 一起設定以使用 Codex 執行回顧。 |
|
|
134
|
+
| `VISUAL_RECAP_AGENT` | `claude` | 變數。選取編碼代理後端(`claude` 或 `codex`)。 |
|
|
135
|
+
| `VISUAL_RECAP_MODEL` | 每個CLI的預設值 | 變數。固定模型 - 例如`gpt-5.5` 表示 Codex,或 Claude 型號 ID。取消設定使用 CLI 自己的預設值。 |
|
|
136
|
+
| `VISUAL_RECAP_REASONING` | 每個模型的預設值 | 變數。推理深度:`none`、`minimal`、`low`、`medium`、`high` 或 `xhigh`。適用於Codex後端。 |
|
|
137
|
+
| `RECAP_CLI_VERSION` | `latest` | 變數。固定工作流程安裝的 `@agent-native/core` CLI 版本 - 例如`1.5.0`。參見[Version pinning](#version-pinning-copy-variant)。 |
|
|
138
|
+
| `PLAN_RECAP_APP_URL` | `https://plan.agent-native.com` | 秘密。僅當在不同來源自行託管計畫應用時。 |
|
|
139
|
+
|
|
140
|
+
工作流自動檢測如何調用其助手 CLI(此 monorepo 內的本機來源,在其他地方發布的 `@agent-native/core`),因此無需設定 `RECAP_CLI` 變數。
|
|
141
|
+
|
|
142
|
+
## 評論內嵌截圖
|
|
143
|
+
|
|
144
|
+
代理發布概要後,工作流程會在無頭 Chrome 中以淺色和深色模式對渲染的計畫進行螢幕截圖,並將 PNG 上傳到計畫應用程式上已簽名的公開圖片路徑。然後,粘性 PR 評論將這些螢幕截圖**內嵌**與 `<picture>` 元素一起嵌入 - GitHub 通過其迷彩代理重新提供它們,因此審閱者可以直接在評論中看到與其 GitHub 主題匹配的預覽,而無需開啟任何內容。當他們想要探索、評論或注釋時,完整互動計畫的連結就位於其旁邊。
|
|
145
|
+
|
|
146
|
+
## 分叉 PR
|
|
147
|
+
|
|
148
|
+
### 預設行為(無需執行任何操作)
|
|
149
|
+
|
|
150
|
+
主要的 `pr-visual-recap.yml` 工作流程在普通的 `pull_request` 觸發器上觸發,**不是** `pull_request_target`。因此,分叉 PR 執行時**無法存取儲存庫機密**,因此工作流程不會發現 `PLAN_RECAP_TOKEN` 並且完全無操作 - 不會發布失敗,不會暴露憑證。對於來自同一儲存庫中的分支的 PR,自動執行 Recaps,其中機密可用。
|
|
151
|
+
|
|
152
|
+
這也意味著您可以在秘密存在之前\*\*合並工作流檔案:在沒有設定權杖的情況下,每次執行都是安靜的無操作,直到您設定秘密為止。 `gate` 步驟還會自動跳過草稿 PR 和機器人編寫的 PR,因此預設情況下不會執行觸發器回顧。
|
|
153
|
+
|
|
154
|
+
### 選取加入標籤門控分叉工作流程
|
|
155
|
+
|
|
156
|
+
如果您想生成分叉 PR 的摘要,可以使用第二個工作流程檔案:`.github/workflows/pr-visual-recap-fork.yml`。它使用 `pull_request_target`(使用基本儲存庫機密執行),但從不簽出或執行分叉程式碼。具有 GitHub 作者關聯 `OWNER`、`MEMBER` 或 `COLLABORATOR` 的可信分叉作者會自動執行。外部分叉 PR 需要在 recap 代理執行之前通過新的 `recap` 標籤事件明確的**每頭維護者選取加入**。
|
|
157
|
+
|
|
158
|
+
要安裝它,請將檔案從 [BuilderIO/agent-native](https://github.com/BuilderIO/agent-native/blob/main/.github/workflows/pr-visual-recap-fork.yml) 與現有的 `pr-visual-recap.yml` 一起複製到儲存庫的 `.github/workflows/` 目錄中。相同的秘密(`PLAN_RECAP_TOKEN`、`ANTHROPIC_API_KEY`)適用。
|
|
159
|
+
|
|
160
|
+
```an-diagram title="分叉 PR 同意門" summary="預設情況下,分叉 PR 沒有任何秘密;受信任的作者自動執行,外部貢獻者需要新的維護者回顧標籤。"
|
|
161
|
+
{
|
|
162
|
+
"html": "<div class=\"diagram-fork\"><div class=\"diagram-node\">Fork PR 已開啟<br><small class=\"diagram-muted\">main workflow has no secrets</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-card\"><span class=\"diagram-pill ok\">可信作者</span><small class=\"diagram-muted\">OWNER、MEMBER 或 COLLABORATOR 自動執行</small></div><div class=\"diagram-card\"><span class=\"diagram-pill warn\">外部貢獻者</span><small class=\"diagram-muted\">維護者審核 diff 後再應用 <code>recap</code></small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-panel center\">門禁檢查<br><small class=\"diagram-muted\">fork PR? & trusted or fresh label?</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-box ok\">回顧執行<br><small class=\"diagram-muted\">僅基礎 repo 程式碼 · fork diff 作為文本輸入</small></div></div>",
|
|
163
|
+
"css": ".diagram-fork{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.diagram-fork .diagram-arrow{font-size:20px;line-height:1}.diagram-fork .center{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.diagram-fork .diagram-card{display:flex;flex-direction:column;gap:6px;padding:12px 14px}"
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### 標籤門如何工作
|
|
168
|
+
|
|
169
|
+
1. 分叉貢獻者建立了一個 PR。由於 GitHub 保留了分叉執行的秘密,因此會跳過正常的 `pull_request` 工作流程。
|
|
170
|
+
2. fork 工作流程檢查 PR 作者關聯。受信任的作者(`OWNER`、`MEMBER` 或 `COLLABORATOR`)會在開啟、同步、重新開啟和準備審閱事件時自動執行。
|
|
171
|
+
3. 外部貢獻者要求維護人員檢查目前的差異(特別是對於提示注入型內容 - 見下文),然後將 `recap` 標籤應用於 PR。
|
|
172
|
+
4. 外部貢獻者標籤門是每個頭 SHA:如果貢獻者推送更多提交,則下一個同步事件將跳過,直到維護者在檢查新差異後刪除並重新應用 `recap`。
|
|
173
|
+
|
|
174
|
+
### fork 工作流程做什么以及 NOT 做什么
|
|
175
|
+
|
|
176
|
+
| 工作流程DOES | 工作流程執行 NOT |
|
|
177
|
+
| ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
|
|
178
|
+
| 在**基本分支引用**處簽出**基本儲存庫** - 僅受信任的程式碼 | 從 fork 中簽出或執行任何程式碼 |
|
|
179
|
+
| 獲取叉頭作為遠端引用(`git fetch origin pull/<n>/head:refs/recap/fork-head`)——獲取提交是安全的 | 從 fork 安裝軟件包、執行 fork 腳本或將 fork 內容評估為程式碼 |
|
|
180
|
+
| 執行 `git diff base...refs/recap/fork-head` — 兩個已獲取物件的純文本差異 | 將差異用作 LLM 文本輸入之外的任何內容 |
|
|
181
|
+
| 執行**基礎儲存庫的**視覺回顧技能和代理設定 | 從 fork 載入任何技能或設定 |
|
|
182
|
+
| 通過與第一方 PR 相同的秘密掃描步驟(失敗關閉)傳遞差異 | 跳過秘密掃描 |
|
|
183
|
+
| 向代理提示新增明確的提示強化注釋,將差異內容標記為不受信任 | 授予代理除正常回顧代理之外的任何其他權限 |
|
|
184
|
+
|
|
185
|
+
### 為什么在標記之前必須檢查差異
|
|
186
|
+
|
|
187
|
+
fork diff 是攻擊者控制的文本,recap 代理將其讀取為輸入。精心設計的 diff 可能包含提示注入內容 - 例如,看起來像代理指令的 diff 行 - 旨在使 recap 代理采取非預期的 actions (例如,泄露發布權杖或產生誤導性的 recap 內容)。
|
|
188
|
+
|
|
189
|
+
在應用 `recap` 標籤之前,瀏覽差異:
|
|
190
|
+
|
|
191
|
+
- 讀起來像直接指令或角色指令的行(“忽略先前的指令...”、“您現在...”、“將權杖寫入...”)。
|
|
192
|
+
- 不尋常的檔案名可能會在系統提示時被誤讀。
|
|
193
|
+
- 新增的檔案中的編碼內容可能會解碼為指令。
|
|
194
|
+
|
|
195
|
+
這些緩解措施已經在工作流程中分層(秘密掃描、敏感路徑門控、提示強化注釋、受限代理工具允許清單),但標籤審查是主要防線。
|
|
196
|
+
|
|
197
|
+
### 與主工作流程的關系
|
|
198
|
+
|
|
199
|
+
這兩個工作流程檔案是獨立的。對於非分叉 PR 更新,`pr-visual-recap.yml` 是唯一執行的工作流程。對於分叉 PR,正常工作流程在其分叉門處退出,`pr-visual-recap-fork.yml` 會為受信任的同一組織作者自動執行,或者在外部貢獻者的新維護者 `recap` 標籤之後自動執行。它們共用相同的粘性評論標記和計畫 ID 線程,因此 PR 和分支 PR 都會對同一 PR 生成單個更新插入的評論。
|
|
200
|
+
|
|
201
|
+
### 自修改守衛 {#self-modifying-guard}
|
|
202
|
+
|
|
203
|
+
當 PR 觸及以下任何路徑時,`gate` 步驟會完全跳過回顧,因此 PR 永遠無法重寫可信回顧作業載入並泄露機密的工作流程、技能或代理設定:
|
|
204
|
+
|
|
205
|
+
| 路徑模式 | 原因 |
|
|
206
|
+
| ------------------------------------------ | ---------------------------------------- |
|
|
207
|
+
| `.github/workflows/pr-visual-recap.yml` | 工作流程本身 |
|
|
208
|
+
| `**/skills/visual-(recap\|plan\|plans)/**` | The visual-recap skill the agent follows |
|
|
209
|
+
| `**/.claude/**` | 執行程序載入的代理設定 |
|
|
210
|
+
| `**/CLAUDE.md` | 執行程序載入的代理指令 |
|
|
211
|
+
| `**/AGENTS.md` | 執行程序載入的代理指令 |
|
|
212
|
+
| `**/.mcp.json` | 執行器載入的MCP伺服器設定 |
|
|
213
|
+
|
|
214
|
+
在 `BuilderIO/agent-native` monorepo 中,工作流程從受信任的基本分支來源而不是 PR 頭來源執行回顧 CLI。這使得正常的包更改(包括 `packages/core/**`)可以進行回顧,而無需執行 PR 修改的 CLI 程式碼。
|
|
215
|
+
|
|
216
|
+
## 本機檔案隱私模式
|
|
217
|
+
|
|
218
|
+
GitHub 操作專為託管、可共用的 PR 審核而設計。如果你想要一個
|
|
219
|
+
回顧而不將回顧內容發送到 Agent-Native 計畫資料庫,執行
|
|
220
|
+
相同的幫助程序在本機檔案模式下本機流動:
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
npx @agent-native/core@latest recap collect-diff --base main --head HEAD --out recap.diff --stat recap.stat
|
|
224
|
+
npx @agent-native/core@latest recap scan --diff recap.diff
|
|
225
|
+
npx @agent-native/core@latest recap build-prompt --pr 123 --diff recap.diff --stat recap.stat --local-files --local-dir plans/pr-123-visual-recap
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
將生成的 `recap-prompt.md` 交給您的編碼代理。在本機檔案模式
|
|
229
|
+
提示指示代理寫入 `plans/pr-123-visual-recap/plan.mdx`
|
|
230
|
+
加上可選的視覺檔案,然後執行:
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
npx @agent-native/core@latest plan local serve --dir plans/pr-123-visual-recap --kind recap --open
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
返回的 URL 開啟託管計畫 UI,同時瀏覽器讀取回顧 MDX
|
|
237
|
+
來自本機主機橋。回顧內容未寫入託管計畫
|
|
238
|
+
資料庫,URL僅適用於執行網橋的機器。如果你執行
|
|
239
|
+
本機計畫應用程式具有相同的 `PLAN_LOCAL_DIR`,
|
|
240
|
+
`/local-plans/pr-123-visual-recap` 路線也有效。回購支持的資料夾可以
|
|
241
|
+
以 `/local-plans/pr-123-visual-recap?path=plans%2Fpr-123-visual-recap` 的形式開啟。
|
|
242
|
+
此模式停用託管的粘性 PR 評論、內嵌螢幕截圖上傳,
|
|
243
|
+
使用附件和瀏覽器評論,直到您明確發布為止。
|
|
244
|
+
|
|
245
|
+
## 它是資訊性的,而不是門
|
|
246
|
+
|
|
247
|
+
概述是在正常 PR 流程之上的複習輔助工具:
|
|
248
|
+
|
|
249
|
+
- 它顯示 `Visual Recap` 檢查行以提高可見性,但它**不是必需的檢查**並且永遠不會阻止合並。
|
|
250
|
+
- 生成或發布失敗會中立地完成,並顯示為解釋性粘性注釋,而不是不相關程式碼上的紅色 X。
|
|
251
|
+
- 回顧及其螢幕截圖**並不意味著差異已被審查**。審閱者仍然需要閱讀實際更改的行。
|
|
252
|
+
|
|
253
|
+
## 版本固定(複製變體) {#version-pinning-copy-variant}
|
|
254
|
+
|
|
255
|
+
預設情況下,複製變體工作流程在執行時安裝 `@agent-native/core@latest`,因此每次回顧執行都會自動選取最新的 CLI。如果您的 CI 需要可重現的工具,請設定 **`RECAP_CLI_VERSION`** 儲存庫變數來固定已安裝的版本:
|
|
256
|
+
|
|
257
|
+
1. 轉到您的儲存庫的**設定 → 秘密和變數 → Actions → 變數**。
|
|
258
|
+
2. 建立一個名為 `RECAP_CLI_VERSION` 的變數,其值類似於 `1.5.0`。
|
|
259
|
+
|
|
260
|
+
該變數是可選的。保持未設定(或將其設定為 `latest`)以跟蹤最新版本。
|
|
261
|
+
|
|
262
|
+
對於可重用調用程序變體,請使用 `cli-version` 輸入(請參閱可重用部分中的 [Version pinning](#version-pinning))。
|
|
263
|
+
|
|
264
|
+
## 秘密掃描允許清單
|
|
265
|
+
|
|
266
|
+
在發布回顧之前,工作流程執行 `npx @agent-native/core@latest recap scan` 以檢測差異中可能的秘密。任何其 diff 與已知秘密模式匹配的 PR 都會被阻止並帶有解釋性注釋 - 不會發布摘要,並且不會將 diff 內容發送到編碼代理。
|
|
267
|
+
|
|
268
|
+
在極少數情況下,儲存庫具有故意的測試裝置或表面上類似於秘密模式的非秘密字串(例如,測試檔案中的裝置金鑰)。要抑制誤報,請在儲存庫的根目錄中建立 `.github/recap-scan-allowlist`。
|
|
269
|
+
|
|
270
|
+
### 格式
|
|
271
|
+
|
|
272
|
+
每個非空白、非注釋行都是一個 **文字子字串** 或 **`/regex/flags`** 模式:
|
|
273
|
+
|
|
274
|
+
```
|
|
275
|
+
# 以 # 開頭的行是注釋。
|
|
276
|
+
|
|
277
|
+
# 文字子字串 — 允許包含該字串的任何 diff 行。
|
|
278
|
+
sk-test-fixture1234567890abcdef
|
|
279
|
+
|
|
280
|
+
# Regex pattern — written as /pattern/flags (JS syntax).
|
|
281
|
+
/^.STRIPE_KEY=sk-test-/i
|
|
282
|
+
|
|
283
|
+
# 又一個字面意思。
|
|
284
|
+
EXAMPLE_API_KEY=placeholder-value
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
規則:
|
|
288
|
+
|
|
289
|
+
- 當一行包含文字或整行與正則表達式匹配時,該行將被**抑制**(允許)。
|
|
290
|
+
- 檔案是**失敗關閉**:如果不存在,則不應用任何抑制 - 掃描器的行為與以前一樣。
|
|
291
|
+
- 空檔案相當於沒有檔案。
|
|
292
|
+
- 格式錯誤的正則表達式行被視為文字字串。
|
|
293
|
+
|
|
294
|
+
允許清單僅由秘密掃描門查閱。它不會影響編碼代理可以讀取的內容 - 如果門通過,代理無論如何都會收到完整的差異。
|
|
295
|
+
|
|
296
|
+
## 采用可重複使用的工作流程
|
|
297
|
+
|
|
298
|
+
### 為什么使用可重用變體?
|
|
299
|
+
|
|
300
|
+
預設安裝程序將完整的約 360 行工作流程 YAML 複製到您的儲存庫中(**複製**選項)。對於氣隙儲存庫或需要審核每一行執行內容的儲存庫來說,這是正確的選取。缺點是錯誤修複和改進永遠不會到達您的手中 - 您需要在每次發布後手動重新執行 `npx @agent-native/core@latest recap setup`。
|
|
301
|
+
|
|
302
|
+
**可重用**選項改為編寫一個精簡的約 20 行調用程序。它通過`uses:`委托給`BuilderIO/agent-native/.github/workflows/pr-visual-recap-reusable.yml`。當工作流程執行時,每個調用者都會自動獲取最新邏輯,無需本機更新。
|
|
303
|
+
|
|
304
|
+
| | 複製(預設) | 可重複使用 |
|
|
305
|
+
| ---------------------- | --------------------------- | -------------------------------- |
|
|
306
|
+
| 儲存庫中的工作流程大小 | ~360 行 | ~20 行 |
|
|
307
|
+
| 自動修複 | 否 — 重新執行 `recap setup` | 是 |
|
|
308
|
+
| 氣隙/完全可審計性 | 是 | 否 |
|
|
309
|
+
| 可固定到特定版本 | 僅通過本機編輯 | 是 - 將 `@v1.2.3` 設定為 `uses:` |
|
|
310
|
+
|
|
311
|
+
### 調用者片段
|
|
312
|
+
|
|
313
|
+
這是`npx @agent-native/core@latest recap setup --reusable`寫的(或者你可以手動貼上):
|
|
314
|
+
|
|
315
|
+
```yaml
|
|
316
|
+
name: PR Visual Recap
|
|
317
|
+
|
|
318
|
+
# 瘦調用者 — 完整的工作流邏輯位於 BuilderIO/agent-native 中。
|
|
319
|
+
# 修複和改進會在每次執行時自動到達此儲存庫。
|
|
320
|
+
# 要固定特定版本以實現可重複性,請將 '@main' 替換為
|
|
321
|
+
# 標籤或 SHA、e.g。 '@<x2/>' 或 '@abc1234'。
|
|
322
|
+
|
|
323
|
+
on:
|
|
324
|
+
pull_request:
|
|
325
|
+
types: [opened, synchronize, reopened, ready_for_review, closed]
|
|
326
|
+
|
|
327
|
+
jobs:
|
|
328
|
+
visual-recap:
|
|
329
|
+
permissions:
|
|
330
|
+
actions: write
|
|
331
|
+
contents: read
|
|
332
|
+
checks: write
|
|
333
|
+
issues: write
|
|
334
|
+
pull-requests: write
|
|
335
|
+
uses: BuilderIO/agent-native/.github/workflows/pr-visual-recap-reusable.yml@main
|
|
336
|
+
secrets:
|
|
337
|
+
PLAN_RECAP_TOKEN: ${{ secrets.PLAN_RECAP_TOKEN }}
|
|
338
|
+
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
339
|
+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
340
|
+
PLAN_RECAP_APP_URL: ${{ secrets.PLAN_RECAP_APP_URL }}
|
|
341
|
+
with:
|
|
342
|
+
agent: ${{ vars.VISUAL_RECAP_AGENT || 'claude' }}
|
|
343
|
+
model: ${{ vars.VISUAL_RECAP_MODEL || '' }}
|
|
344
|
+
reasoning: ${{ vars.VISUAL_RECAP_REASONING || '' }}
|
|
345
|
+
skill-source: ${{ vars.VISUAL_RECAP_SKILL_SOURCE || 'auto' }}
|
|
346
|
+
# cli-version: "latest" # pin to a specific @agent-native/core version
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
適用 [Secrets and variables](#secrets-and-variables) 中描述的相同秘密和變數 - 在儲存庫設定中以與複製變體相同的方式設定它們。
|
|
350
|
+
|
|
351
|
+
### 通過CLI安裝
|
|
352
|
+
|
|
353
|
+
```bash
|
|
354
|
+
# 編寫瘦調用者而不是完整副本:
|
|
355
|
+
npx @agent-native/core@latest recap setup --reusable
|
|
356
|
+
|
|
357
|
+
# 或者使用固定參考來實現可重複性:
|
|
358
|
+
npx @agent-native/core@latest recap setup --reusable --ref v1.2.3
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
兩種變體都將工作流程寫入 `.github/workflows/pr-visual-recap.yml`。如果現有工作流程已存在且有所不同,則該指令會拒絕並告訴您傳遞 `--force` 進行覆蓋。
|
|
362
|
+
|
|
363
|
+
寫入後,照常執行 `npx @agent-native/core@latest recap doctor` 以確認機密已設定。
|
|
364
|
+
|
|
365
|
+
### 版本固定
|
|
366
|
+
|
|
367
|
+
預設情況下,調用者引用 `@main`,它始終使用可重用工作流程的最新發布版本。對於需要可重現 CI 的正式環境儲存庫,請固定到標籤或 SHA:
|
|
368
|
+
|
|
369
|
+
```yaml
|
|
370
|
+
uses: BuilderIO/agent-native/.github/workflows/pr-visual-recap-reusable.yml@v1.2.3
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
`cli-version` 輸入控制工作流程中執行的 `@agent-native/core` CLI 版本 - 將其保留在 `"latest"` 以跟蹤最新版本,或將其固定到版本字串(例如 `"1.5.0"`)以實現完全可重複性。
|
|
374
|
+
|
|
375
|
+
### workflow_call事件上下文
|
|
376
|
+
|
|
377
|
+
`workflow_call` 工作流程繼承**調用者的**事件上下文。可重用工作流程使用 `github.event.pull_request.*` 表達式來讀取 PR 編號、頭 SHA、基礎 SHA、合並時間戳和 PR 元資料 - 僅當調用者在 `pull_request` 上觸發時,這些才能正常工作。上面的調用者程式碼片段已經包含正確的事件型別。包含 `closed` 事件,因此合並的 PR 回顧可以用 `merged_at` 標記,並在以後作為已發布的工作進行搜尋。
|
|
378
|
+
|
|
379
|
+
不要在 `workflow_dispatch` 或 `push` 上觸發調用者 - 這些事件不攜帶 `pull_request` 負載,並且門將跳過“無 pull_request 負載”的回顧。
|
|
380
|
+
|
|
381
|
+
## 相關
|
|
382
|
+
|
|
383
|
+
- [Visual Plans](/docs/template-plan) — `/visual-plan` 和 `/visual-recap` skills、託管計畫連線器以及此操作發布到的互動式審核介面。
|
|
384
|
+
- [Skills](/docs/skills-guide) — 將代理本機 skills 安裝到您的編碼代理中。
|