@geminilight/mindos 0.6.39 → 0.6.41
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/README.md +31 -15
- package/README_zh.md +31 -15
- package/_standalone/.mindos-build-version +1 -1
- package/_standalone/.next/BUILD_ID +1 -1
- package/_standalone/.next/app-path-routes-manifest.json +19 -18
- package/_standalone/.next/build-manifest.json +3 -3
- package/_standalone/.next/cache/.previewinfo +1 -1
- package/_standalone/.next/cache/.rscinfo +1 -1
- package/_standalone/.next/cache/config.json +3 -3
- package/_standalone/.next/prerender-manifest.json +3 -3
- package/_standalone/.next/react-loadable-manifest.json +68 -2
- package/_standalone/.next/routes-manifest.json +6 -0
- package/_standalone/.next/server/app/.well-known/agent-card.json/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/_global-error.html +2 -2
- package/_standalone/.next/server/app/_global-error.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/_standalone/.next/server/app/_not-found/page.js +2 -2
- package/_standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/agents/[agentKey]/page.js +2 -2
- package/_standalone/.next/server/app/agents/[agentKey]/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/agents/[agentKey]/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/agents/page.js +3 -3
- package/_standalone/.next/server/app/agents/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/a2a/agents/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/a2a/delegations/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/a2a/discover/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/a2a/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/acp/config/route.js +1 -1
- package/_standalone/.next/server/app/api/acp/config/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/acp/config/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/acp/detect/route.js +1 -1
- package/_standalone/.next/server/app/api/acp/detect/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/acp/detect/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/acp/install/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/acp/registry/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/acp/session/route.js +1 -1
- package/_standalone/.next/server/app/api/acp/session/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/acp/session/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/agent-activity/route.js +1 -1
- package/_standalone/.next/server/app/api/agent-activity/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/agent-activity/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/ask/route.js +137 -99
- package/_standalone/.next/server/app/api/ask/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/ask/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/ask-sessions/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/auth/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/backlinks/route.js +1 -1
- package/_standalone/.next/server/app/api/backlinks/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/backlinks/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/bootstrap/route.js +1 -1
- package/_standalone/.next/server/app/api/bootstrap/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/bootstrap/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/changes/route.js +1 -1
- package/_standalone/.next/server/app/api/changes/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/changes/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/export/route.js +3 -3
- package/_standalone/.next/server/app/api/export/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/export/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/extract-pdf/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/file/import/route.js +2 -19
- package/_standalone/.next/server/app/api/file/import/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/file/import/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/file/route.js +1 -18
- package/_standalone/.next/server/app/api/file/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/file/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/files/route.js +1 -1
- package/_standalone/.next/server/app/api/files/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/files/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/git/route.js +1 -1
- package/_standalone/.next/server/app/api/git/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/graph/route.js +1 -1
- package/_standalone/.next/server/app/api/graph/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/graph/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/inbox/route.js +1 -0
- package/_standalone/.next/server/app/api/inbox/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/inbox/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/init/route.js +1 -1
- package/_standalone/.next/server/app/api/init/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/agents/route.js +1 -1
- package/_standalone/.next/server/app/api/mcp/agents/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/mcp/agents/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/install/route.js +1 -1
- package/_standalone/.next/server/app/api/mcp/install/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/mcp/install/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/install-skill/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/mcp/install-skill/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/restart/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/status/route.js +1 -1
- package/_standalone/.next/server/app/api/mcp/status/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/monitoring/route.js +1 -1
- package/_standalone/.next/server/app/api/monitoring/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/monitoring/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/recent-files/route.js +1 -1
- package/_standalone/.next/server/app/api/recent-files/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/recent-files/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/search/route.js +1 -1
- package/_standalone/.next/server/app/api/search/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/settings/list-models/route.js +1 -1
- package/_standalone/.next/server/app/api/settings/list-models/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/settings/list-models/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/settings/reset-token/route.js +1 -1
- package/_standalone/.next/server/app/api/settings/reset-token/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/settings/reset-token/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/settings/route.js +1 -1
- package/_standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/settings/test-key/route.js +1 -1
- package/_standalone/.next/server/app/api/settings/test-key/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/settings/test-key/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/setup/check-path/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/setup/check-port/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/setup/generate-token/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/setup/ls/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/setup/route.js +1 -1
- package/_standalone/.next/server/app/api/setup/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/setup/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/skills/route.js +2 -2
- package/_standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/sync/route.js +1 -1
- package/_standalone/.next/server/app/api/sync/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/tree-version/route.js +1 -1
- package/_standalone/.next/server/app/api/tree-version/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/tree-version/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/uninstall/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/update-check/route.js +1 -1
- package/_standalone/.next/server/app/api/update-check/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/update-status/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/workflows/route.js +2 -2
- package/_standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/changes/page.js +2 -2
- package/_standalone/.next/server/app/changes/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/changes/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/echo/[segment]/page.js +6 -6
- package/_standalone/.next/server/app/echo/[segment]/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/echo/[segment]/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/echo/page.js +2 -2
- package/_standalone/.next/server/app/echo/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/echo/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/explore/page.js +3 -3
- package/_standalone/.next/server/app/explore/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/explore/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/help/page.js +2 -2
- package/_standalone/.next/server/app/help/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/help/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/login/page.js +2 -2
- package/_standalone/.next/server/app/login/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/page.js +3 -3
- package/_standalone/.next/server/app/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/setup/page.js +2 -2
- package/_standalone/.next/server/app/setup/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/trash/page.js +3 -3
- package/_standalone/.next/server/app/trash/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/trash/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/view/[...path]/page.js +4 -4
- package/_standalone/.next/server/app/view/[...path]/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/view/[...path]/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app-paths-manifest.json +19 -18
- package/_standalone/.next/server/chunks/1550.js +1 -1
- package/_standalone/.next/server/chunks/1750.js +1 -0
- package/_standalone/.next/server/chunks/{9414.js → 2190.js} +1 -1
- package/_standalone/.next/server/chunks/2536.js +52 -0
- package/_standalone/.next/server/chunks/5648.js +2 -0
- package/_standalone/.next/server/chunks/6539.js +1 -1
- package/_standalone/.next/server/chunks/8388.js +15 -0
- package/_standalone/.next/server/chunks/953.js +42 -2
- package/_standalone/.next/server/chunks/9539.js +219 -0
- package/_standalone/.next/server/functions-config-manifest.json +2 -1
- package/_standalone/.next/server/instrumentation.js +1 -1
- package/_standalone/.next/server/middleware-build-manifest.js +1 -1
- package/_standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/_standalone/.next/server/pages/500.html +2 -2
- package/_standalone/.next/server/server-reference-manifest.js +1 -1
- package/_standalone/.next/server/server-reference-manifest.json +1 -1
- package/_standalone/.next/static/Ij3PFh-a0zi5K_ANoSAW0/_buildManifest.js +1 -0
- package/_standalone/.next/static/chunks/1053-b70535785cc5aaee.js +29 -0
- package/_standalone/.next/static/chunks/1239.10a0710c2772ab34.js +1 -0
- package/_standalone/.next/static/chunks/{1814.e2da5460ded71d71.js → 1814.2ee1d03297c0bccd.js} +1 -1
- package/_standalone/.next/static/chunks/{1384-55276d40a9da4e88.js → 1880-c2a9e76201841c86.js} +2 -2
- package/_standalone/.next/static/chunks/{1a258343-030e4d6735874dd4.js → 1a258343-9803591e4aaee1f6.js} +1 -1
- package/_standalone/.next/static/chunks/2631.dc56e83472bde281.js +1 -0
- package/_standalone/.next/static/chunks/2872.045858d00bd8307f.js +8 -0
- package/_standalone/.next/static/chunks/2968.f10ccee9e7e2324d.js +2 -0
- package/_standalone/.next/static/chunks/3160-83a7e0b94414b3ac.js +1 -0
- package/_standalone/.next/static/chunks/3637.0541ac2d0ea7de1f.js +1 -0
- package/_standalone/.next/static/chunks/4033.6666700547b20141.js +1 -0
- package/_standalone/.next/static/chunks/4563-b2a2ce80aff845af.js +6 -0
- package/_standalone/.next/static/chunks/516.24ee058b1d4b1fed.js +8 -0
- package/_standalone/.next/static/chunks/5627.c4337d7289acb31f.js +1 -0
- package/_standalone/.next/static/chunks/5956.b445072b35915129.js +1 -0
- package/_standalone/.next/static/chunks/6357-c645842834c0d4cd.js +1 -0
- package/_standalone/.next/static/chunks/6826.7b7d94dd0fd83812.js +1 -0
- package/_standalone/.next/static/chunks/{8409-de5726a4a278d28f.js → 6926-4af497b83952fa87.js} +1 -1
- package/_standalone/.next/static/chunks/6981-3d7dcac2d12a5670.js +1 -0
- package/_standalone/.next/static/chunks/7144-5febf62f1a79fe64.js +1 -0
- package/_standalone/.next/static/chunks/7266-bb7be1128eccd48e.js +13 -0
- package/_standalone/.next/static/chunks/7753.63831cfc54a55fbb.js +1 -0
- package/_standalone/.next/static/chunks/862.9f526e964489e2e5.js +1 -0
- package/_standalone/.next/static/chunks/9300.118b8c840634383f.js +28 -0
- package/_standalone/.next/static/chunks/95247769.3b5caae1c1a76ce1.js +4 -0
- package/_standalone/.next/static/chunks/9602-423291fdb36396d1.js +1 -0
- package/_standalone/.next/static/chunks/app/.well-known/agent-card.json/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/_global-error/page-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/agents/[agentKey]/page-773071a99c4daac2.js +1 -0
- package/_standalone/.next/static/chunks/app/agents/page-6102a884b2cb3cfe.js +5 -0
- package/_standalone/.next/static/chunks/app/api/a2a/agents/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/a2a/delegations/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/a2a/discover/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/a2a/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/acp/config/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/acp/detect/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/acp/install/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/acp/registry/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/acp/session/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/agent-activity/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/ask/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/ask-sessions/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/auth/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/backlinks/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/bootstrap/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/changes/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/export/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/extract-pdf/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/file/import/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/file/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/files/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/git/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/graph/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/health/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/inbox/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/init/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/mcp/agents/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/mcp/install/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/mcp/install-skill/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/mcp/restart/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/mcp/status/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/monitoring/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/recent-files/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/restart/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/search/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/settings/list-models/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/settings/reset-token/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/settings/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/settings/test-key/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/setup/check-path/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/setup/check-port/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/setup/generate-token/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/setup/ls/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/setup/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/skills/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/sync/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/tree-version/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/uninstall/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/update/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/update-check/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/update-status/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/api/workflows/route-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/changes/page-350992cf5091bc5b.js +1 -0
- package/_standalone/.next/static/chunks/app/echo/[segment]/page-addf014fcf23fad5.js +11 -0
- package/_standalone/.next/static/chunks/app/echo/page-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/explore/page-5eb2835e9e3ab4bb.js +4 -0
- package/_standalone/.next/static/chunks/app/help/page-2325d25b6846ca07.js +1 -0
- package/_standalone/.next/static/chunks/app/layout-42cdbce19f404567.js +186 -0
- package/_standalone/.next/static/chunks/app/login/page-24236460fa7c11d0.js +1 -0
- package/_standalone/.next/static/chunks/app/page-8c9643b649e01735.js +7 -0
- package/_standalone/.next/static/chunks/app/setup/page-d158b8cb533feb1e.js +1 -0
- package/_standalone/.next/static/chunks/app/trash/page-e9ab74ffeb96af41.js +1 -0
- package/_standalone/.next/static/chunks/app/view/[...path]/loading-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/app/view/[...path]/not-found-61474670d6bb6116.js +1 -0
- package/_standalone/.next/static/chunks/app/view/[...path]/page-764a69a1c8bd4eef.js +12 -0
- package/_standalone/.next/static/chunks/e71f6c19-4df85185bf989b49.js +1 -0
- package/_standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-400c3c09b1540c14.js +1 -0
- package/_standalone/.next/static/chunks/webpack-7b276daaa930d480.js +1 -0
- package/_standalone/.next/static/css/bc9179074eaf65ae.css +1 -0
- package/_standalone/.next/trace +63 -53
- package/_standalone/.next/types/routes.d.ts +2 -1
- package/_standalone/.next/types/validator.ts +9 -0
- package/_standalone/__tests__/agent/chat-mode.test.ts +103 -0
- package/_standalone/__tests__/agents/agents-content-dashboard.test.tsx +4 -3
- package/_standalone/__tests__/api/bootstrap.test.ts +0 -2
- package/_standalone/__tests__/api/file.test.ts +22 -1
- package/_standalone/__tests__/api/install-skill.test.ts +2 -2
- package/_standalone/__tests__/api/mcp-install.test.ts +32 -10
- package/_standalone/__tests__/api/setup.test.ts +2 -2
- package/_standalone/__tests__/api/test-key.test.ts +73 -147
- package/_standalone/__tests__/ask/ask-content-input-during-run.test.tsx +1 -1
- package/_standalone/__tests__/ask/mode-capsule.test.ts +95 -0
- package/_standalone/__tests__/cli/agent-routing.test.ts +232 -0
- package/_standalone/__tests__/cli/file-subcommands.test.ts +379 -0
- package/_standalone/__tests__/core/inbox.test.ts +250 -0
- package/_standalone/__tests__/core/skill-install-logic.test.ts +3 -3
- package/_standalone/__tests__/core/sync-status.test.ts +1 -1
- package/_standalone/__tests__/core/tools.test.ts +8 -6
- package/_standalone/__tests__/lib/echo-pages-visual-i18n.test.ts +2 -2
- package/_standalone/__tests__/lib/i18n-new-keys.test.ts +2 -2
- package/_standalone/__tests__/panels/agents-panel-hub.test.tsx +2 -2
- package/_standalone/__tests__/settings/activity-bar-update-badge.test.tsx +1 -1
- package/_standalone/__tests__/settings/settings-update-badge.test.tsx +1 -1
- package/_standalone/__tests__/settings/update-tab-availability-sync.test.tsx +1 -1
- package/_standalone/__tests__/settings/update-tab-browser.test.tsx +1 -1
- package/_standalone/__tests__/settings/update-tab-desktop.test.tsx +1 -1
- package/_standalone/__tests__/setup.ts +3 -5
- package/_standalone/app/globals.css +11 -1
- package/_standalone/components/ActivityBar.tsx +26 -10
- package/_standalone/components/AskFab.tsx +1 -1
- package/_standalone/components/AskModal.tsx +1 -1
- package/_standalone/components/Backlinks.tsx +1 -1
- package/_standalone/components/CreateSpaceModal.tsx +7 -55
- package/_standalone/components/EchoSpotlight.tsx +1 -1
- package/_standalone/components/ExportModal.tsx +1 -1
- package/_standalone/components/FileTree.tsx +66 -80
- package/_standalone/components/FindInPage.tsx +1 -1
- package/_standalone/components/GuideCard.tsx +1 -1
- package/_standalone/components/ImportModal.tsx +1 -1
- package/_standalone/components/KeyboardShortcuts.tsx +1 -1
- package/_standalone/components/MarkdownView.tsx +41 -16
- package/_standalone/components/OnboardingView.tsx +1 -1
- package/_standalone/components/OrganizeToast.tsx +1 -1
- package/_standalone/components/Panel.tsx +82 -4
- package/_standalone/components/QuickSuggestion.tsx +1 -1
- package/_standalone/components/RightAgentDetailPanel.tsx +2 -2
- package/_standalone/components/RightAskPanel.tsx +88 -22
- package/_standalone/components/SearchModal.tsx +1 -1
- package/_standalone/components/Sidebar.tsx +4 -4
- package/_standalone/components/SidebarLayout.tsx +52 -16
- package/_standalone/components/SpaceInitToast.tsx +1 -1
- package/_standalone/components/SyncStatusBar.tsx +2 -2
- package/_standalone/components/SystemPulse.tsx +12 -6
- package/_standalone/components/TableOfContents.tsx +86 -39
- package/_standalone/components/agents/AgentActivitySection.tsx +225 -0
- package/_standalone/components/agents/AgentsMcpSection.tsx +10 -16
- package/_standalone/components/agents/AgentsOverviewSection.tsx +28 -27
- package/_standalone/components/agents/AgentsPanelA2aTab.tsx +1 -1
- package/_standalone/components/agents/AgentsPanelSessionsTab.tsx +6 -1
- package/_standalone/components/agents/AgentsSkillsSection.tsx +1 -1
- package/_standalone/components/agents/DiscoverAgentModal.tsx +1 -1
- package/_standalone/components/agents/RecentActivityFeed.tsx +49 -88
- package/_standalone/components/agents/agent-activity-shared.tsx +110 -0
- package/_standalone/components/ask/AgentSelectorCapsule.tsx +1 -1
- package/_standalone/components/ask/AskContent.tsx +332 -486
- package/_standalone/components/ask/AskHeader.tsx +61 -0
- package/_standalone/components/ask/FileChip.tsx +9 -5
- package/_standalone/components/ask/MessageList.tsx +88 -21
- package/_standalone/components/ask/ModeCapsule.tsx +180 -0
- package/_standalone/components/ask/ProviderModelCapsule.tsx +284 -0
- package/_standalone/components/ask/SessionHistory.tsx +63 -10
- package/_standalone/components/ask/SessionTabBar.tsx +1 -1
- package/_standalone/components/ask/ThinkingBlock.tsx +1 -1
- package/_standalone/components/ask/ToolCallBlock.tsx +28 -24
- package/_standalone/components/changes/ChangesBanner.tsx +1 -1
- package/_standalone/components/echo/EchoInsightCollapsible.tsx +1 -1
- package/_standalone/components/echo/EchoSegmentNav.tsx +1 -1
- package/_standalone/components/home/InboxSection.tsx +268 -0
- package/_standalone/components/panels/AgentsPanel.tsx +3 -2
- package/_standalone/components/panels/AgentsPanelHubNav.tsx +2 -6
- package/_standalone/components/panels/DiscoverPanel.tsx +1 -1
- package/_standalone/components/panels/EchoPanel.tsx +1 -1
- package/_standalone/components/panels/EchoSidebarStats.tsx +1 -1
- package/_standalone/components/panels/ImportHistoryPanel.tsx +1 -1
- package/_standalone/components/panels/PanelHeader.tsx +1 -1
- package/_standalone/components/panels/PluginsPanel.tsx +1 -1
- package/_standalone/components/panels/SearchPanel.tsx +5 -2
- package/_standalone/components/panels/SyncPopover.tsx +1 -1
- package/_standalone/components/panels/WorkflowsPanel.tsx +1 -1
- package/_standalone/components/renderers/agent-inspector/AgentInspectorRenderer.tsx +18 -0
- package/_standalone/components/renderers/todo/TodoRenderer.tsx +489 -75
- package/_standalone/components/settings/AiTab.tsx +198 -127
- package/_standalone/components/settings/AppearanceTab.tsx +48 -50
- package/_standalone/components/settings/KnowledgeTab.tsx +92 -27
- package/_standalone/components/settings/McpAgentInstall.tsx +95 -28
- package/_standalone/components/settings/McpSkillsSection.tsx +2 -2
- package/_standalone/components/settings/McpTab.tsx +498 -216
- package/_standalone/components/settings/PluginsTab.tsx +1 -1
- package/_standalone/components/settings/SettingsContent.tsx +17 -8
- package/_standalone/components/settings/SyncTab.tsx +615 -230
- package/_standalone/components/settings/UninstallTab.tsx +1 -1
- package/_standalone/components/settings/UpdateTab.tsx +2 -2
- package/_standalone/components/settings/types.ts +7 -5
- package/_standalone/components/setup/StepAI.tsx +70 -49
- package/_standalone/components/setup/StepAgents.tsx +113 -47
- package/_standalone/components/setup/StepDots.tsx +1 -1
- package/_standalone/components/setup/StepReview.tsx +186 -31
- package/_standalone/components/setup/types.ts +17 -8
- package/_standalone/components/shared/ProviderSelect.tsx +134 -0
- package/_standalone/components/walkthrough/WalkthroughOverlay.tsx +2 -2
- package/_standalone/components/walkthrough/WalkthroughTooltip.tsx +2 -2
- package/_standalone/components/walkthrough/index.ts +1 -1
- package/_standalone/data/skills/mindos/SKILL.md +93 -93
- package/_standalone/data/skills/mindos/references/write-supplement.md +119 -0
- package/_standalone/data/skills/mindos-zh/SKILL.md +100 -104
- package/_standalone/data/skills/mindos-zh/references/write-supplement.md +119 -0
- package/_standalone/hooks/useAcpDetection.ts +1 -1
- package/_standalone/hooks/useAskChat.ts +248 -0
- package/_standalone/hooks/useAskPanel.ts +24 -4
- package/_standalone/hooks/useAskSession.ts +15 -0
- package/_standalone/lib/acp/types.ts +1 -1
- package/_standalone/lib/api.ts +3 -1
- package/_standalone/lib/core/types.ts +2 -0
- package/_standalone/lib/i18n/modules/ai-chat.ts +35 -13
- package/_standalone/lib/i18n/modules/features.ts +5 -5
- package/_standalone/lib/i18n/modules/knowledge.ts +86 -2
- package/_standalone/lib/i18n/modules/navigation.ts +6 -2
- package/_standalone/lib/i18n/modules/onboarding.ts +69 -29
- package/_standalone/lib/i18n/modules/panels.ts +78 -29
- package/_standalone/lib/i18n/modules/settings.ts +280 -24
- package/_standalone/lib/inbox-upload.ts +93 -0
- package/_standalone/lib/mcp-snippets.ts +5 -1
- package/_standalone/lib/settings-ai-client.ts +13 -12
- package/_standalone/lib/space-ai-init.ts +66 -0
- package/_standalone/lib/stores/McpStoreInit.tsx +18 -0
- package/_standalone/lib/stores/WalkthroughInit.tsx +20 -0
- package/_standalone/lib/stores/locale-store.ts +55 -0
- package/_standalone/lib/stores/mcp-store.ts +156 -0
- package/_standalone/lib/stores/walkthrough-store.ts +118 -0
- package/_standalone/package-lock.json +40 -8
- package/_standalone/package.json +3 -1
- package/_standalone/tsconfig.json +1 -1
- package/_standalone/tsconfig.tsbuildinfo +1 -1
- package/app/app/api/acp/detect/route.ts +29 -20
- package/app/app/api/agent-activity/route.ts +1 -1
- package/app/app/api/ask/route.ts +105 -30
- package/app/app/api/ask-sessions/route.ts +1 -0
- package/app/app/api/bootstrap/route.ts +1 -3
- package/app/app/api/file/route.ts +34 -4
- package/app/app/api/inbox/route.ts +61 -0
- package/app/app/api/mcp/install/route.ts +2 -1
- package/app/app/api/mcp/status/route.ts +14 -6
- package/app/app/api/settings/list-models/route.ts +73 -53
- package/app/app/api/settings/route.ts +46 -55
- package/app/app/api/settings/test-key/route.ts +57 -114
- package/app/app/api/setup/route.ts +31 -21
- package/app/app/api/sync/route.ts +122 -12
- package/app/app/api/update-check/route.ts +2 -2
- package/app/app/globals.css +11 -1
- package/app/app/layout.tsx +2 -3
- package/app/app/login/page.tsx +1 -1
- package/app/app/view/[...path]/ViewPageClient.tsx +22 -37
- package/app/app/view/[...path]/not-found.tsx +1 -1
- package/app/components/ActivityBar.tsx +26 -10
- package/app/components/AskFab.tsx +1 -1
- package/app/components/AskModal.tsx +1 -1
- package/app/components/Backlinks.tsx +1 -1
- package/app/components/CreateSpaceModal.tsx +7 -55
- package/app/components/DirView.tsx +93 -11
- package/app/components/EchoSpotlight.tsx +1 -1
- package/app/components/ExportModal.tsx +1 -1
- package/app/components/FileTree.tsx +66 -80
- package/app/components/FindInPage.tsx +1 -1
- package/app/components/GuideCard.tsx +1 -1
- package/app/components/HomeContent.tsx +21 -14
- package/app/components/ImportModal.tsx +1 -1
- package/app/components/KeyboardShortcuts.tsx +1 -1
- package/app/components/MarkdownView.tsx +41 -16
- package/app/components/OnboardingView.tsx +1 -1
- package/app/components/OrganizeToast.tsx +1 -1
- package/app/components/Panel.tsx +82 -4
- package/app/components/QuickSuggestion.tsx +1 -1
- package/app/components/RightAgentDetailPanel.tsx +2 -2
- package/app/components/RightAskPanel.tsx +88 -22
- package/app/components/SearchModal.tsx +1 -1
- package/app/components/Sidebar.tsx +4 -4
- package/app/components/SidebarLayout.tsx +52 -16
- package/app/components/SpaceInitToast.tsx +1 -1
- package/app/components/SyncStatusBar.tsx +2 -2
- package/app/components/SystemPulse.tsx +12 -6
- package/app/components/TableOfContents.tsx +86 -39
- package/app/components/TrashPageClient.tsx +1 -1
- package/app/components/UpdateOverlay.tsx +2 -2
- package/app/components/agents/AgentActivitySection.tsx +225 -0
- package/app/components/agents/AgentDetailContent.tsx +234 -3
- package/app/components/agents/AgentsContentPage.tsx +13 -2
- package/app/components/agents/AgentsMcpSection.tsx +10 -16
- package/app/components/agents/AgentsOverviewSection.tsx +28 -27
- package/app/components/agents/AgentsPanelA2aTab.tsx +1 -1
- package/app/components/agents/AgentsPanelSessionsTab.tsx +6 -1
- package/app/components/agents/AgentsSkillsSection.tsx +1 -1
- package/app/components/agents/DiscoverAgentModal.tsx +1 -1
- package/app/components/agents/RecentActivityFeed.tsx +49 -88
- package/app/components/agents/agent-activity-shared.tsx +110 -0
- package/app/components/agents/agents-content-model.ts +2 -2
- package/app/components/ask/AgentSelectorCapsule.tsx +1 -1
- package/app/components/ask/AskContent.tsx +332 -486
- package/app/components/ask/AskHeader.tsx +61 -0
- package/app/components/ask/FileChip.tsx +9 -5
- package/app/components/ask/MessageList.tsx +88 -21
- package/app/components/ask/ModeCapsule.tsx +180 -0
- package/app/components/ask/ProviderModelCapsule.tsx +284 -0
- package/app/components/ask/SessionHistory.tsx +63 -10
- package/app/components/ask/SessionTabBar.tsx +1 -1
- package/app/components/ask/ThinkingBlock.tsx +1 -1
- package/app/components/ask/ToolCallBlock.tsx +28 -24
- package/app/components/changes/ChangesBanner.tsx +1 -1
- package/app/components/changes/ChangesContentPage.tsx +1 -1
- package/app/components/echo/EchoInsightCollapsible.tsx +1 -1
- package/app/components/echo/EchoSegmentNav.tsx +1 -1
- package/app/components/echo/EchoSegmentPageClient.tsx +1 -1
- package/app/components/explore/ExploreContent.tsx +1 -1
- package/app/components/help/HelpContent.tsx +2 -1
- package/app/components/home/InboxSection.tsx +268 -0
- package/app/components/panels/AgentsPanel.tsx +3 -2
- package/app/components/panels/AgentsPanelHubNav.tsx +2 -6
- package/app/components/panels/DiscoverPanel.tsx +1 -1
- package/app/components/panels/EchoPanel.tsx +1 -1
- package/app/components/panels/EchoSidebarStats.tsx +1 -1
- package/app/components/panels/ImportHistoryPanel.tsx +1 -1
- package/app/components/panels/PanelHeader.tsx +1 -1
- package/app/components/panels/PluginsPanel.tsx +1 -1
- package/app/components/panels/SearchPanel.tsx +5 -2
- package/app/components/panels/SyncPopover.tsx +1 -1
- package/app/components/panels/WorkflowsPanel.tsx +1 -1
- package/app/components/renderers/agent-inspector/AgentInspectorRenderer.tsx +18 -0
- package/app/components/renderers/todo/TodoRenderer.tsx +489 -75
- package/app/components/settings/AiTab.tsx +198 -127
- package/app/components/settings/AppearanceTab.tsx +48 -50
- package/app/components/settings/KnowledgeTab.tsx +92 -27
- package/app/components/settings/McpAgentInstall.tsx +95 -28
- package/app/components/settings/McpSkillsSection.tsx +2 -2
- package/app/components/settings/McpTab.tsx +498 -216
- package/app/components/settings/PluginsTab.tsx +1 -1
- package/app/components/settings/SettingsContent.tsx +17 -8
- package/app/components/settings/SyncTab.tsx +615 -230
- package/app/components/settings/UninstallTab.tsx +1 -1
- package/app/components/settings/UpdateTab.tsx +2 -2
- package/app/components/settings/types.ts +7 -5
- package/app/components/setup/StepAI.tsx +70 -49
- package/app/components/setup/StepAgents.tsx +113 -47
- package/app/components/setup/StepDots.tsx +1 -1
- package/app/components/setup/StepReview.tsx +186 -31
- package/app/components/setup/index.tsx +83 -48
- package/app/components/setup/types.ts +17 -8
- package/app/components/shared/ProviderSelect.tsx +134 -0
- package/app/components/walkthrough/WalkthroughOverlay.tsx +2 -2
- package/app/components/walkthrough/WalkthroughTooltip.tsx +2 -2
- package/app/components/walkthrough/index.ts +1 -1
- package/app/data/skills/mindos/SKILL.md +93 -93
- package/app/data/skills/mindos/references/write-supplement.md +119 -0
- package/app/data/skills/mindos-zh/SKILL.md +100 -104
- package/app/data/skills/mindos-zh/references/write-supplement.md +119 -0
- package/app/hooks/useAcpDetection.ts +1 -1
- package/app/hooks/useAskChat.ts +248 -0
- package/app/hooks/useAskPanel.ts +24 -4
- package/app/hooks/useAskSession.ts +15 -0
- package/app/lib/acp/types.ts +1 -1
- package/app/lib/actions.ts +13 -0
- package/app/lib/agent/log.ts +2 -0
- package/app/lib/agent/model.ts +69 -81
- package/app/lib/agent/prompt.ts +27 -0
- package/app/lib/agent/providers.ts +299 -0
- package/app/lib/agent/tools.ts +26 -4
- package/app/lib/api.ts +3 -1
- package/app/lib/core/agent-audit-log.ts +7 -0
- package/app/lib/core/fs-ops.ts +9 -4
- package/app/lib/core/inbox.ts +181 -0
- package/app/lib/core/index.ts +4 -0
- package/app/lib/core/tree.ts +3 -0
- package/app/lib/core/types.ts +2 -0
- package/app/lib/fs.ts +20 -2
- package/app/lib/i18n/modules/ai-chat.ts +35 -13
- package/app/lib/i18n/modules/features.ts +5 -5
- package/app/lib/i18n/modules/knowledge.ts +86 -2
- package/app/lib/i18n/modules/navigation.ts +6 -2
- package/app/lib/i18n/modules/onboarding.ts +69 -29
- package/app/lib/i18n/modules/panels.ts +78 -29
- package/app/lib/i18n/modules/settings.ts +280 -24
- package/app/lib/inbox-upload.ts +93 -0
- package/app/lib/mcp-agents.ts +7 -9
- package/app/lib/mcp-snippets.ts +5 -1
- package/app/lib/settings-ai-client.ts +13 -12
- package/app/lib/settings.ts +48 -33
- package/app/lib/space-ai-init.ts +66 -0
- package/app/lib/stores/LocaleStoreInit.tsx +18 -0
- package/app/lib/stores/McpStoreInit.tsx +18 -0
- package/app/lib/stores/WalkthroughInit.tsx +20 -0
- package/app/lib/stores/locale-store.ts +55 -0
- package/app/lib/stores/mcp-store.ts +156 -0
- package/app/lib/stores/walkthrough-store.ts +118 -0
- package/app/lib/types.ts +20 -0
- package/app/package.json +3 -1
- package/app/tsconfig.json +1 -1
- package/bin/cli.js +168 -1385
- package/bin/commands/agent.js +156 -20
- package/bin/commands/api.js +14 -11
- package/bin/commands/ask.js +79 -68
- package/bin/commands/build.js +26 -0
- package/bin/commands/config.js +170 -0
- package/bin/commands/dev.js +58 -0
- package/bin/commands/doctor.js +205 -0
- package/bin/commands/file.js +558 -40
- package/bin/commands/gateway.js +42 -0
- package/bin/commands/init-skills.js +56 -0
- package/bin/commands/logs.js +32 -0
- package/bin/commands/mcp-cmd.js +57 -0
- package/bin/commands/onboard.js +25 -0
- package/bin/commands/open.js +41 -0
- package/bin/commands/restart.js +48 -0
- package/bin/commands/search.js +16 -14
- package/bin/commands/space.js +100 -25
- package/bin/commands/start.js +262 -0
- package/bin/commands/status.js +2 -2
- package/bin/commands/stop.js +14 -0
- package/bin/commands/sync-cmd.js +134 -0
- package/bin/commands/token.js +98 -0
- package/bin/commands/uninstall.js +154 -0
- package/bin/commands/update.js +286 -0
- package/bin/lib/build.js +1 -1
- package/bin/lib/colors.js +8 -7
- package/bin/lib/command.js +37 -96
- package/bin/lib/config.js +5 -0
- package/bin/lib/csv.js +19 -0
- package/bin/lib/jsonc.js +12 -0
- package/bin/lib/markdown.js +69 -0
- package/bin/lib/mcp-agents.js +27 -8
- package/bin/lib/mcp-build.js +1 -1
- package/bin/lib/mcp-install.js +13 -4
- package/bin/lib/one-shot.js +88 -0
- package/bin/lib/path-expand.js +9 -0
- package/bin/lib/remote.js +65 -0
- package/bin/lib/repl.js +167 -0
- package/bin/lib/{utils.js → shell.js} +10 -26
- package/bin/lib/skill-check.js +1 -1
- package/bin/lib/sse-stream.js +167 -0
- package/bin/lib/sync.js +140 -34
- package/mcp/README.md +2 -2
- package/mcp/dist/index.cjs +43 -43
- package/mcp/package.json +1 -1
- package/mcp/src/index.ts +77 -61
- package/package.json +2 -2
- package/scripts/setup.js +183 -121
- package/skills/mindos/SKILL.md +93 -93
- package/skills/mindos/references/preference-capture.md +4 -4
- package/skills/mindos/references/write-supplement.md +2 -2
- package/skills/mindos-zh/SKILL.md +100 -104
- package/skills/mindos-zh/references/preference-capture.md +4 -4
- package/skills/mindos-zh/references/write-supplement.md +2 -2
- package/templates/empty/INSTRUCTION.md +0 -1
- package/templates/en/INSTRUCTION.md +0 -1
- package/templates/template-generation-skill.md +0 -1
- package/templates/zh/INSTRUCTION.md +0 -1
- package/_standalone/.next/server/chunks/1473.js +0 -52
- package/_standalone/.next/server/chunks/248.js +0 -15
- package/_standalone/.next/server/chunks/359.js +0 -2
- package/_standalone/.next/server/chunks/4931.js +0 -202
- package/_standalone/.next/server/chunks/7670.js +0 -1
- package/_standalone/.next/static/chunks/1038-ed04d6651ec92312.js +0 -1
- package/_standalone/.next/static/chunks/1263-6df1734e4273adb1.js +0 -25
- package/_standalone/.next/static/chunks/275-ebcaaedabe706903.js +0 -1
- package/_standalone/.next/static/chunks/3637.4bcd01a4db78b894.js +0 -1
- package/_standalone/.next/static/chunks/5637-b97c869adf70c82e.js +0 -1
- package/_standalone/.next/static/chunks/5681-a53362a1cd629dc6.js +0 -1
- package/_standalone/.next/static/chunks/9602-35ca17b688f1a4fe.js +0 -1
- package/_standalone/.next/static/chunks/9670-d59e4d45ed705f58.js +0 -6
- package/_standalone/.next/static/chunks/app/.well-known/agent-card.json/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/_global-error/page-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/agents/[agentKey]/page-519d4da1142db5ef.js +0 -1
- package/_standalone/.next/static/chunks/app/agents/page-b709cf3103321609.js +0 -5
- package/_standalone/.next/static/chunks/app/api/a2a/agents/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/a2a/delegations/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/a2a/discover/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/a2a/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/acp/config/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/acp/detect/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/acp/install/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/acp/registry/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/acp/session/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/agent-activity/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/ask/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/ask-sessions/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/auth/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/backlinks/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/bootstrap/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/changes/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/export/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/extract-pdf/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/file/import/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/file/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/files/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/git/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/graph/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/health/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/init/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/mcp/agents/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/mcp/install/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/mcp/install-skill/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/mcp/restart/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/mcp/status/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/monitoring/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/recent-files/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/restart/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/search/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/settings/list-models/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/settings/reset-token/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/settings/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/settings/test-key/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/setup/check-path/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/setup/check-port/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/setup/generate-token/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/setup/ls/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/setup/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/skills/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/sync/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/tree-version/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/uninstall/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/update/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/update-check/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/update-status/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/api/workflows/route-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/changes/page-def5210095f8698d.js +0 -1
- package/_standalone/.next/static/chunks/app/echo/[segment]/page-be28eff31b1a186e.js +0 -11
- package/_standalone/.next/static/chunks/app/echo/page-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/explore/page-e4b8098dca200389.js +0 -4
- package/_standalone/.next/static/chunks/app/help/page-d5e57d73d94bad19.js +0 -1
- package/_standalone/.next/static/chunks/app/layout-d91cdbe2ecf135e1.js +0 -173
- package/_standalone/.next/static/chunks/app/login/page-321875768b70938a.js +0 -1
- package/_standalone/.next/static/chunks/app/page-718fdf170428b43c.js +0 -7
- package/_standalone/.next/static/chunks/app/setup/page-01ab1f549d636057.js +0 -1
- package/_standalone/.next/static/chunks/app/trash/page-89b1430cc8a16f18.js +0 -1
- package/_standalone/.next/static/chunks/app/view/[...path]/loading-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/app/view/[...path]/not-found-f22c513bbc348cc8.js +0 -1
- package/_standalone/.next/static/chunks/app/view/[...path]/page-6e3dc47699a01de1.js +0 -12
- package/_standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-d4762cc48529e566.js +0 -1
- package/_standalone/.next/static/chunks/webpack-3489a2b6c2882b0c.js +0 -1
- package/_standalone/.next/static/css/f16595bc58a16d5d.css +0 -1
- package/_standalone/.next/static/ushZ_NJ8rE3rG5hZfaYOX/_buildManifest.js +0 -1
- package/_standalone/components/walkthrough/WalkthroughProvider.tsx +0 -133
- package/_standalone/hooks/useMcpData.tsx +0 -169
- package/_standalone/lib/i18n-en.ts +0 -2
- package/_standalone/lib/i18n-zh.ts +0 -2
- package/_standalone/lib/types.ts +0 -70
- package/app/components/walkthrough/WalkthroughProvider.tsx +0 -133
- package/app/hooks/useMcpData.tsx +0 -169
- package/app/lib/LocaleContext.tsx +0 -60
- package/app/lib/i18n-en.ts +0 -2
- package/app/lib/i18n-zh.ts +0 -2
- /package/_standalone/.next/static/{ushZ_NJ8rE3rG5hZfaYOX → Ij3PFh-a0zi5K_ANoSAW0}/_ssgManifest.js +0 -0
package/scripts/setup.js
CHANGED
|
@@ -55,8 +55,8 @@ const T = {
|
|
|
55
55
|
// step labels
|
|
56
56
|
step: { en: (n, total) => `Step ${n}/${total}`, zh: (n, total) => `步骤 ${n}/${total}` },
|
|
57
57
|
stepTitles: {
|
|
58
|
-
en: ['Knowledge Base', 'AI Provider', 'Ports', 'Auth Token', 'Web Password', 'Start Mode', 'Agent
|
|
59
|
-
zh: ['知识库', 'AI 服务商', '端口', 'Auth Token', 'Web 密码', '启动方式', 'Agent
|
|
58
|
+
en: ['Knowledge Base', 'AI Provider', 'Ports', 'Auth Token', 'Web Password', 'Start Mode', 'Connection Mode', 'Agent Connection'],
|
|
59
|
+
zh: ['知识库', 'AI 服务商', '端口', 'Auth Token', 'Web 密码', '启动方式', '连接模式', 'Agent 连接'],
|
|
60
60
|
},
|
|
61
61
|
|
|
62
62
|
// path
|
|
@@ -125,20 +125,16 @@ const T = {
|
|
|
125
125
|
syncSetup: { en: 'Set up cross-device sync via Git?', zh: '是否配置 Git 跨设备同步?' },
|
|
126
126
|
syncLater: { en: ' → Run `mindos sync init` anytime to set up sync later.', zh: ' → 随时运行 `mindos sync init` 配置同步。' },
|
|
127
127
|
|
|
128
|
-
//
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
skillInstalling: { en: (name) => `⏳ Installing Skill "${name}"...`, zh: (name) => `⏳ 正在安装 Skill "${name}"...` },
|
|
139
|
-
skillInstallOk: { en: (name) => ` ${c.green('✔')} Skill "${name}" installed`, zh: (name) => ` ${c.green('✔')} Skill "${name}" 已安装` },
|
|
140
|
-
skillInstallFail: { en: (name, msg) => ` ${c.red('✘')} Skill "${name}" failed: ${msg}`, zh: (name, msg) => ` ${c.red('✘')} Skill "${name}" 安装失败:${msg}` },
|
|
141
|
-
skillSkipped: { en: ' → No agents selected, skill install skipped.', zh: ' → 未选择 Agent,跳过 Skill 安装。' },
|
|
128
|
+
// mode selection step (Step 7)
|
|
129
|
+
modeSelectHint: { en: 'Connection mode (Space to toggle, Enter to confirm):', zh: '连接模式(空格切换,Enter 确认):' },
|
|
130
|
+
modeCli: { en: 'CLI Operate KB via command line', zh: 'CLI 通过命令行操作知识库' },
|
|
131
|
+
modeCliHint: { en: 'recommended, more token-efficient', zh: '推荐,更省 token' },
|
|
132
|
+
modeMcp: { en: 'MCP Connect via MCP protocol', zh: 'MCP 通过 MCP 协议连接' },
|
|
133
|
+
modeMcpHint: { en: 'optional, may consume more tokens', zh: '可选,可能消耗更多 token' },
|
|
134
|
+
modeNoneError: { en: 'Please select at least one mode.', zh: '请至少选择一种模式。' },
|
|
135
|
+
|
|
136
|
+
// agent config install (internal, Skill concept hidden from user)
|
|
137
|
+
skillInstallFail: { en: (name, msg) => ` ${c.red('✘')} Configuration failed: ${msg}`, zh: (name, msg) => ` ${c.red('✘')} 配置失败:${msg}` },
|
|
142
138
|
|
|
143
139
|
// restart prompts (re-onboard with config changes)
|
|
144
140
|
restartRequired: { en: 'Config changed. Service restart required.', zh: '配置已变更,需要重启服务。' },
|
|
@@ -151,14 +147,14 @@ const T = {
|
|
|
151
147
|
'─────────────────────────────────────────────',
|
|
152
148
|
'🚀 Setup complete! Start MindOS:\n',
|
|
153
149
|
` ${c.cyan(cmd)}`,
|
|
154
|
-
` ${c.dim('
|
|
150
|
+
` ${c.dim('Connection details and auth token will be shown on startup.')}\n`,
|
|
155
151
|
'─────────────────────────────────────────────',
|
|
156
152
|
],
|
|
157
153
|
zh: (cmd) => [
|
|
158
154
|
'─────────────────────────────────────────────',
|
|
159
155
|
'🚀 初始化完成!启动 MindOS:\n',
|
|
160
156
|
` ${c.cyan(cmd)}`,
|
|
161
|
-
` ${c.dim('
|
|
157
|
+
` ${c.dim('连接信息和 Auth token 将在启动后显示。')}\n`,
|
|
162
158
|
'─────────────────────────────────────────────',
|
|
163
159
|
],
|
|
164
160
|
},
|
|
@@ -217,7 +213,7 @@ const tf = (key, ...args) => {
|
|
|
217
213
|
|
|
218
214
|
// ── Step header ───────────────────────────────────────────────────────────────
|
|
219
215
|
|
|
220
|
-
const TOTAL_STEPS =
|
|
216
|
+
const TOTAL_STEPS = 8;
|
|
221
217
|
function stepHeader(n) {
|
|
222
218
|
const title = T.stepTitles[uiLang][n - 1] ?? T.stepTitles.en[n - 1];
|
|
223
219
|
const stepLabel = tf('step', n, TOTAL_STEPS);
|
|
@@ -598,10 +594,11 @@ function expandHomePath(p) {
|
|
|
598
594
|
return p.startsWith('~/') ? resolve(homedir(), p.slice(2)) : p;
|
|
599
595
|
}
|
|
600
596
|
|
|
601
|
-
/** Parse JSONC: JSON plus
|
|
597
|
+
/** Parse JSONC: JSON plus comments (e.g. VS Code configs). Returns {} for empty input. */
|
|
602
598
|
function parseJsonc(text) {
|
|
603
599
|
let stripped = text.replace(/\\"|"(?:\\"|[^"])*"|(\/\/.*$)/gm, (m, g) => g ? '' : m);
|
|
604
600
|
stripped = stripped.replace(/\/\*[\s\S]*?\*\//g, '');
|
|
601
|
+
if (!stripped.trim()) return {};
|
|
605
602
|
return JSON.parse(stripped);
|
|
606
603
|
}
|
|
607
604
|
|
|
@@ -622,14 +619,79 @@ function isAgentInstalled(agentKey) {
|
|
|
622
619
|
}
|
|
623
620
|
|
|
624
621
|
/**
|
|
625
|
-
* Step
|
|
626
|
-
*
|
|
627
|
-
|
|
622
|
+
* Step 7: mode selection — CLI (default-on) vs MCP (default-off).
|
|
623
|
+
* Returns { cli: boolean, mcp: boolean }.
|
|
624
|
+
*/
|
|
625
|
+
async function runModeSelect() {
|
|
626
|
+
const modes = [
|
|
627
|
+
{ key: 'cli', label: t('modeCli'), hint: t('modeCliHint'), preselect: true },
|
|
628
|
+
{ key: 'mcp', label: t('modeMcp'), hint: t('modeMcpHint'), preselect: false },
|
|
629
|
+
];
|
|
630
|
+
|
|
631
|
+
return new Promise((resolve) => {
|
|
632
|
+
let cursor = 0;
|
|
633
|
+
const chosen = new Set(modes.map((m, i) => m.preselect ? i : -1).filter(i => i >= 0));
|
|
634
|
+
|
|
635
|
+
const render = (first = false, errMsg = '') => {
|
|
636
|
+
if (!first) write(`\x1b[${modes.length + (errMsg ? 3 : 2)}A\x1b[J`);
|
|
637
|
+
write(`${c.bold(t('modeSelectHint'))}\n`);
|
|
638
|
+
for (let i = 0; i < modes.length; i++) {
|
|
639
|
+
const m = modes[i];
|
|
640
|
+
const check = chosen.has(i) ? c.green('✔') : c.dim('○');
|
|
641
|
+
const pointer = i === cursor ? c.cyan('❯') : ' ';
|
|
642
|
+
const label = i === cursor ? (chosen.has(i) ? c.green(m.label) : c.cyan(m.label)) : (chosen.has(i) ? c.green(m.label) : m.label);
|
|
643
|
+
write(` ${pointer} ${check} ${label} ${c.dim('(' + m.hint + ')')}\n`);
|
|
644
|
+
}
|
|
645
|
+
if (errMsg) {
|
|
646
|
+
write(` ${c.yellow('⚠ ' + errMsg)}\n`);
|
|
647
|
+
}
|
|
648
|
+
write(c.dim(` ${chosen.size} ${uiLang === 'zh' ? '已选' : 'selected'}\n`));
|
|
649
|
+
};
|
|
650
|
+
|
|
651
|
+
write('\n');
|
|
652
|
+
render(true);
|
|
653
|
+
|
|
654
|
+
process.stdin.setRawMode(true);
|
|
655
|
+
process.stdin.resume();
|
|
656
|
+
process.stdin.setEncoding('utf8');
|
|
657
|
+
|
|
658
|
+
const onKey = (key) => {
|
|
659
|
+
if (key === '\x03') { cleanup(); process.exit(1); }
|
|
660
|
+
if (key === `${ESC}[A`) { cursor = (cursor - 1 + modes.length) % modes.length; render(); }
|
|
661
|
+
else if (key === `${ESC}[B`) { cursor = (cursor + 1) % modes.length; render(); }
|
|
662
|
+
else if (key === ' ') {
|
|
663
|
+
if (chosen.has(cursor)) chosen.delete(cursor); else chosen.add(cursor);
|
|
664
|
+
render();
|
|
665
|
+
} else if (key === '\r' || key === '\n') {
|
|
666
|
+
if (chosen.size === 0) {
|
|
667
|
+
render(false, t('modeNoneError'));
|
|
668
|
+
return;
|
|
669
|
+
}
|
|
670
|
+
cleanup();
|
|
671
|
+
resolve({
|
|
672
|
+
cli: chosen.has(0),
|
|
673
|
+
mcp: chosen.has(1),
|
|
674
|
+
});
|
|
675
|
+
}
|
|
676
|
+
};
|
|
677
|
+
|
|
678
|
+
const cleanup = () => {
|
|
679
|
+
process.stdin.removeListener('data', onKey);
|
|
680
|
+
process.stdin.setRawMode(false);
|
|
681
|
+
process.stdin.pause();
|
|
682
|
+
};
|
|
683
|
+
|
|
684
|
+
process.stdin.on('data', onKey);
|
|
685
|
+
});
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
/**
|
|
689
|
+
* Agent multi-select UI — shared by both CLI-only and MCP modes.
|
|
690
|
+
* Returns array of selected agent keys.
|
|
628
691
|
*/
|
|
629
|
-
async function
|
|
692
|
+
async function runAgentSelect() {
|
|
630
693
|
const keys = Object.keys(MCP_AGENTS);
|
|
631
694
|
|
|
632
|
-
// Build options with installed/detected status shown as hint
|
|
633
695
|
const options = keys.map(k => {
|
|
634
696
|
const installed = isAgentInstalled(k);
|
|
635
697
|
const present = detectAgentPresence(k);
|
|
@@ -641,89 +703,82 @@ async function runMcpInstallStep(mcpPort, authToken) {
|
|
|
641
703
|
};
|
|
642
704
|
});
|
|
643
705
|
|
|
644
|
-
// Sort: configured > detected > not found (stable within each group)
|
|
645
706
|
options.sort((a, b) => {
|
|
646
707
|
const rank = (o) => o.hint.includes('configured') || o.hint.includes('已配置') ? 0 : o.preselect ? 1 : 2;
|
|
647
708
|
return rank(a) - rank(b);
|
|
648
709
|
});
|
|
649
710
|
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
write(c.dim(` ${chosen.size} ${uiLang === 'zh' ? '已选' : 'selected'}\n`));
|
|
667
|
-
};
|
|
711
|
+
const selected = await new Promise((resolveSelected) => {
|
|
712
|
+
let cursor = 0;
|
|
713
|
+
const chosen = new Set(options.map((o, i) => o.preselect ? i : -1).filter(i => i >= 0));
|
|
714
|
+
|
|
715
|
+
const render = (first = false) => {
|
|
716
|
+
if (!first) write(`\x1b[${options.length + 2}A\x1b[J`);
|
|
717
|
+
write(`${c.bold(uiLang === 'zh' ? '选择 Agent:' : 'Select agents:')} ${c.dim(uiLang === 'zh' ? '(↑↓ 移动 空格 切换 D 已检测 A 全选 Enter 确认)' : '(↑↓ move Space toggle D detected A all Enter confirm)')}\n`);
|
|
718
|
+
for (let i = 0; i < options.length; i++) {
|
|
719
|
+
const o = options[i];
|
|
720
|
+
const check = chosen.has(i) ? c.green('✔') : c.dim('○');
|
|
721
|
+
const pointer = i === cursor ? c.cyan('❯') : ' ';
|
|
722
|
+
const label = i === cursor ? (chosen.has(i) ? c.green(o.label) : c.cyan(o.label)) : (chosen.has(i) ? c.green(o.label) : o.label);
|
|
723
|
+
write(` ${pointer} ${check} ${label} ${c.dim('(' + o.hint + ')')}\n`);
|
|
724
|
+
}
|
|
725
|
+
write(c.dim(` ${chosen.size} ${uiLang === 'zh' ? '已选' : 'selected'}\n`));
|
|
726
|
+
};
|
|
668
727
|
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
};
|
|
728
|
+
write('\n');
|
|
729
|
+
render(true);
|
|
730
|
+
|
|
731
|
+
process.stdin.setRawMode(true);
|
|
732
|
+
process.stdin.resume();
|
|
733
|
+
process.stdin.setEncoding('utf8');
|
|
734
|
+
|
|
735
|
+
const onKey = (key) => {
|
|
736
|
+
if (key === '\x03') { cleanup(); process.exit(1); }
|
|
737
|
+
if (key === `${ESC}[A`) { cursor = (cursor - 1 + options.length) % options.length; render(); }
|
|
738
|
+
else if (key === `${ESC}[B`) { cursor = (cursor + 1) % options.length; render(); }
|
|
739
|
+
else if (key === ' ') {
|
|
740
|
+
if (chosen.has(cursor)) chosen.delete(cursor); else chosen.add(cursor);
|
|
741
|
+
render();
|
|
742
|
+
} else if (key === 'a' || key === 'A') {
|
|
743
|
+
if (chosen.size === options.length) chosen.clear();
|
|
744
|
+
else options.forEach((_, i) => chosen.add(i));
|
|
745
|
+
render();
|
|
746
|
+
} else if (key === 'd' || key === 'D') {
|
|
747
|
+
chosen.clear();
|
|
748
|
+
options.forEach((o, i) => { if (o.preselect) chosen.add(i); });
|
|
749
|
+
render();
|
|
750
|
+
} else if (key === '\r' || key === '\n') {
|
|
751
|
+
cleanup();
|
|
752
|
+
resolveSelected([...chosen].sort().map(i => options[i].value));
|
|
753
|
+
}
|
|
754
|
+
};
|
|
697
755
|
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
756
|
+
const cleanup = () => {
|
|
757
|
+
process.stdin.removeListener('data', onKey);
|
|
758
|
+
process.stdin.setRawMode(false);
|
|
759
|
+
process.stdin.pause();
|
|
760
|
+
};
|
|
703
761
|
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
})();
|
|
762
|
+
process.stdin.on('data', onKey);
|
|
763
|
+
});
|
|
707
764
|
|
|
708
765
|
if (selected.length === 0) {
|
|
709
|
-
write(c.dim(
|
|
710
|
-
return [];
|
|
766
|
+
write(c.dim(uiLang === 'zh' ? ' → 未选择 Agent。\n' : ' → No agents selected.\n'));
|
|
711
767
|
}
|
|
768
|
+
return selected;
|
|
769
|
+
}
|
|
712
770
|
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
771
|
+
/**
|
|
772
|
+
* Write MCP config into selected agents' config files.
|
|
773
|
+
* Agent selection is handled separately by runAgentSelect().
|
|
774
|
+
*/
|
|
775
|
+
function installMcpConfig(selected, mcpPort, authToken) {
|
|
716
776
|
const entry = { type: 'stdio', command: 'mindos', args: ['mcp'], env: { MCP_TRANSPORT: 'stdio' } };
|
|
717
|
-
let okCount = 0;
|
|
718
777
|
|
|
719
778
|
for (const agentKey of selected) {
|
|
720
779
|
const agent = MCP_AGENTS[agentKey];
|
|
721
|
-
// prefer global scope; fall back to project
|
|
722
780
|
const cfgPath = agent.global || agent.project;
|
|
723
|
-
if (!cfgPath)
|
|
724
|
-
write(tf('mcpInstallFail', agent.name, 'no config path') + '\n');
|
|
725
|
-
continue;
|
|
726
|
-
}
|
|
781
|
+
if (!cfgPath) continue;
|
|
727
782
|
const abs = expandHomePath(cfgPath);
|
|
728
783
|
try {
|
|
729
784
|
let config = {};
|
|
@@ -733,15 +788,8 @@ async function runMcpInstallStep(mcpPort, authToken) {
|
|
|
733
788
|
const dir = resolve(abs, '..');
|
|
734
789
|
if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
|
|
735
790
|
writeFileSync(abs, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
736
|
-
|
|
737
|
-
okCount++;
|
|
738
|
-
} catch (err) {
|
|
739
|
-
write(tf('mcpInstallFail', agent.name, String(err)) + '\n');
|
|
740
|
-
}
|
|
791
|
+
} catch { /* logged by caller via agent count */ }
|
|
741
792
|
}
|
|
742
|
-
|
|
743
|
-
console.log(`\n${c.green(tf('mcpInstallDone', okCount))}`);
|
|
744
|
-
return selected;
|
|
745
793
|
}
|
|
746
794
|
|
|
747
795
|
/* ── Skill auto-install ────────────────────────────────────────────────────── */
|
|
@@ -758,20 +806,15 @@ const SKILL_UNSUPPORTED = new Set([]);
|
|
|
758
806
|
* @param {string[]} selectedAgents - MCP agent keys from the multi-select step
|
|
759
807
|
*/
|
|
760
808
|
function runSkillInstallStep(template, selectedAgents) {
|
|
761
|
-
if (!selectedAgents || selectedAgents.length === 0)
|
|
762
|
-
write(c.dim(t('skillSkipped') + '\n'));
|
|
763
|
-
return;
|
|
764
|
-
}
|
|
809
|
+
if (!selectedAgents || selectedAgents.length === 0) return true;
|
|
765
810
|
|
|
766
811
|
const skillName = template === 'zh' ? 'mindos-zh' : 'mindos';
|
|
767
812
|
const localSource = resolve(ROOT, 'skills');
|
|
768
813
|
const githubSource = 'GeminiLight/MindOS';
|
|
769
814
|
|
|
770
|
-
// Filter to non-universal, skill-capable agents
|
|
771
815
|
const additionalAgents = selectedAgents
|
|
772
816
|
.flatMap((key) => {
|
|
773
817
|
if (SKILL_UNSUPPORTED.has(key)) return [];
|
|
774
|
-
// Keep backward-compatibility for non-MCP universal keys.
|
|
775
818
|
if (UNIVERSAL_AGENTS.has(key)) return [];
|
|
776
819
|
const reg = SKILL_AGENT_REGISTRY[key];
|
|
777
820
|
if (!reg) return [key];
|
|
@@ -780,18 +823,13 @@ function runSkillInstallStep(template, selectedAgents) {
|
|
|
780
823
|
return [reg.skillAgentName || key];
|
|
781
824
|
});
|
|
782
825
|
|
|
783
|
-
// Each agent needs its own -a flag (skills CLI does NOT accept comma-separated)
|
|
784
826
|
const agentFlags = additionalAgents.length > 0
|
|
785
827
|
? additionalAgents.map(a => `-a ${a}`).join(' ')
|
|
786
828
|
: '-a universal';
|
|
787
829
|
|
|
788
|
-
// Try GitHub source first, fall back to local path
|
|
789
830
|
const sources = [githubSource, localSource];
|
|
790
831
|
|
|
791
|
-
write(tf('skillInstalling', skillName) + '\n');
|
|
792
|
-
|
|
793
832
|
for (const source of sources) {
|
|
794
|
-
// Quote local paths for shell safety
|
|
795
833
|
const quotedSource = /[/\\]/.test(source) ? `"${source}"` : source;
|
|
796
834
|
const cmd = `npx skills add ${quotedSource} --skill ${skillName} ${agentFlags} -g -y`;
|
|
797
835
|
try {
|
|
@@ -801,12 +839,11 @@ function runSkillInstallStep(template, selectedAgents) {
|
|
|
801
839
|
env: { ...process.env, NODE_ENV: 'production' },
|
|
802
840
|
stdio: 'pipe',
|
|
803
841
|
});
|
|
804
|
-
|
|
805
|
-
return;
|
|
842
|
+
return true;
|
|
806
843
|
} catch { /* try next source */ }
|
|
807
844
|
}
|
|
808
845
|
|
|
809
|
-
|
|
846
|
+
return false;
|
|
810
847
|
}
|
|
811
848
|
|
|
812
849
|
// ── GUI Setup ─────────────────────────────────────────────────────────────────
|
|
@@ -1228,19 +1265,44 @@ async function main() {
|
|
|
1228
1265
|
console.log(`\n${c.green(t('cfgSaved'))}: ${c.dim(CONFIG_PATH)}`);
|
|
1229
1266
|
|
|
1230
1267
|
// ── Skill rules are now built into SKILL.md — no install needed ──────────
|
|
1231
|
-
// user-
|
|
1268
|
+
// .mindos/user-preferences.md will be created on first preference capture or via `mindos init-skills`.
|
|
1232
1269
|
|
|
1233
|
-
// ── Step 7:
|
|
1270
|
+
// ── Step 7: Connection Mode ─────────────────────────────────────────────────
|
|
1234
1271
|
write('\n');
|
|
1235
1272
|
stepHeader(7);
|
|
1236
|
-
|
|
1273
|
+
const modes = await runModeSelect();
|
|
1237
1274
|
|
|
1238
|
-
|
|
1275
|
+
// ── Step 8: Agent Connection ────────────────────────────────────────────────
|
|
1276
|
+
write('\n');
|
|
1277
|
+
stepHeader(8);
|
|
1278
|
+
const selectedAgents = await runAgentSelect();
|
|
1239
1279
|
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
write('\n'
|
|
1243
|
-
|
|
1280
|
+
if (selectedAgents.length > 0) {
|
|
1281
|
+
const agentCount = selectedAgents.length;
|
|
1282
|
+
write('\n' + c.dim(uiLang === 'zh'
|
|
1283
|
+
? ` 正在为 ${agentCount} 个 Agent 配置连接…`
|
|
1284
|
+
: ` Configuring connection for ${agentCount} agent${agentCount > 1 ? 's' : ''}…`) + '\n');
|
|
1285
|
+
|
|
1286
|
+
if (modes.mcp) {
|
|
1287
|
+
installMcpConfig(selectedAgents, mcpPort, authToken);
|
|
1288
|
+
}
|
|
1289
|
+
const skillOk = runSkillInstallStep(selectedTemplate, selectedAgents);
|
|
1290
|
+
|
|
1291
|
+
if (skillOk) {
|
|
1292
|
+
write(c.green(uiLang === 'zh'
|
|
1293
|
+
? ` ✔ ${agentCount} 个 Agent 已配置完成\n`
|
|
1294
|
+
: ` ✔ ${agentCount} agent${agentCount > 1 ? 's' : ''} configured\n`));
|
|
1295
|
+
} else {
|
|
1296
|
+
write(c.yellow(uiLang === 'zh'
|
|
1297
|
+
? ` ⚠ ${agentCount} 个 Agent 配置部分完成,CLI 指令文档安装失败\n`
|
|
1298
|
+
: ` ⚠ ${agentCount} agent${agentCount > 1 ? 's' : ''} partially configured — CLI guide install failed\n`));
|
|
1299
|
+
}
|
|
1300
|
+
|
|
1301
|
+
if (!modes.mcp) {
|
|
1302
|
+
write(c.dim(uiLang === 'zh'
|
|
1303
|
+
? ' → 如需启用 MCP 模式,随时运行 `mindos mcp install`。\n'
|
|
1304
|
+
: ' → To enable MCP mode later, run `mindos mcp install`.\n'));
|
|
1305
|
+
}
|
|
1244
1306
|
}
|
|
1245
1307
|
|
|
1246
1308
|
// ── Sync setup (optional) ──────────────────────────────────────────────────
|