@geminilight/mindos 0.6.58 → 0.6.60

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.
Files changed (410) hide show
  1. package/_standalone/.mindos-build-version +1 -1
  2. package/_standalone/.next/BUILD_ID +1 -1
  3. package/_standalone/.next/app-path-routes-manifest.json +23 -22
  4. package/_standalone/.next/build-manifest.json +3 -3
  5. package/_standalone/.next/cache/.previewinfo +1 -1
  6. package/_standalone/.next/cache/.rscinfo +1 -1
  7. package/_standalone/.next/cache/config.json +3 -3
  8. package/_standalone/.next/prerender-manifest.json +3 -3
  9. package/_standalone/.next/react-loadable-manifest.json +1 -1
  10. package/_standalone/.next/routes-manifest.json +6 -0
  11. package/_standalone/.next/server/app/.well-known/agent-card.json/route_client-reference-manifest.js +1 -1
  12. package/_standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  13. package/_standalone/.next/server/app/_global-error.html +2 -2
  14. package/_standalone/.next/server/app/_global-error.rsc +1 -1
  15. package/_standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  16. package/_standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  17. package/_standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  18. package/_standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  19. package/_standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  20. package/_standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  21. package/_standalone/.next/server/app/_not-found/page.js +1 -1
  22. package/_standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  23. package/_standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  24. package/_standalone/.next/server/app/agents/[agentKey]/page.js +1 -1
  25. package/_standalone/.next/server/app/agents/[agentKey]/page.js.nft.json +1 -1
  26. package/_standalone/.next/server/app/agents/[agentKey]/page_client-reference-manifest.js +1 -1
  27. package/_standalone/.next/server/app/agents/page.js +2 -2
  28. package/_standalone/.next/server/app/agents/page.js.nft.json +1 -1
  29. package/_standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  30. package/_standalone/.next/server/app/api/a2a/agents/route_client-reference-manifest.js +1 -1
  31. package/_standalone/.next/server/app/api/a2a/delegations/route_client-reference-manifest.js +1 -1
  32. package/_standalone/.next/server/app/api/a2a/discover/route_client-reference-manifest.js +1 -1
  33. package/_standalone/.next/server/app/api/a2a/route_client-reference-manifest.js +1 -1
  34. package/_standalone/.next/server/app/api/acp/config/route_client-reference-manifest.js +1 -1
  35. package/_standalone/.next/server/app/api/acp/detect/route_client-reference-manifest.js +1 -1
  36. package/_standalone/.next/server/app/api/acp/install/route_client-reference-manifest.js +1 -1
  37. package/_standalone/.next/server/app/api/acp/registry/route_client-reference-manifest.js +1 -1
  38. package/_standalone/.next/server/app/api/acp/session/route_client-reference-manifest.js +1 -1
  39. package/_standalone/.next/server/app/api/agent-activity/route_client-reference-manifest.js +1 -1
  40. package/_standalone/.next/server/app/api/agents/copy-skill/route.js +1 -0
  41. package/_standalone/.next/server/app/api/agents/copy-skill/route.js.nft.json +1 -0
  42. package/_standalone/.next/server/app/api/agents/copy-skill/route_client-reference-manifest.js +1 -0
  43. package/_standalone/.next/server/app/api/agents/custom/detect/route.js +1 -1
  44. package/_standalone/.next/server/app/api/agents/custom/detect/route_client-reference-manifest.js +1 -1
  45. package/_standalone/.next/server/app/api/agents/custom/route.js +1 -1
  46. package/_standalone/.next/server/app/api/agents/custom/route_client-reference-manifest.js +1 -1
  47. package/_standalone/.next/server/app/api/ask/route.js +18 -7
  48. package/_standalone/.next/server/app/api/ask/route_client-reference-manifest.js +1 -1
  49. package/_standalone/.next/server/app/api/ask-sessions/route_client-reference-manifest.js +1 -1
  50. package/_standalone/.next/server/app/api/auth/route_client-reference-manifest.js +1 -1
  51. package/_standalone/.next/server/app/api/backlinks/route_client-reference-manifest.js +1 -1
  52. package/_standalone/.next/server/app/api/bootstrap/route_client-reference-manifest.js +1 -1
  53. package/_standalone/.next/server/app/api/changes/route_client-reference-manifest.js +1 -1
  54. package/_standalone/.next/server/app/api/export/route_client-reference-manifest.js +1 -1
  55. package/_standalone/.next/server/app/api/extract-pdf/route.js +2 -2
  56. package/_standalone/.next/server/app/api/extract-pdf/route_client-reference-manifest.js +1 -1
  57. package/_standalone/.next/server/app/api/file/import/route_client-reference-manifest.js +1 -1
  58. package/_standalone/.next/server/app/api/file/raw/route_client-reference-manifest.js +1 -1
  59. package/_standalone/.next/server/app/api/file/route_client-reference-manifest.js +1 -1
  60. package/_standalone/.next/server/app/api/files/route_client-reference-manifest.js +1 -1
  61. package/_standalone/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  62. package/_standalone/.next/server/app/api/graph/route_client-reference-manifest.js +1 -1
  63. package/_standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  64. package/_standalone/.next/server/app/api/inbox/route_client-reference-manifest.js +1 -1
  65. package/_standalone/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  66. package/_standalone/.next/server/app/api/mcp/agents/route.js +1 -1
  67. package/_standalone/.next/server/app/api/mcp/agents/route_client-reference-manifest.js +1 -1
  68. package/_standalone/.next/server/app/api/mcp/install/route_client-reference-manifest.js +1 -1
  69. package/_standalone/.next/server/app/api/mcp/install-skill/route_client-reference-manifest.js +1 -1
  70. package/_standalone/.next/server/app/api/mcp/restart/route_client-reference-manifest.js +1 -1
  71. package/_standalone/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
  72. package/_standalone/.next/server/app/api/mcp/uninstall/route_client-reference-manifest.js +1 -1
  73. package/_standalone/.next/server/app/api/monitoring/route_client-reference-manifest.js +1 -1
  74. package/_standalone/.next/server/app/api/recent-files/route_client-reference-manifest.js +1 -1
  75. package/_standalone/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  76. package/_standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  77. package/_standalone/.next/server/app/api/settings/list-models/route_client-reference-manifest.js +1 -1
  78. package/_standalone/.next/server/app/api/settings/reset-token/route_client-reference-manifest.js +1 -1
  79. package/_standalone/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  80. package/_standalone/.next/server/app/api/settings/test-key/route_client-reference-manifest.js +1 -1
  81. package/_standalone/.next/server/app/api/setup/check-path/route_client-reference-manifest.js +1 -1
  82. package/_standalone/.next/server/app/api/setup/check-port/route_client-reference-manifest.js +1 -1
  83. package/_standalone/.next/server/app/api/setup/generate-token/route_client-reference-manifest.js +1 -1
  84. package/_standalone/.next/server/app/api/setup/ls/route_client-reference-manifest.js +1 -1
  85. package/_standalone/.next/server/app/api/setup/route_client-reference-manifest.js +1 -1
  86. package/_standalone/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  87. package/_standalone/.next/server/app/api/sync/route_client-reference-manifest.js +1 -1
  88. package/_standalone/.next/server/app/api/tree-version/route_client-reference-manifest.js +1 -1
  89. package/_standalone/.next/server/app/api/uninstall/route_client-reference-manifest.js +1 -1
  90. package/_standalone/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  91. package/_standalone/.next/server/app/api/update-check/route_client-reference-manifest.js +1 -1
  92. package/_standalone/.next/server/app/api/update-status/route_client-reference-manifest.js +1 -1
  93. package/_standalone/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
  94. package/_standalone/.next/server/app/changes/page.js +2 -2
  95. package/_standalone/.next/server/app/changes/page.js.nft.json +1 -1
  96. package/_standalone/.next/server/app/changes/page_client-reference-manifest.js +1 -1
  97. package/_standalone/.next/server/app/echo/[segment]/page.js +3 -3
  98. package/_standalone/.next/server/app/echo/[segment]/page.js.nft.json +1 -1
  99. package/_standalone/.next/server/app/echo/[segment]/page_client-reference-manifest.js +1 -1
  100. package/_standalone/.next/server/app/echo/page.js +1 -1
  101. package/_standalone/.next/server/app/echo/page.js.nft.json +1 -1
  102. package/_standalone/.next/server/app/echo/page_client-reference-manifest.js +1 -1
  103. package/_standalone/.next/server/app/explore/page.js +2 -2
  104. package/_standalone/.next/server/app/explore/page.js.nft.json +1 -1
  105. package/_standalone/.next/server/app/explore/page_client-reference-manifest.js +1 -1
  106. package/_standalone/.next/server/app/help/page.js +2 -2
  107. package/_standalone/.next/server/app/help/page.js.nft.json +1 -1
  108. package/_standalone/.next/server/app/help/page_client-reference-manifest.js +1 -1
  109. package/_standalone/.next/server/app/inbox/history/page.js +1 -1
  110. package/_standalone/.next/server/app/inbox/history/page.js.nft.json +1 -1
  111. package/_standalone/.next/server/app/inbox/history/page_client-reference-manifest.js +1 -1
  112. package/_standalone/.next/server/app/login/page.js +2 -2
  113. package/_standalone/.next/server/app/login/page.js.nft.json +1 -1
  114. package/_standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  115. package/_standalone/.next/server/app/page.js +2 -8
  116. package/_standalone/.next/server/app/page.js.nft.json +1 -1
  117. package/_standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  118. package/_standalone/.next/server/app/setup/page.js +2 -2
  119. package/_standalone/.next/server/app/setup/page.js.nft.json +1 -1
  120. package/_standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  121. package/_standalone/.next/server/app/trash/page.js +3 -3
  122. package/_standalone/.next/server/app/trash/page.js.nft.json +1 -1
  123. package/_standalone/.next/server/app/trash/page_client-reference-manifest.js +1 -1
  124. package/_standalone/.next/server/app/view/[...path]/page.js +3 -3
  125. package/_standalone/.next/server/app/view/[...path]/page.js.nft.json +1 -1
  126. package/_standalone/.next/server/app/view/[...path]/page_client-reference-manifest.js +1 -1
  127. package/_standalone/.next/server/app/wiki/page.js +2 -2
  128. package/_standalone/.next/server/app/wiki/page.js.nft.json +1 -1
  129. package/_standalone/.next/server/app/wiki/page_client-reference-manifest.js +1 -1
  130. package/_standalone/.next/server/app-paths-manifest.json +23 -22
  131. package/_standalone/.next/server/chunks/1550.js +1 -1
  132. package/_standalone/.next/server/chunks/3484.js +1 -1
  133. package/_standalone/.next/server/chunks/530.js +70 -71
  134. package/_standalone/.next/server/chunks/{6793.js → 9753.js} +2 -2
  135. package/_standalone/.next/server/chunks/9787.js +2 -0
  136. package/_standalone/.next/server/middleware-build-manifest.js +1 -1
  137. package/_standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  138. package/_standalone/.next/server/pages/500.html +2 -2
  139. package/_standalone/.next/server/server-reference-manifest.js +1 -1
  140. package/_standalone/.next/server/server-reference-manifest.json +1 -1
  141. package/_standalone/.next/static/K3wZNf5bj_AFYwtqcRXIf/_buildManifest.js +1 -0
  142. package/_standalone/.next/static/chunks/1369-7d0ac5d1564eed1e.js +1 -0
  143. package/_standalone/.next/static/chunks/{1814.a7c127b2c73d1f70.js → 1814.a79b84d37df75c43.js} +1 -1
  144. package/_standalone/.next/static/chunks/3427-2e61a5df1f5e55fb.js +1 -0
  145. package/_standalone/.next/static/chunks/{1053-fe009233cff06e72.js → 5581-974dfb26d1d1b38f.js} +3 -3
  146. package/_standalone/.next/static/chunks/6297-085daa21037d5f81.js +1 -0
  147. package/_standalone/.next/static/chunks/7249-b0a9c77b9a84b11c.js +11 -0
  148. package/_standalone/.next/static/chunks/7637-904b0a381dc3ec02.js +1 -0
  149. package/_standalone/.next/static/chunks/8520-76d1b05072178b43.js +22 -0
  150. package/_standalone/.next/static/chunks/9186-ead47513192f658b.js +1 -0
  151. package/_standalone/.next/static/chunks/9905-a19d379cb225246e.js +1 -0
  152. package/_standalone/.next/static/chunks/app/.well-known/agent-card.json/{route-2f4705aa66819b86.js → route-2ceea6eabf25b1f2.js} +1 -1
  153. package/_standalone/.next/static/chunks/app/_global-error/{page-2f4705aa66819b86.js → page-2ceea6eabf25b1f2.js} +1 -1
  154. package/_standalone/.next/static/chunks/app/agents/[agentKey]/page-0ea3571c8fbae823.js +1 -0
  155. package/_standalone/.next/static/chunks/app/agents/page-66858acbcd1d4bf8.js +1 -0
  156. package/_standalone/.next/static/chunks/app/api/a2a/agents/{route-2f4705aa66819b86.js → route-2ceea6eabf25b1f2.js} +1 -1
  157. package/_standalone/.next/static/chunks/app/api/a2a/delegations/{route-2f4705aa66819b86.js → route-2ceea6eabf25b1f2.js} +1 -1
  158. package/_standalone/.next/static/chunks/app/api/a2a/discover/route-2ceea6eabf25b1f2.js +1 -0
  159. package/_standalone/.next/static/chunks/app/api/a2a/route-2ceea6eabf25b1f2.js +1 -0
  160. package/_standalone/.next/static/chunks/app/api/acp/config/route-2ceea6eabf25b1f2.js +1 -0
  161. package/_standalone/.next/static/chunks/app/api/acp/detect/route-2ceea6eabf25b1f2.js +1 -0
  162. package/_standalone/.next/static/chunks/app/api/acp/install/route-2ceea6eabf25b1f2.js +1 -0
  163. package/_standalone/.next/static/chunks/app/api/acp/registry/route-2ceea6eabf25b1f2.js +1 -0
  164. package/_standalone/.next/static/chunks/app/api/acp/session/route-2ceea6eabf25b1f2.js +1 -0
  165. package/_standalone/.next/static/chunks/app/api/agent-activity/route-2ceea6eabf25b1f2.js +1 -0
  166. package/_standalone/.next/static/chunks/app/api/agents/copy-skill/route-2ceea6eabf25b1f2.js +1 -0
  167. package/_standalone/.next/static/chunks/app/api/agents/custom/detect/route-2ceea6eabf25b1f2.js +1 -0
  168. package/_standalone/.next/static/chunks/app/api/agents/custom/route-2ceea6eabf25b1f2.js +1 -0
  169. package/_standalone/.next/static/chunks/app/api/ask/route-2ceea6eabf25b1f2.js +1 -0
  170. package/_standalone/.next/static/chunks/app/api/ask-sessions/route-2ceea6eabf25b1f2.js +1 -0
  171. package/_standalone/.next/static/chunks/app/api/auth/route-2ceea6eabf25b1f2.js +1 -0
  172. package/_standalone/.next/static/chunks/app/api/backlinks/route-2ceea6eabf25b1f2.js +1 -0
  173. package/_standalone/.next/static/chunks/app/api/bootstrap/route-2ceea6eabf25b1f2.js +1 -0
  174. package/_standalone/.next/static/chunks/app/api/changes/route-2ceea6eabf25b1f2.js +1 -0
  175. package/_standalone/.next/static/chunks/app/api/export/route-2ceea6eabf25b1f2.js +1 -0
  176. package/_standalone/.next/static/chunks/app/api/extract-pdf/route-2ceea6eabf25b1f2.js +1 -0
  177. package/_standalone/.next/static/chunks/app/api/file/import/route-2ceea6eabf25b1f2.js +1 -0
  178. package/_standalone/.next/static/chunks/app/api/file/raw/route-2ceea6eabf25b1f2.js +1 -0
  179. package/_standalone/.next/static/chunks/app/api/file/route-2ceea6eabf25b1f2.js +1 -0
  180. package/_standalone/.next/static/chunks/app/api/files/route-2ceea6eabf25b1f2.js +1 -0
  181. package/_standalone/.next/static/chunks/app/api/git/route-2ceea6eabf25b1f2.js +1 -0
  182. package/_standalone/.next/static/chunks/app/api/graph/route-2ceea6eabf25b1f2.js +1 -0
  183. package/_standalone/.next/static/chunks/app/api/health/route-2ceea6eabf25b1f2.js +1 -0
  184. package/_standalone/.next/static/chunks/app/api/inbox/route-2ceea6eabf25b1f2.js +1 -0
  185. package/_standalone/.next/static/chunks/app/api/init/route-2ceea6eabf25b1f2.js +1 -0
  186. package/_standalone/.next/static/chunks/app/api/mcp/agents/route-2ceea6eabf25b1f2.js +1 -0
  187. package/_standalone/.next/static/chunks/app/api/mcp/install/route-2ceea6eabf25b1f2.js +1 -0
  188. package/_standalone/.next/static/chunks/app/api/mcp/install-skill/route-2ceea6eabf25b1f2.js +1 -0
  189. package/_standalone/.next/static/chunks/app/api/mcp/restart/route-2ceea6eabf25b1f2.js +1 -0
  190. package/_standalone/.next/static/chunks/app/api/mcp/status/route-2ceea6eabf25b1f2.js +1 -0
  191. package/_standalone/.next/static/chunks/app/api/mcp/uninstall/route-2ceea6eabf25b1f2.js +1 -0
  192. package/_standalone/.next/static/chunks/app/api/monitoring/route-2ceea6eabf25b1f2.js +1 -0
  193. package/_standalone/.next/static/chunks/app/api/recent-files/route-2ceea6eabf25b1f2.js +1 -0
  194. package/_standalone/.next/static/chunks/app/api/restart/route-2ceea6eabf25b1f2.js +1 -0
  195. package/_standalone/.next/static/chunks/app/api/search/route-2ceea6eabf25b1f2.js +1 -0
  196. package/_standalone/.next/static/chunks/app/api/settings/list-models/route-2ceea6eabf25b1f2.js +1 -0
  197. package/_standalone/.next/static/chunks/app/api/settings/reset-token/route-2ceea6eabf25b1f2.js +1 -0
  198. package/_standalone/.next/static/chunks/app/api/settings/route-2ceea6eabf25b1f2.js +1 -0
  199. package/_standalone/.next/static/chunks/app/api/settings/test-key/route-2ceea6eabf25b1f2.js +1 -0
  200. package/_standalone/.next/static/chunks/app/api/setup/check-path/route-2ceea6eabf25b1f2.js +1 -0
  201. package/_standalone/.next/static/chunks/app/api/setup/check-port/route-2ceea6eabf25b1f2.js +1 -0
  202. package/_standalone/.next/static/chunks/app/api/setup/generate-token/route-2ceea6eabf25b1f2.js +1 -0
  203. package/_standalone/.next/static/chunks/app/api/setup/ls/route-2ceea6eabf25b1f2.js +1 -0
  204. package/_standalone/.next/static/chunks/app/api/setup/route-2ceea6eabf25b1f2.js +1 -0
  205. package/_standalone/.next/static/chunks/app/api/skills/route-2ceea6eabf25b1f2.js +1 -0
  206. package/_standalone/.next/static/chunks/app/api/sync/route-2ceea6eabf25b1f2.js +1 -0
  207. package/_standalone/.next/static/chunks/app/api/tree-version/route-2ceea6eabf25b1f2.js +1 -0
  208. package/_standalone/.next/static/chunks/app/api/uninstall/route-2ceea6eabf25b1f2.js +1 -0
  209. package/_standalone/.next/static/chunks/app/api/update/route-2ceea6eabf25b1f2.js +1 -0
  210. package/_standalone/.next/static/chunks/app/api/update-check/route-2ceea6eabf25b1f2.js +1 -0
  211. package/_standalone/.next/static/chunks/app/api/update-status/route-2ceea6eabf25b1f2.js +1 -0
  212. package/_standalone/.next/static/chunks/app/api/workflows/route-2ceea6eabf25b1f2.js +1 -0
  213. package/_standalone/.next/static/chunks/app/changes/page-dd0b00a7b81f74e2.js +1 -0
  214. package/_standalone/.next/static/chunks/app/echo/[segment]/page-bf5c290fa3ccff09.js +11 -0
  215. package/_standalone/.next/static/chunks/app/echo/page-2ceea6eabf25b1f2.js +1 -0
  216. package/_standalone/.next/static/chunks/app/explore/{page-d3d99308146c2240.js → page-d9f58000bc445360.js} +2 -2
  217. package/_standalone/.next/static/chunks/app/help/{page-222df603080b5fab.js → page-f8cb806371b3175f.js} +1 -1
  218. package/_standalone/.next/static/chunks/app/inbox/history/{page-07819cf95cb0805f.js → page-3279585360df132c.js} +1 -1
  219. package/_standalone/.next/static/chunks/app/layout-6a0169582db11a08.js +164 -0
  220. package/_standalone/.next/static/chunks/app/loading-2ceea6eabf25b1f2.js +1 -0
  221. package/_standalone/.next/static/chunks/app/login/{page-0eeef685052869a6.js → page-18fb00d568cd1f0e.js} +1 -1
  222. package/_standalone/.next/static/chunks/app/page-6a1f8d21c12b829e.js +1 -0
  223. package/_standalone/.next/static/chunks/app/setup/{page-99fcfc460fa29733.js → page-821714e7477be46c.js} +1 -1
  224. package/_standalone/.next/static/chunks/app/trash/page-ed7ba3b0b50223a6.js +1 -0
  225. package/_standalone/.next/static/chunks/app/view/[...path]/loading-2ceea6eabf25b1f2.js +1 -0
  226. package/_standalone/.next/static/chunks/app/view/[...path]/{not-found-fc04c2bd4f35bc6f.js → not-found-6e0c75ad26ce8572.js} +1 -1
  227. package/_standalone/.next/static/chunks/app/view/[...path]/page-678139779971cfcb.js +12 -0
  228. package/_standalone/.next/static/chunks/app/wiki/page-194ae9af2d461481.js +1 -0
  229. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-2ceea6eabf25b1f2.js +1 -0
  230. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-2ceea6eabf25b1f2.js +1 -0
  231. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-2ceea6eabf25b1f2.js +1 -0
  232. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-2ceea6eabf25b1f2.js +1 -0
  233. package/_standalone/.next/static/chunks/{webpack-2c19436659aa657b.js → webpack-72e8d9e9073fd1f9.js} +1 -1
  234. package/_standalone/.next/static/css/9c558c42831fae58.css +1 -0
  235. package/_standalone/.next/trace +65 -64
  236. package/_standalone/.next/types/routes.d.ts +2 -1
  237. package/_standalone/.next/types/validator.ts +9 -0
  238. package/_standalone/__tests__/api/mcp-install.test.ts +4 -2
  239. package/_standalone/app/globals.css +2 -1
  240. package/_standalone/components/AskFab.tsx +11 -5
  241. package/_standalone/components/AskModal.tsx +1 -1
  242. package/_standalone/components/FileTree.tsx +83 -1
  243. package/_standalone/components/GuideCard.tsx +101 -152
  244. package/_standalone/components/Panel.tsx +6 -1
  245. package/_standalone/components/RightAskPanel.tsx +2 -2
  246. package/_standalone/components/agents/AgentsOverviewSection.tsx +13 -11
  247. package/_standalone/components/agents/CustomAgentModal.tsx +72 -18
  248. package/_standalone/components/ask/AskContent.tsx +109 -54
  249. package/_standalone/components/ask/AskHeader.tsx +218 -18
  250. package/_standalone/components/ask/FileChip.tsx +93 -12
  251. package/_standalone/components/ask/MessageList.tsx +66 -47
  252. package/_standalone/components/ask/SessionHistory.tsx +86 -60
  253. package/_standalone/components/ask/SessionTabBar.tsx +29 -21
  254. package/_standalone/components/ask/ThinkingBlock.tsx +6 -5
  255. package/_standalone/components/ask/ToolCallBlock.tsx +10 -9
  256. package/_standalone/components/changes/ChangesBanner.tsx +1 -1
  257. package/_standalone/components/settings/SettingsContent.tsx +1 -1
  258. package/_standalone/components/walkthrough/WalkthroughTooltip.tsx +3 -1
  259. package/_standalone/components/walkthrough/steps.ts +1 -1
  260. package/_standalone/data/skills/mindos/SKILL.md +67 -15
  261. package/_standalone/data/skills/mindos-zh/SKILL.md +67 -11
  262. package/_standalone/hooks/useAskChat.ts +10 -8
  263. package/_standalone/hooks/useAskSession.ts +23 -1
  264. package/_standalone/hooks/useFileUpload.ts +97 -43
  265. package/_standalone/hooks/useImageUpload.ts +1 -1
  266. package/_standalone/lib/inbox-upload.ts +86 -0
  267. package/_standalone/lib/stores/locale-store.ts +20 -6
  268. package/_standalone/package-lock.json +2 -2
  269. package/_standalone/package.json +1 -1
  270. package/_standalone/scripts/extract-pdf.cjs +110 -3
  271. package/_standalone/tsconfig.tsbuildinfo +1 -1
  272. package/app/app/api/agents/copy-skill/route.ts +110 -0
  273. package/app/app/api/agents/custom/detect/route.ts +16 -1
  274. package/app/app/api/ask/route.ts +7 -1
  275. package/app/app/api/extract-pdf/route.ts +12 -5
  276. package/app/app/api/mcp/agents/route.ts +64 -2
  277. package/app/app/globals.css +2 -1
  278. package/app/app/layout.tsx +16 -4
  279. package/app/components/AskFab.tsx +11 -5
  280. package/app/components/AskModal.tsx +1 -1
  281. package/app/components/FileTree.tsx +83 -1
  282. package/app/components/GuideCard.tsx +101 -152
  283. package/app/components/HomeContent.tsx +123 -574
  284. package/app/components/Panel.tsx +6 -1
  285. package/app/components/RightAskPanel.tsx +2 -2
  286. package/app/components/WikiHomeContent.tsx +151 -3
  287. package/app/components/agents/AgentDetailContent.tsx +58 -1
  288. package/app/components/agents/AgentsOverviewSection.tsx +13 -11
  289. package/app/components/agents/CustomAgentModal.tsx +72 -18
  290. package/app/components/ask/AskContent.tsx +109 -54
  291. package/app/components/ask/AskHeader.tsx +218 -18
  292. package/app/components/ask/FileChip.tsx +93 -12
  293. package/app/components/ask/MessageList.tsx +66 -47
  294. package/app/components/ask/SessionHistory.tsx +86 -60
  295. package/app/components/ask/SessionTabBar.tsx +29 -21
  296. package/app/components/ask/ThinkingBlock.tsx +6 -5
  297. package/app/components/ask/ToolCallBlock.tsx +10 -9
  298. package/app/components/changes/ChangesBanner.tsx +1 -1
  299. package/app/components/changes/ChangesContentPage.tsx +368 -168
  300. package/app/components/settings/SettingsContent.tsx +1 -1
  301. package/app/components/walkthrough/WalkthroughTooltip.tsx +3 -1
  302. package/app/components/walkthrough/steps.ts +1 -1
  303. package/app/data/skills/mindos/SKILL.md +67 -15
  304. package/app/data/skills/mindos-zh/SKILL.md +67 -11
  305. package/app/hooks/useAskChat.ts +10 -8
  306. package/app/hooks/useAskSession.ts +23 -1
  307. package/app/hooks/useFileUpload.ts +97 -43
  308. package/app/hooks/useImageUpload.ts +1 -1
  309. package/app/lib/agent/prompt.ts +15 -4
  310. package/app/lib/custom-agents.ts +109 -1
  311. package/app/lib/file-ops.ts +58 -0
  312. package/app/lib/i18n/modules/ai-chat.ts +134 -10
  313. package/app/lib/i18n/modules/knowledge.ts +2 -0
  314. package/app/lib/i18n/modules/onboarding.ts +12 -12
  315. package/app/lib/inbox-upload.ts +86 -0
  316. package/app/lib/mcp-agents.ts +21 -1
  317. package/app/lib/stores/LocaleStoreInit.tsx +24 -1
  318. package/app/lib/stores/locale-store.ts +20 -6
  319. package/app/lib/types.ts +13 -0
  320. package/app/package.json +1 -1
  321. package/app/scripts/extract-pdf.cjs +110 -3
  322. package/package.json +1 -1
  323. package/skills/mindos/SKILL.md +67 -15
  324. package/skills/mindos/references/knowledge-health.md +120 -0
  325. package/skills/mindos-max/SKILL.md +52 -5
  326. package/skills/mindos-max-zh/SKILL.md +55 -6
  327. package/skills/mindos-zh/SKILL.md +67 -11
  328. package/_standalone/.next/server/chunks/2364.js +0 -2
  329. package/_standalone/.next/server/chunks/357.js +0 -1
  330. package/_standalone/.next/static/2ksXveDzEcnCMRIElDkLq/_buildManifest.js +0 -1
  331. package/_standalone/.next/static/chunks/178-105779afb62d36d9.js +0 -1
  332. package/_standalone/.next/static/chunks/2218-d54538000574ffef.js +0 -1
  333. package/_standalone/.next/static/chunks/2549-e63cf57fa927a41d.js +0 -1
  334. package/_standalone/.next/static/chunks/4237-ffc6e7c15d4007b6.js +0 -1
  335. package/_standalone/.next/static/chunks/6878-e2c5459e1c608f89.js +0 -1
  336. package/_standalone/.next/static/chunks/7249-fa98ca10e9a10f39.js +0 -11
  337. package/_standalone/.next/static/chunks/9274-296ab35f9f09e42e.js +0 -1
  338. package/_standalone/.next/static/chunks/9286-5b09baa5200318c2.js +0 -1
  339. package/_standalone/.next/static/chunks/app/agents/[agentKey]/page-7bdeab5af8e4f5f2.js +0 -1
  340. package/_standalone/.next/static/chunks/app/agents/page-5d1446665ddb3801.js +0 -1
  341. package/_standalone/.next/static/chunks/app/api/a2a/discover/route-2f4705aa66819b86.js +0 -1
  342. package/_standalone/.next/static/chunks/app/api/a2a/route-2f4705aa66819b86.js +0 -1
  343. package/_standalone/.next/static/chunks/app/api/acp/config/route-2f4705aa66819b86.js +0 -1
  344. package/_standalone/.next/static/chunks/app/api/acp/detect/route-2f4705aa66819b86.js +0 -1
  345. package/_standalone/.next/static/chunks/app/api/acp/install/route-2f4705aa66819b86.js +0 -1
  346. package/_standalone/.next/static/chunks/app/api/acp/registry/route-2f4705aa66819b86.js +0 -1
  347. package/_standalone/.next/static/chunks/app/api/acp/session/route-2f4705aa66819b86.js +0 -1
  348. package/_standalone/.next/static/chunks/app/api/agent-activity/route-2f4705aa66819b86.js +0 -1
  349. package/_standalone/.next/static/chunks/app/api/agents/custom/detect/route-2f4705aa66819b86.js +0 -1
  350. package/_standalone/.next/static/chunks/app/api/agents/custom/route-2f4705aa66819b86.js +0 -1
  351. package/_standalone/.next/static/chunks/app/api/ask/route-2f4705aa66819b86.js +0 -1
  352. package/_standalone/.next/static/chunks/app/api/ask-sessions/route-2f4705aa66819b86.js +0 -1
  353. package/_standalone/.next/static/chunks/app/api/auth/route-2f4705aa66819b86.js +0 -1
  354. package/_standalone/.next/static/chunks/app/api/backlinks/route-2f4705aa66819b86.js +0 -1
  355. package/_standalone/.next/static/chunks/app/api/bootstrap/route-2f4705aa66819b86.js +0 -1
  356. package/_standalone/.next/static/chunks/app/api/changes/route-2f4705aa66819b86.js +0 -1
  357. package/_standalone/.next/static/chunks/app/api/export/route-2f4705aa66819b86.js +0 -1
  358. package/_standalone/.next/static/chunks/app/api/extract-pdf/route-2f4705aa66819b86.js +0 -1
  359. package/_standalone/.next/static/chunks/app/api/file/import/route-2f4705aa66819b86.js +0 -1
  360. package/_standalone/.next/static/chunks/app/api/file/raw/route-2f4705aa66819b86.js +0 -1
  361. package/_standalone/.next/static/chunks/app/api/file/route-2f4705aa66819b86.js +0 -1
  362. package/_standalone/.next/static/chunks/app/api/files/route-2f4705aa66819b86.js +0 -1
  363. package/_standalone/.next/static/chunks/app/api/git/route-2f4705aa66819b86.js +0 -1
  364. package/_standalone/.next/static/chunks/app/api/graph/route-2f4705aa66819b86.js +0 -1
  365. package/_standalone/.next/static/chunks/app/api/health/route-2f4705aa66819b86.js +0 -1
  366. package/_standalone/.next/static/chunks/app/api/inbox/route-2f4705aa66819b86.js +0 -1
  367. package/_standalone/.next/static/chunks/app/api/init/route-2f4705aa66819b86.js +0 -1
  368. package/_standalone/.next/static/chunks/app/api/mcp/agents/route-2f4705aa66819b86.js +0 -1
  369. package/_standalone/.next/static/chunks/app/api/mcp/install/route-2f4705aa66819b86.js +0 -1
  370. package/_standalone/.next/static/chunks/app/api/mcp/install-skill/route-2f4705aa66819b86.js +0 -1
  371. package/_standalone/.next/static/chunks/app/api/mcp/restart/route-2f4705aa66819b86.js +0 -1
  372. package/_standalone/.next/static/chunks/app/api/mcp/status/route-2f4705aa66819b86.js +0 -1
  373. package/_standalone/.next/static/chunks/app/api/mcp/uninstall/route-2f4705aa66819b86.js +0 -1
  374. package/_standalone/.next/static/chunks/app/api/monitoring/route-2f4705aa66819b86.js +0 -1
  375. package/_standalone/.next/static/chunks/app/api/recent-files/route-2f4705aa66819b86.js +0 -1
  376. package/_standalone/.next/static/chunks/app/api/restart/route-2f4705aa66819b86.js +0 -1
  377. package/_standalone/.next/static/chunks/app/api/search/route-2f4705aa66819b86.js +0 -1
  378. package/_standalone/.next/static/chunks/app/api/settings/list-models/route-2f4705aa66819b86.js +0 -1
  379. package/_standalone/.next/static/chunks/app/api/settings/reset-token/route-2f4705aa66819b86.js +0 -1
  380. package/_standalone/.next/static/chunks/app/api/settings/route-2f4705aa66819b86.js +0 -1
  381. package/_standalone/.next/static/chunks/app/api/settings/test-key/route-2f4705aa66819b86.js +0 -1
  382. package/_standalone/.next/static/chunks/app/api/setup/check-path/route-2f4705aa66819b86.js +0 -1
  383. package/_standalone/.next/static/chunks/app/api/setup/check-port/route-2f4705aa66819b86.js +0 -1
  384. package/_standalone/.next/static/chunks/app/api/setup/generate-token/route-2f4705aa66819b86.js +0 -1
  385. package/_standalone/.next/static/chunks/app/api/setup/ls/route-2f4705aa66819b86.js +0 -1
  386. package/_standalone/.next/static/chunks/app/api/setup/route-2f4705aa66819b86.js +0 -1
  387. package/_standalone/.next/static/chunks/app/api/skills/route-2f4705aa66819b86.js +0 -1
  388. package/_standalone/.next/static/chunks/app/api/sync/route-2f4705aa66819b86.js +0 -1
  389. package/_standalone/.next/static/chunks/app/api/tree-version/route-2f4705aa66819b86.js +0 -1
  390. package/_standalone/.next/static/chunks/app/api/uninstall/route-2f4705aa66819b86.js +0 -1
  391. package/_standalone/.next/static/chunks/app/api/update/route-2f4705aa66819b86.js +0 -1
  392. package/_standalone/.next/static/chunks/app/api/update-check/route-2f4705aa66819b86.js +0 -1
  393. package/_standalone/.next/static/chunks/app/api/update-status/route-2f4705aa66819b86.js +0 -1
  394. package/_standalone/.next/static/chunks/app/api/workflows/route-2f4705aa66819b86.js +0 -1
  395. package/_standalone/.next/static/chunks/app/changes/page-5a72144d1080a699.js +0 -1
  396. package/_standalone/.next/static/chunks/app/echo/[segment]/page-b0103509ce34444b.js +0 -11
  397. package/_standalone/.next/static/chunks/app/echo/page-2f4705aa66819b86.js +0 -1
  398. package/_standalone/.next/static/chunks/app/layout-7e02ddf4144b01f1.js +0 -186
  399. package/_standalone/.next/static/chunks/app/loading-2f4705aa66819b86.js +0 -1
  400. package/_standalone/.next/static/chunks/app/page-6a6a12bd6d6812d0.js +0 -7
  401. package/_standalone/.next/static/chunks/app/trash/page-54cbd5c98d9de69b.js +0 -1
  402. package/_standalone/.next/static/chunks/app/view/[...path]/loading-2f4705aa66819b86.js +0 -1
  403. package/_standalone/.next/static/chunks/app/view/[...path]/page-ca7bdcbf27f88a46.js +0 -12
  404. package/_standalone/.next/static/chunks/app/wiki/page-d492256a93f0b8bc.js +0 -1
  405. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-2f4705aa66819b86.js +0 -1
  406. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-2f4705aa66819b86.js +0 -1
  407. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-2f4705aa66819b86.js +0 -1
  408. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-2f4705aa66819b86.js +0 -1
  409. package/_standalone/.next/static/css/fd84c8316ead16eb.css +0 -1
  410. /package/_standalone/.next/static/{2ksXveDzEcnCMRIElDkLq → K3wZNf5bj_AFYwtqcRXIf}/_ssgManifest.js +0 -0
