fix(web): use daemon MCP install info in agent guide - #4865
Conversation
|
🧪 This PR changes the copied Use Everywhere guide behavior, so it’ll need a manual QA pass before merge. Please hold off self-merging for now; we’ll loop QA in once it’s merge-ready (and after any design/product sign-off that applies). |
mrcfps
left a comment
There was a problem hiding this comment.
@YOMXXX Thanks for tightening the copied MCP guide — pulling the daemon-reported launch tuple into the handoff text is the right fix direction. I found one follow-up in the new async fetch path that can still copy the old PATH-based guide if the user clicks immediately.
🔁 Powered by Looper · runner=reviewer · agent=opencode · An autonomous AI dev team for your GitHub repos.0dd3c7f to
73f2d04
Compare
mrcfps
left a comment
There was a problem hiding this comment.
@YOMXXX Thanks for tightening the copied MCP guide — pulling the daemon-reported launch tuple into the handoff text is the right direction. I found one blocker before this is safe to ship for packaged Windows installs.
🔁 Powered by Looper · runner=reviewer · agent=opencode · An autonomous AI dev team for your GitHub repos.73f2d04 to
c007ae0
Compare
mrcfps
left a comment
There was a problem hiding this comment.
@YOMXXX Thanks for tightening the copied MCP guide — pulling the daemon-reported launch tuple into the guide is the right fix direction. I found one follow-up in the same modal where the MCP snippet itself still stays on the generic PATH-based config.
🔁 Powered by Looper · runner=reviewer · agent=opencode · An autonomous AI dev team for your GitHub repos.c007ae0 to
81bcd31
Compare
mrcfps
left a comment
There was a problem hiding this comment.
@YOMXXX I re-reviewed the updated changed ranges and confirmed the copied guide plus the MCP-tab render/copy paths now all source the MCP JSON from /api/mcp/install-info, with regression tests covering the immediate-click race and the packaged-Windows launcher tuple. Thanks for pushing through the follow-ups here 🙏
|
Hey @YOMXXX — quick status update from our side: the code-review loop is already in a good place, and the remaining step here is the manual QA pass that's queued for this PR. Nothing new is needed from you right now. If you hit a blocker or want another look after a follow-up push, just drop a note here. |
AmyShang-alt
left a comment
There was a problem hiding this comment.
QA 验收记录
验收范围:
- Use Everywhere 的 agent guide / MCP snippet 在 install-info 成功和失败两条路径下的展示与复制行为。
已验证:
- PR head:
81bcd31c8cf04a40fa25570efa7eb5274e2672c0。 - Targeted tests:
pnpm --filter @open-design/web exec vitest run -c vitest.config.ts --maxWorkers=2 tests/components/use-everywhere-agent-guide.test.ts tests/components/use-everywhere-copy-guide.test.tsx,2 files / 14 tests passed。 - Electron runtime: isolated worktree
/Users/mac/open-design/pr-4865-electron, namespacepr4865, Use Everywhere -> MCP Server opened successfully. - Success path:
/api/mcp/install-inforeturned the daemon launch tuple, and both rendered MCP snippet + copied guide/snippet used the absolutecommand, daemonargs, and env instead of bare"command": "od". - Fallback path: mocked
/api/mcp/install-info404; UI did not crash and MCP snippet fell back to theod mcp --daemon-url ...guidance as expected.
未验证:
- Real Windows packaged app + external MCP client launch was not run on Windows hardware.
风险/关注点:
- Remaining platform risk is limited to true Windows packaged-client execution; the web/Electron copy/render behavior and fallback behavior are covered.
结论:
- 验收通过。
















































Fixes #4852
Why
I hit this while reviewing the Windows packaged-app MCP setup path. The Use Everywhere copied guide still included a generic
"command": "od"MCP config, but Windows packaged installs may not expose anodbinary on PATH.The daemon already exposes the working launch tuple through
/api/mcp/install-info. The handoff guide should use that same source so pasted MCP config can start the server in packaged installs.What users will see
Opening Use Everywhere and copying the agent guide now includes the daemon-reported MCP command, args, and env. On Windows packaged installs, the copied JSON points at the absolute Open Design executable/CLI script and preserves env such as
ELECTRON_RUN_AS_NODEandOD_DATA_DIR, instead of telling agents to spawn bareod.Surface area
apps/weborapps/desktop(including Electron menu bar)odsubcommand or flag, newtools-dev/tools-pack/tools-prflag, or newOD_*env var/api/*endpoint, new SSE event, or changed shape inpackages/contractsskills/,design-systems/,design-templates/, orcraft/, or change to the skills protocolTRANSLATIONS.mdfor the locale workflow)package.json(dependenciesordevDependencies); workspace-packagepackage.jsonfiles are out of scope. Include a paragraph on what we get vs. what bytes we ship (seeCONTRIBUTING.md→ Code style)Screenshots
No screenshot attached. This changes copied markdown generated from the existing Use Everywhere panel, not the visual layout. The clipboard path is covered by
apps/web/tests/components/use-everywhere-copy-guide.test.tsx.Bug fix verification
apps/web/tests/components/use-everywhere-agent-guide.test.ts,apps/web/tests/components/use-everywhere-copy-guide.test.tsxmainand green on this branch? yes — the regression covered the copied guide still emitting"command": "od"instead of the daemon install-info launch spec.Validation
PATH=/Users/liguanchen/.nvm/versions/node/v24.15.0/bin:$PATH pnpm --filter @open-design/web exec vitest run -c vitest.config.ts --maxWorkers=2 tests/components/use-everywhere-agent-guide.test.ts tests/components/use-everywhere-copy-guide.test.tsx— 2 files / 11 tests passedPATH=/Users/liguanchen/.nvm/versions/node/v24.15.0/bin:$PATH pnpm --filter @open-design/web typecheckPATH=/Users/liguanchen/.nvm/versions/node/v24.15.0/bin:$PATH pnpm guardPATH=/Users/liguanchen/.nvm/versions/node/v24.15.0/bin:$PATH pnpm typecheck