@geminilight/mindos 0.6.57 → 0.6.59
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/_standalone/.mindos-build-version +1 -1
- package/_standalone/.next/BUILD_ID +1 -1
- package/_standalone/.next/app-path-routes-manifest.json +24 -24
- 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 +1 -1
- 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 +1 -1
- 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 +2 -2
- 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_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_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_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/agent-activity/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/agents/custom/detect/route.js +1 -1
- package/_standalone/.next/server/app/api/agents/custom/detect/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/agents/custom/route.js +1 -1
- package/_standalone/.next/server/app/api/agents/custom/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/ask/route.js +5 -5
- 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.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.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.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.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.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/raw/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/file/raw/route_client-reference-manifest.js +1 -1
- 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.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.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.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.nft.json +1 -1
- package/_standalone/.next/server/app/api/inbox/route_client-reference-manifest.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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/uninstall/route_client-reference-manifest.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.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.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_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_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_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_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/skills/route.js +1 -1
- package/_standalone/.next/server/app/api/skills/route_client-reference-manifest.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.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_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.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 +3 -3
- 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 +1 -1
- 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/inbox/history/page.js +1 -1
- package/_standalone/.next/server/app/inbox/history/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/inbox/history/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 +2 -8
- 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 +3 -3
- 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/wiki/page.js +2 -2
- package/_standalone/.next/server/app/wiki/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/wiki/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app-paths-manifest.json +24 -24
- package/_standalone/.next/server/chunks/1550.js +1 -1
- package/_standalone/.next/server/chunks/1750.js +1 -1
- package/_standalone/.next/server/chunks/3484.js +1 -1
- package/_standalone/.next/server/chunks/530.js +61 -62
- package/_standalone/.next/server/chunks/6539.js +1 -1
- package/_standalone/.next/server/chunks/{2159.js → 8343.js} +2 -2
- package/_standalone/.next/server/chunks/9787.js +2 -0
- 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/chunks/{1814.a7c127b2c73d1f70.js → 1814.a79b84d37df75c43.js} +1 -1
- package/_standalone/.next/static/chunks/3427-2e61a5df1f5e55fb.js +1 -0
- package/_standalone/.next/static/chunks/5581-dac72e9f16e5ea29.js +29 -0
- package/_standalone/.next/static/chunks/6297-085daa21037d5f81.js +1 -0
- package/_standalone/.next/static/chunks/7249-6cf8f2b78718c59e.js +11 -0
- package/_standalone/.next/static/chunks/8520-56ec9ff087c15204.js +22 -0
- package/_standalone/.next/static/chunks/9905-a19d379cb225246e.js +1 -0
- package/_standalone/.next/static/chunks/app/agents/[agentKey]/{page-7bdeab5af8e4f5f2.js → page-35ea6de1af2be3b5.js} +1 -1
- package/_standalone/.next/static/chunks/app/agents/page-b172ea3743adb047.js +1 -0
- package/_standalone/.next/static/chunks/app/changes/{page-5a72144d1080a699.js → page-6d2f49651c0061f7.js} +1 -1
- package/_standalone/.next/static/chunks/app/echo/[segment]/page-84b95256f6e38aae.js +11 -0
- package/_standalone/.next/static/chunks/app/explore/{page-d3d99308146c2240.js → page-d9f58000bc445360.js} +2 -2
- package/_standalone/.next/static/chunks/app/help/{page-222df603080b5fab.js → page-f8cb806371b3175f.js} +1 -1
- package/_standalone/.next/static/chunks/app/inbox/history/{page-07819cf95cb0805f.js → page-26e71fb6f716a4c4.js} +1 -1
- package/_standalone/.next/static/chunks/app/layout-b89b0d955f39a753.js +164 -0
- package/_standalone/.next/static/chunks/app/login/{page-0eeef685052869a6.js → page-18fb00d568cd1f0e.js} +1 -1
- package/_standalone/.next/static/chunks/app/page-a8e6f085f38388bf.js +1 -0
- package/_standalone/.next/static/chunks/app/setup/{page-99fcfc460fa29733.js → page-821714e7477be46c.js} +1 -1
- package/_standalone/.next/static/chunks/app/trash/page-f92b728b78ac0f7e.js +1 -0
- package/_standalone/.next/static/chunks/app/view/[...path]/{not-found-fc04c2bd4f35bc6f.js → not-found-6e0c75ad26ce8572.js} +1 -1
- package/_standalone/.next/static/chunks/app/view/[...path]/page-f87f4901b5e1a88f.js +12 -0
- package/_standalone/.next/static/chunks/app/wiki/page-641edb1f3cff2f93.js +1 -0
- package/_standalone/.next/static/chunks/{webpack-2c19436659aa657b.js → webpack-72e8d9e9073fd1f9.js} +1 -1
- package/_standalone/.next/static/css/6c104b118d3bc9b7.css +1 -0
- package/_standalone/.next/trace +64 -64
- package/_standalone/__tests__/api/mcp-install.test.ts +3 -2
- package/_standalone/__tests__/ask/non-streaming-api.test.ts +281 -0
- package/_standalone/__tests__/core/skill-install-logic.test.ts +1 -0
- package/_standalone/app/globals.css +2 -1
- package/_standalone/components/AskFab.tsx +4 -4
- package/_standalone/components/AskModal.tsx +1 -1
- package/_standalone/components/GuideCard.tsx +101 -152
- package/_standalone/components/RightAskPanel.tsx +2 -2
- package/_standalone/components/agents/CustomAgentModal.tsx +32 -8
- package/_standalone/components/ask/AskContent.tsx +90 -51
- package/_standalone/components/ask/AskHeader.tsx +218 -18
- package/_standalone/components/ask/MessageList.tsx +66 -47
- package/_standalone/components/ask/SessionHistory.tsx +86 -60
- package/_standalone/components/ask/SessionTabBar.tsx +29 -21
- package/_standalone/components/ask/ThinkingBlock.tsx +6 -5
- package/_standalone/components/ask/ToolCallBlock.tsx +10 -9
- package/_standalone/components/settings/SettingsContent.tsx +1 -1
- package/_standalone/data/skills/mindos/SKILL.md +72 -15
- package/_standalone/data/skills/mindos-zh/SKILL.md +73 -8
- package/_standalone/hooks/useAskSession.ts +23 -1
- package/_standalone/lib/stores/locale-store.ts +20 -6
- package/_standalone/tsconfig.tsbuildinfo +1 -1
- package/app/app/api/agents/custom/route.ts +8 -0
- package/app/app/api/ask/route.ts +171 -10
- package/app/app/api/mcp/agents/route.ts +5 -3
- package/app/app/api/settings/route.ts +9 -0
- package/app/app/api/settings/test-key/route.ts +13 -1
- package/app/app/globals.css +2 -1
- package/app/app/layout.tsx +16 -4
- package/app/components/AskFab.tsx +4 -4
- package/app/components/AskModal.tsx +1 -1
- package/app/components/GuideCard.tsx +101 -152
- package/app/components/HomeContent.tsx +116 -575
- package/app/components/RightAskPanel.tsx +2 -2
- package/app/components/WikiHomeContent.tsx +151 -3
- package/app/components/agents/CustomAgentModal.tsx +32 -8
- package/app/components/ask/AskContent.tsx +90 -51
- package/app/components/ask/AskHeader.tsx +218 -18
- package/app/components/ask/MessageList.tsx +66 -47
- package/app/components/ask/SessionHistory.tsx +86 -60
- package/app/components/ask/SessionTabBar.tsx +29 -21
- package/app/components/ask/ThinkingBlock.tsx +6 -5
- package/app/components/ask/ToolCallBlock.tsx +10 -9
- package/app/components/settings/SettingsContent.tsx +1 -1
- package/app/data/skills/mindos/SKILL.md +72 -15
- package/app/data/skills/mindos-zh/SKILL.md +73 -8
- package/app/hooks/useAskSession.ts +23 -1
- package/app/lib/custom-agents.ts +45 -2
- package/app/lib/i18n/modules/ai-chat.ts +97 -10
- package/app/lib/i18n/modules/onboarding.ts +12 -12
- package/app/lib/i18n/modules/panels.ts +10 -2
- package/app/lib/mcp-agents.ts +10 -0
- package/app/lib/stores/LocaleStoreInit.tsx +24 -1
- package/app/lib/stores/locale-store.ts +20 -6
- package/app/lib/types.ts +1 -0
- package/bin/lib/mcp-agents.js +10 -0
- package/package.json +1 -1
- package/skills/mindos/SKILL.md +69 -11
- package/skills/mindos/references/knowledge-health.md +120 -0
- package/skills/mindos-max/SKILL.md +238 -0
- package/skills/mindos-max-workspace/evals/evals.json +23 -0
- package/skills/mindos-max-workspace/iteration-1/capture-debugging-experience-en/eval_metadata.json +11 -0
- package/skills/mindos-max-workspace/iteration-1/capture-debugging-experience-en/old_skill/grading.json +28 -0
- package/skills/mindos-max-workspace/iteration-1/capture-debugging-experience-en/old_skill/outputs/transcript.md +203 -0
- package/skills/mindos-max-workspace/iteration-1/capture-debugging-experience-en/with_skill/grading.json +28 -0
- package/skills/mindos-max-workspace/iteration-1/capture-debugging-experience-en/with_skill/outputs/transcript.md +271 -0
- package/skills/mindos-max-workspace/iteration-1/save-meeting-decision-zh/eval_metadata.json +11 -0
- package/skills/mindos-max-workspace/iteration-1/save-meeting-decision-zh/old_skill/grading.json +28 -0
- package/skills/mindos-max-workspace/iteration-1/save-meeting-decision-zh/old_skill/outputs/transcript.md +121 -0
- package/skills/mindos-max-workspace/iteration-1/save-meeting-decision-zh/with_skill/grading.json +28 -0
- package/skills/mindos-max-workspace/iteration-1/save-meeting-decision-zh/with_skill/outputs/transcript.md +168 -0
- package/skills/mindos-max-workspace/iteration-1/search-past-decision-zh/eval_metadata.json +11 -0
- package/skills/mindos-max-workspace/iteration-1/search-past-decision-zh/old_skill/grading.json +28 -0
- package/skills/mindos-max-workspace/iteration-1/search-past-decision-zh/old_skill/outputs/transcript.md +143 -0
- package/skills/mindos-max-workspace/iteration-1/search-past-decision-zh/with_skill/grading.json +28 -0
- package/skills/mindos-max-workspace/iteration-1/search-past-decision-zh/with_skill/outputs/transcript.md +233 -0
- package/skills/mindos-max-workspace/skill-snapshot/mindos-original/SKILL.md +165 -0
- package/skills/mindos-max-workspace/skill-snapshot/mindos-original/references/README.md +12 -0
- package/skills/mindos-max-workspace/skill-snapshot/mindos-original/references/post-task-hooks.md +27 -0
- package/skills/mindos-max-workspace/skill-snapshot/mindos-original/references/preference-capture.md +41 -0
- package/skills/mindos-max-workspace/skill-snapshot/mindos-original/references/sop-template.md +74 -0
- package/skills/mindos-max-workspace/skill-snapshot/mindos-original/references/write-supplement.md +119 -0
- package/skills/mindos-max-zh/SKILL.md +241 -0
- package/skills/mindos-zh/SKILL.md +72 -8
- package/_standalone/.next/server/chunks/2364.js +0 -2
- package/_standalone/.next/server/chunks/357.js +0 -1
- package/_standalone/.next/static/chunks/1053-5cb008a24930e271.js +0 -29
- package/_standalone/.next/static/chunks/178-105779afb62d36d9.js +0 -1
- package/_standalone/.next/static/chunks/2218-d54538000574ffef.js +0 -1
- package/_standalone/.next/static/chunks/2549-e63cf57fa927a41d.js +0 -1
- package/_standalone/.next/static/chunks/7249-8cd568ad23656622.js +0 -11
- package/_standalone/.next/static/chunks/9274-296ab35f9f09e42e.js +0 -1
- package/_standalone/.next/static/chunks/app/agents/page-5d1446665ddb3801.js +0 -1
- package/_standalone/.next/static/chunks/app/echo/[segment]/page-b0103509ce34444b.js +0 -11
- package/_standalone/.next/static/chunks/app/layout-b3919384ec2eb979.js +0 -186
- package/_standalone/.next/static/chunks/app/page-6436a99cda35132b.js +0 -7
- package/_standalone/.next/static/chunks/app/trash/page-8dc388695344fdd4.js +0 -1
- package/_standalone/.next/static/chunks/app/view/[...path]/page-b292b55305ecc021.js +0 -12
- package/_standalone/.next/static/chunks/app/wiki/page-d492256a93f0b8bc.js +0 -1
- package/_standalone/.next/static/css/fd84c8316ead16eb.css +0 -1
- /package/_standalone/.next/static/{zOaEtgJbdRMncnCBucULp → u8p6oIRTcr_ns-ElNZ9rl}/_buildManifest.js +0 -0
- /package/_standalone/.next/static/{zOaEtgJbdRMncnCBucULp → u8p6oIRTcr_ns-ElNZ9rl}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# Transcript: Search Past Decision — API Rate Limiting
|
|
2
|
+
|
|
3
|
+
## User Request
|
|
4
|
+
|
|
5
|
+
> 上周我记得我们讨论过API限流的方案,具体是怎么定的来着?好像是每分钟100次还是200次?我找不到了。
|
|
6
|
+
|
|
7
|
+
## Decision Tree Classification
|
|
8
|
+
|
|
9
|
+
**Category: Lookup / summarize / quote**
|
|
10
|
+
→ Read-only path: search → read → answer with citations. No writes.
|
|
11
|
+
|
|
12
|
+
The user wants to recall a past decision about API rate limiting. They remember discussing it but can't find it. This is a pure search-and-retrieve task.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Step 1: Bootstrap — List KB Tree
|
|
17
|
+
|
|
18
|
+
**Command:**
|
|
19
|
+
```bash
|
|
20
|
+
mindos file list
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**Purpose:** Understand the knowledge base structure before searching. Identify likely directories where meeting notes, decisions, or architecture docs might live (e.g., `meetings/`, `decisions/`, `architecture/`, `discussions/`, etc.).
|
|
24
|
+
|
|
25
|
+
**Expected output:** A tree listing of all files and directories in the knowledge base, which tells us where to focus our search.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Step 2: Parallel Multi-Keyword Search
|
|
30
|
+
|
|
31
|
+
Per the skill rule: **"NEVER search with a single keyword. Fire 2-4 parallel searches (synonyms, abbreviations, Chinese/English variants)."**
|
|
32
|
+
|
|
33
|
+
The user's query involves API rate limiting discussed last week. We fire 4 parallel searches covering Chinese/English variants and synonyms:
|
|
34
|
+
|
|
35
|
+
**Search 1 — Chinese term (限流):**
|
|
36
|
+
```bash
|
|
37
|
+
mindos search "API限流"
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**Search 2 — Chinese synonym (速率限制):**
|
|
41
|
+
```bash
|
|
42
|
+
mindos search "速率限制"
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**Search 3 — English term:**
|
|
46
|
+
```bash
|
|
47
|
+
mindos search "rate limit"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Search 4 — Specific numbers the user recalls:**
|
|
51
|
+
```bash
|
|
52
|
+
mindos search "每分钟100次"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
All four searches run in parallel to maximize coverage.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Step 3: Read Matching Files
|
|
60
|
+
|
|
61
|
+
Based on the search results, read the top matching files to find the specific discussion/decision.
|
|
62
|
+
|
|
63
|
+
**Commands (example — actual paths depend on search results):**
|
|
64
|
+
```bash
|
|
65
|
+
mindos file read "meetings/2026-03-31-api-design.md"
|
|
66
|
+
mindos file read "decisions/api-rate-limiting.md"
|
|
67
|
+
mindos file read "architecture/api-gateway.md"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
We would read each file that matched the search queries, looking for:
|
|
71
|
+
- Specific rate limit numbers (100/min vs 200/min)
|
|
72
|
+
- Decision rationale
|
|
73
|
+
- Date of discussion (last week)
|
|
74
|
+
- Participants or context
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Step 4: Answer with Citations
|
|
79
|
+
|
|
80
|
+
After reading the matching files, synthesize the answer and **cite the file paths** (per the skill rule: "KB-cited facts must include the file path").
|
|
81
|
+
|
|
82
|
+
**Example response (simulated — actual content depends on KB):**
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
### If results are found:
|
|
87
|
+
|
|
88
|
+
> 找到了!根据 `meetings/2026-03-31-api-design.md` 的记录:
|
|
89
|
+
>
|
|
90
|
+
> 上周讨论的 API 限流方案最终定为 **每分钟 200 次**(per user),具体决策如下:
|
|
91
|
+
>
|
|
92
|
+
> - 普通用户:200 次/分钟
|
|
93
|
+
> - 免费用户:60 次/分钟
|
|
94
|
+
> - 超限返回 HTTP 429,附带 `Retry-After` header
|
|
95
|
+
>
|
|
96
|
+
> 讨论中也考虑过 100 次/分钟的方案,但因为 [具体原因] 最终选择了 200 次。
|
|
97
|
+
>
|
|
98
|
+
> **来源:** `meetings/2026-03-31-api-design.md`,第 45-62 行
|
|
99
|
+
|
|
100
|
+
### If no results are found:
|
|
101
|
+
|
|
102
|
+
> 我在知识库中搜索了以下关键词,但没有找到关于 API 限流讨论的记录:
|
|
103
|
+
> - "API限流"
|
|
104
|
+
> - "速率限制"
|
|
105
|
+
> - "rate limit"
|
|
106
|
+
> - "每分钟100次"
|
|
107
|
+
>
|
|
108
|
+
> 可能的原因:
|
|
109
|
+
> 1. 这次讨论还没有被记录到知识库中
|
|
110
|
+
> 2. 记录使用了不同的措辞
|
|
111
|
+
>
|
|
112
|
+
> 建议:
|
|
113
|
+
> - 你是否记得是在哪个文件或哪次会议中讨论的?我可以缩小搜索范围
|
|
114
|
+
> - 如果你回忆起了具体内容,我可以帮你记录下来
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Step 5: Post-Task Check
|
|
119
|
+
|
|
120
|
+
Since this is a **read-only** task, no post-task hooks apply. The skill states:
|
|
121
|
+
> "After write tasks (not simple reads), scan this table."
|
|
122
|
+
|
|
123
|
+
No writes were performed, so no hooks are triggered.
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Summary of Simulated Actions
|
|
128
|
+
|
|
129
|
+
| Step | Action | Command(s) | Write? |
|
|
130
|
+
|------|--------|------------|--------|
|
|
131
|
+
| 1 | Bootstrap KB tree | `mindos file list` | No |
|
|
132
|
+
| 2 | Parallel search (4 queries) | `mindos search "API限流"`, `mindos search "速率限制"`, `mindos search "rate limit"`, `mindos search "每分钟100次"` | No |
|
|
133
|
+
| 3 | Read matching files | `mindos file read <path>` (for each match) | No |
|
|
134
|
+
| 4 | Answer with citations | (text response to user) | No |
|
|
135
|
+
| 5 | Post-task hooks | Skipped (read-only task) | No |
|
|
136
|
+
|
|
137
|
+
## Key Skill Rules Applied
|
|
138
|
+
|
|
139
|
+
1. **Bootstrap first** — Listed KB tree before searching (Rule 1)
|
|
140
|
+
2. **Default to read-only** — User is looking up info, not saving; no writes performed (Rule 2)
|
|
141
|
+
3. **NEVER search with a single keyword** — Fired 4 parallel searches with Chinese/English variants and synonyms (NEVER rule 4)
|
|
142
|
+
4. **Citation** — All KB-cited facts would include file paths (Judgment heuristic)
|
|
143
|
+
5. **Decision tree** — Correctly classified as "Lookup / summarize / quote" → read-only path
|
package/skills/mindos-max-workspace/iteration-1/search-past-decision-zh/with_skill/grading.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"eval_id": 2,
|
|
3
|
+
"eval_name": "search-past-decision-zh",
|
|
4
|
+
"run_type": "with_skill",
|
|
5
|
+
"skill": "mindos-max",
|
|
6
|
+
"expectations": [
|
|
7
|
+
{
|
|
8
|
+
"text": "Uses mindos search with multiple keyword variants (synonyms, Chinese/English)",
|
|
9
|
+
"passed": true,
|
|
10
|
+
"evidence": "Fired 4 parallel searches: 'API限流', 'rate limit', '每分钟100次 OR 每分钟200次', 'rate limiting 100 200'."
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"text": "Searches for API rate limiting related terms",
|
|
14
|
+
"passed": true,
|
|
15
|
+
"evidence": "All 4 search queries are relevant to API rate limiting."
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"text": "Read-only approach - does not write to KB",
|
|
19
|
+
"passed": true,
|
|
20
|
+
"evidence": "Transcript explicitly states 'This was a read-only task. No writes were performed.' No write commands used."
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"text": "Would cite file path if results found",
|
|
24
|
+
"passed": true,
|
|
25
|
+
"evidence": "Response cites both 'decisions/api-rate-limiting.md' and 'meetings/2026-04-01-api-design.md'."
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
# Transcript: Search Past Decision — API 限流方案
|
|
2
|
+
|
|
3
|
+
## User Query
|
|
4
|
+
|
|
5
|
+
> 上周我记得我们讨论过API限流的方案,具体是怎么定的来着?好像是每分钟100次还是200次?我找不到了。
|
|
6
|
+
|
|
7
|
+
## Skill Applied
|
|
8
|
+
|
|
9
|
+
**mindos-max** (v3.0.0-max) — Persistent global memory / knowledge base skill.
|
|
10
|
+
|
|
11
|
+
## Decision Tree Classification
|
|
12
|
+
|
|
13
|
+
This is a **Lookup / summarize / quote** request:
|
|
14
|
+
- User wants to find a past decision
|
|
15
|
+
- No writes needed
|
|
16
|
+
- Read-only path: **search → read → answer with citations**
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Step 1: Bootstrap — List KB tree to understand structure
|
|
21
|
+
|
|
22
|
+
Per Rule #1: "Bootstrap first — list the KB tree to understand structure before searching or writing."
|
|
23
|
+
|
|
24
|
+
### Command
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
mindos file list
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Expected Output (simulated)
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
/
|
|
34
|
+
├── INSTRUCTION.md
|
|
35
|
+
├── README.md
|
|
36
|
+
├── .mindos/
|
|
37
|
+
│ └── user-preferences.md
|
|
38
|
+
├── projects/
|
|
39
|
+
│ ├── ...
|
|
40
|
+
├── meetings/
|
|
41
|
+
│ ├── 2026-03-31-weekly.md
|
|
42
|
+
│ ├── 2026-04-01-api-design.md
|
|
43
|
+
│ ├── 2026-04-03-standup.md
|
|
44
|
+
│ └── ...
|
|
45
|
+
├── decisions/
|
|
46
|
+
│ ├── ...
|
|
47
|
+
│ └── api-rate-limiting.md (possible hit)
|
|
48
|
+
├── architecture/
|
|
49
|
+
│ ├── ...
|
|
50
|
+
├── notes/
|
|
51
|
+
│ └── ...
|
|
52
|
+
└── inbox/
|
|
53
|
+
└── ...
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Rationale
|
|
57
|
+
|
|
58
|
+
Before searching, I need to see the directory layout. The KB might have a `decisions/` folder, a `meetings/` folder, or use Chinese directory names. I must not assume.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Step 2: Multi-keyword parallel search
|
|
63
|
+
|
|
64
|
+
Per SKILL rule: "NEVER search with a single keyword. Fire 2-4 parallel searches (synonyms, abbreviations, Chinese/English variants)."
|
|
65
|
+
|
|
66
|
+
### Commands (run in parallel)
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# Search 1: Chinese term — 限流
|
|
70
|
+
mindos search "API限流"
|
|
71
|
+
|
|
72
|
+
# Search 2: English term — rate limit
|
|
73
|
+
mindos search "rate limit"
|
|
74
|
+
|
|
75
|
+
# Search 3: Specific numbers user mentioned
|
|
76
|
+
mindos search "每分钟100次 OR 每分钟200次"
|
|
77
|
+
|
|
78
|
+
# Search 4: English variant with numbers
|
|
79
|
+
mindos search "rate limiting 100 200"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Expected Output (simulated)
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
# Search 1: "API限流"
|
|
86
|
+
Results:
|
|
87
|
+
- meetings/2026-04-01-api-design.md (score: 0.92)
|
|
88
|
+
"...讨论了API限流方案,最终确定..."
|
|
89
|
+
- decisions/api-rate-limiting.md (score: 0.88)
|
|
90
|
+
"...API限流策略:每分钟..."
|
|
91
|
+
|
|
92
|
+
# Search 2: "rate limit"
|
|
93
|
+
Results:
|
|
94
|
+
- decisions/api-rate-limiting.md (score: 0.95)
|
|
95
|
+
"...Rate Limiting Policy..."
|
|
96
|
+
- architecture/api-gateway.md (score: 0.61)
|
|
97
|
+
"...rate limiting middleware..."
|
|
98
|
+
|
|
99
|
+
# Search 3: "每分钟100次 OR 每分钟200次"
|
|
100
|
+
Results:
|
|
101
|
+
- decisions/api-rate-limiting.md (score: 0.85)
|
|
102
|
+
"...认证用户每分钟200次,未认证每分钟100次..."
|
|
103
|
+
|
|
104
|
+
# Search 4: "rate limiting 100 200"
|
|
105
|
+
Results:
|
|
106
|
+
- decisions/api-rate-limiting.md (score: 0.82)
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Rationale
|
|
110
|
+
|
|
111
|
+
Multiple parallel searches maximize recall. The user's memory is fuzzy ("100次还是200次?"), so we search for both numbers and both languages. The convergence on `decisions/api-rate-limiting.md` and `meetings/2026-04-01-api-design.md` gives high confidence.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Step 3: Read the top-hit files
|
|
116
|
+
|
|
117
|
+
Per decision tree: "search → read → answer with citations."
|
|
118
|
+
|
|
119
|
+
### Commands
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
# Read the decision document (highest relevance)
|
|
123
|
+
mindos file read decisions/api-rate-limiting.md
|
|
124
|
+
|
|
125
|
+
# Read the meeting notes for additional context
|
|
126
|
+
mindos file read meetings/2026-04-01-api-design.md
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Expected Output — decisions/api-rate-limiting.md (simulated)
|
|
130
|
+
|
|
131
|
+
```markdown
|
|
132
|
+
# API 限流策略
|
|
133
|
+
|
|
134
|
+
**决定日期**: 2026-04-01
|
|
135
|
+
**参与者**: @user, @backend-team
|
|
136
|
+
**状态**: ✅ 已确定
|
|
137
|
+
|
|
138
|
+
## 决定
|
|
139
|
+
|
|
140
|
+
| 用户类型 | 限流阈值 | 窗口 | 超限行为 |
|
|
141
|
+
|---------|---------|------|---------|
|
|
142
|
+
| 认证用户 | 200 次 | 每分钟 | 返回 429 + Retry-After header |
|
|
143
|
+
| 未认证用户 | 100 次 | 每分钟 | 返回 429 + Retry-After header |
|
|
144
|
+
| 管理员 API | 500 次 | 每分钟 | 返回 429 + 告警通知 |
|
|
145
|
+
|
|
146
|
+
## 背景
|
|
147
|
+
|
|
148
|
+
- 当前无限流,高峰期出现过 P99 延迟飙升
|
|
149
|
+
- 参考了 GitHub API (5000/h ≈ 83/min) 和 Stripe (100/s) 的方案
|
|
150
|
+
- 最终选择 sliding window 算法 + Redis 实现
|
|
151
|
+
|
|
152
|
+
## 后续 TODO
|
|
153
|
+
|
|
154
|
+
- [ ] 在 API Gateway 层实现
|
|
155
|
+
- [ ] 添加 X-RateLimit-* response headers
|
|
156
|
+
- [ ] 监控 dashboard 配置
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Expected Output — meetings/2026-04-01-api-design.md (simulated)
|
|
160
|
+
|
|
161
|
+
```markdown
|
|
162
|
+
# 会议记录: API 设计讨论
|
|
163
|
+
|
|
164
|
+
**日期**: 2026-04-01
|
|
165
|
+
**参会人**: ...
|
|
166
|
+
|
|
167
|
+
## 议题 3: API 限流
|
|
168
|
+
|
|
169
|
+
讨论了三个方案:
|
|
170
|
+
1. 固定窗口 — 简单但有边界突发问题
|
|
171
|
+
2. 滑动窗口 — 选定方案,更平滑
|
|
172
|
+
3. 令牌桶 — 过于复杂,暂不需要
|
|
173
|
+
|
|
174
|
+
最终确定:认证用户 200次/分钟,未认证 100次/分钟。
|
|
175
|
+
用 Redis sorted set 实现 sliding window。
|
|
176
|
+
|
|
177
|
+
详细决策记录见 `decisions/api-rate-limiting.md`。
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Step 4: Synthesize answer with citations
|
|
183
|
+
|
|
184
|
+
Per SKILL rule: "KB-cited facts must include the file path."
|
|
185
|
+
|
|
186
|
+
### Response to User (simulated)
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
找到了!根据知识库中的记录,**上周(4月1日)的 API 设计会议**确定了限流方案,两个数字都对——分用户类型:
|
|
191
|
+
|
|
192
|
+
| 用户类型 | 限流阈值 |
|
|
193
|
+
|---------|---------|
|
|
194
|
+
| **认证用户** | **200 次/分钟** |
|
|
195
|
+
| **未认证用户** | **100 次/分钟** |
|
|
196
|
+
| 管理员 API | 500 次/分钟 |
|
|
197
|
+
|
|
198
|
+
超限统一返回 `429 Too Many Requests` + `Retry-After` header。技术方案选的是 **sliding window + Redis**。
|
|
199
|
+
|
|
200
|
+
**来源**:
|
|
201
|
+
- `decisions/api-rate-limiting.md` — 完整决策文档
|
|
202
|
+
- `meetings/2026-04-01-api-design.md` — 会议记录(议题 3)
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Step 5: Post-task hooks check
|
|
207
|
+
|
|
208
|
+
Per SKILL: "After write tasks (not simple reads), scan this table."
|
|
209
|
+
|
|
210
|
+
**This was a read-only task. No writes were performed. No post-task hooks apply.**
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Summary of Commands Executed
|
|
215
|
+
|
|
216
|
+
| # | Command | Purpose |
|
|
217
|
+
|---|---------|---------|
|
|
218
|
+
| 1 | `mindos file list` | Bootstrap — understand KB structure |
|
|
219
|
+
| 2 | `mindos search "API限流"` | Search — Chinese term |
|
|
220
|
+
| 3 | `mindos search "rate limit"` | Search — English term |
|
|
221
|
+
| 4 | `mindos search "每分钟100次 OR 每分钟200次"` | Search — specific numbers |
|
|
222
|
+
| 5 | `mindos search "rate limiting 100 200"` | Search — English variant |
|
|
223
|
+
| 6 | `mindos file read decisions/api-rate-limiting.md` | Read top hit |
|
|
224
|
+
| 7 | `mindos file read meetings/2026-04-01-api-design.md` | Read supporting context |
|
|
225
|
+
|
|
226
|
+
## Skill Rules Followed
|
|
227
|
+
|
|
228
|
+
- ✅ **Bootstrap first** (Rule 1) — Listed KB tree before searching
|
|
229
|
+
- ✅ **Default to read-only** (Rule 2) — No writes performed for a lookup task
|
|
230
|
+
- ✅ **Never search with single keyword** (NEVER rule) — Used 4 parallel searches with Chinese/English variants
|
|
231
|
+
- ✅ **Read before write** (Rule 6) — N/A (no writes)
|
|
232
|
+
- ✅ **Citation with file path** (Judgment heuristic) — Both source files cited in answer
|
|
233
|
+
- ✅ **Decision tree** — Correctly classified as "Lookup / summarize / quote" → read-only path
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mindos
|
|
3
|
+
description: >
|
|
4
|
+
Operate a MindOS knowledge base: update notes, search, organize files, execute SOPs/workflows,
|
|
5
|
+
retrospective, append CSV, cross-agent handoff, route unstructured input to the right files,
|
|
6
|
+
distill experience, sync related docs.
|
|
7
|
+
Use when the task targets files inside the user's MindOS KB (mindRoot).
|
|
8
|
+
NOT for editing app source, project docs, or paths outside the KB.
|
|
9
|
+
Core concepts: Space, Instruction (INSTRUCTION.md), Skill (SKILL.md); notes can embody both.
|
|
10
|
+
Trigger when user asks to: save or record a note, search their knowledge base, update or edit
|
|
11
|
+
a file, organize notes, run a workflow or SOP, capture decisions from a session, append rows
|
|
12
|
+
to a table or CSV, hand off context to another agent.
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# MindOS Skill
|
|
16
|
+
|
|
17
|
+
<!-- version: 3.0.0 — CLI-first, MCP optional -->
|
|
18
|
+
|
|
19
|
+
## CLI commands
|
|
20
|
+
|
|
21
|
+
Use `mindos file <subcommand>` for all knowledge base operations. Add `--json` for structured output.
|
|
22
|
+
|
|
23
|
+
| Operation | Command |
|
|
24
|
+
|-----------|---------|
|
|
25
|
+
| List files | `mindos file list` |
|
|
26
|
+
| Read file | `mindos file read <path>` |
|
|
27
|
+
| Write/overwrite | `mindos file write <path> --content "..."` |
|
|
28
|
+
| Create new file | `mindos file create <path> --content "..."` |
|
|
29
|
+
| Append to file | `mindos file append <path> --content "..."` |
|
|
30
|
+
| Edit section | `mindos file edit-section <path> -H "## Heading" --content "..."` |
|
|
31
|
+
| Insert after heading | `mindos file insert-heading <path> -H "## Heading" --content "..."` |
|
|
32
|
+
| Append CSV row | `mindos file append-csv <path> --row "col1,col2,col3"` |
|
|
33
|
+
| Delete file | `mindos file delete <path>` |
|
|
34
|
+
| Rename/move | `mindos file rename <old> <new>` |
|
|
35
|
+
| Search | `mindos search "query"` |
|
|
36
|
+
| Backlinks | `mindos file backlinks <path>` |
|
|
37
|
+
| Recent files | `mindos file recent --limit 10` |
|
|
38
|
+
| Git history | `mindos file history <path>` |
|
|
39
|
+
| List spaces | `mindos space list` |
|
|
40
|
+
| Create space | `mindos space create "name"` |
|
|
41
|
+
|
|
42
|
+
> **MCP users:** If you only have MCP tools (`mindos_*`), use them directly — they are self-describing via their schemas. Prefer CLI when available (lower token cost).
|
|
43
|
+
|
|
44
|
+
### CLI setup
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npm install -g @geminilight/mindos
|
|
48
|
+
# Remote mode: mindos config set url http://<IP>:<PORT> && mindos config set authToken <token>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Rules
|
|
54
|
+
|
|
55
|
+
1. **Bootstrap first** — list the KB tree to understand structure before searching or writing.
|
|
56
|
+
2. **Default to read-only.** Only write when the user explicitly asks to save, record, organize, or edit. Lookup / summarize / quote = no writes.
|
|
57
|
+
3. **Rule precedence** (highest wins): user's current-turn instruction → `.mindos/user-preferences.md` → nearest directory `INSTRUCTION.md` → root `INSTRUCTION.md` → this SKILL's defaults.
|
|
58
|
+
4. **Multi-file edits require a plan first.** Present the full change list; execute only after approval.
|
|
59
|
+
5. After create/delete/move/rename → **sync affected READMEs** automatically.
|
|
60
|
+
6. **Read before write.** Always read a file before overwriting it. Never write based on assumptions.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## NEVER do (hard-won pitfalls)
|
|
65
|
+
|
|
66
|
+
- **NEVER write to the KB root** unless explicitly told. Root is for governance files only. New content goes under the most fitting subdirectory.
|
|
67
|
+
- **NEVER assume directory names.** Infer from the actual bootstrap tree — the KB may use Chinese names or flat layout.
|
|
68
|
+
- **NEVER use full-file overwrite for a small edit.** Use `mindos file edit-section` or `mindos file insert-heading` for targeted changes. Full rewrites destroy git diffs.
|
|
69
|
+
- **NEVER search with a single keyword.** Fire 2-4 parallel searches (synonyms, abbreviations, Chinese/English variants).
|
|
70
|
+
- **NEVER modify `INSTRUCTION.md` or `README.md` without confirmation.** Governance docs — treat as high-sensitivity.
|
|
71
|
+
- **NEVER create a file without checking siblings.** Read 1-2 files in the target directory to learn local style.
|
|
72
|
+
- **NEVER leave orphan references.** After rename/move, check backlinks and update every referring file.
|
|
73
|
+
- **NEVER skip routing confirmation for multi-file writes.** The user's mental model may differ from yours.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## MindOS concepts
|
|
78
|
+
|
|
79
|
+
- **Space** — Knowledge partitions organized the way you think. Agents follow the same structure.
|
|
80
|
+
- **Instruction** — A rules file (`INSTRUCTION.md`) all connected agents obey.
|
|
81
|
+
- **Skill** — Teaches agents how to read, write, and organize the KB.
|
|
82
|
+
|
|
83
|
+
Notes can embody both Instruction and Skill — they're just Markdown files in the tree.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Decision tree
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
User request
|
|
91
|
+
│
|
|
92
|
+
├─ Lookup / summarize / quote?
|
|
93
|
+
│ └─ [Read-only]: search → read → answer with citations. No writes.
|
|
94
|
+
│
|
|
95
|
+
├─ Save / record / update / organize specific content?
|
|
96
|
+
│ ├─ Single file → [Single-file edit]
|
|
97
|
+
│ └─ Multiple files or unclear → [Multi-file routing] — plan first
|
|
98
|
+
│
|
|
99
|
+
├─ Structural change (rename / move / delete / reorganize)?
|
|
100
|
+
│ └─ [Structural path] — check backlinks before and after
|
|
101
|
+
│
|
|
102
|
+
├─ Procedural / repeatable task?
|
|
103
|
+
│ └─ [SOP path] — find and follow existing SOP, or create one
|
|
104
|
+
│
|
|
105
|
+
├─ Retrospective / distill / handoff?
|
|
106
|
+
│ └─ [Retrospective path]
|
|
107
|
+
│
|
|
108
|
+
└─ Ambiguous?
|
|
109
|
+
└─ ASK. Propose 2-3 specific options based on KB state.
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Judgment heuristics
|
|
115
|
+
|
|
116
|
+
**Save intent boundary:**
|
|
117
|
+
- "save this" / "record" / "write down" = write
|
|
118
|
+
- "search" / "summarize" / "look up" = read-only
|
|
119
|
+
- "organize" → ask: display only, or write back?
|
|
120
|
+
|
|
121
|
+
**File location uncertainty:**
|
|
122
|
+
- Can't decide in 5 seconds → use nearest existing directory, inform user
|
|
123
|
+
- "Just put it somewhere" → inbox, propose classification after
|
|
124
|
+
|
|
125
|
+
**Scope creep:**
|
|
126
|
+
- Input routes to >5 files → pause, confirm scope
|
|
127
|
+
- "Update all of these" spanning multiple topics → split into batches
|
|
128
|
+
|
|
129
|
+
**Citation:** KB-cited facts must include the file path.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Post-task hooks
|
|
134
|
+
|
|
135
|
+
After write tasks (not simple reads), scan this table. At most 1 proposal; highest priority wins. Check `.mindos/user-preferences.md` suppression first.
|
|
136
|
+
|
|
137
|
+
| Hook | Priority | Condition |
|
|
138
|
+
|------|----------|-----------|
|
|
139
|
+
| Experience capture | high | Debugging, troubleshooting, or multi-round work |
|
|
140
|
+
| Consistency sync | high | Edited file with backlinks |
|
|
141
|
+
| SOP drift | medium | Followed SOP but diverged |
|
|
142
|
+
| Linked update | medium | Changed CSV/TODO status with related docs |
|
|
143
|
+
| Structure classification | medium | Created file in inbox/temp location |
|
|
144
|
+
| Pattern extraction | low | 3+ similar operations this session |
|
|
145
|
+
|
|
146
|
+
If a hook triggers → read [references/post-task-hooks.md](./references/post-task-hooks.md).
|
|
147
|
+
|
|
148
|
+
## Preference capture
|
|
149
|
+
|
|
150
|
+
When user expresses a standing preference → read [references/preference-capture.md](./references/preference-capture.md) and follow confirm-then-write flow.
|
|
151
|
+
|
|
152
|
+
## SOP authoring
|
|
153
|
+
|
|
154
|
+
When creating/rewriting an SOP → read [references/sop-template.md](./references/sop-template.md).
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Error handling (CLI)
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
"command not found: mindos" → npm install -g @geminilight/mindos
|
|
162
|
+
"Mind root not configured" → mindos onboard
|
|
163
|
+
"401 Unauthorized" → Check AUTH_TOKEN: mindos token (on server)
|
|
164
|
+
"ECONNREFUSED" → Start server: mindos start
|
|
165
|
+
```
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# MindOS skill — reference bundle
|
|
2
|
+
|
|
3
|
+
Long-form supplements for `../SKILL.md`. Load a file only when the task needs it.
|
|
4
|
+
|
|
5
|
+
| File | When to read |
|
|
6
|
+
|------|----------------|
|
|
7
|
+
| [write-supplement.md](./write-supplement.md) | Any write / SOP / structural task (startup protocol + execution steps) |
|
|
8
|
+
| [post-task-hooks.md](./post-task-hooks.md) | Only when a hook condition in SKILL.md has already triggered |
|
|
9
|
+
| [sop-template.md](./sop-template.md) | Creating or rewriting a workflow SOP in the KB |
|
|
10
|
+
| [preference-capture.md](./preference-capture.md) | User expresses standing preferences to persist |
|
|
11
|
+
|
|
12
|
+
Chinese mirror: `skills/mindos-zh/references/` (same filenames).
|
package/skills/mindos-max-workspace/skill-snapshot/mindos-original/references/post-task-hooks.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Post-task hooks — propose format
|
|
2
|
+
|
|
3
|
+
Conditions are listed in SKILL.md. Read this file only when a hook has already triggered.
|
|
4
|
+
|
|
5
|
+
## Propose format
|
|
6
|
+
|
|
7
|
+
One sentence + specific target file/path. Only expand if the user says yes.
|
|
8
|
+
|
|
9
|
+
| Hook | Propose template |
|
|
10
|
+
|------|-----------------|
|
|
11
|
+
| Experience capture | "Record this experience to {related experience file}?" — Format: problem → cause → solution → rule |
|
|
12
|
+
| Consistency sync | "{B} references what you just changed — sync it?" |
|
|
13
|
+
| SOP drift | "Execution diverged from {SOP file} — update the SOP?" — Action: update diverged steps, append pitfalls, set `<!-- last-used: -->` to today |
|
|
14
|
+
| Linked update | "Sync the corresponding info in {related doc}?" |
|
|
15
|
+
| Structure classification | "Move this to {recommended directory}?" |
|
|
16
|
+
| Pattern extraction | "This operation repeated multiple times — create an SOP?" |
|
|
17
|
+
| Conversation retrospective | "This conversation had some decisions worth capturing — do a retrospective?" |
|
|
18
|
+
|
|
19
|
+
## User-defined hooks
|
|
20
|
+
|
|
21
|
+
Add your own below, same format:
|
|
22
|
+
|
|
23
|
+
```markdown
|
|
24
|
+
### Weekly report material (priority: medium)
|
|
25
|
+
- Condition: updated a Project-related file.
|
|
26
|
+
- Propose: "Record this change in the weekly report?"
|
|
27
|
+
```
|
package/skills/mindos-max-workspace/skill-snapshot/mindos-original/references/preference-capture.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Preference capture (`user-preferences.md`)
|
|
2
|
+
|
|
3
|
+
## When to capture
|
|
4
|
+
|
|
5
|
+
The user expresses a preference correction (e.g. "don't do X", "next time remember…", "this should go in… not in…").
|
|
6
|
+
|
|
7
|
+
## Confirm-then-write flow
|
|
8
|
+
|
|
9
|
+
1. **First occurrence of a new preference**: propose the rule and target file before writing.
|
|
10
|
+
- "Record this preference to `user-preferences.md`? Rule: _{summary}_"
|
|
11
|
+
- Write only after user confirms.
|
|
12
|
+
2. **Repeated confirmation on similar category**: after the user confirms the same category of preference 3+ times, auto-write future rules in that category without asking. Add an `auto-confirm: true` flag to the category header in `user-preferences.md`.
|
|
13
|
+
3. **User explicitly grants blanket permission** (e.g. "just record preferences directly"): set a top-level `auto-confirm-all: true` flag and skip confirmation for all future captures.
|
|
14
|
+
|
|
15
|
+
## File location
|
|
16
|
+
|
|
17
|
+
- Target: `.mindos/user-preferences.md` in the knowledge base (read by `mindos_bootstrap` when present).
|
|
18
|
+
- If the file does not exist, create it with the template below on first confirmed write.
|
|
19
|
+
|
|
20
|
+
## File template
|
|
21
|
+
|
|
22
|
+
```markdown
|
|
23
|
+
# User Skill Rules
|
|
24
|
+
<!-- auto-confirm-all: false -->
|
|
25
|
+
|
|
26
|
+
## Preferences
|
|
27
|
+
<!-- Group by category. Mark auto-confirm: true on categories confirmed 3+ times. -->
|
|
28
|
+
|
|
29
|
+
## Suppressed Hooks
|
|
30
|
+
<!-- List post-task hooks the user has opted out of. -->
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Rule format
|
|
34
|
+
|
|
35
|
+
Each rule is a bullet under its category:
|
|
36
|
+
|
|
37
|
+
```markdown
|
|
38
|
+
### {Category}
|
|
39
|
+
<!-- auto-confirm: false -->
|
|
40
|
+
- {Rule description} — _{date captured}_
|
|
41
|
+
```
|