package/app/lib/types.ts CHANGED
@@ -52,6 +52,8 @@ export interface ImagePart {
52
52
  /** Base64-encoded image data (no data: prefix) */
53
53
  data: string;
54
54
  mimeType: ImageMimeType;
55
+ /** Original file name, if available */
56
+ fileName?: string;
55
57
  }
56
58
 
57
59
  export type MessagePart = TextPart | ToolCallPart | ReasoningPart | ImagePart;
@@ -72,6 +74,16 @@ export interface Message {
72
74
  export interface LocalAttachment {
73
75
  name: string;
74
76
  content: string;
77
+ /** Extraction status for PDF uploads. Absent / undefined = legacy (treated as success). */
78
+ status?: 'loading' | 'success' | 'error';
79
+ /** Human-readable error message (only when status = 'error'). */
80
+ error?: string;
81
+ /** Present when the full text was too long and had to be truncated. */
82
+ truncatedInfo?: {
83
+ totalChars: number;
84
+ includedChars: number;
85
+ totalPages: number;
86
+ };
75
87
  }
76
88
 
77
89
  /** User-facing Ask modes. 'organize' is internal-only (not selectable by users). */
@@ -87,4 +99,5 @@ export interface ChatSession {
87
99
  createdAt: number;
88
100
  updatedAt: number;
89
101
  messages: Message[];
102
+ pinned?: boolean;
90
103
  }
package/app/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wiki-app",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "private": true,
5
5
  "scripts": {
6
6
  "generate": "npx tsx scripts/generate-explore.ts",
@@ -13,7 +13,6 @@
13
13
  'use strict';
14
14
 
15
15
  const fs = require('fs');
16
- const path = require('path');
17
16
 
18
17
  // Suppress pdfjs-dist warnings (loadFont etc.) that go to stdout/stderr
19
18
  // and would corrupt our JSON output.
@@ -22,6 +21,115 @@ const _log = console.log;
22
21
  console.warn = () => {};
23
22
  console.log = () => {};
24
23
 
24
+ // ---------------------------------------------------------------------------
25
+ // CJK-aware smart text joining
26
+ // ---------------------------------------------------------------------------
27
+
28
+ /**
29
+ * Detect whether a character falls in CJK / fullwidth ranges where
30
+ * inter-item spaces are NOT desired.
31
+ */
32
+ function isCJK(ch) {
33
+ const c = ch.codePointAt(0);
34
+ return (
35
+ (c >= 0x2E80 && c <= 0x2FDF) || // CJK Radicals Supplement, Kangxi Radicals
36
+ (c >= 0x4E00 && c <= 0x9FFF) || // CJK Unified Ideographs
37
+ (c >= 0x3400 && c <= 0x4DBF) || // CJK Extension A
38
+ (c >= 0xF900 && c <= 0xFAFF) || // CJK Compatibility Ideographs
39
+ (c >= 0x3040 && c <= 0x309F) || // Hiragana
40
+ (c >= 0x30A0 && c <= 0x30FF) || // Katakana
41
+ (c >= 0xAC00 && c <= 0xD7AF) || // Hangul Syllables
42
+ (c >= 0x20000 && c <= 0x2FA1F) // CJK Extensions B-F + Supplement
43
+ );
44
+ }
45
+
46
+ /** True for CJK fullwidth punctuation that already occupies its own space. */
47
+ function isCJKPunct(ch) {
48
+ const c = ch.codePointAt(0);
49
+ return (
50
+ (c >= 0x3000 && c <= 0x303F) || // 。、「」【】
51
+ (c >= 0xFF01 && c <= 0xFF0F) || // !"#$
52
+ (c >= 0xFF1A && c <= 0xFF20) || // :;<=>
53
+ (c >= 0xFF3B && c <= 0xFF40) || // [\]
54
+ (c >= 0xFF5B && c <= 0xFF65) || // {|}~
55
+ (c >= 0xFE50 && c <= 0xFE6B) // Small Form Variants
56
+ );
57
+ }
58
+
59
+ /**
60
+ * Decide whether a space should be inserted between two adjacent characters
61
+ * that come from separate pdfjs-dist TextItem objects.
62
+ *
63
+ * Rules:
64
+ * CJK + CJK → no space (中文相邻不加)
65
+ * CJK + Punct → no space (标点紧跟)
66
+ * Punct + CJK → no space
67
+ * CJK + Latin → space (中英之间加)
68
+ * Latin + CJK → space
69
+ * Latin + Latin → space (英文单词间加)
70
+ * Punct + Latin → no space (e.g. `(hello`)
71
+ * Latin + Punct → no space (e.g. `hello.`)
72
+ */
73
+ function shouldAddSpace(left, right) {
74
+ if (!left || !right) return false;
75
+
76
+ const lCJK = isCJK(left);
77
+ const rCJK = isCJK(right);
78
+ const lPunct = isCJKPunct(left) || /^[^\w\s]$/.test(left);
79
+ const rPunct = isCJKPunct(right) || /^[^\w\s]$/.test(right);
80
+
81
+ // Any side is punctuation → no space
82
+ if (lPunct || rPunct) return false;
83
+ // Both CJK → no space
84
+ if (lCJK && rCJK) return false;
85
+ // Mixed CJK/Latin → space
86
+ if (lCJK !== rCJK) return true;
87
+ // Both non-CJK (Latin/digit) → space between words
88
+ return true;
89
+ }
90
+
91
+ /**
92
+ * Join pdfjs-dist TextItem[] into clean text, respecting CJK spacing
93
+ * rules and `hasEOL` line-break markers.
94
+ */
95
+ function smartJoinTextItems(items) {
96
+ const lines = [];
97
+ let cur = '';
98
+
99
+ for (const item of items) {
100
+ const str = item.str ?? '';
101
+
102
+ if (str === '') {
103
+ // Empty str with hasEOL → line break
104
+ if (item.hasEOL && cur.trim()) {
105
+ lines.push(cur.trim());
106
+ cur = '';
107
+ }
108
+ continue;
109
+ }
110
+
111
+ if (cur === '') {
112
+ cur = str;
113
+ } else {
114
+ const left = cur[cur.length - 1];
115
+ const right = str[0];
116
+ cur += shouldAddSpace(left, right) ? ' ' + str : str;
117
+ }
118
+
119
+ if (item.hasEOL) {
120
+ if (cur.trim()) lines.push(cur.trim());
121
+ cur = '';
122
+ }
123
+ }
124
+
125
+ if (cur.trim()) lines.push(cur.trim());
126
+ return lines.join('\n');
127
+ }
128
+
129
+ // ---------------------------------------------------------------------------
130
+ // Main
131
+ // ---------------------------------------------------------------------------
132
+
25
133
  async function main() {
26
134
  const pdfPath = process.argv[2];
27
135
  if (!pdfPath || !fs.existsSync(pdfPath)) {
@@ -43,8 +151,7 @@ async function main() {
43
151
  for (let i = 1; i <= numPages; i++) {
44
152
  const page = await doc.getPage(i);
45
153
  const content = await page.getTextContent();
46
- const line = content.items.map((item) => item.str ?? '').join(' ');
47
- pageTexts.push(line);
154
+ pageTexts.push(smartJoinTextItems(content.items));
48
155
  }
49
156
 
50
157
  process.stdout.write(JSON.stringify({ text: pageTexts.join('\n\n'), pages: numPages }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geminilight/mindos",
3
- "version": "0.6.58",
3
+ "version": "0.6.60",
4
4
  "description": "MindOS — Human-Agent Collaborative Mind System. Local-first knowledge base that syncs your mind to all AI Agents via MCP.",
5
5
  "keywords": [
6
6
  "mindos",
@@ -1,26 +1,33 @@
1
1
  ---
2
2
  name: mindos
3
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.
4
+ The user's shared knowledge base persistent across sessions and agents. MindOS stores decisions,
5
+ meeting notes, SOPs, debugging lessons, architecture choices, research findings, and preferences.
7
6
  更新笔记, 搜索知识库, 整理文件, 执行SOP/工作流, 复盘, 追加CSV, 跨Agent交接,
8
7
  路由非结构化输入到对应文件, 提炼经验, 同步关联文档.
9
8
  NOT for editing app source, project docs, or paths outside the KB.
10
9
  Core concepts: Space, Instruction (INSTRUCTION.md), Skill (SKILL.md); notes can embody both.
11
- Trigger when user asks to: save or record anything, search for prior notes or context, update or
12
- edit a file, organize notes, run a workflow or SOP, capture decisions from a session, append rows
13
- to a table or CSV, hand off context to another agent, check if something was discussed before,
14
- look up a past decision, distill lessons learned, prepare context for a meeting.
15
- Also trigger on Chinese: 帮我记下来, 搜一下笔记, 更新知识库, 整理文件, 复盘, 提炼经验,
16
- 保存, 记录, 交接, 查一下之前的, 有没有相关笔记, 把这个存起来.
17
- When the user's question implies stored context may exist (past decisions, previous discussions,
18
- meeting records), consider searching MindOS even if they don't explicitly mention it.
10
+
11
+ Trigger on: save or record anything, search for prior notes or context, update or edit a file,
12
+ organize notes, run a workflow or SOP, capture decisions, append rows to a table or CSV,
13
+ hand off context to another agent, check if something was discussed before, look up a past
14
+ decision, distill lessons learned, prepare context for a meeting, quick-capture to staging area,
15
+ organize inbox, check knowledge health, detect conflicts or contradictions, find stale content.
16
+ Chinese triggers: 帮我记下来, 搜一下笔记, 更新知识库, 整理文件, 复盘, 提炼经验,
17
+ 保存, 记录, 交接, 查一下之前的, 有没有相关笔记, 把这个存起来, 放到暂存台,
18
+ 整理暂存台, 知识健康检查, 检测知识冲突.
19
+
20
+ Proactive behavior — do not wait for the user to mention MindOS:
21
+ (1) When user's question implies stored context may exist (past decisions, previous discussions,
22
+ meeting records) → search MindOS first, even if they don't explicitly mention it.
23
+ (2) After completing valuable work (bug fixed, decision made, lesson learned, architecture chosen,
24
+ meeting summarized) → offer to save it to MindOS for future reference.
25
+ (3) After a long or multi-topic conversation → suggest persisting key decisions and context.
19
26
  ---
20
27
 
21
28
  # MindOS Skill
22
29
 
23
- <!-- version: 3.0.0 — CLI-first, MCP optional -->
30
+ <!-- version: 3.2.0 — CLI-first, MCP optional -->
24
31
 
25
32
  ## CLI commands
26
33
 
@@ -85,6 +92,7 @@ npm install -g @geminilight/mindos
85
92
  - **Space** — Knowledge partitions organized the way you think. Agents follow the same structure.
86
93
  - **Instruction** — A rules file (`INSTRUCTION.md`) all connected agents obey.
87
94
  - **Skill** — Teaches agents how to read, write, and organize the KB.
95
+ - **Inbox** — The `Inbox/` directory is a staging area for quick capture. Files land here when there's no obvious home yet. They get organized later — by the user manually or via AI-assisted batch organization.
88
96
 
89
97
  Notes can embody both Instruction and Skill — they're just Markdown files in the tree.
90
98
 
@@ -99,9 +107,13 @@ User request
99
107
  │ └─ [Read-only]: search → read → answer with citations. No writes.
100
108
 
101
109
  ├─ Save / record / update / organize specific content?
102
- │ ├─ Single file → [Single-file edit]
110
+ │ ├─ Know where it goes → [Single-file edit]
111
+ │ ├─ Don't know where it goes → [Inbox path] — save to Inbox/, classify later
103
112
  │ └─ Multiple files or unclear → [Multi-file routing] — plan first
104
113
 
114
+ ├─ Organize inbox / classify staged files?
115
+ │ └─ [Inbox organize] — read Inbox/ files, propose destinations, move after approval
116
+
105
117
  ├─ Structural change (rename / move / delete / reorganize)?
106
118
  │ └─ [Structural path] — check backlinks before and after
107
119
 
@@ -111,6 +123,9 @@ User request
111
123
  ├─ Retrospective / distill / handoff?
112
124
  │ └─ [Retrospective path]
113
125
 
126
+ ├─ Knowledge health check / detect conflicts?
127
+ │ └─ [Health check path] — read references/knowledge-health.md
128
+
114
129
  └─ Ambiguous?
115
130
  └─ ASK. Propose 2-3 specific options based on KB state.
116
131
  ```
@@ -125,8 +140,9 @@ User request
125
140
  - "organize" → ask: display only, or write back?
126
141
 
127
142
  **File location uncertainty:**
128
- - Can't decide in 5 seconds → use nearest existing directory, inform user
129
- - "Just put it somewhere" → inbox, propose classification after
143
+ - Can't decide in 5 seconds → save to `Inbox/`, inform user, propose classification later
144
+ - "Just put it somewhere" / "先放着" save to `Inbox/`
145
+ - User drags files or pastes unstructured content without specifying location → `Inbox/`
130
146
 
131
147
  **Scope creep:**
132
148
  - Input routes to >5 files → pause, confirm scope
@@ -159,6 +175,42 @@ When user expresses a standing preference → read [references/preference-captur
159
175
 
160
176
  When creating/rewriting an SOP → read [references/sop-template.md](./references/sop-template.md).
161
177
 
178
+ ## Inbox (staging area)
179
+
180
+ The `Inbox/` directory is the KB's quick-capture zone. It has its own `INSTRUCTION.md` that governs behavior.
181
+
182
+ **When to use Inbox:**
183
+ - User says "just save it" / "先放着" / "放到暂存台" without specifying a location
184
+ - Content doesn't clearly fit any existing Space or directory
185
+ - Batch import of multiple files that need individual classification
186
+
187
+ **How to save to Inbox:**
188
+ ```bash
189
+ mindos file create "Inbox/<filename>.md" --content "..."
190
+ ```
191
+
192
+ **How to organize Inbox:**
193
+ 1. List Inbox files: `mindos file list Inbox/`
194
+ 2. Read each file to understand its content
195
+ 3. For each file, propose the best destination directory based on KB structure
196
+ 4. Present the full routing plan to user for approval
197
+ 5. Move files: `mindos file rename "Inbox/<file>" "<target-dir>/<file>"`
198
+ 6. After moving, check if the target directory's README needs updating
199
+
200
+ **Aging reminder:** Files in Inbox older than 7 days are considered "aging". If you notice aging files during bootstrap, mention it: "You have N files in Inbox that have been sitting there for over a week. Want me to help organize them?"
201
+
202
+ ## Knowledge health check
203
+
204
+ When user asks to check knowledge health, detect conflicts, audit quality, or says "知识健康检查" / "检测冲突" → read [references/knowledge-health.md](./references/knowledge-health.md) for the full procedure.
205
+
206
+ Quick summary of what gets checked:
207
+ - **Contradictions**: conflicting facts across files on the same topic
208
+ - **Broken links**: references to files that no longer exist
209
+ - **Stale content**: files with outdated date markers or untouched for >6 months
210
+ - **Duplicates**: two files covering the same ground without cross-referencing
211
+ - **Orphan files**: files with zero backlinks, hard to discover
212
+ - **Structural issues**: wrong directory, missing READMEs, aging Inbox files
213
+
162
214
  ---
163
215
 
164
216
  ## Error handling (CLI)
@@ -0,0 +1,120 @@
1
+ # Knowledge Health Check
2
+
3
+ When the user asks to check KB health, detect conflicts, or audit knowledge quality, follow this guide.
4
+
5
+ ## Dimensions
6
+
7
+ ### 1. Contradictions / Conflicts
8
+
9
+ Two or more files state conflicting facts about the same topic (e.g., one says "rate limit = 100/min", another says "rate limit = 200/min" without distinguishing context).
10
+
11
+ **Detection procedure:**
12
+ 1. Identify the topic scope (user may specify, or scan recent edits)
13
+ 2. Search for all files related to the topic (2-4 keyword variants)
14
+ 3. Read each hit and extract key claims/decisions
15
+ 4. Compare claims across files — flag any pair that contradicts
16
+ 5. Present conflicts to user with file paths and quotes
17
+
18
+ **Resolution:** Ask user which version is authoritative. Update or annotate the non-authoritative file to reference the correct source. Never silently overwrite.
19
+
20
+ ### 2. Orphan References
21
+
22
+ A file links to another file that no longer exists (broken `[[link]]` or markdown link).
23
+
24
+ **Detection procedure:**
25
+ 1. List all files in KB
26
+ 2. For each file, extract all internal links (markdown links, wiki-links)
27
+ 3. Check if each link target exists
28
+ 4. Report broken links with source file path and line
29
+
30
+ **Resolution:** Either remove the dead link, or recreate the missing file if the content is recoverable from git history.
31
+
32
+ ### 3. Stale / Outdated Content
33
+
34
+ Files with explicit date markers (e.g., "Last verified: 2025-01-15") that are significantly old, or files whose topic has clearly evolved but the file hasn't been updated.
35
+
36
+ **Detection procedure:**
37
+ 1. Search for date markers: "Last verified", "Last updated", "截止日期", "更新时间"
38
+ 2. Flag any file where the marker date is >90 days old
39
+ 3. Also check `mindos file history <path>` — files untouched for >6 months with active topics are suspects
40
+
41
+ **Resolution:** Present the list to user. For each stale file, ask: still accurate? update? archive?
42
+
43
+ ### 4. Duplicate Content
44
+
45
+ Two files covering the same topic with substantial overlap, neither referencing the other.
46
+
47
+ **Detection procedure:**
48
+ 1. Search for the topic from multiple angles
49
+ 2. If two files return as top results for the same query, read both
50
+ 3. Compare: are they covering the same ground? Is one a superset of the other?
51
+ 4. Flag duplicates with a similarity summary
52
+
53
+ **Resolution:** Merge into one authoritative file. Convert the other into a redirect/link. Never delete without confirmation.
54
+
55
+ ### 5. Orphan Files
56
+
57
+ Files that no other file references — isolated knowledge that may be hard to discover.
58
+
59
+ **Detection procedure:**
60
+ 1. For each file, run `mindos file backlinks <path>`
61
+ 2. Files with zero backlinks AND not in a well-indexed directory (no README listing them) are orphan candidates
62
+ 3. Exclude governance files (INSTRUCTION.md, README.md) and root-level files
63
+
64
+ **Resolution:** Suggest adding links from relevant parent documents or READMEs.
65
+
66
+ ### 6. Structural Issues
67
+
68
+ - Files in wrong directories (content doesn't match the directory's topic)
69
+ - Inbox files that have been sitting >7 days (aging)
70
+ - Missing READMEs in directories with >3 files
71
+ - Inconsistent naming conventions within a directory
72
+
73
+ **Detection procedure:**
74
+ 1. Bootstrap the KB tree
75
+ 2. For each directory: check if README exists, read a sample of files to verify topic consistency
76
+ 3. Check Inbox for aging files (>7 days)
77
+ 4. Spot-check naming patterns per directory
78
+
79
+ ## Health Report Format
80
+
81
+ Present findings as a structured report:
82
+
83
+ ```markdown
84
+ # Knowledge Health Report — {date}
85
+
86
+ ## Summary
87
+ - Contradictions found: N
88
+ - Broken links: N
89
+ - Stale files (>90 days): N
90
+ - Duplicates suspected: N
91
+ - Orphan files: N
92
+ - Structural issues: N
93
+ - **Overall health: {Good / Needs Attention / Critical}**
94
+
95
+ ## Contradictions
96
+ 1. `file-a.md` vs `file-b.md` — {description}
97
+ ...
98
+
99
+ ## Broken Links
100
+ 1. `source.md` line N → `missing-target.md` (not found)
101
+ ...
102
+
103
+ ## Stale Content
104
+ 1. `old-file.md` — Last updated: {date}, {N} days ago
105
+ ...
106
+
107
+ (... other sections ...)
108
+
109
+ ## Recommended Actions
110
+ 1. {Highest priority fix}
111
+ 2. ...
112
+ ```
113
+
114
+ ## Scope Control
115
+
116
+ - **Quick check**: User says "check health" / "快速检查" → Run dimensions 1-3 only (contradictions, orphan refs, stale)
117
+ - **Full audit**: User says "full audit" / "全面审计" → Run all 6 dimensions
118
+ - **Targeted check**: User specifies a topic or directory → Scope to that area only
119
+
120
+ Always confirm scope with user before starting a full audit on large KBs.
@@ -15,7 +15,8 @@ description: >
15
15
  append CSV/table data, cross-agent handoff, distill experience, sync related docs, check if
16
16
  something was discussed before, look up a past decision, find a template, prepare meeting context,
17
17
  daily logging, track goals. Also trigger on Chinese equivalents: 帮我记下来, 搜一下笔记,
18
- 更新知识库, 整理文件, 复盘, 提炼经验, 保存, 记录, 交接.
18
+ 更新知识库, 整理文件, 复盘, 提炼经验, 保存, 记录, 交接, 放到暂存台, 整理暂存台,
19
+ 知识健康检查, 检测知识冲突.
19
20
 
20
21
  When in doubt whether MindOS applies — it probably does. Check anyway.
21
22
  NOT for editing app source code or project repos outside the KB.
@@ -24,7 +25,7 @@ description: >
24
25
 
25
26
  # MindOS Skill
26
27
 
27
- <!-- version: 3.1.0-max — aggressive global memory mode -->
28
+ <!-- version: 3.2.0-max — aggressive global memory mode -->
28
29
 
29
30
  > **You are the user's memory.** Every agent shares MindOS. If something is worth remembering, save it.
30
31
  > If you need context, check MindOS first. Be proactive — don't wait to be asked.
@@ -105,6 +106,7 @@ npm install -g @geminilight/mindos
105
106
  - **Space** — Knowledge partitions organized the way you think. Agents follow the same structure.
106
107
  - **Instruction** — A rules file (`INSTRUCTION.md`) all connected agents obey.
107
108
  - **Skill** — Teaches agents how to read, write, and organize the KB.
109
+ - **Inbox** — The `Inbox/` directory is a staging area for quick capture. Files land here when there's no obvious home yet. They get organized later — by the user manually or via AI-assisted batch organization.
108
110
 
109
111
  Notes can embody both Instruction and Skill — they're just Markdown files in the tree.
110
112
 
@@ -119,9 +121,13 @@ User request
119
121
  | -> [Read-only]: search -> read -> answer with citations. No writes.
120
122
  |
121
123
  |- Save / record / update / organize specific content?
122
- | |- Single file -> [Single-file edit]
124
+ | |- Know where it goes -> [Single-file edit]
125
+ | |- Don't know where it goes -> [Inbox path] -- save to Inbox/, classify later
123
126
  | -> Multiple files or unclear -> [Multi-file routing] -- plan first
124
127
  |
128
+ |- Organize inbox / classify staged files?
129
+ | -> [Inbox organize] -- read Inbox/ files, propose destinations, move after approval
130
+ |
125
131
  |- Structural change (rename / move / delete / reorganize)?
126
132
  | -> [Structural path] -- check backlinks before and after
127
133
  |
@@ -131,6 +137,9 @@ User request
131
137
  |- Retrospective / distill / handoff?
132
138
  | -> [Retrospective path]
133
139
  |
140
+ |- Knowledge health check / detect conflicts?
141
+ | -> [Health check path] -- read references/knowledge-health.md
142
+ |
134
143
  -> Ambiguous?
135
144
  -> ASK. Propose 2-3 specific options based on KB state.
136
145
  ```
@@ -145,8 +154,9 @@ User request
145
154
  - "organize" -> ask: display only, or write back?
146
155
 
147
156
  **File location uncertainty:**
148
- - Can't decide in 5 seconds -> use nearest existing directory, inform user
149
- - "Just put it somewhere" -> inbox, propose classification after
157
+ - Can't decide in 5 seconds -> save to `Inbox/`, inform user, propose classification later
158
+ - "Just put it somewhere" / "先放着" -> save to `Inbox/`
159
+ - User drags files or pastes unstructured content without specifying location -> `Inbox/`
150
160
 
151
161
  **Scope creep:**
152
162
  - Input routes to >5 files -> pause, confirm scope
@@ -179,6 +189,43 @@ When user expresses a standing preference -> read [references/preference-capture
179
189
 
180
190
  When creating/rewriting an SOP -> read [references/sop-template.md](../mindos/references/sop-template.md).
181
191
 
192
+ ## Inbox (staging area)
193
+
194
+ The `Inbox/` directory is the KB's quick-capture zone. It has its own `INSTRUCTION.md` that governs behavior.
195
+
196
+ **When to use Inbox:**
197
+ - User says "just save it" / "先放着" / "放到暂存台" without specifying a location
198
+ - Content doesn't clearly fit any existing Space or directory
199
+ - Batch import of multiple files that need individual classification
200
+
201
+ **How to save to Inbox:**
202
+ ```bash
203
+ mindos file create "Inbox/<filename>.md" --content "..."
204
+ ```
205
+
206
+ **How to organize Inbox:**
207
+ 1. List Inbox files: `mindos file list Inbox/`
208
+ 2. Read each file to understand its content
209
+ 3. For each file, propose the best destination directory based on KB structure
210
+ 4. Present the full routing plan to user for approval
211
+ 5. Move files: `mindos file rename "Inbox/<file>" "<target-dir>/<file>"`
212
+ 6. After moving, check if the target directory's README needs updating
213
+
214
+ **Aging reminder:** Files in Inbox older than 7 days are considered "aging". If you notice aging files during bootstrap, mention it: "You have N files in Inbox that have been sitting there for over a week. Want me to help organize them?"
215
+
216
+ ## Knowledge health check
217
+
218
+ When user asks to check knowledge health, detect conflicts, audit quality, or says "知识健康检查" / "检测冲突" / "check knowledge health"
219
+ -> read [references/knowledge-health.md](../mindos/references/knowledge-health.md) for the full procedure.
220
+
221
+ Quick summary of what gets checked:
222
+ - **Contradictions**: conflicting facts across files on the same topic
223
+ - **Broken links**: references to files that no longer exist
224
+ - **Stale content**: files with outdated date markers or untouched for >6 months
225
+ - **Duplicates**: two files covering the same ground without cross-referencing
226
+ - **Orphan files**: files with zero backlinks, hard to discover
227
+ - **Structural issues**: wrong directory, missing READMEs, aging Inbox files
228
+
182
229
  ---
183
230
 
184
231
  ## Error handling (CLI)
@@ -15,8 +15,10 @@ description: >
15
15
 
16
16
  触发词:帮我记下来、搜一下笔记、更新知识库、整理文件、复盘、提炼经验、保存、记录、
17
17
  交接、把这个存起来、查一下之前的、有没有相关笔记、我之前写过什么、总结一下保存、
18
- 追加到表格、更新进度、查找模板、准备会议资料、记录今天的工作。
19
- 以及对应英文:save, record, search notes, organize, retrospective, handoff, lessons learned。
18
+ 追加到表格、更新进度、查找模板、准备会议资料、记录今天的工作、
19
+ 放到暂存台、整理暂存台、知识健康检查、检测知识冲突。
20
+ 以及对应英文:save, record, search notes, organize, retrospective, handoff, lessons learned,
21
+ inbox, staging, knowledge health, detect conflicts。
20
22
 
21
23
  拿不准是否该用——大概率该用。查一下不会错。
22
24
  不用于:改代码仓库、项目源码、KB 外路径。
@@ -25,7 +27,7 @@ description: >
25
27
 
26
28
  # MindOS 技能
27
29
 
28
- <!-- version: 3.1.0-max — 激进全局记忆模式 -->
30
+ <!-- version: 3.2.0-max — 激进全局记忆模式 -->
29
31
 
30
32
  > **你就是用户的记忆。** 所有 Agent 共享 MindOS。值得记住就存,需要上下文就先查。
31
33
  > 主动行动——不要等用户开口提醒。
@@ -106,6 +108,7 @@ npm install -g @geminilight/mindos
106
108
  - **空间 (Space)** — 按你的思维方式组织的知识分区。Agent 遵循相同结构。
107
109
  - **指令 (Instruction)** — `INSTRUCTION.md`,所有连接的 Agent 都遵守的规则文件。
108
110
  - **技能 (Skill)** — 教 Agent 如何读写和整理知识库。
111
+ - **暂存台 (Inbox)** — `Inbox/` 目录是快速捕获区。内容暂时找不到归属时先放这里,之后再统一整理——用户手动或 AI 辅助批量归类。
109
112
 
110
113
  笔记可以同时承载指令和技能——它们只是目录树中的 Markdown 文件。
111
114
 
@@ -120,9 +123,13 @@ npm install -g @geminilight/mindos
120
123
  | -> [只读路径]:搜索 -> 读取 -> 带引用回答。不写入。
121
124
  |
122
125
  |- 保存 / 记录 / 更新 / 整理具体内容?
123
- | |- 单文件 -> [单文件编辑]
126
+ | |- 知道放哪 -> [单文件编辑]
127
+ | |- 不知道放哪 -> [暂存台路径] -- 存到 Inbox/,之后再归类
124
128
  | -> 多文件或不确定 -> [多文件路由] -- 先出方案
125
129
  |
130
+ |- 整理暂存台 / 归类暂存文件?
131
+ | -> [暂存台整理] -- 读 Inbox/ 文件,提议目标位置,获批后移动
132
+ |
126
133
  |- 结构变更(重命名 / 移动 / 删除 / 重组)?
127
134
  | -> [结构路径] -- 变更前后检查反向链接
128
135
  |
@@ -132,6 +139,9 @@ npm install -g @geminilight/mindos
132
139
  |- 复盘 / 提炼 / 交接?
133
140
  | -> [复盘路径]
134
141
  |
142
+ |- 知识健康检查 / 检测冲突?
143
+ | -> [健康检查路径] -- 读取 references/knowledge-health.md
144
+ |
135
145
  -> 模糊?
136
146
  -> 提问。基于知识库状态提出 2-3 个具体选项。
137
147
  ```
@@ -146,8 +156,9 @@ npm install -g @geminilight/mindos
146
156
  - "整理一下" -> 先问:仅展示,还是写回知识库?
147
157
 
148
158
  **文件位置不确定:**
149
- - 5 秒内定不了 -> 用最近的现有目录,告知用户
150
- - "随便放哪" -> 收件箱,之后提议分类
159
+ - 5 秒内定不了 -> 存到 `Inbox/`,告知用户,之后提议归类
160
+ - "随便放哪" / "先放着" -> 存到 `Inbox/`
161
+ - 用户拖拽文件或粘贴非结构化内容但没指定位置 -> `Inbox/`
151
162
 
152
163
  **范围蔓延:**
153
164
  - 输入路由到 >5 个文件 -> 暂停确认
@@ -180,6 +191,44 @@ npm install -g @geminilight/mindos
180
191
 
181
192
  创建/重写工作流 SOP 时 -> 读取 [references/sop-template.md](../mindos/references/sop-template.md)。
182
193
 
194
+ ## 暂存台 (Inbox)
195
+
196
+ `Inbox/` 目录是知识库的快速捕获区,有自己的 `INSTRUCTION.md` 约束行为。
197
+
198
+ **何时使用暂存台:**
199
+ - 用户说"先存着" / "放到暂存台" / "随便放哪",没指定具体位置
200
+ - 内容明显不属于任何现有空间或目录
201
+ - 批量导入多个文件,需要逐个归类
202
+
203
+ **如何存到暂存台:**
204
+ ```bash
205
+ mindos file create "Inbox/<文件名>.md" --content "..."
206
+ ```
207
+
208
+ **如何整理暂存台:**
209
+ 1. 列出暂存文件:`mindos file list Inbox/`
210
+ 2. 读取每个文件,理解其内容
211
+ 3. 根据知识库结构,为每个文件提议最佳目标目录
212
+ 4. 向用户展示完整路由方案,获批后执行
213
+ 5. 移动文件:`mindos file rename "Inbox/<文件>" "<目标目录>/<文件>"`
214
+ 6. 移动后检查目标目录的 README 是否需要更新
215
+
216
+ **老化提醒:** Inbox 中超过 7 天的文件视为"老化"。如果在 bootstrap 时发现老化文件,主动提醒:
217
+ "暂存台有 N 个文件已经放了一周以上了,要我帮你整理一下吗?"
218
+
219
+ ## 知识健康检查
220
+
221
+ 用户要求检查知识库健康度、检测冲突、审计质量,或说"知识健康检查" / "检测冲突" / "check knowledge health" 时
222
+ -> 读取 [references/knowledge-health.md](../mindos/references/knowledge-health.md) 获取完整流程。
223
+
224
+ 检查维度速览:
225
+ - **矛盾/冲突**:同一主题的不同文件说法互相矛盾
226
+ - **断裂链接**:引用了不存在的文件
227
+ - **过期内容**:带有过期日期标记的文件,或超过 6 个月未更新的活跃主题
228
+ - **重复内容**:两个文件覆盖同一主题且没有互相引用
229
+ - **孤立文件**:零反向链接,难以被发现
230
+ - **结构问题**:文件放错目录、缺少 README、暂存台老化文件
231
+
183
232
  ---
184
233
 
185
234
  ## 错误处理(CLI)