@geminilight/mindos 0.6.55 → 0.6.57

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 (377) 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 +24 -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 +7 -7
  10. package/_standalone/.next/routes-manifest.json +12 -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 -6
  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/custom/detect/route.js +1 -0
  41. package/_standalone/.next/server/app/api/agents/custom/detect/route.js.nft.json +1 -0
  42. package/_standalone/.next/server/app/api/agents/custom/detect/route_client-reference-manifest.js +1 -0
  43. package/_standalone/.next/server/app/api/agents/custom/route.js +1 -0
  44. package/_standalone/.next/server/app/api/agents/custom/route.js.nft.json +1 -0
  45. package/_standalone/.next/server/app/api/agents/custom/route_client-reference-manifest.js +1 -0
  46. package/_standalone/.next/server/app/api/ask/route.js +3 -3
  47. package/_standalone/.next/server/app/api/ask/route.js.nft.json +1 -1
  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.js.nft.json +1 -1
  52. package/_standalone/.next/server/app/api/backlinks/route_client-reference-manifest.js +1 -1
  53. package/_standalone/.next/server/app/api/bootstrap/route.js.nft.json +1 -1
  54. package/_standalone/.next/server/app/api/bootstrap/route_client-reference-manifest.js +1 -1
  55. package/_standalone/.next/server/app/api/changes/route.js.nft.json +1 -1
  56. package/_standalone/.next/server/app/api/changes/route_client-reference-manifest.js +1 -1
  57. package/_standalone/.next/server/app/api/export/route.js.nft.json +1 -1
  58. package/_standalone/.next/server/app/api/export/route_client-reference-manifest.js +1 -1
  59. package/_standalone/.next/server/app/api/extract-pdf/route_client-reference-manifest.js +1 -1
  60. package/_standalone/.next/server/app/api/file/import/route.js +1 -1
  61. package/_standalone/.next/server/app/api/file/import/route.js.nft.json +1 -1
  62. package/_standalone/.next/server/app/api/file/import/route_client-reference-manifest.js +1 -1
  63. package/_standalone/.next/server/app/api/file/raw/route.js.nft.json +1 -1
  64. package/_standalone/.next/server/app/api/file/raw/route_client-reference-manifest.js +1 -1
  65. package/_standalone/.next/server/app/api/file/route.js.nft.json +1 -1
  66. package/_standalone/.next/server/app/api/file/route_client-reference-manifest.js +1 -1
  67. package/_standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  68. package/_standalone/.next/server/app/api/files/route_client-reference-manifest.js +1 -1
  69. package/_standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  70. package/_standalone/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  71. package/_standalone/.next/server/app/api/graph/route.js.nft.json +1 -1
  72. package/_standalone/.next/server/app/api/graph/route_client-reference-manifest.js +1 -1
  73. package/_standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  74. package/_standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
  75. package/_standalone/.next/server/app/api/inbox/route_client-reference-manifest.js +1 -1
  76. package/_standalone/.next/server/app/api/init/route.js.nft.json +1 -1
  77. package/_standalone/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  78. package/_standalone/.next/server/app/api/mcp/agents/route.js +1 -1
  79. package/_standalone/.next/server/app/api/mcp/agents/route.js.nft.json +1 -1
  80. package/_standalone/.next/server/app/api/mcp/agents/route_client-reference-manifest.js +1 -1
  81. package/_standalone/.next/server/app/api/mcp/install/route_client-reference-manifest.js +1 -1
  82. package/_standalone/.next/server/app/api/mcp/install-skill/route_client-reference-manifest.js +1 -1
  83. package/_standalone/.next/server/app/api/mcp/restart/route_client-reference-manifest.js +1 -1
  84. package/_standalone/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
  85. package/_standalone/.next/server/app/api/mcp/uninstall/route_client-reference-manifest.js +1 -1
  86. package/_standalone/.next/server/app/api/monitoring/route.js.nft.json +1 -1
  87. package/_standalone/.next/server/app/api/monitoring/route_client-reference-manifest.js +1 -1
  88. package/_standalone/.next/server/app/api/recent-files/route.js.nft.json +1 -1
  89. package/_standalone/.next/server/app/api/recent-files/route_client-reference-manifest.js +1 -1
  90. package/_standalone/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  91. package/_standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  92. package/_standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  93. package/_standalone/.next/server/app/api/settings/list-models/route.js +1 -1
  94. package/_standalone/.next/server/app/api/settings/list-models/route_client-reference-manifest.js +1 -1
  95. package/_standalone/.next/server/app/api/settings/reset-token/route_client-reference-manifest.js +1 -1
  96. package/_standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
  97. package/_standalone/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  98. package/_standalone/.next/server/app/api/settings/test-key/route.js +1 -1
  99. package/_standalone/.next/server/app/api/settings/test-key/route_client-reference-manifest.js +1 -1
  100. package/_standalone/.next/server/app/api/setup/check-path/route_client-reference-manifest.js +1 -1
  101. package/_standalone/.next/server/app/api/setup/check-port/route_client-reference-manifest.js +1 -1
  102. package/_standalone/.next/server/app/api/setup/generate-token/route_client-reference-manifest.js +1 -1
  103. package/_standalone/.next/server/app/api/setup/ls/route_client-reference-manifest.js +1 -1
  104. package/_standalone/.next/server/app/api/setup/route_client-reference-manifest.js +1 -1
  105. package/_standalone/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  106. package/_standalone/.next/server/app/api/sync/route_client-reference-manifest.js +1 -1
  107. package/_standalone/.next/server/app/api/tree-version/route.js.nft.json +1 -1
  108. package/_standalone/.next/server/app/api/tree-version/route_client-reference-manifest.js +1 -1
  109. package/_standalone/.next/server/app/api/uninstall/route_client-reference-manifest.js +1 -1
  110. package/_standalone/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  111. package/_standalone/.next/server/app/api/update-check/route_client-reference-manifest.js +1 -1
  112. package/_standalone/.next/server/app/api/update-status/route_client-reference-manifest.js +1 -1
  113. package/_standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
  114. package/_standalone/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
  115. package/_standalone/.next/server/app/changes/page.js +1 -1
  116. package/_standalone/.next/server/app/changes/page.js.nft.json +1 -1
  117. package/_standalone/.next/server/app/changes/page_client-reference-manifest.js +1 -1
  118. package/_standalone/.next/server/app/echo/[segment]/page.js +1 -1
  119. package/_standalone/.next/server/app/echo/[segment]/page.js.nft.json +1 -1
  120. package/_standalone/.next/server/app/echo/[segment]/page_client-reference-manifest.js +1 -1
  121. package/_standalone/.next/server/app/echo/page.js +1 -1
  122. package/_standalone/.next/server/app/echo/page.js.nft.json +1 -1
  123. package/_standalone/.next/server/app/echo/page_client-reference-manifest.js +1 -1
  124. package/_standalone/.next/server/app/explore/page.js +1 -1
  125. package/_standalone/.next/server/app/explore/page.js.nft.json +1 -1
  126. package/_standalone/.next/server/app/explore/page_client-reference-manifest.js +1 -1
  127. package/_standalone/.next/server/app/help/page.js +1 -1
  128. package/_standalone/.next/server/app/help/page.js.nft.json +1 -1
  129. package/_standalone/.next/server/app/help/page_client-reference-manifest.js +1 -1
  130. package/_standalone/.next/server/app/inbox/history/page.js +1 -1
  131. package/_standalone/.next/server/app/inbox/history/page.js.nft.json +1 -1
  132. package/_standalone/.next/server/app/inbox/history/page_client-reference-manifest.js +1 -1
  133. package/_standalone/.next/server/app/login/page.js +1 -1
  134. package/_standalone/.next/server/app/login/page.js.nft.json +1 -1
  135. package/_standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  136. package/_standalone/.next/server/app/page.js +1 -1
  137. package/_standalone/.next/server/app/page.js.nft.json +1 -1
  138. package/_standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  139. package/_standalone/.next/server/app/setup/page.js +1 -1
  140. package/_standalone/.next/server/app/setup/page.js.nft.json +1 -1
  141. package/_standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  142. package/_standalone/.next/server/app/trash/page.js +3 -3
  143. package/_standalone/.next/server/app/trash/page.js.nft.json +1 -1
  144. package/_standalone/.next/server/app/trash/page_client-reference-manifest.js +1 -1
  145. package/_standalone/.next/server/app/view/[...path]/page.js +3 -3
  146. package/_standalone/.next/server/app/view/[...path]/page.js.nft.json +1 -1
  147. package/_standalone/.next/server/app/view/[...path]/page_client-reference-manifest.js +1 -1
  148. package/_standalone/.next/server/app/wiki/page.js +1 -1
  149. package/_standalone/.next/server/app/wiki/page.js.nft.json +1 -1
  150. package/_standalone/.next/server/app/wiki/page_client-reference-manifest.js +1 -1
  151. package/_standalone/.next/server/app-paths-manifest.json +24 -22
  152. package/_standalone/.next/server/chunks/2159.js +52 -0
  153. package/_standalone/.next/server/chunks/{2190.js → 3484.js} +1 -1
  154. package/_standalone/.next/server/chunks/530.js +31 -31
  155. package/_standalone/.next/server/chunks/6539.js +1 -1
  156. package/_standalone/.next/server/chunks/8388.js +3 -3
  157. package/_standalone/.next/server/chunks/953.js +2 -2
  158. package/_standalone/.next/server/middleware-build-manifest.js +1 -1
  159. package/_standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  160. package/_standalone/.next/server/pages/500.html +2 -2
  161. package/_standalone/.next/server/server-reference-manifest.js +1 -1
  162. package/_standalone/.next/server/server-reference-manifest.json +1 -1
  163. package/_standalone/.next/static/chunks/1053-5cb008a24930e271.js +29 -0
  164. package/_standalone/.next/static/chunks/1477.33df3cce509578c2.js +1 -0
  165. package/_standalone/.next/static/chunks/{1814.b08e9fb85dd3b13c.js → 1814.a7c127b2c73d1f70.js} +1 -1
  166. package/_standalone/.next/static/chunks/2549-e63cf57fa927a41d.js +1 -0
  167. package/_standalone/.next/static/chunks/{1007.c11404e50b39d165.js → 2647.e0b67d0c432ad7e7.js} +10 -10
  168. package/_standalone/.next/static/chunks/362.3978790a2e636c3c.js +2 -0
  169. package/_standalone/.next/static/chunks/3637.38c4f28d8f698e0e.js +1 -0
  170. package/_standalone/.next/static/chunks/54a60aa6.7a74f547ec1bdd5a.js +79 -0
  171. package/_standalone/.next/static/chunks/6087.4b6102dc0bcd07a7.js +1 -0
  172. package/_standalone/.next/static/chunks/6878-e2c5459e1c608f89.js +1 -0
  173. package/_standalone/.next/static/chunks/7249-8cd568ad23656622.js +11 -0
  174. package/_standalone/.next/static/chunks/8252-e5ae7ced3a41e0ed.js +1 -0
  175. package/_standalone/.next/static/chunks/{8753-ea9db680b0f70f25.js → 8658-16ff58b75ae37fbb.js} +1 -1
  176. package/_standalone/.next/static/chunks/{7322-d67d05067544864c.js → 9274-296ab35f9f09e42e.js} +1 -1
  177. package/_standalone/.next/static/chunks/app/.well-known/agent-card.json/route-2f4705aa66819b86.js +1 -0
  178. package/_standalone/.next/static/chunks/app/_global-error/page-2f4705aa66819b86.js +1 -0
  179. package/_standalone/.next/static/chunks/app/agents/[agentKey]/page-7bdeab5af8e4f5f2.js +1 -0
  180. package/_standalone/.next/static/chunks/app/agents/page-5d1446665ddb3801.js +1 -0
  181. package/_standalone/.next/static/chunks/app/api/a2a/agents/route-2f4705aa66819b86.js +1 -0
  182. package/_standalone/.next/static/chunks/app/api/a2a/delegations/route-2f4705aa66819b86.js +1 -0
  183. package/_standalone/.next/static/chunks/app/api/a2a/discover/route-2f4705aa66819b86.js +1 -0
  184. package/_standalone/.next/static/chunks/app/api/a2a/route-2f4705aa66819b86.js +1 -0
  185. package/_standalone/.next/static/chunks/app/api/acp/config/route-2f4705aa66819b86.js +1 -0
  186. package/_standalone/.next/static/chunks/app/api/acp/detect/route-2f4705aa66819b86.js +1 -0
  187. package/_standalone/.next/static/chunks/app/api/acp/install/route-2f4705aa66819b86.js +1 -0
  188. package/_standalone/.next/static/chunks/app/api/acp/registry/route-2f4705aa66819b86.js +1 -0
  189. package/_standalone/.next/static/chunks/app/api/acp/session/route-2f4705aa66819b86.js +1 -0
  190. package/_standalone/.next/static/chunks/app/api/agent-activity/route-2f4705aa66819b86.js +1 -0
  191. package/_standalone/.next/static/chunks/app/api/agents/custom/detect/route-2f4705aa66819b86.js +1 -0
  192. package/_standalone/.next/static/chunks/app/api/agents/custom/route-2f4705aa66819b86.js +1 -0
  193. package/_standalone/.next/static/chunks/app/api/ask/route-2f4705aa66819b86.js +1 -0
  194. package/_standalone/.next/static/chunks/app/api/ask-sessions/route-2f4705aa66819b86.js +1 -0
  195. package/_standalone/.next/static/chunks/app/api/auth/route-2f4705aa66819b86.js +1 -0
  196. package/_standalone/.next/static/chunks/app/api/backlinks/route-2f4705aa66819b86.js +1 -0
  197. package/_standalone/.next/static/chunks/app/api/bootstrap/route-2f4705aa66819b86.js +1 -0
  198. package/_standalone/.next/static/chunks/app/api/changes/route-2f4705aa66819b86.js +1 -0
  199. package/_standalone/.next/static/chunks/app/api/export/route-2f4705aa66819b86.js +1 -0
  200. package/_standalone/.next/static/chunks/app/api/extract-pdf/route-2f4705aa66819b86.js +1 -0
  201. package/_standalone/.next/static/chunks/app/api/file/import/route-2f4705aa66819b86.js +1 -0
  202. package/_standalone/.next/static/chunks/app/api/file/raw/route-2f4705aa66819b86.js +1 -0
  203. package/_standalone/.next/static/chunks/app/api/file/route-2f4705aa66819b86.js +1 -0
  204. package/_standalone/.next/static/chunks/app/api/files/route-2f4705aa66819b86.js +1 -0
  205. package/_standalone/.next/static/chunks/app/api/git/route-2f4705aa66819b86.js +1 -0
  206. package/_standalone/.next/static/chunks/app/api/graph/route-2f4705aa66819b86.js +1 -0
  207. package/_standalone/.next/static/chunks/app/api/health/route-2f4705aa66819b86.js +1 -0
  208. package/_standalone/.next/static/chunks/app/api/inbox/route-2f4705aa66819b86.js +1 -0
  209. package/_standalone/.next/static/chunks/app/api/init/route-2f4705aa66819b86.js +1 -0
  210. package/_standalone/.next/static/chunks/app/api/mcp/agents/route-2f4705aa66819b86.js +1 -0
  211. package/_standalone/.next/static/chunks/app/api/mcp/install/route-2f4705aa66819b86.js +1 -0
  212. package/_standalone/.next/static/chunks/app/api/mcp/install-skill/route-2f4705aa66819b86.js +1 -0
  213. package/_standalone/.next/static/chunks/app/api/mcp/restart/route-2f4705aa66819b86.js +1 -0
  214. package/_standalone/.next/static/chunks/app/api/mcp/status/route-2f4705aa66819b86.js +1 -0
  215. package/_standalone/.next/static/chunks/app/api/mcp/uninstall/route-2f4705aa66819b86.js +1 -0
  216. package/_standalone/.next/static/chunks/app/api/monitoring/route-2f4705aa66819b86.js +1 -0
  217. package/_standalone/.next/static/chunks/app/api/recent-files/route-2f4705aa66819b86.js +1 -0
  218. package/_standalone/.next/static/chunks/app/api/restart/route-2f4705aa66819b86.js +1 -0
  219. package/_standalone/.next/static/chunks/app/api/search/route-2f4705aa66819b86.js +1 -0
  220. package/_standalone/.next/static/chunks/app/api/settings/list-models/route-2f4705aa66819b86.js +1 -0
  221. package/_standalone/.next/static/chunks/app/api/settings/reset-token/route-2f4705aa66819b86.js +1 -0
  222. package/_standalone/.next/static/chunks/app/api/settings/route-2f4705aa66819b86.js +1 -0
  223. package/_standalone/.next/static/chunks/app/api/settings/test-key/route-2f4705aa66819b86.js +1 -0
  224. package/_standalone/.next/static/chunks/app/api/setup/check-path/route-2f4705aa66819b86.js +1 -0
  225. package/_standalone/.next/static/chunks/app/api/setup/check-port/route-2f4705aa66819b86.js +1 -0
  226. package/_standalone/.next/static/chunks/app/api/setup/generate-token/route-2f4705aa66819b86.js +1 -0
  227. package/_standalone/.next/static/chunks/app/api/setup/ls/route-2f4705aa66819b86.js +1 -0
  228. package/_standalone/.next/static/chunks/app/api/setup/route-2f4705aa66819b86.js +1 -0
  229. package/_standalone/.next/static/chunks/app/api/skills/route-2f4705aa66819b86.js +1 -0
  230. package/_standalone/.next/static/chunks/app/api/sync/route-2f4705aa66819b86.js +1 -0
  231. package/_standalone/.next/static/chunks/app/api/tree-version/route-2f4705aa66819b86.js +1 -0
  232. package/_standalone/.next/static/chunks/app/api/uninstall/route-2f4705aa66819b86.js +1 -0
  233. package/_standalone/.next/static/chunks/app/api/update/route-2f4705aa66819b86.js +1 -0
  234. package/_standalone/.next/static/chunks/app/api/update-check/route-2f4705aa66819b86.js +1 -0
  235. package/_standalone/.next/static/chunks/app/api/update-status/route-2f4705aa66819b86.js +1 -0
  236. package/_standalone/.next/static/chunks/app/api/workflows/route-2f4705aa66819b86.js +1 -0
  237. package/_standalone/.next/static/chunks/app/echo/[segment]/{page-6710da1f581b2854.js → page-b0103509ce34444b.js} +4 -4
  238. package/_standalone/.next/static/chunks/app/echo/page-2f4705aa66819b86.js +1 -0
  239. package/_standalone/.next/static/chunks/app/{layout-45e66033ba1bdb05.js → layout-b3919384ec2eb979.js} +45 -45
  240. package/_standalone/.next/static/chunks/app/loading-2f4705aa66819b86.js +1 -0
  241. package/_standalone/.next/static/chunks/app/{page-71bd113f66bd7617.js → page-6436a99cda35132b.js} +2 -2
  242. package/_standalone/.next/static/chunks/app/setup/{page-9a81fa4d82c6351b.js → page-99fcfc460fa29733.js} +1 -1
  243. package/_standalone/.next/static/chunks/app/trash/page-8dc388695344fdd4.js +1 -0
  244. package/_standalone/.next/static/chunks/app/view/[...path]/loading-2f4705aa66819b86.js +1 -0
  245. package/_standalone/.next/static/chunks/app/view/[...path]/page-b292b55305ecc021.js +12 -0
  246. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-2f4705aa66819b86.js +1 -0
  247. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-2f4705aa66819b86.js +1 -0
  248. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-2f4705aa66819b86.js +1 -0
  249. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-2f4705aa66819b86.js +1 -0
  250. package/_standalone/.next/static/chunks/webpack-2c19436659aa657b.js +1 -0
  251. package/_standalone/.next/static/css/fd84c8316ead16eb.css +1 -0
  252. package/_standalone/.next/static/zOaEtgJbdRMncnCBucULp/_buildManifest.js +1 -0
  253. package/_standalone/.next/trace +64 -64
  254. package/_standalone/.next/types/routes.d.ts +3 -1
  255. package/_standalone/.next/types/validator.ts +18 -0
  256. package/_standalone/components/Breadcrumb.tsx +10 -6
  257. package/_standalone/components/Editor.tsx +124 -6
  258. package/_standalone/components/MarkdownView.tsx +3 -1
  259. package/_standalone/components/WysiwygEditor.tsx +90 -0
  260. package/_standalone/components/agents/AgentsOverviewSection.tsx +100 -8
  261. package/_standalone/components/agents/CustomAgentModal.tsx +613 -0
  262. package/_standalone/components/settings/types.ts +4 -0
  263. package/_standalone/hooks/useEditorImageUpload.ts +113 -0
  264. package/_standalone/lib/image.ts +47 -0
  265. package/_standalone/tsconfig.tsbuildinfo +1 -1
  266. package/app/app/api/agents/custom/detect/route.ts +31 -0
  267. package/app/app/api/agents/custom/route.ts +150 -0
  268. package/app/app/api/file/import/route.ts +42 -0
  269. package/app/app/api/mcp/agents/route.ts +59 -7
  270. package/app/app/api/settings/list-models/route.ts +16 -2
  271. package/app/components/Breadcrumb.tsx +10 -6
  272. package/app/components/Editor.tsx +124 -6
  273. package/app/components/MarkdownView.tsx +3 -1
  274. package/app/components/WysiwygEditor.tsx +90 -0
  275. package/app/components/agents/AgentDetailContent.tsx +74 -1
  276. package/app/components/agents/AgentsContentPage.tsx +76 -1
  277. package/app/components/agents/AgentsOverviewSection.tsx +100 -8
  278. package/app/components/agents/CustomAgentModal.tsx +613 -0
  279. package/app/components/settings/types.ts +4 -0
  280. package/app/hooks/useEditorImageUpload.ts +113 -0
  281. package/app/lib/agent/model.ts +7 -1
  282. package/app/lib/agent/providers.ts +31 -6
  283. package/app/lib/core/organize.ts +1 -1
  284. package/app/lib/core/tree.ts +1 -1
  285. package/app/lib/custom-agents.ts +279 -0
  286. package/app/lib/fs.ts +1 -1
  287. package/app/lib/i18n/modules/panels.ts +96 -0
  288. package/app/lib/image.ts +47 -0
  289. package/app/lib/settings.ts +4 -0
  290. package/bin/commands/start.js +5 -4
  291. package/bin/commands/update.js +6 -2
  292. package/bin/lib/clean-env.js +1 -1
  293. package/bin/lib/gateway.js +6 -2
  294. package/mcp/dist/index.cjs +1 -1
  295. package/mcp/src/index.ts +6 -1
  296. package/package.json +1 -1
  297. package/_standalone/.next/server/chunks/1981.js +0 -52
  298. package/_standalone/.next/static/QXZErVsiRQxfqUnWMUsH6/_buildManifest.js +0 -1
  299. package/_standalone/.next/static/chunks/1053-2874859f7caefa0f.js +0 -29
  300. package/_standalone/.next/static/chunks/1880-7abf971bcfd2389b.js +0 -11
  301. package/_standalone/.next/static/chunks/254-32719a9bea2e74f0.js +0 -1
  302. package/_standalone/.next/static/chunks/362.a77be2f206db7b19.js +0 -1
  303. package/_standalone/.next/static/chunks/3637.0541ac2d0ea7de1f.js +0 -1
  304. package/_standalone/.next/static/chunks/54a60aa6.b97ba5e6900c089b.js +0 -79
  305. package/_standalone/.next/static/chunks/6087.0c32d26d0262c8e7.js +0 -1
  306. package/_standalone/.next/static/chunks/7035-2af69391c7b1ad95.js +0 -1
  307. package/_standalone/.next/static/chunks/8131.5e0bdb36bb91f212.js +0 -1
  308. package/_standalone/.next/static/chunks/app/.well-known/agent-card.json/route-e240db6d5049d336.js +0 -1
  309. package/_standalone/.next/static/chunks/app/_global-error/page-e240db6d5049d336.js +0 -1
  310. package/_standalone/.next/static/chunks/app/agents/[agentKey]/page-f006a70f6889eb56.js +0 -1
  311. package/_standalone/.next/static/chunks/app/agents/page-bd522e428e3acb78.js +0 -5
  312. package/_standalone/.next/static/chunks/app/api/a2a/agents/route-e240db6d5049d336.js +0 -1
  313. package/_standalone/.next/static/chunks/app/api/a2a/delegations/route-e240db6d5049d336.js +0 -1
  314. package/_standalone/.next/static/chunks/app/api/a2a/discover/route-e240db6d5049d336.js +0 -1
  315. package/_standalone/.next/static/chunks/app/api/a2a/route-e240db6d5049d336.js +0 -1
  316. package/_standalone/.next/static/chunks/app/api/acp/config/route-e240db6d5049d336.js +0 -1
  317. package/_standalone/.next/static/chunks/app/api/acp/detect/route-e240db6d5049d336.js +0 -1
  318. package/_standalone/.next/static/chunks/app/api/acp/install/route-e240db6d5049d336.js +0 -1
  319. package/_standalone/.next/static/chunks/app/api/acp/registry/route-e240db6d5049d336.js +0 -1
  320. package/_standalone/.next/static/chunks/app/api/acp/session/route-e240db6d5049d336.js +0 -1
  321. package/_standalone/.next/static/chunks/app/api/agent-activity/route-e240db6d5049d336.js +0 -1
  322. package/_standalone/.next/static/chunks/app/api/ask/route-e240db6d5049d336.js +0 -1
  323. package/_standalone/.next/static/chunks/app/api/ask-sessions/route-e240db6d5049d336.js +0 -1
  324. package/_standalone/.next/static/chunks/app/api/auth/route-e240db6d5049d336.js +0 -1
  325. package/_standalone/.next/static/chunks/app/api/backlinks/route-e240db6d5049d336.js +0 -1
  326. package/_standalone/.next/static/chunks/app/api/bootstrap/route-e240db6d5049d336.js +0 -1
  327. package/_standalone/.next/static/chunks/app/api/changes/route-e240db6d5049d336.js +0 -1
  328. package/_standalone/.next/static/chunks/app/api/export/route-e240db6d5049d336.js +0 -1
  329. package/_standalone/.next/static/chunks/app/api/extract-pdf/route-e240db6d5049d336.js +0 -1
  330. package/_standalone/.next/static/chunks/app/api/file/import/route-e240db6d5049d336.js +0 -1
  331. package/_standalone/.next/static/chunks/app/api/file/raw/route-e240db6d5049d336.js +0 -1
  332. package/_standalone/.next/static/chunks/app/api/file/route-e240db6d5049d336.js +0 -1
  333. package/_standalone/.next/static/chunks/app/api/files/route-e240db6d5049d336.js +0 -1
  334. package/_standalone/.next/static/chunks/app/api/git/route-e240db6d5049d336.js +0 -1
  335. package/_standalone/.next/static/chunks/app/api/graph/route-e240db6d5049d336.js +0 -1
  336. package/_standalone/.next/static/chunks/app/api/health/route-e240db6d5049d336.js +0 -1
  337. package/_standalone/.next/static/chunks/app/api/inbox/route-e240db6d5049d336.js +0 -1
  338. package/_standalone/.next/static/chunks/app/api/init/route-e240db6d5049d336.js +0 -1
  339. package/_standalone/.next/static/chunks/app/api/mcp/agents/route-e240db6d5049d336.js +0 -1
  340. package/_standalone/.next/static/chunks/app/api/mcp/install/route-e240db6d5049d336.js +0 -1
  341. package/_standalone/.next/static/chunks/app/api/mcp/install-skill/route-e240db6d5049d336.js +0 -1
  342. package/_standalone/.next/static/chunks/app/api/mcp/restart/route-e240db6d5049d336.js +0 -1
  343. package/_standalone/.next/static/chunks/app/api/mcp/status/route-e240db6d5049d336.js +0 -1
  344. package/_standalone/.next/static/chunks/app/api/mcp/uninstall/route-e240db6d5049d336.js +0 -1
  345. package/_standalone/.next/static/chunks/app/api/monitoring/route-e240db6d5049d336.js +0 -1
  346. package/_standalone/.next/static/chunks/app/api/recent-files/route-e240db6d5049d336.js +0 -1
  347. package/_standalone/.next/static/chunks/app/api/restart/route-e240db6d5049d336.js +0 -1
  348. package/_standalone/.next/static/chunks/app/api/search/route-e240db6d5049d336.js +0 -1
  349. package/_standalone/.next/static/chunks/app/api/settings/list-models/route-e240db6d5049d336.js +0 -1
  350. package/_standalone/.next/static/chunks/app/api/settings/reset-token/route-e240db6d5049d336.js +0 -1
  351. package/_standalone/.next/static/chunks/app/api/settings/route-e240db6d5049d336.js +0 -1
  352. package/_standalone/.next/static/chunks/app/api/settings/test-key/route-e240db6d5049d336.js +0 -1
  353. package/_standalone/.next/static/chunks/app/api/setup/check-path/route-e240db6d5049d336.js +0 -1
  354. package/_standalone/.next/static/chunks/app/api/setup/check-port/route-e240db6d5049d336.js +0 -1
  355. package/_standalone/.next/static/chunks/app/api/setup/generate-token/route-e240db6d5049d336.js +0 -1
  356. package/_standalone/.next/static/chunks/app/api/setup/ls/route-e240db6d5049d336.js +0 -1
  357. package/_standalone/.next/static/chunks/app/api/setup/route-e240db6d5049d336.js +0 -1
  358. package/_standalone/.next/static/chunks/app/api/skills/route-e240db6d5049d336.js +0 -1
  359. package/_standalone/.next/static/chunks/app/api/sync/route-e240db6d5049d336.js +0 -1
  360. package/_standalone/.next/static/chunks/app/api/tree-version/route-e240db6d5049d336.js +0 -1
  361. package/_standalone/.next/static/chunks/app/api/uninstall/route-e240db6d5049d336.js +0 -1
  362. package/_standalone/.next/static/chunks/app/api/update/route-e240db6d5049d336.js +0 -1
  363. package/_standalone/.next/static/chunks/app/api/update-check/route-e240db6d5049d336.js +0 -1
  364. package/_standalone/.next/static/chunks/app/api/update-status/route-e240db6d5049d336.js +0 -1
  365. package/_standalone/.next/static/chunks/app/api/workflows/route-e240db6d5049d336.js +0 -1
  366. package/_standalone/.next/static/chunks/app/echo/page-e240db6d5049d336.js +0 -1
  367. package/_standalone/.next/static/chunks/app/loading-e240db6d5049d336.js +0 -1
  368. package/_standalone/.next/static/chunks/app/trash/page-ba3802cf675d029a.js +0 -1
  369. package/_standalone/.next/static/chunks/app/view/[...path]/loading-e240db6d5049d336.js +0 -1
  370. package/_standalone/.next/static/chunks/app/view/[...path]/page-35da7f9f5a009292.js +0 -12
  371. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-e240db6d5049d336.js +0 -1
  372. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-e240db6d5049d336.js +0 -1
  373. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-e240db6d5049d336.js +0 -1
  374. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-e240db6d5049d336.js +0 -1
  375. package/_standalone/.next/static/chunks/webpack-73c9da80c6c1ebfe.js +0 -1
  376. package/_standalone/.next/static/css/66f8a81e4eda06d4.css +0 -1
  377. /package/_standalone/.next/static/{QXZErVsiRQxfqUnWMUsH6 → zOaEtgJbdRMncnCBucULp}/_ssgManifest.js +0 -0
@@ -0,0 +1,29 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1053],{91053:(e,t,n)=>{n.d(t,{Y:()=>l,D:()=>s});var o=n(1934);let i={en:{common:{relatedFiles:"Related Files"},app:{tagline:"You think here, Agents act there.",footer:"MindOS \xb7 human-agent collaborative mind system"},login:{tagline:"You think here, Agents act there.",subtitle:"Enter your password to continue",passwordLabel:"Password",passwordPlaceholder:"Enter password",signIn:"Sign in",signingIn:"Signing in…",incorrectPassword:"Incorrect password. Please try again.",connectionError:"Connection error. Please try again."},notFound:{title:"File not found",description:"This file does not exist in your knowledge base.",createButton:"Create this file",creating:"Creating...",goToParent:"Go to parent folder",goHome:"Home"},updateBanner:{newVersion:(e,t)=>`MindOS v${e} available (current: v${t})`,updateNow:"Update",runUpdate:"Run",orSee:"or",releaseNotes:"release notes"},sidebar:{files:"Wiki",search:"Search",searchTitle:"Search",askTitle:"MindOS Agent",settingsTitle:"Settings",plugins:"Plugins",agents:"Agents",echo:"Echo",discover:"Discover",workflows:"Flows",history:"History",help:"Help",syncLabel:"Sync",collapseTitle:"Collapse sidebar",expandTitle:"Expand sidebar",collapseLevel:"Collapse one level",collapseLevelHint:"Collapse one level (double-click: all)",expandLevel:"Expand one level",expandLevelHint:"Expand one level (double-click: all)",importFile:"Import file",new:"New",newFile:"New file",newSpace:"New Space",more:"More",capture:"Capture",showHiddenFiles:"Show hidden files",sync:{synced:"Synced",unpushed:"awaiting push",unpushedHint:"commit(s) not yet pushed to remote — will sync automatically",conflicts:"conflicts",conflictsHint:"file(s) have merge conflicts — open Settings > Sync to resolve",syncError:"Sync error",syncOff:"Sync off",syncing:"Syncing...",syncNow:"Sync now",syncDone:"Sync complete",syncFailed:"Sync failed",syncRestored:"Sync restored",enableSync:"Enable sync",enableHint:"Set up cross-device sync"}},search:{placeholder:"Search files...",noResults:"No results found",prompt:"Type to search across all files",navigate:"navigate",open:"open",close:"close",tabSearch:"Search",tabActions:"Actions",openSettings:"Open Settings",restartWalkthrough:"Restart Walkthrough",toggleDarkMode:"Toggle Dark Mode",goToAgents:"Go to Agents",goToDiscover:"Go to Discover",goToHelp:"Go to Help",walkthroughRestarted:"Walkthrough restarted"},shortcutPanel:{title:"Keyboard Shortcuts",navigation:"Navigation",panelsSection:"Panels",editor:"Editor",toggleSearch:"Toggle Search",toggleAskAI:"Toggle Ask AI",openSettings:"Open Settings",keyboardShortcuts:"Keyboard Shortcuts",closePanel:"Close panel / Exit maximize",saveFile:"Save file",undo:"Undo",redo:"Redo",toggleHint:"to toggle this panel"},ask:{title:"MindOS Agent",fabLabel:"Ask AI",placeholder:"Ask a question... @ files, / skills",emptyPrompt:"How can I help?",emptyHint:"Type @ to reference files \xb7 / to use skills",send:"send",newlineHint:"new line",panelComposerResize:"Drag up to enlarge the input area",panelComposerFooter:"Resize height",panelComposerResetHint:"Double-click to reset height",panelComposerKeyboard:"Arrow keys adjust height; Home/End min/max",attachFile:"Context",attachFileLabel:"Document",attachImageLabel:"Image",uploadedFiles:"Uploaded",skillsHint:"skills",attachCurrent:"attach current file",stopTitle:"Stop",cancelReconnect:"Cancel reconnect",connecting:"Thinking with you...",thinking:"Thinking...",thinkingLabel:"Thinking",searching:"Searching knowledge base...",generating:"Generating response...",stopped:"Generation stopped.",errorNoResponse:"AI returned no content. Possible causes: model does not support streaming, proxy compatibility issue, or request exceeds context limit.",reconnecting:(e,t)=>`Connection lost. Reconnecting (${e}/${t})...`,reconnectFailed:"Connection failed after multiple attempts.",proxyCompatMode:"Using compatibility mode (non-streaming)...",proxyCompatFailed:e=>`Compatibility mode failed: ${e}. Please check your Base URL, API key, and model name.`,proxyCompatDetecting:"Detecting proxy compatibility, switching to non-streaming mode...",proxyCompatAlsoFailed:e=>`Compatibility mode also failed: ${e}. Please check your Base URL, API key, and model name.`,retry:"Retry",suggestions:["Summarize this document","Organize my recent notes","Find related notes","Draft a new note"],modeChat:"Chat",modeAgent:"Agent",modeChatHint:"Can search / read KB \xb7 saves tokens",modeAgentHint:"Full tool access \xb7 can modify KB",sessionHistory:"Session History",clearAll:"Clear all",confirmClear:"Confirm clear?",noSessions:"No saved sessions.",renameSession:"Rename",draftingHint:"AI is still running — you can draft the next step now.",providerCapsule:"Switch model provider",providerDefault:"Default",providerNoKey:"No configured providers"},changes:{unreadBanner:e=>`${e} content change${1===e?"":"s"} unread`,reviewNow:"Review now",dismiss:"Dismiss notification",title:"Content changes",subtitle:"Review recent edits across user and agent operations.",eventsCount:e=>`${e} event${1===e?"":"s"}`,unreadCount:e=>`${e} unread`,refresh:"Refresh",markSeen:"Mark seen",markAllRead:"Mark all read",filters:{filePath:"File path",filePathPlaceholder:"e.g. Projects/plan.md",source:"Agents (source)",operation:"Tools (operation)",operationAll:"All operations",keyword:"Keyword",keywordPlaceholder:"summary / op / path",all:"All",agent:"Agent",user:"User",system:"System"},loading:"Loading changes...",empty:"No content changes yet.",open:"Open",unchangedLines:e=>`... ${e} unchanged lines ...`,operations:{save_file:"Save file",append_to_file:"Append to file",insert_lines:"Insert lines",update_lines:"Update lines",insert_after_heading:"Insert after heading",update_section:"Update section",create_file:"Create file",delete_file:"Delete file",rename_file:"Rename file",move_file:"Move file",create_space:"Create space",rename_space:"Rename space",append_csv:"Append to CSV",import_file:"Import file",legacy_agent_diff_import:"Import from Agent Diff"},relativeTime:{justNow:"just now",minutesAgo:e=>`${e}m ago`,hoursAgo:e=>`${e}h ago`,daysAgo:e=>`${e}d ago`}},hints:{noValidFiles:"No valid files selected",aiOrganizing:"AI is organizing",importInProgress:"Import in progress",templateInitializing:"Another template is being initialized",configureAiKey:"Configure API key in Settings → AI",syncInProgress:"Sync already in progress",toggleInProgress:"Toggle operation in progress",typeMessage:"Type a message",mentionInProgress:"Mention or command in progress",cleanupInProgress:"Cleanup already in progress",tokenResetInProgress:"Token reset in progress",aiNotConfigured:"AI not configured or generation in progress",generationInProgress:"Generation in progress or AI not configured",cannotJumpForward:"Cannot jump forward in setup",testInProgressOrNoKey:"Test in progress or no API key",workflowStepRunning:"Workflow step already running",workflowRunning:"Workflow step is running",sessionHistory:"Session history",newSession:"New session",attachFile:"Attach local file",maximizePanel:"Focus mode",restorePanel:"Exit focus",dockToSide:"Dock to side panel",openAsPopup:"Open as popup",closePanel:"Close",newChat:"New chat",closeSession:"Close session"},home:{recentlyModified:"Recently Modified",recentlyActive:"Recently Active",recentlyEdited:"Recently Edited",allSpaces:"All Spaces",spaces:"Spaces",nFiles:e=>`${e} file${1===e?"":"s"}`,other:"Other",newSpace:"New Space",spaceName:"Space name",spaceDescription:"Description",spaceDescPlaceholder:"Describe the purpose of this space",spaceNameNoSlash:"Name cannot contain / or \\",spaceExists:"A space with this name already exists",spaceCreateFailed:"Failed to create space",noSpacesYet:"No spaces yet. Create one to organize your knowledge.",spaceLocation:"Location",rootLevel:"Root",optional:"optional",aiInit:"AI initialize content",aiInitHint:"AI will generate a description and guidelines for this space",aiInitNoKey:"Configure an API key in Settings → AI to enable",aiInitGenerating:e=>`Generating content for ${e}`,aiInitReady:e=>`${e} ready`,aiInitReview:"Review",aiInitDiscard:"Discard",aiInitReverted:e=>`${e} reverted to template`,createSpace:"Create",cancelCreate:"Cancel",continueEditing:"Continue editing",newNote:"New Notes",builtinFeatures:"Tools",builtinActive:"Active",builtinInactive:"Not active",toolName:{"agent-inspector":"Agent Inspector","config-panel":"Config Panel",todo:"TODO Board","workflow-yaml":"Workflows"},toolDesc:{"agent-inspector":"View agent tool-call logs and audit trail","config-panel":"Edit and manage global configuration",todo:"Manage tasks as an interactive kanban board","workflow-yaml":"Execute step-by-step workflows with AI assistance"},plugins:"Extensions",changeHistory:"Change History",showMore:"Show more",showLess:"Show less",viewAll:"View all",wikiTagline:"Your knowledge spaces, organized.",sortRecent:"Recent",sortName:"A-Z",sortCount:"File Count",createToActivate:"Create {file} to activate",shortcuts:{searchFiles:"Search files",askAI:"MindOS Agent",editFile:"Edit file",save:"Save",settings:"Settings"},relativeTime:{justNow:"just now",minutesAgo:e=>`${e}m ago`,hoursAgo:e=>`${e}h ago`,daysAgo:e=>`${e}d ago`},cleanupExamples:e=>`${e} example file${e>1?"s":""} from the template can be removed`,cleanupExamplesButton:"Clean up",cleanupExamplesDone:"Example files removed"},echoSpotlight:{title:"Echo",dailyLine:"Today's thought",placeholder:"A quiet line for today...",invite:"Record today's one thought",inviteDesc:"One line, no pressure. Echo reflects your thinking patterns over time.",goToEcho:"Open Echo",savedLocally:"Saved locally on this device"},suggestion:{title:"You might want to",staleFiles:e=>`${e} file${1!==e?"s":""} not updated in 30+ days`,reviewStale:"Review",dismiss:"Dismiss"},inbox:{title:"Capture",count:e=>`${e}`,emptyTitle:"Quick capture, organize later",emptyDesc:"Drag files here or click Upload to save them instantly.",uploadButton:"Upload Files",organizeButton:"AI Organize",organizing:"Organizing...",viewAll:"View all",more:e=>`${e} more`,viewAllFiles:e=>`View all ${e} files in Inbox`,viewAllHistory:e=>`View all ${e} records →`,agingHint:"7+ days",savedToast:e=>`${e} file${1===e?"":"s"} saved to Capture`,savedWithSkipped:(e,t)=>e>0?`${e} saved, ${t} skipped (unsupported format)`:`${t} file${1===t?"":"s"} skipped — unsupported format`,tooLarge:e=>`${e} file${1===e?"":"s"} too large (max 10 MB)`,savedWithOversized:(e,t)=>`${e} saved, ${t} skipped (too large)`,organizePrompt:e=>`Please organize these files from Inbox into appropriate locations in my knowledge base. Analyze each file's content and move it to the most fitting Space or directory. Create new directories if needed. Here are the files:
2
+
3
+ ${e.map(e=>`- Inbox/${e}`).join("\n")}`,dropOverlay:"Drop to save to Capture",dropOverlayFormats:"md \xb7 txt \xb7 pdf \xb7 csv \xb7 json",noMindRoot:"Please configure your knowledge base first",saveFailed:"Failed to save files. Check disk space and permissions.",organizeFailed:"Could not read files for organizing. Check file permissions."},pulse:{title:"Your Agents",manage:"Manage",connectTitle:"Connect your AI tools",connectDesc:"Let Cursor, Claude Code, and ChatGPT read your notes.",connectAction:"Connect Agent",active:"Connected",detected:"Detected",notFound:"Not found",running:"Online",offline:"Offline",summary:(e,t)=>`${e} Agent${1!==e?"s":""} \xb7 ${t} Skills`,skillCount:(e,t)=>`${e}/${t} skills`,showMore:e=>`${e} more agent${1!==e?"s":""}`,showLess:"Show less",otherDetected:"Detected"},fileTree:{newFileTitle:"New file in this directory",rename:"Rename",delete:"Delete",create:"Create",enterFileName:"Enter a file name",failed:"Failed",confirmDelete:e=>`Delete "${e}"? You can recover from Trash for 30 days.`,rules:"Rules",about:"About",viewAll:"View all",editRules:"Edit Rules",viewRules:"View Rules",renameSpace:"Rename Space",deleteSpace:"Delete Space",confirmDeleteSpace:e=>`Delete space "${e}" and all its files? You can recover from Trash for 30 days.`,convertToSpace:"Convert to Space",deleteFolder:"Delete Folder",confirmDeleteFolder:e=>`Delete folder "${e}" and all its contents? You can recover from Trash for 30 days.`,newFile:"New File",importFile:"Import File",importToSpace:"Import file to this space",copyPath:"Copy Path",pathCopied:"Path copied",pinToFavorites:"Pin to Favorites",removeFromFavorites:"Remove from Favorites",export:"Export..."},pinnedFiles:{title:"Pinned Files",addedToast:"Added to Favorites",removedToast:"Removed from Favorites",empty:"No pinned files",emptyHint:"Click the star icon on any file to pin it here"},trash:{title:"Trash",subtitle:"Items you delete appear here for 30 days.",empty:"No deleted files yet.",emptySubtext:"Items you delete will appear here for 30 days.",emptyTrash:"Empty Trash",emptyTrashConfirm:"Permanently delete all items in Trash? This cannot be undone.",restore:"Restore",deletePermanently:"Delete Forever",deletePermanentlyConfirm:e=>`Permanently delete "${e}"? This cannot be undone.`,from:"From",deletedAgo:e=>`Deleted ${e}`,expiresIn:e=>`Expires in ${e} day${1!==e?"s":""}`,restored:"Restored successfully",deleted:"Permanently deleted",movedToTrash:"Deleted",undo:"Undo",undoFailed:"Undo failed",restoreFailed:"Could not restore file. Check disk space and try again.",deleteFailed:"Could not permanently delete. Please try again.",emptyFailed:"Could not empty trash. Please try again.",emptied:e=>`Emptied ${e} item${1!==e?"s":""} from Trash`,restoreConflict:"A file with this name already exists at the original location.",overwrite:"Overwrite",saveAsCopy:"Save as Copy",itemCount:e=>`${e} item${1!==e?"s":""}`,undoDelete:"Undo",viewInTrash:"View in Trash",fileDeleted:e=>`"${e}" moved to Trash`,cancel:"Cancel",justNow:"just now",minutesAgo:e=>`${e}m ago`,hoursAgo:e=>`${e}h ago`,daysAgo:e=>`${e}d ago`},export:{title:"Export",exportFile:"Export File",exportSpace:"Export Space",chooseFormat:"Choose format",formatMd:"Markdown (.md)",formatMdDesc:"Original format, editable",formatHtml:"HTML (.html)",formatHtmlDesc:"Static webpage, shareable",formatZipMd:"Markdown ZIP",formatZipMdDesc:"All files in original format",formatZipHtml:"HTML ZIP",formatZipHtmlDesc:"All files as webpages",preview:"Preview",exporting:"Exporting...",exportButton:"Export",cancel:"Cancel",close:"Done",done:"Export Complete",downloadAgain:"Download Again",fileCount:e=>`${e} file${1!==e?"s":""}`,downloaded:"Downloaded",error:"Export failed. Please check disk space and try again.",retry:"Retry"},fileImport:{title:"Import Files",subtitle:"Save files to your knowledge base or let AI organize them",dropzoneText:"Drag files here, or",dropzoneButton:"click to select",dropzoneCompact:"Drag more files, or",dropzoneCompactButton:"click to add",dropzoneMobile:"Tap to select files",fileCount:e=>`${e} file${1!==e?"s":""}`,clearAll:"Clear all",unsupported:"Unsupported file type",tooLarge:e=>`File too large (max ${e})`,archiveTitle:"Save to Knowledge Base",archiveDesc:"Save as-is to a space",digestTitle:"AI Organize",digestDesc:"Extract key points into notes",archiveConfigTitle:"Save to Knowledge Base",back:"← Back",targetSpace:"Target space",rootDir:"Root",conflictLabel:"If file already exists",conflictRename:"Auto-rename (add number suffix)",conflictSkip:"Skip",conflictOverwrite:"Overwrite existing file",overwriteWarn:"This will permanently replace existing file content",cancel:"Cancel",importButton:e=>`Save ${e} file${1!==e?"s":""}`,importing:"Saving...",preparing:"Preparing...",successToast:(e,t)=>`Saved ${e} file${1!==e?"s":""} to ${t||"knowledge base"}`,updatedIndex:e=>`Updated ${e} index file${1!==e?"s":""}`,partialToast:(e,t)=>`Saved ${e}/${t} files`,skipReason:"File already exists",failToast:"Import failed",retry:"Retry",undo:"Undo",discardTitle:"Discard import?",discardMessage:e=>`Discard ${e} selected file${1!==e?"s":""}?`,discardConfirm:"Discard",discardCancel:"Cancel",dropOverlay:"Drop files to import into knowledge base",dropOverlayFormats:"Supports .md .txt .pdf .csv .json .yaml .html",onboardingHint:"Already have notes? Import files →",digestPromptSingle:(e,t)=>{let n=t?` under the "${t}" space`:"";return`The user uploaded "${e}". You MUST:
4
+ 1. Read the content from the "USER-UPLOADED FILES" section above
5
+ 2. Extract and reorganize the key information into well-structured Markdown notes
6
+ 3. Save the result${n} in the knowledge base — create new files or update existing ones as appropriate
7
+
8
+ Do NOT just reply with a text summary. You must actually write to the knowledge base.`},digestPromptMulti:(e,t)=>{let n=t?` under the "${t}" space`:"";return`The user uploaded ${e} files. You MUST:
9
+ 1. Read their content from the "USER-UPLOADED FILES" section above
10
+ 2. Extract and reorganize the key information into well-structured Markdown notes
11
+ 3. Save the results${n} in the knowledge base — create new files or update existing ones as appropriate
12
+
13
+ Do NOT just reply with a text summary. You must actually write to the knowledge base.`},arrowTo:"→",remove:"Remove",aiRecommended:"Recommended",aiRecommendedHint:"Auto-matched by filename",conflictsFound:e=>`${e} file${1!==e?"s":""} already exist${1===e?"s":""}`,organizeTitle:"AI Organizing",organizeProcessing:"AI is analyzing and organizing your files...",organizeConnecting:"Connecting to AI...",organizeAnalyzing:"AI is analyzing your files...",organizeReading:e=>e?`Reading ${e}...`:"Reading files...",organizeThinking:"AI is thinking deeply...",organizeWriting:e=>e?`Writing ${e}...`:"Writing files...",organizeElapsed:e=>{let t=Math.floor(e/60);return`${t}:${(e%60).toString().padStart(2,"0")}`},organizeCancel:"Cancel",organizeMinimize:"Continue browsing",organizeExpand:"View",organizeCreating:e=>`Creating ${e}`,organizeUpdating:e=>`Updating ${e}`,organizeReviewTitle:"Organization Complete",organizeErrorTitle:"Organization Failed",organizeReviewDesc:e=>`AI organized your files into ${e} change${1!==e?"s":""}`,organizeCreated:"Created",organizeUpdated:"Updated",organizeFailed:"Failed",organizeNoChanges:"AI analyzed your files but made no changes.",organizeToolCallsInfo:e=>`AI executed ${e} operation${e>1?"s":""} — check knowledge base for updates`,organizeError:"Organization failed",organizeRetry:"Retry",organizeDone:"Done",organizeUndoAll:"Undo All",organizeUndoOne:"Undo",organizeUndone:"Undone",organizeViewFile:"View file",organizeUndoSuccess:e=>`Reverted ${e} file${1!==e?"s":""}`,organizeDetailTitle:"AI Organize Details",organizeSourceFiles:"Source Files",organizeSummaryLabel:"AI Summary",organizeChangesLabel:e=>`Changes (${e})`,organizeNoSummary:"AI is working...",organizeMinimizeModal:"Minimize"},importHistory:{title:"Import History",clearAll:"Clear history",clearConfirm:"Clear all history? This cannot be undone.",emptyTitle:"No import history yet",emptyDesc:"AI organize results will appear here",back:"← Back",sourceLabel:"Source",changesCount:(e,t)=>`${e}/${t} changes`,recordCount:e=>`${e} record${1!==e?"s":""}`,today:"Today",yesterday:"Yesterday",older:"Older",processedArchive:"Processed files are archived in Inbox/.processed/"},dirView:{gridView:"Grid view",listView:"List view",emptyFolder:"This folder is empty.",fileCount:e=>`${e} files`,newFile:"New file",uninitTitle:"Space not yet initialized",uninitDesc:"README.md and INSTRUCTION.md contain default templates. Configure an AI API key in Settings to auto-generate personalized content, or edit them manually.",uninitEditReadme:"Edit README",uninitEditInstruction:"Edit Instruction",uninitSettings:"Settings"},view:{saveDirectory:"Directory",saveFileName:"File name",delete:"Delete",deleteConfirm:e=>`Delete "${e}"? It will be moved to Trash.`,cancel:"Cancel",rename:"Rename",copyPath:"Copy Path",more:"More",dismiss:"Dismiss",tocTitle:"On this page",tocCollapse:"Collapse",tocExpand:"Expand",emptyNote:"This note is empty. Press E to start writing.",switchToDoc:"Document view",switchToGraph:"Wiki Graph"},findInPage:{placeholder:"Find in document…",matchCount:(e,t)=>`${e} of ${t}`,noResults:"No results"},panels:{agents:{title:"Agents",connected:"connected",refresh:"Refresh agent status",retry:"Retry",failedToLoad:"Failed to load agents",mcpServer:"MCP Server",stopped:"Stopped",sectionConnected:"Connected",sectionDetected:"Detected",sectionNotDetected:"Not Detected",noAgents:"No agents detected.",autoRefresh:"Auto-refresh every 30s",connect:"Connect",installing:"Installing...",install:"Install",installSuccess:"Installed",installFailed:"Install failed",retryInstall:"Retry",copyConfig:"Copy Config",copied:"Copied!",transportLocal:"Local",transportRemote:"Remote",configPath:"Config path",noAuthWarning:"No auth token — set in Advanced Config",skillsTitle:"Skills",skillsActive:"active",builtinSkills:"Built-in",newSkill:"+ New",advancedConfig:"Advanced Config →",navOverview:"Overview",navMcp:"MCP",navSkills:"Skills",navNetwork:"Network",navSessions:"Sessions",navActivity:"Activity",activitySubtitle:"Agent operations audit log.",activity:{loading:"Loading activity...",empty:"No agent operations logged yet.",emptyHint:"Operations from connected agents will appear here.",agentLabel:"Agent"},a2aTabTitle:"Remote Agents",a2aTabEmpty:"No remote agents",a2aTabEmptyHint:"Discover agents to enable cross-agent delegation.",a2aRemoveAgent:"Remove",rosterLabel:"Your setup",notFoundDetail:"This agent app was not detected on this machine. Install it, then refresh the list.",skillsEmptyHint:"Enable and edit skills in MCP & Skills settings.",backToList:"Back",closeAgentDetail:"Close",agentDetailPanelAria:"Agent connection configuration",agentDetailTransport:"Transport",agentDetailSnippet:"Config snippet",a2aLabel:"A2A",a2aReady:"A2A Ready",a2aChecking:"Checking A2A...",a2aUnavailable:"A2A Unavailable",a2aRemote:"Remote",a2aDiscover:"Discover Remote Agent",a2aDiscoverHint:"Connect to an external A2A agent by URL",a2aDiscoverPlaceholder:"https://agent.example.com",a2aDiscovering:"Discovering...",a2aDiscoverSuccess:"Agent discovered!",a2aDiscoverFailed:"No A2A agent found at this URL",a2aDiscoverFailedHint:"The server may not support the A2A protocol. Check the URL and try again.",a2aSkills:"Skills",a2aEndpoint:"Endpoint",a2aVersion:"Version",a2aCapabilities:"A2A Capabilities",a2aStatus:"Status",a2aConnected:"Connected & A2A Ready",a2aNoRemote:"No remote agents",a2aNoRemoteHint:"Discover remote agents to enable cross-agent delegation.",a2aDelegations:"Recent Delegations",a2aDelegationsEmpty:"No delegations yet",a2aDelegationCompleted:"Completed",a2aDelegationFailed:"Failed",a2aDelegationPending:"Pending",acpSectionTitle:"Installed Agents",acpSectionDesc:e=>`${e} agent${1!==e?"s":""} detected`,acpNoInstalled:"No coding agents detected. Install one to delegate tasks directly from MindOS.",acpAvailableTitle:"Available in Registry",acpAvailableDesc:e=>`${e} more agent${1!==e?"s":""} available`,acpShowAvailable:"Show",acpHideAvailable:"Hide",acpCopyCmd:"Copy",acpCopied:"Copied",acpTransportNpx:"npx",acpTransportBinary:"binary",acpTransportUvx:"uvx",acpTransportStdio:"stdio",acpUseAgent:"Use",acpComingSoon:"Coming soon — use Ask AI to invoke",acpReady:"Ready",acpNotInstalled:"Not Installed",acpScan:"Re-scan",acpInstallHint:e=>`Install with: ${e}`,acpInstall:"Install",acpInstalling:"Installing…",acpLoading:"Loading ACP registry…",acpLoadFailed:"Failed to load ACP registry.",acpRetry:"Retry",acpQuickReview:"Review code",acpQuickFix:"Fix bugs",acpQuickExplain:"Explain repo",acpUseWith:e=>`Use ${e} to `,acpDefaultAgent:"MindOS Agent",acpSelectAgent:"Select Agent",acpChangeAgent:"Change agent",acpConfigToggle:"Configure",acpConfigCommand:"Command",acpConfigArgs:"Args",acpConfigEnv:"Env",acpConfigEnvAdd:"Add env var",acpConfigSource:"Source",acpConfigSourceBuiltin:"built-in",acpConfigSourceRegistry:"registry",acpConfigSourceUser:"custom",acpConfigReset:"Reset",acpConfigSave:"Save",acpConfigSaved:"Saved",acpConfigPath:"Path",networkEmptyTitle:"Connect to the agent ecosystem",networkEmptyDesc:"Discover remote agents or browse coding agents from the ACP registry.",networkDiscoverBtn:"Discover Agent",networkBrowseBtn:"Browse Registry"},plugins:{title:"Plugins",active:"active",noPlugins:"No plugins registered",core:"Core",coreDisabled:"Core plugin — cannot be disabled",footer:"Plugins customize how files render. Core plugins cannot be disabled.",ready:"Ready — click to open",disabled:"Disabled",noFile:"Entry file not found",createFile:"Create {file} to activate"},echo:{title:"Echo",aboutYouTitle:"About you",aboutYouDesc:"Notes that point back to you",continuedTitle:"Unfinished",continuedDesc:"Drafts and open loops",dailyEchoTitle:"Today",dailyDesc:"One line, no pressure",pastYouTitle:"Past self",pastYouDesc:"A glimpse at another time",intentGrowthTitle:"Growth",growthDesc:"The direction you're pushing"},discover:{title:"Discover",useCases:"Use Cases",useCasesDesc:"Try MindOS scenarios hands-on",pluginMarket:"Plugin Market",pluginMarketDesc:"Extend how files are rendered and edited",skillMarket:"Skill Market",skillMarketDesc:"Add new abilities to your AI agents",spaceTemplates:"Space Templates",spaceTemplatesDesc:"Pre-built space structures for common workflows",comingSoon:"Coming soon",viewAll:"View all use cases",tryIt:"Try"},workflows:{title:"Flows",empty:"No flows yet",emptyDesc:"Create your first flow to automate multi-step tasks with AI.",newWorkflow:"New Flow",nSteps:e=>`${e} step${1===e?"":"s"}`,parseError:"Parse error",name:"Name",namePlaceholder:"My Flow",template:"Template",templateBlank:"Blank",create:"Create",cancel:"Cancel",creating:"Creating...",exists:"A workflow with this name already exists"}},echoPages:{parent:"Echo",heroKicker:"Echo",segmentNavAria:"Echo sections",snapshotBadge:"Local \xb7 private",factsHeading:"Snapshot",snapshotAboutYouTitle:"Clues gather here",snapshotAboutYouBody:"Notes whose paths, links, or titles point back to you will surface here — each one opens in the editor. Use the button below to explore with Agent.",snapshotContinuedTitle:"Drafts and open loops",snapshotContinuedBody:"Untitled drafts, half-finished pieces, and unchecked tasks will collect here once the library feed is connected.",snapshotDailyTitle:"Start with one line",snapshotDailyBody:"Your line saves in this browser the moment you leave the field. One line is enough — open Agent when you want depth.",snapshotPastYouTitle:"A glimpse at another time",snapshotPastYouBody:"A random older note will surface here — not a diff tool, just a gentle glance at who you were. Coming soon.",snapshotGrowthTitle:"Intent lives here",snapshotGrowthBody:"Write one sentence about the direction you are pushing. It stays on this device and can change over time.",insightTitle:"Insight",insightShow:"Show insight",insightHide:"Hide insight",insightHint:"Uses only what is visible on this page—including this snapshot and anything you typed here—not your full library. Configure AI under Settings first.",generateInsight:"Generate insight",generateInsightNoAi:"Add an API key under Settings → AI (or set env vars), then refresh this page.",insightGenerating:"Generating…",insightErrorPrefix:"Something went wrong:",insightRetry:"Try again",continueAgent:"Open in Agent",continuedDrafts:"Drafts",continuedTodos:"Open loops",subEmptyHint:"Items will appear in each column once the library feed is connected.",dailyLineLabel:"A line for today",dailyLinePlaceholder:"Write one quiet line…",dailySavedNote:"Saved in this browser; visible only on this device.",savedFlash:"Saved",dailyAskPrefill:e=>`Echo / Daily — reflect on this line:
14
+
15
+ ${e.trim()||"(empty line)"}`,pastYouDrawLabel:"A glimpse from the past",pastYouAnother:"Draw another moment",pastYouComingSoon:"Coming soon",pastYouDisabledHint:"Sampling from your timeline is on the way — soon a tap here will surface an old excerpt.",growthIntentLabel:"What you are steering toward",growthIntentPlaceholder:"Write your current intent…",growthSavedNote:"Saved on this device.",aboutYouLead:"Notes and links that point back to you — surfaced, not searched.",continuedLead:"Drafts, open tasks, and thoughts you left mid-sentence.",dailyLead:"One line. No pressure. Open Agent when you want depth.",pastYouLead:"A gentle glimpse at who you were at another time.",growthLead:"The direction you are pushing — and how it drifts."},agentsContent:{title:"Agents",subtitle:"Connections, skills, and status at a glance.",workspacePulse:{title:"Your Agents",connected:"Connected",detected:"Detected",notFound:"Not found",risk:"Risks",enabledSkills:"Skills on",healthy:"Healthy",needsAttention:e=>`${e} issue${1!==e?"s":""}`},navOverview:"Overview",navMcp:"MCP",navSkills:"Skills",navNetwork:"Network",navSessions:"Sessions",navActivity:"Activity",activitySubtitle:"Agent operations audit log.",activity:{loading:"Loading activity...",empty:"No agent operations logged yet.",emptyHint:"Operations from connected agents will appear here.",agentLabel:"Agent"},a2aTabTitle:"Remote Agents",a2aTabEmptyHint:"Discover agents to enable cross-agent delegation.",backToOverview:"Back to Agents",na:"N/A",status:{connected:"Connected",detected:"Detected",notFound:"Not found"},overview:{connected:"Connected",detected:"Detected",notFound:"Not found",riskQueue:"Attention",noRisk:"All clear — no issues detected.",usagePulse:"All agents",nextAction:"Suggested next",nextActionHint:"Reconnect detected agents first, then enable remaining skills.",riskLevelError:"Error",riskLevelWarn:"Warning",na:"N/A",colAgent:"Agent",colStatus:"Status",colMcp:"MCP",colSkills:"Skills",colMode:"Mode",colRuntime:"Runtime",pulseMcp:"MCP",pulseTools:"Tools",mcpOffline:"Offline",toolsUnit:e=>`${e} tools`,enabledUnit:e=>`${e} enabled`,agentCount:e=>`${e} agent${1!==e?"s":""}`,runtimeActive:"Active",riskMcpStopped:"MCP server is not running.",riskDetected:e=>`${e} detected agent(s) need configuration.`,riskSkillsDisabled:"All skills are disabled.",recentActivity:"Recent Activity",viewAll:"View all",showLess:"Show less",addCustomAgent:"Add your own agent",addCustomAgentTitle:"Add Custom Agent",editCustomAgentTitle:e=>`Edit ${e}`,customAgentName:"Agent Name",customAgentNamePlaceholder:"e.g. QCLaw, WorkBuddy",customAgentDir:"Config Directory",customAgentDirPlaceholder:"~/.qclaw/",customAgentDirHint:"Common: ~/.xxx/ or ~/Library/Application Support/",customAgentKeyPreview:e=>`Key: ${e}`,customAgentContinue:"Continue",customAgentDetecting:"Detecting...",customAgentDirFound:"Directory found",customAgentDirNotFound:"Not found yet — agent will appear when installed",customAgentDetectTimeout:"Detection timed out, using defaults",customAgentDetectedTitle:"Detected Configuration",customAgentDefaultTitle:"Default Configuration",customAgentConfigLabel:"MCP Config",customAgentFormatLabel:"Format",customAgentTransportLabel:"Transport",customAgentSkillsLabel:"Skills",customAgentSkillsFound:e=>`${e} found`,customAgentCustomize:"Customize these settings",customAgentAdd:"Add Agent",customAgentAdding:"Adding...",customAgentSave:"Save Changes",customAgentSaving:"Saving...",customAgentRetry:"Retry",customAgentAdded:e=>`${e} added`,customAgentUpdated:e=>`${e} updated`,customAgentRemoved:e=>`${e} removed`,customAgentRemoveTitle:e=>`Remove "${e}"?`,customAgentRemoveMessage:"This removes the agent from MindOS. No files will be deleted on disk.",customAgentRemoveConfirm:"Remove",customAgentConfigPath:"MCP Config File Path",customAgentConfigKey:"Config Key",customAgentFormat:"Format",customAgentTransport:"Transport",customAgentProjectConfig:"Project Config (optional)",customAgentCliBinary:"CLI Binary (optional)",customAgentCliBinaryPlaceholder:"e.g. qclaw",customAgentEdit:"Edit",customAgentRemove:"Remove",customAgentCancel:"Cancel",customAgentNetworkError:"Network error. Please try again.",customAgentFailedSave:"Failed to save",customAgentFailedRemove:"Failed to remove",customAgentKeyConflict:e=>`An agent with key "${e}" already exists`,customAgentBuiltinConflict:e=>`Conflicts with built-in agent "${e}"`},mcp:{title:"MCP Connections",refresh:"Refresh",connectionGraph:"Server connections across agents",tabs:{manage:"Manage",topology:"Topology",byAgent:"By Agent",byServer:"By MCP Server"},searchPlaceholder:"Search agents...",installMindos:"Install MindOS MCP",installed:"Installed",mcpServerLabel:"MCP Server",searchServersPlaceholder:"Search MCP servers...",serverAgentCount:e=>`${e} agent${1!==e?"s":""}`,emptyState:"No agents match current filters.",resultCount:e=>`${e} agents`,filteredSummaryTitle:"Filtered status summary",filteredConnected:e=>`Connected: ${e}`,filteredDetected:e=>`Detected: ${e}`,filteredNotFound:e=>`Not found: ${e}`,crossAgentServersTitle:"MCP Servers",crossAgentServersEmpty:"No MCP servers detected.",crossAgentServerAgents:e=>`Used by ${e}`,configVisibilityTitle:"Configuration",hiddenRootDetected:(e,t)=>`Hidden roots: ${e}/${t}`,runtimeSignalDetected:(e,t)=>`Runtime signals: ${e}/${t}`,riskQueueTitle:"Attention",riskMcpStopped:"MCP server is not running.",riskDetected:e=>`${e} detected agent(s) need configuration.`,riskNotFound:e=>`${e} agent(s) not found on this machine.`,riskSkillsDisabled:"All skills are disabled.",bulkReconnectFiltered:"Reconnect all",bulkRunning:"Running reconnect...",bulkSummary:(e,t)=>`Reconnected ${e}, failed ${t}.`,transportFilters:{all:"All transport",stdio:"stdio",http:"http",other:"other"},filters:{all:"All",connected:"Connected",detected:"Detected",notFound:"Not found"},table:{agent:"Agent",status:"Status",transport:"Transport",actions:"Actions"},actions:{copySnippet:"Copy Snippet",copied:"Copied",testConnection:"Test Connection",reconnect:"Reconnect"},addAgent:"Add",removeFromServer:"Remove",confirmRemoveTitle:"Remove from server?",confirmRemoveMessage:(e,t)=>`Remove "${e}" from "${t}"? The agent config will be updated automatically.`,cancel:"Cancel",noAvailableAgents:"All agents already connected.",manualRemoveHint:"Flagged for removal — edit the agent config to finalize.",removeSuccess:"Removed. Restart your agent to apply.",removeFailed:"Failed to remove. Try editing the config file manually.",reconnectAllInServer:"Reconnect all",reconnectAllRunning:"Reconnecting...",reconnectAllDone:(e,t)=>`Done: ${e} reconnected${t>0?`, ${t} failed`:""}.`,serverTransport:e=>`Transport: ${e}`,mcpDisabledMessage:"MCP mode is not enabled.",mcpDisabledHint:"Enable it in Settings → Connections to use MCP agents."},skills:{title:"Skills",summaryTitle:"Skill Status",summaryEnabled:e=>`Enabled: ${e}`,summaryDisabled:e=>`Disabled: ${e}`,summaryAttention:e=>`Needs attention: ${e}`,crossAgentSkillsTitle:"Installed Skills",crossAgentSkillsEmpty:"No skills detected.",crossAgentSkillAgents:e=>`Installed in ${e}`,capabilityGroups:"Skill management across agents",registrySummaryTitle:"Skill Registry",registryUniversal:e=>`Universal: ${e}`,registryAdditional:e=>`Additional: ${e}`,registryUnsupported:e=>`Unsupported: ${e}`,registryHiddenRoots:(e,t)=>`Hidden roots: ${e}/${t}`,tabs:{manage:"Manage",matrix:"Matrix",bySkill:"By Skill",byAgent:"By Agent"},searchPlaceholder:"Search skills...",agentSkillMode:"Skill Mode",agentMcpServers:"MCP Servers",agentNativeSkills:"Native Skills",agentMindosSkills:"MindOS Skills",noAgentsYet:"No agents detected yet.",moreSkills:e=>`+${e} more`,sourceAll:"All",sourceBuiltin:"Built-in",sourceUser:"Custom",sourceNative:"Native",summaryNative:e=>`Native: ${e}`,statusAll:"All status",statusEnabled:"Enabled",statusDisabled:"Disabled",statusAttention:"Needs attention",capabilityAll:"All capabilities",bulkEnableFiltered:"Enable all",bulkDisableFiltered:"Disable all",bulkRunning:"Applying changes...",bulkNoChanges:"No skill changes needed.",bulkAllSucceeded:e=>`Updated ${e} skills.`,bulkPartialFailed:(e,t)=>`Updated ${e}, failed ${t}.`,resultCount:e=>`${e} skills`,matrixAgentFocusLabel:"Agent focus",matrixAgentFocusAll:"All agents",matrixColumnSkill:"Skill",matrixEnabled:"Enabled",matrixDisabled:"Disabled",matrixUnsupported:"Unsupported",matrixNoAgents:"No agents available for matrix.",noSkillsMatchFilter:"No skills match current filters.",matrixEmpty:"No skills match current filters.",addAgentToSkill:"Add",removeAgentFromSkill:"Remove",confirmRemoveAgentTitle:"Remove from skill?",confirmRemoveAgentMessage:(e,t)=>`Remove "${e}" from "${t}"? This requires editing the agent config file.`,cancelSkillAction:"Cancel",noAvailableAgentsForSkill:"All agents already have this skill.",manualSkillHint:"Flagged — edit the agent config to finalize.",skillDescription:"Description",skillNoDescription:"No description available.",skillDeleteAction:"Delete",confirmDeleteSkillTitle:"Delete skill?",confirmDeleteSkillMessage:e=>`Permanently delete skill "${e}"? This cannot be undone.`,skillDeleted:"Skill deleted.",skillDeleteFailed:"Failed to delete skill.",copyInstallCmd:"Copy install command",installCmdCopied:"Copied!",skillAgentCount:e=>`${e} agent${1===e?"":"s"}`,quickStatsMcp:e=>`${e} MCP`,quickStatsSkills:e=>`${e} skills`,showAllNative:e=>`Show all ${e}`,collapseNative:"Collapse",emptyGroup:"No skills in this group.",groupLabels:{research:"Research",coding:"Coding",docs:"Docs",ops:"Ops",memory:"Memory"},skillPopover:{close:"Close",source:"Source",sourceBuiltin:"Built-in",sourceUser:"Custom",sourceNative:"Native",capability:"Capability",path:"File path",enabled:"Enabled",disabled:"Disabled",agents:"Agents",noAgents:"No agents have this skill.",content:"Skill content",loading:"Loading...",loadFailed:"Failed to load skill content.",retry:"Retry",copyContent:"Copy",copied:"Copied!",noDescription:"No description available.",deleteSkill:"Delete",confirmDeleteTitle:"Delete skill?",confirmDeleteMessage:e=>`Permanently delete skill "${e}"? This cannot be undone.`,confirmDeleteAction:"Delete",cancelAction:"Cancel",deleted:"Skill deleted.",deleteFailed:"Failed to delete skill."}},detail:{healthStripTitle:"Status",healthConnected:"Connected",healthInstalled:"MCP installed",healthRuntimeSignals:"Runtime signals",healthConfiguredServers:"Configured servers",healthInstalledSkills:"Native installed skills",identity:"Identity",connection:"Connection",capabilities:"Capability Profile",skillAssignments:"Skill Assignments",runtimeSignals:"Runtime",recentActivity:"Recent Activity",spaceReach:"Space Reach",agentKey:"Agent key",status:"Status",transport:"Transport",endpoint:"Endpoint",port:"Port",auth:"Auth",authConfigured:"Configured",authMissing:"Missing",projectScope:"Project scope",globalScope:"Global scope",format:"Config format",skillMode:"Skill mode",hiddenRoot:"Hidden root path",hiddenRootPresent:"Hidden root",conversationSignal:"Conversation",usageSignal:"Usage",lastActivityAt:"Last active",skillsAll:"All skills",skillsEnabled:"Enabled skills",skillsSourceBuiltin:"Built-in",skillsSourceUser:"Custom",skillsSearchPlaceholder:"Search all configured skills...",skillsFilterAll:"All",skillsFilterBuiltin:"Built-in",skillsFilterUser:"Custom",skillEnable:"Enable",skillDisable:"Disable",skillEdit:"Edit",skillSave:"Save",skillCancel:"Cancel",skillActionLoading:"Working...",skillReadFailed:"Failed to read skill content.",skillSaveFailed:"Failed to save skill content.",mcpManagement:"MCP Management",mcpInstalled:"Installed",mcpScope:"Current scope",mcpConfigPath:"Config path",mcpTargetScope:"Target scope",mcpTargetTransport:"Target transport",mcpScopeProject:"Project",mcpScopeGlobal:"Global",mcpCopySnippet:"Copy snippet",mcpCopied:"Copied",mcpRefresh:"Refresh status",mcpReconnect:"Apply MCP config",mcpApplying:"Applying MCP config...",mcpApplySuccess:"MCP config applied.",mcpApplyFailed:"Failed to apply MCP config.",nativeInstalledSkills:"Installed Skills",nativeInstalledSkillsCount:e=>`${e} detected`,nativeInstalledSkillsEmpty:"No installed skills detected.",nativeInstalledSkillsMore:e=>`+${e} more`,configuredMcpServers:"MCP Servers",configuredMcpServersCount:e=>`${e} detected`,configuredMcpServersEmpty:"No MCP servers configured.",configuredMcpServersMore:e=>`+${e} more`,yes:"Yes",no:"No",noSkills:"No enabled skills.",noActivity:"No activity recorded yet.",noSpaceReach:"No space reach data yet.",skillDelete:"Delete",skillDeleteConfirm:e=>`Delete skill "${e}"? This cannot be undone.`,skillDeleteSuccess:"Skill deleted.",skillDeleteFailed:"Failed to delete skill.",mcpServerAdd:"Add MCP server",mcpServerRemove:"Remove",mcpServerRemoveConfirm:e=>`Remove "${e}" from this agent? This requires editing the config file.`,mcpServerHint:"Flagged — edit the agent config to finalize.",mcpReconnectAll:"Reconnect all",mcpReconnectAllRunning:"Reconnecting...",mcpReconnectAllDone:(e,t)=>`Reconnected ${e}${t>0?`, failed ${t}`:""}.`,runtimeDiagTitle:"Runtime & Diagnostics",runtimePing:"Ping",runtimePinging:"Pinging...",runtimePingOk:e=>`Reachable (${e}ms)`,runtimePingFail:"Unreachable",runtimeUptime:"Uptime",runtimePid:"Process",runtimeMemory:"Memory",runtimeVersion:"Version",runtimeStartedAt:"Started",runtimeNoData:"No runtime data available.",envPermTitle:"Environment & Permissions",envVars:"Environment variables",envVarsCount:e=>`${e} configured`,envVarsEmpty:"No custom environment variables.",envScope:"Scope",envReadOnly:"Read-only access",envWriteAccess:"Write access",envFileAccess:"File access",envNetworkAccess:"Network access",envAllowed:"Allowed",envRestricted:"Restricted",activityTitle:"Activity & Usage",activityTotal:"Total invocations",activityLast7d:"Last 7 days",activityLastInvocation:"Last invocation",activityTokensUsed:"Tokens used",activityAvgLatency:"Avg latency",activityNoData:"No activity recorded yet.",knowledgeInteraction:"Knowledge Interaction",knowledgeNoData:"No interactions yet. Agents will show activity here once they start working with your knowledge base.",recentOps:"Recent Operations",statTotalCalls:"Total calls",statFilesTouched:"Files touched",statReadWrite:"Read / Write",statHealth:"Health",viewFullLog:"View full log",showLess:"Show less"},detailSubtitle:"",detailNotFound:"Agent not found — it may have been removed or renamed.",detailNotFoundHint:"The agent may have disconnected or its configuration file was moved. Try restarting the agent or check the MCP configuration.",detailNotFoundSuggestion:"Connected agents you can explore:"},settings:{title:"Settings",tabs:{ai:"AI",appearance:"Appearance",knowledge:"General",sync:"Sync",mcp:"Connections",plugins:"Plugins",shortcuts:"Shortcuts",monitoring:"Monitoring",agents:"Agents",update:"Update",uninstall:"Uninstall"},ai:{provider:"Provider",model:"Model",apiKey:"API Key",baseUrl:"Base URL",baseUrlHint:"Optional. Use for proxies or custom API endpoints.",keyHint:"Stored locally in ~/.mindos/config.json",keyOptionalHint:"Optional for local providers. Stored in ~/.mindos/config.json",keyChange:"Change",keyCancel:"Cancel",envHint:"Fields marked env have a value from environment variables. You can override them here, or restore all to env defaults.",envFieldNote:e=>`Env var ${e} is set. Clear this field to fall back to it.`,resetToEnv:"Reset to env value",restoreFromEnv:"Restore from env",noApiKey:"API key is not set. AI features will be unavailable until you add one.",testKey:"Test",testKeyTesting:"Testing...",testKeyOk:e=>`\u2713 ${e}ms`,testKeyAuthError:"Invalid API key",testKeyModelNotFound:"Model not found",testKeyRateLimited:"Rate limited, try again later",testKeyNetworkError:"Network error",testKeyNoKey:"No API key configured",testKeyUnknown:"Test failed",listModels:"Browse",noModelsFound:"No models found"},agent:{title:"Agent Behavior",subtitle:"Configure how the AI agent operates",maxSteps:"Max Steps",maxStepsHint:"Maximum tool call steps per request (1-30)",contextStrategy:"Context Strategy",contextStrategyHint:"Auto: summarize early messages when context fills up. Off: no summarization (emergency pruning still applies).",contextStrategyAuto:"Auto (compact + prune)",contextStrategyOff:"Off",thinking:"Extended Thinking",thinkingHint:"Show Claude's reasoning process (uses more tokens)",thinkingBudget:"Thinking Budget",thinkingBudgetHint:"Max tokens for reasoning (1000-50000)",reconnectRetries:"Auto Reconnect",reconnectRetriesHint:"When connection drops, automatically retry this many times before giving up (0 = disabled)"},appearance:{readingTitle:"Reading",readingDesc:"Customize how your notes look",readingFont:"Reading font",fontSize:"Font size",fontSizePreview:"The quick brown fox.",contentWidth:"Content width",preferencesTitle:"Preferences",colorTheme:"Color theme",system:"System",dark:"Dark",light:"Light",language:"Language",browserNote:"Appearance settings are saved in your browser.",labsTitle:"Labs",labsDesc:"Experimental features still in development. May change or be removed.",labsEcho:"Echo",labsEchoDesc:"Reflective journaling powered by your notes.",labsWorkflows:"Flows",labsWorkflowsDesc:"Visual workflow automation for agents.",fontPreview:"The quick brown fox jumps over the lazy dog."},knowledge:{cardTitle:"Knowledge Base",securityTitle:"Security",passwordPlaceholder:"Leave empty to disable",passwordShow:"Show",passwordHide:"Hide",tokenNotSet:"— not set —",mcpUrl:"MCP URL",tokenGenerated:"New token generated. Copy it now — it won't be shown in full again.",monitoringTitle:"System Monitoring",monitoringFailed:"Failed to load monitoring data",monitorHeap:"Heap",monitorRss:"RSS",monitorUptime:"Uptime",monitorNode:"Node",monitorRequests:"Requests",monitorToolCalls:"Tool Calls",monitorTokens:"Tokens",monitorFiles:"Files",monitorErrors:"Errors",monitorMcpRunning:e=>`Running :${e}`,monitorMcpStopped:"Stopped",cancel:"Cancel",mindRoot:"Knowledge base root",mindRootHint:"Absolute path to your notes directory. Requires server restart to take effect.",mindRootEnvHint:e=>`MIND_ROOT env var is set to "${e}". Fill in above to override it.`,envNote:"MIND_ROOT env var is set. Fill in above to override it — your value takes priority.",webPassword:"Web UI password",webPasswordHint:"Protect the browser UI with a password. Leave empty to disable. Changes take effect on next page load.",webPasswordClear:"Clear password",authToken:"MCP / API auth token",authTokenHint:"Bearer token for Agent and MCP clients. Not required for browser access.",authTokenNone:"No token set — API is open to all requests.",authTokenCopy:"Copy",authTokenCopied:"Copied!",authTokenReset:"Regenerate",authTokenClear:"Clear token",authTokenResetConfirm:"Regenerate token? All existing MCP clients will need to update their config.",authTokenMcpPort:"MCP port",restartWalkthrough:"Restart walkthrough",showHiddenFiles:"Show hidden files",showHiddenFilesHint:"Display dot-prefixed folders (.agents, .claude, .mindos, etc.) in the file tree.",cleanupExamples:"Clean up example files",cleanupExamplesHint:"Remove all template example files (\uD83E\uDDEA_example_*) from your knowledge base.",cleanupExamplesButton:"Clean up",cleanupExamplesNone:"No example files found",cleanupExamplesConfirm:e=>`Delete ${e} example file${e>1?"s":""}? This cannot be undone.`,cleanupExamplesDone:e=>`Removed ${e} example file${e>1?"s":""}`,cleanupExamplesScanning:"Scanning..."},sync:{emptyTitle:"Cross-device Sync",emptyDesc:"Automatically sync your knowledge base across devices via Git.",featureAutoCommit:"Auto-commit on save",featureAutoPull:"Auto-pull from remote",featureConflict:"Conflict detection",featureMultiDevice:"Works across devices",remoteUrl:"Git Remote URL",invalidUrl:"Invalid Git URL — use HTTPS (https://...) or SSH (git@...)",sshBrief:"one-time key setup, no token needed",httpsBrief:"works anywhere, token recommended",sshHint:"Requires SSH key on this machine. Verify with: ssh -T git@github.com",accessToken:"Access Token",optional:"(optional, for private repos)",tokenHint:"GitHub:",tokenLink:"Create a token (repo scope)",branchLabel:"Branch",connectButton:"Connect & Start Sync",connecting:"Connecting...",stepConnecting:"Connecting to remote...",stepAuthenticating:"Authenticating...",stepSyncing:"Syncing data...",stepAlmostDone:"Almost done...",stepDone:"Sync configured successfully!",gitignoreTitle:"Excluded files",gitignorePlaceholder:"# Files to exclude from sync\n*.tmp\nsecret/",gitignoreSave:"Save",gitignoreSaved:"Saved",conflictExplain:"These files were changed on both this device and the remote. Choose which version to keep.",keepLocal:"Keep local",keepRemote:"Keep remote",keepLocalHint:"Keep this device's version",keepRemoteHint:"Replace with the remote version",viewDiff:"Click to compare versions",localVersion:"Local (this device)",remoteVersion:"Remote",emptyFile:"(empty)",sectionTitle:"Sync",labelProvider:"Provider",labelRemote:"Remote",labelBranch:"Branch",labelLastSync:"Last sync",labelUnpushed:"Unpushed",labelAutoSync:"Auto-sync",unpushedCommits:e=>`${e} commits`,syncNow:"Sync Now",disableAutoSync:"Disable Auto-sync",enableAutoSync:"Enable Auto-sync",syncComplete:"Sync complete",syncFailed:"Sync failed",autoSyncDisabled:"Auto-sync disabled",autoSyncEnabled:"Auto-sync enabled",toggleFailed:"Failed to toggle sync",conflictsTitle:e=>`Conflicts (${e})`,conflictHint:"Click a file to view your version. Hover and click",conflictHintSuffix:"to see the remote version.",timeNever:"never",timeJustNow:"just now",timeMinAgo:e=>`${e}m ago`,timeHourAgo:e=>`${e}h ago`,timeDayAgo:e=>`${e}d ago`},plugins:{title:"Installed Renderers",builtinBadge:"built-in",coreBadge:"core",enabled:"Enabled",disabled:"Disabled",matchHint:"Auto-activates on",coreHint:"Core renderer — always enabled",noPlugins:"No renderers installed.",comingSoon:"Plugin marketplace coming soon."},mcp:{modeCardTitle:"Connection Mode",modeCardDesc:"Choose how agents connect to MindOS.",cliLabel:"CLI",cliModeDesc:"Claude Code, Gemini CLI, Codex, etc.",mcpLabel:"MCP",mcpModeDesc:"Claude Desktop, Cursor, Windsurf, etc.",alwaysOn:"Always On",mcpRunning:"Running",mcpStopped:"Stopped",mcpEnabledHint:"MCP mode enabled. Disable to simplify the interface if you only use CLI agents.",mcpDisabledHint:"Enable MCP to connect Desktop clients like Claude Desktop or Cursor.",serverTitle:"MindOS MCP Server",status:"Status",running:"Running",stopped:"Stopped",transport:"Transport",endpoint:"Endpoint",tools:"Tools",toolsRegistered:e=>`${e} registered`,auth:"Auth",authSet:"Token set",authNotSet:"No token",copyEndpoint:"Copy Endpoint",copyConfig:"Copy Config",copied:"Copied!",agentsTitle:"Agent Configuration",agent:"Agent",scope:"Scope",project:"Project",global:"Global",installed:"Installed",notInstalled:"Not installed",detected:"Detected",notFound:"Not found",transportStdio:"stdio (recommended)",transportHttp:"http",transportAuto:"auto (recommended)",httpUrl:"MCP URL",httpToken:"Auth Token",installSelected:"Install Selected",installing:"Installing...",installSuccess:e=>`${e} agent(s) configured`,installFailed:"Install failed",portLabel:"MCP Port",portHint:"Changes require server restart",skillsTitle:"Skills",skillsDesc:"Teach agents how to operate your knowledge base.",skillAutoLoaded:"Auto-loaded on every request",skillSource:"Source",skillBuiltin:"Built-in",skillUser:"Custom",addSkill:"+ Add Skill",cliInstallHint:"Install via CLI:",skillPathHint:"Skill files installed at:",deleteSkill:"Delete",editSkill:"Edit",saveSkill:"Save",cancelSkill:"Cancel",skillName:"Name",skillDesc:"Description",skillContent:"Content",skillNameConflict:"A skill with this name already exists",skillDeleteConfirm:e=>`Delete skill "${e}"? This cannot be undone.`,skillLanguage:"Skill Language",skillLangEn:"English",skillLangZh:"中文",searchSkills:"Search skills...",customGroup:"Custom",builtinGroup:"Built-in",noSkillsMatch:e=>`No skills match "${e}"`,skillTemplate:"Template",skillTemplateGeneral:"General",skillTemplateToolUse:"Tool-use",skillTemplateWorkflow:"Workflow",selectDetected:"Select Detected",clearSelection:"Clear",quickSetup:"Quick Setup",configureFor:"Configure for",configPath:"Config path",transportLocal:"Local",transportRemote:"Remote",transportLocalHint:"Local — same machine as MindOS server",transportRemoteHint:"Remote — connect from another device via HTTP",remoteDetectedHint:"Using your current remote IP.",remoteManualHint:"Replace 127.0.0.1 with your server's public or LAN IP.",remoteSteps:"To connect from another device: ① Open port {port} in firewall/security group ② Use the config below in your Agent ③ For public networks, consider SSH tunnel for encryption.",noAuthWarning:"⚠ No auth token — set one in Settings → General before enabling remote access.",showJson:"Show JSON",hideJson:"Hide JSON",connectionTitle:"Connect Agents",connectionHint:"Choose how your AI agents connect to MindOS.",tokenCardTitle:"Auth Token",tokenCardDesc:"Used by CLI remote mode and MCP connections.",mcpHint:"For Claude Desktop, Cursor, and agents that use MCP tool protocol.",tokenLabel:"Auth Token",tokenMasked:"Click Show to reveal the full token",tokenShow:"Show",tokenHide:"Hide",tokenCopy:"Copy",tokenCopied:"Token copied!",tokenNone:"No token set — your MCP server is open to all requests.",tokenNoneAction:"Generate a token in Settings → General → Security.",serverUrl:"MCP Server URL",serverUrlCopy:"Copy URL",howToConnect:"How to connect an AI agent",howToStep1:"Open your agent's MCP settings (e.g. Claude Code, Cursor)",howToStep2:"Add a new MCP server with the URL above",howToStep3:"Set the Auth Token as the bearer token",howToStep4:"Save and verify the connection",cliSkillTitle:"CLI Skill",cliSkillHint:"For agents with bash (Claude Code, Gemini CLI, Codex) — lower token cost, no MCP needed.",cliSkillDesc:"Lower token cost, Skill included — just install and go.",cliLocalDesc:"MindOS Skill is built-in. Install the CLI and you're good to go.",cliRemoteDesc:"Install the CLI on another machine and connect to this MindOS server.",cliSkillInstall:"Install",cliSkillInstallCmd:"npm install -g @geminilight/mindos",cliSkillRemote:"Remote",cliSkillVerify:"Verify",cliSkillVerifyCmd:"mindos file list",cliRemoteConfigure:"Configure",cliInstallSkill:"Install Skill",cliAgents:"Claude Code \xb7 Gemini CLI \xb7 Codex",mcpAgents:"Claude Desktop \xb7 Cursor",mcpDesc:"Requires per-agent MCP config. Install Skill separately via",mcpLocalDesc:"Copy the config snippet and paste into your agent's MCP settings.",mcpRunningLabel:"MCP Running",mcpServerStatus:"MCP Server",autoInstallAgents:"Auto-install to detected agents",detectedAgentsTitle:"Detected Agents",cliInstallDesc:"Install the MindOS Skill to your agent so it can operate your knowledge base.",mcpInstallDesc:"Install MCP config + Skill to detected agents on this machine.",tokenCopyFullHint:"Copies full token",skillsInstalled:"skills installed",recommended:"Recommended",localTitle:"Local",localReady:"Ready to use",remoteTitle:"Remote Access",remoteSubtitle:"Connect from another device",restarting:"Restarting...",restart:"Restart"},monitoring:{system:"System",heapMemory:"Heap Memory",rss:"RSS",uptime:"Uptime",nodeVersion:"Node",application:"Application",requests:"Requests",toolCalls:"Tool Calls",avgResponse:"Avg Response",tokens:"Tokens",errors:"Errors",knowledgeBase:"Knowledge Base",files:"Files",totalSize:"Total Size",rootPath:"Root",mcpStatus:"Status",mcpRunning:"Running",mcpStopped:"Stopped",mcpPort:"Port",autoRefresh:"Auto-refresh every 5s",fetchError:"Failed to load monitoring data"},agents:{mcpServer:"MCP Server",running:"Running",stopped:"Not running",restarting:"Restarting...",restart:"Restart",onPort:e=>`on :${e}`,refresh:"Refresh",refreshing:"Refreshing...",connected:"Connected",connectedCount:e=>`Connected (${e})`,detectedNotConfigured:"Detected but not configured",detectedCount:e=>`Detected but not configured (${e})`,notDetected:"Not Detected",notDetectedCount:e=>`Not Detected (${e})`,showAll:"Show all",hideAll:"Hide",connect:"Connect",noAgents:"No agents detected on this machine.",fetchError:"Failed to load agent data",autoRefresh:"Auto-refresh every 30s"},save:"Save",saved:"Saved",saveFailed:"Save failed",reconfigure:"Reconfigure",askDisplayMode:{label:"Display Mode",hint:"Side panel stays docked on the right. Popup opens a floating dialog.",panel:"Side Panel",popup:"Popup"},update:{checking:"Checking for updates...",upToDate:"You're up to date",available:(e,t)=>`Update available: v${e} → v${t}`,updating:"Updating MindOS... The server will restart shortly.",updatingHint:"This may take 1–3 minutes. Do not close this page.",serverRestarting:"Server is restarting, please wait...",updated:"Updated successfully! Reloading...",timeout:"Update may still be in progress.",timeoutHint:"The server may need more time to rebuild. Try refreshing.",refreshButton:"Refresh Page",retryButton:"Retry Update",error:"Failed to check for updates. Check your network connection.",checkButton:"Check for Updates",updateButton:e=>`Update to v${e}`,releaseNotes:"View release notes",hint:"Updates are installed via npm. Equivalent to running",inTerminal:"in your terminal.",desktopDownloading:"Downloading update...",desktopReady:"Update downloaded. Restart to apply.",desktopRestart:"Restart Now",desktopHint:"Updates are delivered through the Desktop app auto-updater.",coreTitle:"MindOS Core",coreUpToDate:"Core is up to date",coreAvailable:e=>`Update available (${e})`,coreDownloading:"Downloading...",coreCancel:"Cancel",coreReady:"Ready — restart services to apply",coreRestartServices:"Restart Services",coreApplying:"Applying update...",coreApplied:"Updated! Reloading...",coreError:"Core update failed.",coreRetry:"Retry",coreDesktopTooOld:e=>`v${e} requires a newer Desktop version.`,coreDesktopTooOldHint:"Please update MindOS Desktop first.",coreHint:"Core updates only restart services — no app restart needed.",shellTitle:"MindOS Desktop"},uninstall:{title:"Uninstall MindOS",descCli:"Remove MindOS CLI, background services, and configuration files from this machine.",descDesktop:"Remove MindOS Desktop, background services, and configuration files from this machine.",warning:"Select what to clean up. Your knowledge base files are always kept safe.",stopServices:"Stop services & remove daemon",stopServicesDesc:"Stop all running MindOS processes and remove the background daemon.",removeConfig:"Remove configuration",removeConfigDesc:"Delete ~/.mindos/ directory (config, logs, PID files).",removeNpm:"Uninstall CLI package",removeNpmDesc:"Run npm uninstall -g @geminilight/mindos.",removeApp:"Move Desktop app to Trash",removeAppDesc:"Move MindOS.app to Trash. You can restore it later if needed.",confirmTitle:"Confirm Uninstall",confirmButton:"Uninstall",cancelButton:"Cancel",running:"Uninstalling...",success:"MindOS has been uninstalled.",successDesktop:"MindOS has been uninstalled. The app will quit now.",error:"Uninstall failed. You can run `mindos uninstall` in terminal manually.",nothingSelected:"Select at least one item to uninstall.",kbSafe:"Your knowledge base files are always safe — they are never deleted by this action."}},onboarding:{subtitle:"Your knowledge base is empty. Pick a starter template to get going.",templates:{en:{title:"English",desc:"Pre-built structure with Profile, Notes, Projects, and more."},zh:{title:"中文",desc:"预置画像、笔记、项目等中文目录结构。"},empty:{title:"Empty",desc:"Just the essentials — README, CONFIG, and INSTRUCTION."}},importHint:"Already have notes? Set MIND_ROOT to your existing directory in Settings.",syncHint:"Want cross-device sync? Run",syncHintSuffix:"in the terminal after setup.",initError:"Initialization failed. Please refresh the page or try a different template.",dismiss:"Dismiss"},setup:{stepTitles:["Knowledge Base","AI Configuration","Agent Connection","Confirm"],kbPath:"Knowledge base path",kbPathHint:"Absolute path to your notes directory.",kbPathDefault:"~/MindOS/mind",kbPathUseDefault:e=>`Use ${e}`,kbPathHasFiles:e=>`This directory already contains ${e} file${e>1?"s":""}. You can skip the template or merge (existing files won't be overwritten).`,kbTemplateSkip:"Skip template",kbTemplateMerge:"Choose a template to merge",template:"Starter template",templateSkip:"Skip (directory already has files)",aiProvider:"AI Provider",aiProviderHint:"Choose your preferred AI service.",aiSkip:"Skip — configure later",apiKey:"API Key",apiKeyExisting:"Existing key configured. Leave blank to keep it.",model:"Model",baseUrl:"Base URL",baseUrlHint:"Optional. For proxies or custom API endpoints.",webPort:"Web UI port",mcpPort:"MCP server port",portHint:"Valid range: 1024–65535",portRestartWarning:"The service will start on these ports after setup completes.",portInUse:e=>`Port ${e} is already in use.`,portSuggest:e=>`Use ${e}`,portChecking:"Checking…",portSelf:"Current port",portConflict:"Web UI and MCP ports must be different.",portVerifyHint:"Click outside each field to verify, or wait for auto-check.",authToken:"Auth Token",authTokenHint:"Bearer token for MCP / API clients. Auto-generated.",authTokenUsage:"Used for MCP connections and API clients. When configuring an Agent, this token is written automatically — no manual steps needed.",authTokenUsageWhat:"What is this?",authTokenSeed:"Custom seed (optional)",authTokenSeedHint:"Enter a passphrase to derive a deterministic token.",generateToken:"Generate",copyToken:"Copy",copiedToken:"Copied!",webPassword:"Web Password",webPasswordHint:"Protect your knowledge base from unauthorized browser access.",webPasswordRequired:"Password is required to protect your data.",advancedPorts:"Advanced Settings",tokenSectionTitle:"Auth Token (auto-generated)",tokenSectionHint:"Used by AI agents to connect to your MindOS server.",agentToolsTitle:"Agent Connection",connectionModeTitle:"Connection Mode",connectionModeCliHint:"Recommended \xb7 Lower token usage",connectionModeMcpHint:"Optional \xb7 Higher token usage",agentToolsHint:"Select which AI agents to configure. This step is optional.",agentToolsHintCliOnly:"Agent selection applies when MCP mode is enabled. CLI works with all agents that have bash access.",agentToolsHintNone:"No connection mode selected. Select at least one mode to connect agents.",agentTransport:"Transport",agentScope:"Scope",agentToolsLoading:"Loading agents…",agentToolsEmpty:"No supported agents detected.",agentNoneSelected:"No agents selected. You can configure agents later in Settings.",agentSkipLater:"Clear all",agentSelectDetected:"Select detected agents",agentNoneDetected:"No agents detected on your system.",agentShowMore:e=>`Show ${e} more agents`,agentAdvanced:"Advanced options",agentScopeGlobal:"Install for all projects",agentScopeProject:"This project only",badgeInstalled:"Installed",badgeDetected:"Detected",badgeNotFound:"Not found",agentNotInstalled:"not installed",agentDetected:"detected",agentNotFound:"not found",agentGetIt:"Get it →",agentStatusOk:"configured",agentStatusError:"failed",agentInstalling:"Configuring…",agentTransportAuto:"Auto (recommended)",agentTransportLabel:"Transport",agentVerified:"verified",agentUnverified:"unverified",agentVerifyNote:"stdio agents are verified after restart",skillWhat:"",skillAutoHint:()=>"",skillLabel:"Skill",skillInstalling:"Installing skill…",skillInstalled:"Skill installed",skillFailed:"Skill install failed",aiSkipTitle:"Skip for now",aiSkipDesc:"You can add an API key later in Settings → AI.",reviewHint:"Verify your settings, then press Complete Setup.",reviewInstallResults:"Agent configuration results:",phaseSaving:"Saving configuration…",phaseAgents:"Configuring agents…",phaseSkill:"Installing skill…",phaseDone:"Setup complete!",retryAgent:"Retry",agentFailedCount:e=>`${e} agent${e>1?"s":""} failed`,agentCountSummary:e=>`${e} agent${e>1?"s":""}`,agentFailureNote:"Agent failures are non-blocking — you can enter MindOS and retry from Settings → Connections.",portAvailable:"Available",portChanged:"Port changed — please restart the server for it to take effect.",restartRequired:"Server restart required for these changes to take effect.",restartNow:"Restart now",restarting:"Restarting…",restartDone:"Server is restarting. Redirecting shortly…",restartManual:"Restart manually:",back:"Back",next:"Next",complete:"Complete Setup",skip:"Skip",completing:"Saving...",completeDone:"Setup complete!",completeFailed:"Setup failed. Please try again.",healthKb:"Knowledge Base",healthKbNone:"Not configured",healthAi:"AI Provider",healthAiNone:"Not configured — AI features disabled",healthAiAction:"Add an API key in Settings → AI.",healthAgents:"Agent Connection",healthAgentsOk:e=>`${e} agent${e>1?"s":""} configured`,healthAgentsPartial:"Configuration in progress...",healthAgentsNone:"No agents configured",healthAgentsAction:"You can add agents later in Settings → Connections.",healthSkills:"Skills",healthSkillsOk:"Skills installed successfully",healthSkillsError:"Skill installation failed",healthSkillsSkipped:"Skipped",healthSkillsInstalling:"Installing skills...",healthSkillsAction:"You can install skills manually later.",healthTokenTitle:"Auth Token",healthTokenCopy:"Copy token",healthTokenHint:"Used by CLI remote mode and MCP connections. Also available in Settings → Connections.",healthGoHome:"Go to MindOS",welcomeTitle:"Welcome to MindOS!",welcomeDesc:"Setup is complete. Start by asking AI a question, browsing your knowledge base, or configuring MCP agents.",welcomeLinkReconfigure:"Reconfigure",welcomeLinkAskAI:"MindOS Agent",welcomeLinkMCP:"MCP Settings"},guide:{title:"Quick Start",showGuide:"Show getting started guide",close:"Close",skip:"Skip",import:{title:"Import your files",cta:"Import",desc:"Upload your resume, project docs, or notes — anything you want AI agents to know about you.",button:"Import Files"},ai:{title:"See AI read your content",cta:"Try it",desc:"Your files are in the knowledge base. Ask MindOS Agent what it learned:",prompt:"Introduce me based on my knowledge base — who am I and what am I working on?",promptEmpty:"Help me design a knowledge base folder structure that fits my needs"},agent:{title:"Try in another Agent",cta:"Copy prompt",desc:"Open Cursor, Claude Code, or any MCP-connected Agent and paste this:",copyPrompt:"Read my MindOS knowledge base and summarize my background, then suggest what I should focus on next.",copy:"Copy",copied:"Copied!"},done:{title:"You're all set!",titleFinal:"You've mastered MindOS essentials!",steps:[{hint:"Next: try saving an article into your KB →",prompt:"Help me save the key points from this article into MindOS."},{hint:"Next: try turning experience into a reusable SOP →",prompt:"Help me distill this conversation into a reusable workflow in MindOS."}]}},walkthrough:{step:(e,t)=>`${e} of ${t}`,next:"Next",back:"Back",skip:"Skip tour",done:"Done",exploreCta:"Explore what you can do →",steps:[{title:"Your Project Memory",body:"Organize projects, SOPs, and preferences in Spaces. Everything is local-first and under your control."},{title:"AI That Already Knows You",body:"MindOS Agent reads your entire knowledge base automatically. Ask about your projects — no need to re-explain anything."},{title:"Connect Any Agent",body:"Link Cursor, Claude Code, or Windsurf via MCP — they all share the same project memory."}]},shortcuts:[{keys:["⌘","K"],description:"Search"},{keys:["⌘","/"],description:"MindOS Agent"},{keys:["⌘",","],description:"Settings"},{keys:["E"],description:"Edit current file"},{keys:["⌘","S"],description:"Save"},{keys:["Esc"],description:"Cancel edit / close modal"},{keys:["@"],description:"Attach file in MindOS Agent"}],help:{title:"Help & Guide",subtitle:"Everything you need to get started with MindOS",whatIs:{title:"What is MindOS?",body:"MindOS is where you think, and where your AI agents act. You and AI share the same brain — when you correct AI, that correction is captured automatically; next time AI understands you better, and your own thinking gets sharper along the way. You and AI grow together. In an age of AI anxiety, MindOS focuses on human growth — think clearly, make better decisions, ship faster, and build up knowledge that's truly yours."},quickStart:{title:"Quick Start",step1Title:"Browse your knowledge base",step1Desc:'Click the Spaces icon in the left sidebar to explore your files. Each top-level folder is a "Space" — a themed area like Profile, Notes, or Projects.',step2Title:"Chat with AI",step2Desc:"Press ⌘/ (or Ctrl/) to open the AI panel. Ask anything about your knowledge base, or use @ to attach a specific file for context.",step3Title:"Connect your AI agents",step3Desc:"Go to Settings → Connections to connect external agents like Claude Code, Cursor, or Windsurf. Once connected, they can read and write your knowledge base directly."},concepts:{title:"Core Concepts",spaceTitle:"Space",spaceDesc:"Spaces are knowledge partitions organized the way you think. You decide the structure, and AI agents follow it to read, write, and manage automatically.",instructionTitle:"Instruction",instructionDesc:"A rules file that all AI agents obey. You write the boundaries once, and every agent connected to your knowledge base follows them.",skillTitle:"Skill",skillDesc:"Teaches agents how to operate your knowledge base — reading, writing, organizing. Agents don't guess; they follow the skills you've installed."},shortcutsTitle:"Keyboard Shortcuts",agentUsage:{title:"Using MindOS with AI Agents",intro:"Once you connect an agent (Claude Code, Cursor, Windsurf, etc.) via MCP, just talk to it naturally. The agent can read and write your knowledge base directly — no special commands needed. Here are the most common scenarios:",scenarios:[{emoji:"\uD83E\uDEAA",title:"Inject Your Identity",desc:"Tell all AI agents who you are — preferences, tech stack, communication style — in one shot.",prompt:'"Here\'s my resume, read it and organize my info into MindOS."'},{emoji:"\uD83D\uDD04",title:"Cross-Agent Handoff",desc:"Brainstorm ideas in GPT, then execute in Claude Code — zero context loss.",prompt:'"Save this conversation to MindOS."\n"Read the plan in MindOS and help me start coding."'},{emoji:"\uD83D\uDCCB",title:"Experience → SOP",desc:"Turn hard-won debugging sessions into reusable workflows that prevent future mistakes.",prompt:'"Help me distill this conversation into a reusable workflow in MindOS."'},{emoji:"\uD83D\uDE80",title:"Project Cold Start",desc:"Spin up a new project in minutes — your profile and SOPs guide the scaffolding automatically.",prompt:'"Help me start a new project following the Startup SOP in MindOS."'},{emoji:"\uD83D\uDD0D",title:"Research & Archive",desc:"Let agents research competitors or topics for you, then file structured results in your knowledge base.",prompt:'"Help me research X, Y, Z products and save results to the MindOS product library."'}],copy:"Copy prompt",hint:'Tip: The agent auto-discovers your knowledge base structure. Just mention "MindOS" in your prompt and it will know where to look. Click "Explore" in the left sidebar for more scenarios.'},shortcuts:{search:"Search files",askAI:"Toggle AI panel",settings:"Open Settings",shortcutPanel:"Keyboard shortcuts panel",editFile:"Edit current file",save:"Save file",closePanel:"Close panel / Exit modal",attachFile:"Attach file in AI chat"},faq:{title:"FAQ",items:[{q:"How do I change the language?",a:"Go to Settings → Appearance → Language. You can switch between English and Chinese."},{q:"How do I connect an AI agent?",a:"Go to Settings → Connections. MindOS auto-detects installed agents (Claude Code, Cursor, etc.) and lets you connect them with one click."},{q:"Where is my data stored?",a:"All your data stays on your local machine as plain Markdown files. MindOS never uploads your data to any cloud service. You own everything."},{q:"How do I sync across devices?",a:"Go to Settings → Sync. MindOS uses Git for cross-device sync. Enter your Git remote URL and access token to start syncing."},{q:"Can I use my own AI provider?",a:"Yes! Go to Settings → AI. You can use OpenAI, Anthropic, Google, or any OpenAI-compatible API with a custom base URL."},{q:"What file formats are supported?",a:"MindOS works best with Markdown (.md) files, but also supports JSON, CSV, and plain text. Plugins extend rendering for special formats like Kanban boards or timelines."},{q:"How do I create a new note?",a:"Click the + icon next to any folder in the file tree, or ask AI to create one for you. Notes are just Markdown files — you can also create them from your file system."}]}},explore:{title:"Explore Use Cases",subtitle:"Discover what you can do with MindOS — pick a scenario and try it now.",tryIt:"Try it",all:"All",byCapability:"By Capability",byScenario:"By Scenario",categories:{"knowledge-management":"Knowledge Management","memory-sync":"Memory Sync","auto-execute":"Auto Execute","experience-evolution":"Experience Evolution","human-insights":"Human Insights","audit-control":"Audit & Control"},scenarios:{"first-day":"First Day",daily:"Daily Work",project:"Project Work",advanced:"Advanced"},c1:{title:"Inject Your Identity",desc:"Tell all AI agents who you are — preferences, tech stack, communication style — in one shot.",prompt:"Here's my resume, read it and organize my info into MindOS."},c2:{title:"Save Information",desc:"Archive articles, meeting notes, or web pages into your knowledge base with one prompt.",prompt:"Help me save the key points from this article into MindOS."},c3:{title:"Cross-Agent Handoff",desc:"Start a plan in MindOS, continue coding in Claude Code, refine in Cursor — zero context loss.",prompt:"Help me start coding based on the plan in MindOS."},c4:{title:"Experience → SOP",desc:"Turn hard-won debugging sessions into reusable workflows that prevent future mistakes.",prompt:"Help me distill this conversation into a reusable workflow in MindOS."},c5:{title:"Capture Ideas on the Go",desc:"Jot down an inspiration on your phone — MindOS archives, decomposes, and assigns to agents.",prompt:"Help me organize this idea into MindOS and break it into actionable sub-tasks."},c6:{title:"Project Cold Start",desc:"Spin up a new project in 4 minutes — your profile and SOPs guide the scaffolding automatically.",prompt:"Help me start a new project following the Startup SOP in MindOS."},c7:{title:"Research & Archive",desc:"Let agents research competitors or topics for you, then file structured results in your KB.",prompt:"Help me research X, Y, Z products and save results to the MindOS product library."},c8:{title:"Network Management",desc:"Log conversations with contacts, auto-generate follow-up TODOs, and keep full context.",prompt:"I met with someone today — update MindOS Connections and create follow-up TODOs."},c9:{title:"Audit & Correct",desc:"Review what agents know about you, fix mistakes in one place, and all agents update instantly.",prompt:"Check my MindOS Profile for accuracy and correct any errors."}}},zh:{common:{relatedFiles:"关联视图"},app:{tagline:"你在此思考,Agent 依此行动。",footer:"MindOS \xb7 人机共生知识系统"},login:{tagline:"人类在此思考,Agent 依此行动。",subtitle:"请输入密码以继续",passwordLabel:"密码",passwordPlaceholder:"输入密码",signIn:"登录",signingIn:"登录中…",incorrectPassword:"密码错误,请重试。",connectionError:"连接错误,请重试。"},notFound:{title:"文件未找到",description:"该文件不存在于你的知识库中。",createButton:"创建此文件",creating:"创建中...",goToParent:"返回上级目录",goHome:"首页"},updateBanner:{newVersion:(e,t)=>`MindOS v${e} 可用(当前 v${t})`,updateNow:"更新",runUpdate:"终端运行",orSee:"或",releaseNotes:"查看更新说明"},sidebar:{files:"知识库",search:"搜索",searchTitle:"搜索",askTitle:"MindOS Agent",settingsTitle:"设置",plugins:"插件",agents:"智能体",echo:"回响",discover:"探索",workflows:"流程",history:"历史",help:"帮助",syncLabel:"同步",collapseTitle:"收起侧栏",expandTitle:"展开侧栏",collapseLevel:"折叠一级",collapseLevelHint:"折叠一级(双击:全部折叠)",expandLevel:"展开一级",expandLevelHint:"展开一级(双击:全部展开)",importFile:"导入文件",new:"新建",newFile:"新建文件",newSpace:"新建空间",more:"更多",capture:"暂存台",showHiddenFiles:"显示隐藏文件",sync:{synced:"已同步",unpushed:"待推送",unpushedHint:"个提交尚未推送到远程 — 将自动同步",conflicts:"冲突",conflictsHint:"个文件存在合并冲突 — 前往 设置 > 同步 解决",syncError:"同步出错",syncOff:"同步关闭",syncing:"同步中...",syncNow:"立即同步",syncDone:"同步完成",syncFailed:"同步失败",syncRestored:"同步已恢复",enableSync:"启用同步",enableHint:"设置跨设备同步"}},search:{placeholder:"搜索文件...",noResults:"没有找到结果",prompt:"输入关键词搜索所有文件",navigate:"上下导航",open:"打开",close:"关闭",tabSearch:"搜索",tabActions:"快捷操作",openSettings:"打开设置",restartWalkthrough:"重新开始引导",toggleDarkMode:"切换深色模式",goToAgents:"前往智能体",goToDiscover:"前往探索",goToHelp:"前往帮助",walkthroughRestarted:"引导已重置"},shortcutPanel:{title:"快捷键",navigation:"导航",panelsSection:"面板",editor:"编辑器",toggleSearch:"切换搜索",toggleAskAI:"切换 AI 助手",openSettings:"打开设置",keyboardShortcuts:"快捷键",closePanel:"关闭面板 / 退出最大化",saveFile:"保存文件",undo:"撤销",redo:"重做",toggleHint:"切换此面板"},ask:{title:"MindOS Agent",fabLabel:"AI 助手",placeholder:"输入问题… @ 附加文件,/ 技能",emptyPrompt:"有什么可以帮你?",emptyHint:"输入 @ 引用文件 \xb7 / 使用技能",send:"发送",newlineHint:"换行",panelComposerResize:"向上拖拽以拉高输入区",panelComposerFooter:"拉高输入区",panelComposerResetHint:"双击恢复默认高度",panelComposerKeyboard:"方向键调节高度;Home/End 最小或最大",attachFile:"上下文",attachFileLabel:"文档",attachImageLabel:"图片",uploadedFiles:"已上传",skillsHint:"技能",attachCurrent:"附加当前文件",stopTitle:"停止",cancelReconnect:"取消重连",connecting:"正在和你一起思考...",thinking:"思考中...",thinkingLabel:"思考中",searching:"正在搜索知识库...",generating:"正在生成回复...",stopped:"已停止生成。",errorNoResponse:"AI 未返回有效内容。可能原因:模型不支持流式输出、中转站兼容性问题、或请求超出上下文限制。",reconnecting:(e,t)=>`连接中断,正在重连 (${e}/${t})...`,reconnectFailed:"多次重连失败,请检查网络后重试。",proxyCompatMode:"正在以兼容模式调用...",proxyCompatFailed:e=>`兼容模式失败:${e}。请检查 Base URL、API Key 和模型名称。`,proxyCompatDetecting:"正在检测接口兼容性,切换到兼容模式重试...",proxyCompatAlsoFailed:e=>`兼容模式也失败了:${e}。请检查 Base URL、API Key 和模型名称。`,retry:"重试",suggestions:["总结这篇文档","整理最近的笔记","查找相关笔记","起草一篇新笔记"],modeChat:"对话",modeAgent:"Agent",modeChatHint:"可搜索/阅读知识库 \xb7 省 token",modeAgentHint:"完整工具权限 \xb7 可修改知识库",sessionHistory:"对话历史",clearAll:"清除全部",confirmClear:"确认清除?",noSessions:"暂无历史对话。",renameSession:"重命名",draftingHint:"AI 仍在执行,你可以先输入下一步。",providerCapsule:"切换模型服务商",providerDefault:"默认",providerNoKey:"暂无已配置的服务商"},changes:{unreadBanner:e=>`${e} 条内容变更未读`,reviewNow:"立即查看",dismiss:"关闭提醒",title:"内容变更",subtitle:"集中查看用户与 Agent 的最近编辑记录。",eventsCount:e=>`${e} 条事件`,unreadCount:e=>`${e} 条未读`,refresh:"刷新",markSeen:"标记已读",markAllRead:"全部已读",filters:{filePath:"文件路径",filePathPlaceholder:"例如:Projects/plan.md",source:"Agents(来源)",operation:"工具(操作)",operationAll:"全部操作",keyword:"关键词",keywordPlaceholder:"摘要 / 操作 / 路径",all:"全部",agent:"Agent",user:"用户",system:"系统"},loading:"正在加载变更...",empty:"暂无内容变更。",open:"打开",unchangedLines:e=>`... ${e} 行未变更 ...`,operations:{save_file:"保存文件",append_to_file:"追加到文件",insert_lines:"插入行",update_lines:"更新行",insert_after_heading:"标题后插入",update_section:"更新章节",create_file:"创建文件",delete_file:"删除文件",rename_file:"重命名文件",move_file:"移动文件",create_space:"创建空间",rename_space:"重命名空间",append_csv:"追加到 CSV",import_file:"导入文件",legacy_agent_diff_import:"从 Agent Diff 导入"},relativeTime:{justNow:"刚刚",minutesAgo:e=>`${e} 分钟前`,hoursAgo:e=>`${e} 小时前`,daysAgo:e=>`${e} 天前`}},hints:{noValidFiles:"未选择有效文件",aiOrganizing:"AI 正在整理中",importInProgress:"正在导入",templateInitializing:"正在初始化另一个模板",configureAiKey:"请在 设置 → AI 中配置 API 密钥",syncInProgress:"正在同步中",toggleInProgress:"正在切换中",typeMessage:"请输入消息",mentionInProgress:"正在输入提及或命令",cleanupInProgress:"正在清理中",tokenResetInProgress:"正在重置令牌",aiNotConfigured:"AI 未配置或正在生成",generationInProgress:"正在生成或 AI 未配置",cannotJumpForward:"无法跳过前序步骤",testInProgressOrNoKey:"正在测试或未配置 API 密钥",workflowStepRunning:"工作流步骤正在运行",workflowRunning:"工作流步骤正在运行",sessionHistory:"会话历史",newSession:"新会话",attachFile:"附加本地文件",maximizePanel:"专注模式",restorePanel:"退出专注",dockToSide:"停靠到侧边栏",openAsPopup:"弹窗模式",closePanel:"关闭",newChat:"新对话",closeSession:"关闭会话"},home:{recentlyModified:"最近修改",recentlyActive:"最近活跃",recentlyEdited:"最近编辑",allSpaces:"所有空间",spaces:"心智空间",nFiles:e=>`${e} 个文件`,other:"其他",newSpace:"新建空间",spaceName:"空间名称",spaceDescription:"描述",spaceDescPlaceholder:"描述这个空间的用途",spaceNameNoSlash:"名称不能包含 / 或 \\",spaceExists:"已存在同名空间",spaceCreateFailed:"创建空间失败",noSpacesYet:"还没有空间,创建一个来整理你的知识吧。",spaceLocation:"位置",rootLevel:"根目录",optional:"可选",aiInit:"AI 初始化内容",aiInitHint:"AI 将自动生成空间说明和操作指南",aiInitNoKey:"在 设置 → AI 中配置 API 密钥以启用",aiInitGenerating:e=>`正在为「${e}」生成内容`,aiInitReady:e=>`「${e}」已就绪`,aiInitReview:"查看",aiInitDiscard:"撤销",aiInitReverted:e=>`「${e}」已恢复为模板`,createSpace:"创建",cancelCreate:"取消",continueEditing:"继续编辑",newNote:"新建笔记",builtinFeatures:"工具面板",builtinActive:"已启用",builtinInactive:"未激活",toolName:{"agent-inspector":"审计面板","config-panel":"配置面板",todo:"待办面板","workflow-yaml":"工作流"},toolDesc:{"agent-inspector":"查看 Agent 操作日志与调用轨迹","config-panel":"编辑和管理全局配置项",todo:"以看板形式管理待办事项","workflow-yaml":"执行多步骤工作流,AI 辅助执行"},plugins:"扩展",changeHistory:"变更历史",showMore:"查看更多",showLess:"收起",viewAll:"查看全部",wikiTagline:"你的知识空间,井然有序。",sortRecent:"最近",sortName:"字母序",sortCount:"文件数",createToActivate:"创建 {file} 以启用",shortcuts:{searchFiles:"搜索文件",askAI:"MindOS Agent",editFile:"编辑文件",save:"保存",settings:"设置"},relativeTime:{justNow:"刚刚",minutesAgo:e=>`${e} 分钟前`,hoursAgo:e=>`${e} 小时前`,daysAgo:e=>`${e} 天前`},cleanupExamples:e=>`有 ${e} 个模板示例文件可以清理`,cleanupExamplesButton:"一键清理",cleanupExamplesDone:"示例文件已清理"},echoSpotlight:{title:"回响",dailyLine:"今日一行",placeholder:"写下今天的一行想法…",invite:"记录今天的一行想法",inviteDesc:"一行就够。回响会沉淀你的思维模式。",goToEcho:"打开回响",savedLocally:"保存在本设备"},suggestion:{title:"你可能想",staleFiles:e=>`${e} 个文件超过 30 天未更新`,reviewStale:"查看",dismiss:"忽略"},inbox:{title:"暂存台",count:e=>`${e}`,emptyTitle:"快速捕获,稍后整理",emptyDesc:"拖拽文件到此处,或点击上传按钮,即刻保存到暂存台。",uploadButton:"上传文件",organizeButton:"AI 整理",organizing:"整理中...",viewAll:"查看全部",more:e=>`还有 ${e} 个`,viewAllFiles:e=>`查看 Inbox 中全部 ${e} 个文件`,viewAllHistory:e=>`查看全部 ${e} 条记录 →`,agingHint:"7天+",savedToast:e=>`${e} 个文件已保存到暂存台`,savedWithSkipped:(e,t)=>e>0?`已保存 ${e} 个,跳过 ${t} 个(格式不支持)`:`${t} 个文件被跳过(格式不支持)`,tooLarge:e=>`${e} 个文件过大(上限 10 MB)`,savedWithOversized:(e,t)=>`已保存 ${e} 个,${t} 个过大被跳过`,organizePrompt:e=>`请将暂存台中的这些文件整理到知识库的合适位置。分析每个文件的内容,将其移动到最匹配的空间或目录。需要的话可以创建新目录。以下是待整理的文件:
16
+
17
+ ${e.map(e=>`- Inbox/${e}`).join("\n")}`,dropOverlay:"拖放到暂存台快速保存",dropOverlayFormats:"md \xb7 txt \xb7 pdf \xb7 csv \xb7 json",noMindRoot:"请先配置知识库路径",saveFailed:"保存文件失败,请检查磁盘空间和权限。",organizeFailed:"无法读取文件进行整理,请检查文件权限。"},pulse:{title:"你的 Agent",manage:"管理",connectTitle:"连接你的 AI 工具",connectDesc:"让 Cursor、Claude Code 等 AI 读到你的笔记。",connectAction:"连接 Agent",active:"已连接",detected:"已检测",notFound:"未发现",running:"在线",offline:"离线",summary:(e,t)=>`${e} 个 Agent \xb7 ${t} 个技能`,skillCount:(e,t)=>`${e}/${t} 个技能`,showMore:e=>`还有 ${e} 个`,showLess:"收起",otherDetected:"已检测到"},fileTree:{newFileTitle:"在此目录新建文件",rename:"重命名",delete:"删除",create:"创建",enterFileName:"请输入文件名",failed:"操作失败",confirmDelete:e=>`确定删除「${e}」?可在回收站恢复(30 天内)。`,rules:"规则",about:"说明",viewAll:"查看全部",editRules:"编辑规则",viewRules:"查看规则",renameSpace:"重命名空间",deleteSpace:"删除空间",confirmDeleteSpace:e=>`删除空间「${e}」及其所有文件?可在回收站恢复(30 天内)。`,convertToSpace:"转为空间",deleteFolder:"删除文件夹",confirmDeleteFolder:e=>`删除文件夹「${e}」及其所有内容?可在回收站恢复(30 天内)。`,newFile:"新建文件",importFile:"导入文件",importToSpace:"导入文件到此空间",copyPath:"复制路径",pathCopied:"路径已复制",pinToFavorites:"固定到收藏",removeFromFavorites:"取消收藏",export:"导出..."},pinnedFiles:{title:"收藏文件",addedToast:"已添加到收藏",removedToast:"已取消收藏",empty:"还没有收藏文件",emptyHint:"点击任何文件上的星标图标即可收藏"},trash:{title:"回收站",subtitle:"删除的文件将保留 30 天。",empty:"回收站为空",emptySubtext:"删除的文件将在此处保留 30 天。",emptyTrash:"清空回收站",emptyTrashConfirm:"永久删除回收站中的所有项目?此操作不可撤销。",restore:"恢复",deletePermanently:"彻底删除",deletePermanentlyConfirm:e=>`确定彻底删除「${e}」?此操作不可撤销。`,from:"来自",deletedAgo:e=>`${e}删除`,expiresIn:e=>`${e} 天后过期`,restored:"已恢复",deleted:"已彻底删除",movedToTrash:"已删除",undo:"撤销",undoFailed:"撤销失败",restoreFailed:"无法恢复文件,请检查磁盘空间后重试。",deleteFailed:"无法彻底删除,请重试。",emptyFailed:"无法清空回收站,请重试。",emptied:e=>`已清空 ${e} 个项目`,restoreConflict:"原位置已有同名文件。",overwrite:"覆盖",saveAsCopy:"保存副本",itemCount:e=>`${e} 个项目`,undoDelete:"撤销",viewInTrash:"查看回收站",fileDeleted:e=>`「${e}」已移至回收站`,cancel:"取消",justNow:"刚刚",minutesAgo:e=>`${e} 分钟前`,hoursAgo:e=>`${e} 小时前`,daysAgo:e=>`${e} 天前`},export:{title:"导出",exportFile:"导出文件",exportSpace:"导出空间",chooseFormat:"选择格式",formatMd:"Markdown (.md)",formatMdDesc:"原始格式,可编辑",formatHtml:"HTML (.html)",formatHtmlDesc:"静态网页,可分享",formatZipMd:"Markdown ZIP",formatZipMdDesc:"所有文件,原始格式",formatZipHtml:"HTML ZIP",formatZipHtmlDesc:"所有文件,网页格式",preview:"预览",exporting:"导出中...",exportButton:"导出",cancel:"取消",close:"完成",done:"导出完成",downloadAgain:"再次下载",fileCount:e=>`${e} 个文件`,downloaded:"已下载",error:"导出失败,请检查磁盘空间后重试。",retry:"重试"},fileImport:{title:"导入文件",subtitle:"将外部文件存入知识库或让 AI 帮你整理",dropzoneText:"拖拽文件到这里,或",dropzoneButton:"点击选择",dropzoneCompact:"拖拽更多文件,或",dropzoneCompactButton:"点击添加",dropzoneMobile:"点击选择文件",fileCount:e=>`${e} 个文件`,clearAll:"清空全部",unsupported:"不支持的文件类型",tooLarge:e=>`文件过大(最大 ${e})`,archiveTitle:"存入知识库",archiveDesc:"原样归档到指定空间",digestTitle:"AI 帮我整理",digestDesc:"提取要点,沉淀到笔记",archiveConfigTitle:"存入知识库",back:"← 返回",targetSpace:"目标空间",rootDir:"根目录",conflictLabel:"同名文件已存在时",conflictRename:"自动重命名(添加序号后缀)",conflictSkip:"跳过不导入",conflictOverwrite:"覆盖已有文件",overwriteWarn:"将永久替换已有文件内容",cancel:"取消",importButton:e=>`存入 ${e} 个文件`,importing:"正在存入...",preparing:"准备中...",successToast:(e,t)=>`已存入 ${e} 个文件到 ${t||"知识库"}`,updatedIndex:e=>`更新了 ${e} 个索引文件`,partialToast:(e,t)=>`存入 ${e}/${t} 个文件`,skipReason:"同名文件已存在",failToast:"导入失败",retry:"重试",undo:"撤销",discardTitle:"放弃导入?",discardMessage:e=>`放弃已选的 ${e} 个文件?`,discardConfirm:"放弃",discardCancel:"取消",dropOverlay:"松开鼠标,导入文件到知识库",dropOverlayFormats:"支持 .md .txt .pdf .csv .json .yaml .html",onboardingHint:"已有笔记?导入文件到知识库 →",digestPromptSingle:(e,t)=>{let n=t?`"${t}" 空间下`:"知识库中合适的位置";return`用户上传了「${e}」。你必须:
18
+ 1. 从上方「USER-UPLOADED FILES」区域读取文件内容
19
+ 2. 提取和重新整理关键信息为结构清晰的 Markdown 笔记
20
+ 3. 将整理后的内容保存到${n}——可以创建新文件,也可以更新已有文件
21
+
22
+ 不要只做文字回复。你必须实际写入知识库。`},digestPromptMulti:(e,t)=>{let n=t?`"${t}" 空间下`:"知识库中合适的位置";return`用户上传了 ${e} 个文件。你必须:
23
+ 1. 从上方「USER-UPLOADED FILES」区域读取它们的内容
24
+ 2. 提取和重新整理关键信息为结构清晰的 Markdown 笔记
25
+ 3. 将整理后的内容保存到${n}——可以创建新文件,也可以更新已有文件
26
+
27
+ 不要只做文字回复。你必须实际写入知识库。`},arrowTo:"→",remove:"移除",aiRecommended:"推荐",aiRecommendedHint:"根据文件名自动匹配",conflictsFound:e=>`${e} 个文件已存在`,organizeTitle:"AI 整理中",organizeProcessing:"AI 正在分析和整理你的文件...",organizeConnecting:"正在连接 AI...",organizeAnalyzing:"AI 正在分析你的文件...",organizeReading:e=>e?`正在阅读 ${e}...`:"正在阅读文件...",organizeThinking:"AI 正在深度思考...",organizeWriting:e=>e?`正在写入 ${e}...`:"正在写入文件...",organizeElapsed:e=>{let t=Math.floor(e/60);return`${t}:${(e%60).toString().padStart(2,"0")}`},organizeCancel:"取消",organizeMinimize:"继续浏览",organizeExpand:"查看",organizeCreating:e=>`正在创建 ${e}`,organizeUpdating:e=>`正在更新 ${e}`,organizeReviewTitle:"整理完成",organizeErrorTitle:"整理失败",organizeReviewDesc:e=>`AI 整理了 ${e} 处变更`,organizeCreated:"已创建",organizeUpdated:"已更新",organizeFailed:"失败",organizeNoChanges:"AI 分析了你的文件,但没有做任何更改。",organizeToolCallsInfo:e=>`AI 执行了 ${e} 个操作 — 请检查知识库查看更新`,organizeError:"整理失败",organizeRetry:"重试",organizeDone:"完成",organizeUndoAll:"撤销全部",organizeUndoOne:"撤销",organizeUndone:"已撤销",organizeViewFile:"查看文件",organizeUndoSuccess:e=>`已撤销 ${e} 个文件`,organizeDetailTitle:"AI 整理详情",organizeSourceFiles:"源文件",organizeSummaryLabel:"AI 总结",organizeChangesLabel:e=>`变更列表 (${e})`,organizeNoSummary:"AI 正在处理中...",organizeMinimizeModal:"最小化"},importHistory:{title:"导入历史",clearAll:"清空历史",clearConfirm:"清空所有历史记录?此操作不可撤销。",emptyTitle:"暂无导入记录",emptyDesc:"AI 整理的结果会出现在这里",back:"← 返回",sourceLabel:"来源",changesCount:(e,t)=>`${e}/${t} 处变更`,recordCount:e=>`${e} 条记录`,today:"今天",yesterday:"昨天",older:"更早",processedArchive:"已处理的文件归档在 Inbox/.processed/ 中"},dirView:{gridView:"网格视图",listView:"列表视图",emptyFolder:"此目录为空。",fileCount:e=>`${e} 个文件`,newFile:"新建文件",uninitTitle:"空间尚未初始化",uninitDesc:"README.md 和 INSTRUCTION.md 仍是默认模板。配置 AI API 密钥后可自动生成个性化内容,或手动编辑。",uninitEditReadme:"编辑 README",uninitEditInstruction:"编辑 Instruction",uninitSettings:"设置"},view:{saveDirectory:"目录",saveFileName:"文件名",delete:"删除",deleteConfirm:e=>`确定删除「${e}」?文件将移至回收站。`,cancel:"取消",rename:"重命名",copyPath:"复制路径",more:"更多",dismiss:"关闭",tocTitle:"本页目录",tocCollapse:"收起",tocExpand:"展开",emptyNote:"此笔记为空。按 E 开始编辑。",switchToDoc:"文档视图",switchToGraph:"知识图谱"},findInPage:{placeholder:"在文档中查找…",matchCount:(e,t)=>`${e} / ${t}`,noResults:"无结果"},panels:{agents:{title:"智能体",connected:"已连接",refresh:"刷新智能体状态",retry:"重试",failedToLoad:"加载智能体失败",mcpServer:"MCP 服务器",stopped:"已停止",sectionConnected:"已连接",sectionDetected:"已检测",sectionNotDetected:"未检测到",noAgents:"未检测到智能体。",autoRefresh:"每 30 秒自动刷新",connect:"连接",installing:"安装中...",install:"安装",installSuccess:"已安装",installFailed:"安装失败",retryInstall:"重试",copyConfig:"复制配置",copied:"已复制!",transportLocal:"本地",transportRemote:"远程",configPath:"配置路径",noAuthWarning:"未设置 Token — 请在高级配置中设置",skillsTitle:"技能",skillsActive:"已启用",builtinSkills:"内置",newSkill:"+ 新建",advancedConfig:"高级配置 →",navOverview:"总览",navMcp:"MCP",navSkills:"技能",navNetwork:"网络",navSessions:"会话",navActivity:"活动",activitySubtitle:"Agent 操作审计日志。",activity:{loading:"正在加载活动...",empty:"暂无 Agent 操作记录。",emptyHint:"已连接 Agent 的操作将显示在这里。",agentLabel:"Agent"},a2aTabTitle:"远程 Agent",a2aTabEmpty:"无远程 Agent",a2aTabEmptyHint:"发现远程 Agent 以启用跨 Agent 委派。",a2aRemoveAgent:"移除",rosterLabel:"当前环境",notFoundDetail:"本机未检测到该智能体客户端。请安装后刷新列表。",skillsEmptyHint:"请在「MCP 与技能」设置中启用或编辑技能。",backToList:"返回",closeAgentDetail:"关闭",agentDetailPanelAria:"智能体连接配置",agentDetailTransport:"传输方式",agentDetailSnippet:"配置片段",a2aLabel:"A2A",a2aReady:"A2A 就绪",a2aChecking:"检测 A2A 中...",a2aUnavailable:"A2A 不可用",a2aRemote:"远程",a2aDiscover:"发现远程 Agent",a2aDiscoverHint:"通过 URL 连接外部 A2A Agent",a2aDiscoverPlaceholder:"https://agent.example.com",a2aDiscovering:"发现中...",a2aDiscoverSuccess:"Agent 已发现!",a2aDiscoverFailed:"未在此 URL 找到 A2A Agent",a2aDiscoverFailedHint:"该服务器可能不支持 A2A 协议,请检查 URL 后重试。",a2aSkills:"技能",a2aEndpoint:"端点",a2aVersion:"版本",a2aCapabilities:"A2A 能力",a2aStatus:"状态",a2aConnected:"已连接,A2A 就绪",a2aNoRemote:"无远程 Agent",a2aNoRemoteHint:"发现远程 Agent 以启用跨 Agent 委派。",a2aDelegations:"近期委派",a2aDelegationsEmpty:"暂无委派记录",a2aDelegationCompleted:"已完成",a2aDelegationFailed:"失败",a2aDelegationPending:"进行中",acpSectionTitle:"已安装智能体",acpSectionDesc:e=>`已检测到 ${e} 个智能体`,acpNoInstalled:"未检测到编程智能体。安装一个即可在 MindOS 中直接委派任务。",acpAvailableTitle:"注册表中可用",acpAvailableDesc:e=>`还有 ${e} 个智能体可安装`,acpShowAvailable:"展开",acpHideAvailable:"收起",acpCopyCmd:"复制",acpCopied:"已复制",acpTransportNpx:"npx",acpTransportBinary:"二进制",acpTransportUvx:"uvx",acpTransportStdio:"stdio",acpUseAgent:"使用",acpComingSoon:"即将上线 — 当前可通过 Ask AI 调用",acpReady:"就绪",acpNotInstalled:"未安装",acpScan:"重新扫描",acpInstallHint:e=>`安装命令: ${e}`,acpInstall:"安装",acpInstalling:"安装中…",acpLoading:"加载 ACP 注册表中…",acpLoadFailed:"加载 ACP 注册表失败。",acpRetry:"重试",acpQuickReview:"代码审查",acpQuickFix:"修复Bug",acpQuickExplain:"解释项目",acpUseWith:e=>`使用 ${e} `,acpDefaultAgent:"MindOS Agent",acpSelectAgent:"选择 Agent",acpChangeAgent:"切换 Agent",acpConfigToggle:"配置",acpConfigCommand:"命令",acpConfigArgs:"参数",acpConfigEnv:"环境变量",acpConfigEnvAdd:"添加环境变量",acpConfigSource:"来源",acpConfigSourceBuiltin:"内置",acpConfigSourceRegistry:"注册表",acpConfigSourceUser:"自定义",acpConfigReset:"重置",acpConfigSave:"保存",acpConfigSaved:"已保存",acpConfigPath:"路径",networkEmptyTitle:"连接智能体生态",networkEmptyDesc:"发现远程 Agent 或浏览 ACP 注册表中的编程智能体。",networkDiscoverBtn:"发现 Agent",networkBrowseBtn:"浏览注册表"},plugins:{title:"插件",active:"已启用",noPlugins:"暂无插件",core:"核心",coreDisabled:"核心插件 — 不可禁用",footer:"插件用于自定义文件渲染方式。核心插件不可禁用。",ready:"就绪 — 点击打开",disabled:"已禁用",noFile:"入口文件不存在",createFile:"创建 {file} 以激活"},echo:{title:"回响",aboutYouTitle:"关于你",aboutYouDesc:"指向你的笔记与线索",continuedTitle:"未完待续",continuedDesc:"草稿与未收口的事",dailyEchoTitle:"今日",dailyDesc:"一行就够",pastYouTitle:"往昔",pastYouDesc:"瞥见另一个时间点的自己",intentGrowthTitle:"生长",growthDesc:"你正在推进的方向"},discover:{title:"探索",useCases:"使用案例",useCasesDesc:"动手体验 MindOS 的典型场景",pluginMarket:"插件市场",pluginMarketDesc:"扩展文件的渲染和编辑方式",skillMarket:"技能市场",skillMarketDesc:"为 AI 智能体添加新能力",spaceTemplates:"空间模板",spaceTemplatesDesc:"预设的空间结构,适用于常见工作流场景",comingSoon:"即将推出",viewAll:"查看所有使用案例",tryIt:"试试"},workflows:{title:"流程",empty:"还没有流程",emptyDesc:"创建第一个流程,用 AI 自动化多步骤任务。",newWorkflow:"新建流程",nSteps:e=>`${e} 个步骤`,parseError:"解析错误",name:"名称",namePlaceholder:"我的流程",template:"模板",templateBlank:"空白",create:"创建",cancel:"取消",creating:"创建中...",exists:"已存在同名流程"}},echoPages:{parent:"回响",heroKicker:"回响",segmentNavAria:"回响模块",snapshotBadge:"本地 \xb7 私密",factsHeading:"所见",snapshotAboutYouTitle:"线索在此汇聚",snapshotAboutYouBody:"路径、链接或标题指向你的笔记会浮现在这里,点击即可打开编辑。现在也可以用下方按钮打开 Agent 聊聊。",snapshotContinuedTitle:"草稿与未收口",snapshotContinuedBody:"未命名草稿、写到一半的稿、待办里尚未勾上的项,接入文库后会汇集在此。",snapshotDailyTitle:"从一行开始",snapshotDailyBody:"离手即存,写在浏览器本机。一行就够——想展开时再找 Agent。",snapshotPastYouTitle:"温和地一瞥",snapshotPastYouBody:"从时间轴里随机浮出一篇旧笔记片段,让你瞥见那时的自己。即将上线。",snapshotGrowthTitle:"意图落在这里",snapshotGrowthBody:"写一句此刻最想推进的方向。它只保存在本机,可随时间改写。",insightTitle:"见解",insightShow:"展开见解",insightHide:"收起见解",insightHint:"只会带上本页可见的文字(含「所见」与你在本页输入的内容),不会默认上传整库。需在 设置 → AI 中配置后再用。",generateInsight:"生成见解",generateInsightNoAi:"请在 设置 → AI 中填写 API Key(或配置环境变量)后刷新本页。",insightGenerating:"生成中…",insightErrorPrefix:"生成失败:",insightRetry:"重试",continueAgent:"在 Agent 中展开",continuedDrafts:"草稿",continuedTodos:"未收口",subEmptyHint:"接入文库后,条目会出现在对应分组里。",dailyLineLabel:"今日一行",dailyLinePlaceholder:"写下一行轻量的文字…",dailySavedNote:"已保存在本机浏览器;仅本设备可见。",savedFlash:"已保存",dailyAskPrefill:e=>`回响 / 每日 — 围绕这一行帮我展开:
28
+
29
+ ${e.trim()||"(空行)"}`,pastYouDrawLabel:"往日一瞥",pastYouAnother:"再抽一笔",pastYouComingSoon:"即将推出",pastYouDisabledHint:"时间轴采样即将上线——届时轻点即可抽读旧笔记片段。",growthIntentLabel:"当前意图",growthIntentPlaceholder:"写下你正在推进的方向…",growthSavedNote:"已保存在本机。",aboutYouLead:"无需翻找,与你相关的笔记自然浮现。",continuedLead:"草稿、待办、写到一半的念头。",dailyLead:"一行就够。想展开时再找 Agent。",pastYouLead:"温和地瞥见另一个时间点的自己。",growthLead:"你正在推进的方向,以及它如何缓慢漂移。"},agentsContent:{title:"智能体",subtitle:"连接、技能与状态,一目了然。",workspacePulse:{title:"你的 Agent",connected:"已连接",detected:"已检测",notFound:"未找到",risk:"风险",enabledSkills:"已启用",healthy:"正常",needsAttention:e=>`${e} 个问题`},navOverview:"总览",navMcp:"MCP",navSkills:"技能",navNetwork:"网络",navSessions:"会话",navActivity:"活动",activitySubtitle:"Agent 操作审计日志。",activity:{loading:"正在加载活动...",empty:"暂无 Agent 操作记录。",emptyHint:"已连接 Agent 的操作将显示在这里。",agentLabel:"Agent"},a2aTabTitle:"远程 Agent",a2aTabEmptyHint:"发现远程 Agent 以启用跨 Agent 委派。",backToOverview:"返回总览",na:"暂无",status:{connected:"已连接",detected:"已检测",notFound:"未找到"},overview:{connected:"已连接",detected:"已检测",notFound:"未找到",riskQueue:"待处理",noRisk:"一切正常,暂无问题。",usagePulse:"全部 Agent",nextAction:"建议操作",nextActionHint:"优先重连已检测的 Agent,再启用所需技能。",riskLevelError:"异常",riskLevelWarn:"注意",na:"暂无",colAgent:"Agent",colStatus:"状态",colMcp:"MCP",colSkills:"技能",colMode:"模式",colRuntime:"运行时",pulseMcp:"MCP",pulseTools:"工具数",mcpOffline:"离线",toolsUnit:e=>`${e} 个工具`,enabledUnit:e=>`${e} 已启用`,agentCount:e=>`${e} 个 Agent`,runtimeActive:"活跃",riskMcpStopped:"MCP 服务未运行。",riskDetected:e=>`${e} 个已检测 Agent 待配置。`,riskSkillsDisabled:"所有技能已禁用。",recentActivity:"最近活动",viewAll:"查看全部",showLess:"收起",addCustomAgent:"添加自定义 Agent",addCustomAgentTitle:"添加自定义 Agent",editCustomAgentTitle:e=>`编辑 ${e}`,customAgentName:"Agent 名称",customAgentNamePlaceholder:"例如 QCLaw、WorkBuddy",customAgentDir:"配置目录",customAgentDirPlaceholder:"~/.qclaw/",customAgentDirHint:"常见路径:~/.xxx/ 或 ~/Library/Application Support/",customAgentKeyPreview:e=>`标识符:${e}`,customAgentContinue:"继续",customAgentDetecting:"检测中...",customAgentDirFound:"目录已找到",customAgentDirNotFound:"目录尚未创建,安装后将自动检测",customAgentDetectTimeout:"检测超时,使用默认配置",customAgentDetectedTitle:"检测到的配置",customAgentDefaultTitle:"默认配置",customAgentConfigLabel:"MCP 配置",customAgentFormatLabel:"格式",customAgentTransportLabel:"传输协议",customAgentSkillsLabel:"技能",customAgentSkillsFound:e=>`发现 ${e} 个`,customAgentCustomize:"自定义配置",customAgentAdd:"添加 Agent",customAgentAdding:"添加中...",customAgentSave:"保存更改",customAgentSaving:"保存中...",customAgentRetry:"重试",customAgentAdded:e=>`${e} 已添加`,customAgentUpdated:e=>`${e} 已更新`,customAgentRemoved:e=>`${e} 已移除`,customAgentRemoveTitle:e=>`移除「${e}」?`,customAgentRemoveMessage:"这将从 MindOS 中移除该 Agent,不会删除磁盘上的任何文件。",customAgentRemoveConfirm:"移除",customAgentConfigPath:"MCP 配置文件路径",customAgentConfigKey:"配置键名",customAgentFormat:"格式",customAgentTransport:"传输协议",customAgentProjectConfig:"项目配置路径(可选)",customAgentCliBinary:"CLI 命令名(可选)",customAgentCliBinaryPlaceholder:"例如 qclaw",customAgentEdit:"编辑",customAgentRemove:"移除",customAgentCancel:"取消",customAgentNetworkError:"网络错误,请重试。",customAgentFailedSave:"保存失败",customAgentFailedRemove:"移除失败",customAgentKeyConflict:e=>`已存在标识为 "${e}" 的 Agent`,customAgentBuiltinConflict:e=>`与内置 Agent "${e}" 冲突`},mcp:{title:"MCP 连接",refresh:"刷新",connectionGraph:"跨 Agent 服务器连接",tabs:{manage:"管理",topology:"图谱",byAgent:"按 Agent 查看",byServer:"按 MCP 服务器查看"},searchPlaceholder:"搜索 Agent...",installMindos:"安装 MindOS MCP",installed:"已安装",mcpServerLabel:"MCP 服务器",searchServersPlaceholder:"搜索 MCP 服务器...",serverAgentCount:e=>`${e} 个 Agent`,emptyState:"当前筛选条件下没有匹配的 Agent。",resultCount:e=>`${e} 个 Agent`,filteredSummaryTitle:"筛选结果状态摘要",filteredConnected:e=>`已连接:${e}`,filteredDetected:e=>`已检测:${e}`,filteredNotFound:e=>`未找到:${e}`,crossAgentServersTitle:"MCP 服务器",crossAgentServersEmpty:"暂未检测到 MCP 服务器。",crossAgentServerAgents:e=>`使用者:${e}`,configVisibilityTitle:"配置信息",hiddenRootDetected:(e,t)=>`隐藏目录:${e}/${t}`,runtimeSignalDetected:(e,t)=>`运行信号:${e}/${t}`,riskQueueTitle:"待处理",riskMcpStopped:"MCP 服务未运行。",riskDetected:e=>`${e} 个已检测 Agent 待配置。`,riskNotFound:e=>`${e} 个 Agent 未在本机检测到。`,riskSkillsDisabled:"所有技能已禁用。",bulkReconnectFiltered:"全部重连",bulkRunning:"正在批量重连...",bulkSummary:(e,t)=>`重连成功 ${e} 个,失败 ${t} 个。`,transportFilters:{all:"全部传输",stdio:"stdio",http:"http",other:"其他"},filters:{all:"全部",connected:"已连接",detected:"已检测",notFound:"未找到"},table:{agent:"Agent",status:"状态",transport:"传输",actions:"操作"},actions:{copySnippet:"复制配置",copied:"已复制",testConnection:"测试连接",reconnect:"重连"},addAgent:"添加",removeFromServer:"移除",confirmRemoveTitle:"从服务器移除?",confirmRemoveMessage:(e,t)=>`将"${e}"从"${t}"移除?配置文件将自动更新。`,cancel:"取消",noAvailableAgents:"所有 Agent 均已添加。",manualRemoveHint:"已标记移除,请编辑 Agent 配置文件完成操作。",removeSuccess:"已移除,重启 Agent 后生效。",removeFailed:"移除失败,请手动编辑配置文件。",reconnectAllInServer:"全部重连",reconnectAllRunning:"正在重连...",reconnectAllDone:(e,t)=>`完成:${e} 已重连${t>0?`,${t} 失败`:""}。`,serverTransport:e=>`传输:${e}`,mcpDisabledMessage:"MCP 模式未启用。",mcpDisabledHint:"请在设置 → 连接中启用,以使用 MCP 智能体。"},skills:{title:"技能",summaryTitle:"技能状态",summaryEnabled:e=>`已启用:${e}`,summaryDisabled:e=>`已禁用:${e}`,summaryAttention:e=>`需关注:${e}`,crossAgentSkillsTitle:"已安装技能",crossAgentSkillsEmpty:"暂未检测到已安装技能。",crossAgentSkillAgents:e=>`安装于:${e}`,capabilityGroups:"跨 Agent 技能管理",registrySummaryTitle:"技能注册表",registryUniversal:e=>`通用:${e}`,registryAdditional:e=>`附加:${e}`,registryUnsupported:e=>`不支持:${e}`,registryHiddenRoots:(e,t)=>`隐藏目录:${e}/${t}`,tabs:{manage:"管理",matrix:"矩阵",bySkill:"按技能查看",byAgent:"按 Agent 查看"},searchPlaceholder:"搜索技能...",agentSkillMode:"技能模式",agentMcpServers:"MCP 服务器",agentNativeSkills:"原生技能",agentMindosSkills:"MindOS 技能",noAgentsYet:"尚未检测到任何 Agent。",moreSkills:e=>`另有 ${e} 个`,sourceAll:"全部",sourceBuiltin:"内置",sourceUser:"自定义",sourceNative:"原生",summaryNative:e=>`原生:${e}`,statusAll:"全部状态",statusEnabled:"已启用",statusDisabled:"已禁用",statusAttention:"需关注",capabilityAll:"全部能力",bulkEnableFiltered:"全部启用",bulkDisableFiltered:"全部停用",bulkRunning:"正在应用变更...",bulkNoChanges:"当前无需变更。",bulkAllSucceeded:e=>`已更新 ${e} 个技能。`,bulkPartialFailed:(e,t)=>`已更新 ${e} 个,失败 ${t} 个。`,resultCount:e=>`${e} 个技能`,matrixAgentFocusLabel:"Agent 聚焦",matrixAgentFocusAll:"全部 Agent",matrixColumnSkill:"技能",matrixEnabled:"已启用",matrixDisabled:"已禁用",matrixUnsupported:"不支持",matrixNoAgents:"当前无可用于矩阵的 Agent。",noSkillsMatchFilter:"当前筛选条件下无技能。",matrixEmpty:"当前筛选条件下无技能。",addAgentToSkill:"添加",removeAgentFromSkill:"移除",confirmRemoveAgentTitle:"从技能移除?",confirmRemoveAgentMessage:(e,t)=>`将"${e}"从"${t}"移除?需编辑 Agent 配置文件完成操作。`,cancelSkillAction:"取消",noAvailableAgentsForSkill:"所有 Agent 均已拥有此技能。",manualSkillHint:"已标记,请编辑 Agent 配置文件完成操作。",skillDescription:"描述",skillNoDescription:"暂无描述。",skillDeleteAction:"删除",confirmDeleteSkillTitle:"删除技能?",confirmDeleteSkillMessage:e=>`确认永久删除技能"${e}"?此操作不可撤销。`,skillDeleted:"技能已删除。",skillDeleteFailed:"删除技能失败。",copyInstallCmd:"复制安装命令",installCmdCopied:"已复制!",skillAgentCount:e=>`${e} 个 Agent`,quickStatsMcp:e=>`${e} MCP`,quickStatsSkills:e=>`${e} 技能`,showAllNative:e=>`展开全部 ${e} 项`,collapseNative:"收起",emptyGroup:"该分组暂无技能。",groupLabels:{research:"研究",coding:"编码",docs:"文档",ops:"运维",memory:"记忆"},skillPopover:{close:"关闭",source:"来源",sourceBuiltin:"内置",sourceUser:"自定义",sourceNative:"原生",capability:"能力类型",path:"文件路径",enabled:"已启用",disabled:"已禁用",agents:"Agent",noAgents:"暂无 Agent 拥有此技能。",content:"技能内容",loading:"加载中…",loadFailed:"加载技能内容失败。",retry:"重试",copyContent:"复制",copied:"已复制!",noDescription:"暂无描述。",deleteSkill:"删除",confirmDeleteTitle:"删除技能?",confirmDeleteMessage:e=>`确认永久删除技能"${e}"?此操作不可撤销。`,confirmDeleteAction:"删除",cancelAction:"取消",deleted:"技能已删除。",deleteFailed:"删除技能失败。"}},detail:{healthStripTitle:"状态",healthConnected:"已连接",healthInstalled:"MCP 已安装",healthRuntimeSignals:"运行信号",healthConfiguredServers:"已配置服务器",healthInstalledSkills:"原生已安装技能",identity:"身份",connection:"连接",capabilities:"能力画像",skillAssignments:"技能分配",runtimeSignals:"运行与配置信号",recentActivity:"最近活动",spaceReach:"空间触达",agentKey:"Agent 标识",status:"状态",transport:"传输",endpoint:"端点",port:"端口",auth:"认证",authConfigured:"已配置",authMissing:"未配置",projectScope:"项目范围",globalScope:"全局范围",format:"配置格式",skillMode:"技能模式",hiddenRoot:"隐藏目录路径",hiddenRootPresent:"隐藏目录",conversationSignal:"对话",usageSignal:"用量",lastActivityAt:"最近活跃",skillsAll:"全部技能",skillsEnabled:"已启用技能",skillsSourceBuiltin:"内置",skillsSourceUser:"自定义",skillsSearchPlaceholder:"搜索全部已配置技能...",skillsFilterAll:"全部",skillsFilterBuiltin:"内置",skillsFilterUser:"自定义",skillEnable:"启用",skillDisable:"禁用",skillEdit:"编辑",skillSave:"保存",skillCancel:"取消",skillActionLoading:"处理中...",skillReadFailed:"读取技能内容失败。",skillSaveFailed:"保存技能内容失败。",mcpManagement:"MCP 管理",mcpInstalled:"已安装",mcpScope:"当前范围",mcpConfigPath:"配置路径",mcpTargetScope:"目标范围",mcpTargetTransport:"目标传输",mcpScopeProject:"项目",mcpScopeGlobal:"全局",mcpCopySnippet:"复制片段",mcpCopied:"已复制",mcpRefresh:"刷新状态",mcpReconnect:"应用 MCP 配置",mcpApplying:"正在应用 MCP 配置...",mcpApplySuccess:"MCP 配置已应用。",mcpApplyFailed:"应用 MCP 配置失败。",nativeInstalledSkills:"已安装技能",nativeInstalledSkillsCount:e=>`检测到 ${e} 个`,nativeInstalledSkillsEmpty:"暂未检测到已安装技能。",nativeInstalledSkillsMore:e=>`另有 ${e} 个`,configuredMcpServers:"MCP 服务器",configuredMcpServersCount:e=>`检测到 ${e} 个`,configuredMcpServersEmpty:"暂未配置 MCP 服务器。",configuredMcpServersMore:e=>`另有 ${e} 个`,yes:"是",no:"否",noSkills:"暂无启用技能。",noActivity:"暂无活动记录。",noSpaceReach:"暂无空间触达数据。",skillDelete:"删除",skillDeleteConfirm:e=>`确认删除技能"${e}"?此操作不可撤销。`,skillDeleteSuccess:"技能已删除。",skillDeleteFailed:"删除技能失败。",mcpServerAdd:"添加 MCP 服务器",mcpServerRemove:"移除",mcpServerRemoveConfirm:e=>`从该 Agent 移除"${e}"?需编辑配置文件完成操作。`,mcpServerHint:"已标记,请编辑 Agent 配置文件完成操作。",mcpReconnectAll:"全部重连",mcpReconnectAllRunning:"正在重连...",mcpReconnectAllDone:(e,t)=>`已重连 ${e}${t>0?`,失败 ${t}`:""}。`,runtimeDiagTitle:"运行与诊断",runtimePing:"连通测试",runtimePinging:"测试中...",runtimePingOk:e=>`可达 (${e}ms)`,runtimePingFail:"不可达",runtimeUptime:"运行时长",runtimePid:"进程",runtimeMemory:"内存",runtimeVersion:"版本",runtimeStartedAt:"启动于",runtimeNoData:"暂无运行数据。",envPermTitle:"环境与权限",envVars:"环境变量",envVarsCount:e=>`已配置 ${e} 个`,envVarsEmpty:"暂无自定义环境变量。",envScope:"作用域",envReadOnly:"只读访问",envWriteAccess:"写入访问",envFileAccess:"文件访问",envNetworkAccess:"网络访问",envAllowed:"允许",envRestricted:"受限",activityTitle:"活动与用量",activityTotal:"总调用次数",activityLast7d:"近 7 天",activityLastInvocation:"最近调用",activityTokensUsed:"消耗 Tokens",activityAvgLatency:"平均延迟",activityNoData:"暂无活动记录。",knowledgeInteraction:"知识交互",knowledgeNoData:"暂无交互记录。Agent 开始使用你的知识库后,活动将显示在这里。",recentOps:"近期操作",statTotalCalls:"总调用",statFilesTouched:"涉及文件",statReadWrite:"读 / 写",statHealth:"健康度",viewFullLog:"查看完整日志",showLess:"收起"},detailSubtitle:"",detailNotFound:"未找到该 Agent,可能已移除或重命名。",detailNotFoundHint:"该 Agent 可能已断开连接或配置文件已移动。请尝试重启 Agent 或检查 MCP 配置。",detailNotFoundSuggestion:"已连接的 Agent:"},settings:{title:"设置",tabs:{ai:"AI",appearance:"外观",knowledge:"通用",sync:"同步",mcp:"连接",plugins:"插件",shortcuts:"快捷键",monitoring:"监控",agents:"智能体",update:"更新",uninstall:"卸载"},ai:{provider:"服务商",model:"模型",apiKey:"API 密钥",baseUrl:"接口地址",baseUrlHint:"可选。用于代理或自定义 API 端点。",keyHint:"本地存储于 ~/.mindos/config.json",keyOptionalHint:"本地服务商可选。存储于 ~/.mindos/config.json",envHint:"标有 env 的字段存在环境变量值。你可以在此覆盖,或一键恢复为环境变量默认值。",envFieldNote:e=>`环境变量 ${e} 已设置。清空此字段将回退到环境变量值。`,resetToEnv:"恢复为环境变量",restoreFromEnv:"从环境变量恢复",keyChange:"更改",keyCancel:"取消",noApiKey:"API 密钥未设置,AI 功能暂不可用,请在此填写。",testKey:"测试",testKeyTesting:"测试中...",testKeyOk:e=>`\u2713 ${e}ms`,testKeyAuthError:"API Key 无效",testKeyModelNotFound:"模型不存在",testKeyRateLimited:"请求频率限制,稍后重试",testKeyNetworkError:"网络错误",testKeyNoKey:"未配置 API Key",testKeyUnknown:"测试失败",listModels:"选择模型",noModelsFound:"未找到可用模型"},agent:{title:"Agent 行为",subtitle:"配置 AI 代理的运行方式",maxSteps:"最大步数",maxStepsHint:"每次请求的最大工具调用步数(1-30)",contextStrategy:"上下文策略",contextStrategyHint:"自动:上下文填满时摘要早期消息。关闭:不进行摘要(紧急裁剪仍会生效)。",contextStrategyAuto:"自动(压缩 + 裁剪)",contextStrategyOff:"关闭",thinking:"深度思考",thinkingHint:"显示 Claude 的推理过程(消耗更多 token)",thinkingBudget:"思考预算",thinkingBudgetHint:"推理最大 token 数(1000-50000)",reconnectRetries:"自动重连",reconnectRetriesHint:"连接断开时自动重试次数,重试耗尽后停止(0 = 关闭)"},appearance:{readingTitle:"阅读",readingDesc:"自定义笔记的阅读体验",readingFont:"正文字体",fontSize:"字体大小",fontSizePreview:"人之初性本善。",contentWidth:"内容宽度",preferencesTitle:"偏好",colorTheme:"颜色主题",system:"系统",dark:"深色",light:"浅色",language:"语言",browserNote:"外观设置保存在浏览器本地。",labsTitle:"实验性功能",labsDesc:"仍在开发中的功能,可能会变更或移除。",labsEcho:"回响",labsEchoDesc:"基于笔记的反思性日记。",labsWorkflows:"工作流",labsWorkflowsDesc:"Agent 可视化工作流自动化。",fontPreview:"人之初,性本善;性相近,习相远。"},knowledge:{cardTitle:"知识库",securityTitle:"安全",passwordPlaceholder:"留空可禁用",passwordShow:"显示",passwordHide:"隐藏",tokenNotSet:"— 未设置 —",mcpUrl:"MCP 地址",tokenGenerated:"已生成新令牌。请立即复制 — 之后不会再次完整显示。",monitoringTitle:"系统监控",monitoringFailed:"加载监控数据失败",monitorHeap:"堆内存",monitorRss:"RSS",monitorUptime:"运行时间",monitorNode:"Node",monitorRequests:"请求数",monitorToolCalls:"工具调用",monitorTokens:"Token",monitorFiles:"文件",monitorErrors:"错误",monitorMcpRunning:e=>`运行中 :${e}`,monitorMcpStopped:"已停止",cancel:"取消",mindRoot:"知识库根目录",mindRootHint:"笔记目录的绝对路径,修改后需要重启服务器。",mindRootEnvHint:e=>`MIND_ROOT 环境变量已设置为 "${e}",填写上方路径可覆盖它。`,envNote:"MIND_ROOT 环境变量已设置。填写上方路径后,你的值优先生效。",webPassword:"网页访问密码",webPasswordHint:"设置后访问浏览器 UI 需要登录,留空则关闭密码保护。下次刷新页面后生效。",webPasswordClear:"清除密码",authToken:"MCP / API 访问令牌",authTokenHint:"Agent 和 MCP 客户端使用的 Bearer Token,浏览器访问无需此项。",authTokenNone:"未设置令牌 — API 对所有请求开放。",authTokenCopy:"复制",authTokenCopied:"已复制!",authTokenReset:"重新生成",authTokenClear:"清除令牌",authTokenResetConfirm:"重新生成令牌?所有 MCP 客户端配置都需要更新。",authTokenMcpPort:"MCP 端口",restartWalkthrough:"重新开始引导",showHiddenFiles:"显示隐藏文件",showHiddenFilesHint:"在文件树中显示以 . 开头的文件夹(.agents、.claude、.mindos 等)。",cleanupExamples:"清理示例文件",cleanupExamplesHint:"移除知识库中所有模板示例文件(\uD83E\uDDEA_example_*)。",cleanupExamplesButton:"清理",cleanupExamplesNone:"没有找到示例文件",cleanupExamplesConfirm:e=>`删除 ${e} 个示例文件?此操作不可撤销。`,cleanupExamplesDone:e=>`已移除 ${e} 个示例文件`,cleanupExamplesScanning:"扫描中..."},sync:{emptyTitle:"跨设备同步",emptyDesc:"通过 Git 自动同步知识库到所有设备。",featureAutoCommit:"保存时自动提交",featureAutoPull:"自动拉取远程更新",featureConflict:"冲突检测",featureMultiDevice:"多设备同步",remoteUrl:"Git 远程仓库 URL",invalidUrl:"无效的 Git URL — 请使用 HTTPS (https://...) 或 SSH (git@...) 格式",sshBrief:"一次配置,无需令牌",httpsBrief:"通用性强,建议配令牌",sshHint:"需要本机已配置 SSH 密钥。验证命令:ssh -T git@github.com",accessToken:"访问令牌",optional:"(可选,私有仓库需要)",tokenHint:"GitHub:",tokenLink:"创建令牌(勾选 repo 权限)",branchLabel:"分支",connectButton:"连接并开始同步",connecting:"连接中...",stepConnecting:"正在连接远程仓库...",stepAuthenticating:"正在验证身份...",stepSyncing:"正在同步数据...",stepAlmostDone:"即将完成...",stepDone:"同步配置成功!",gitignoreTitle:"排除文件",gitignorePlaceholder:"# 不同步的文件\n*.tmp\nsecret/",gitignoreSave:"保存",gitignoreSaved:"已保存",conflictExplain:"这些文件在本机和远程都被修改了。请选择保留哪个版本。",keepLocal:"保留本地",keepRemote:"保留远程",keepLocalHint:"保留本机的版本",keepRemoteHint:"替换为远程版本",viewDiff:"点击查看两个版本的差异",localVersion:"本地(本机)",remoteVersion:"远程",emptyFile:"(空)",sectionTitle:"同步",labelProvider:"提供商",labelRemote:"远程",labelBranch:"分支",labelLastSync:"最后同步",labelUnpushed:"未推送",labelAutoSync:"自动同步",unpushedCommits:e=>`${e} 次提交`,syncNow:"立即同步",disableAutoSync:"禁用自动同步",enableAutoSync:"启用自动同步",syncComplete:"同步完成",syncFailed:"同步失败",autoSyncDisabled:"已禁用自动同步",autoSyncEnabled:"已启用自动同步",toggleFailed:"切换同步失败",conflictsTitle:e=>`冲突 (${e})`,conflictHint:"单击文件查看你的版本。悬停并单击",conflictHintSuffix:"查看远程版本。",timeNever:"从未",timeJustNow:"刚刚",timeMinAgo:e=>`${e} 分钟前`,timeHourAgo:e=>`${e} 小时前`,timeDayAgo:e=>`${e} 天前`},plugins:{title:"已安装渲染器",builtinBadge:"内置",coreBadge:"核心",enabled:"已启用",disabled:"已禁用",matchHint:"自动匹配",coreHint:"核心渲染器 — 始终启用",noPlugins:"暂无渲染器。",comingSoon:"插件市场即将上线。"},mcp:{modeCardTitle:"连接模式",modeCardDesc:"选择 Agent 如何连接到 MindOS。",cliLabel:"CLI",cliModeDesc:"Claude Code、Gemini CLI、Codex 等。",mcpLabel:"MCP",mcpModeDesc:"Claude Desktop、Cursor、Windsurf 等。",alwaysOn:"始终开启",mcpRunning:"运行中",mcpStopped:"已停止",mcpEnabledHint:"MCP 模式已启用。若仅使用 CLI Agent,可禁用此项以简化界面。",mcpDisabledHint:"启用 MCP 以连接 Claude Desktop 或 Cursor 等桌面客户端。",serverTitle:"MindOS MCP 服务",status:"状态",running:"运行中",stopped:"已停止",transport:"传输方式",endpoint:"端点",tools:"工具",toolsRegistered:e=>`已注册 ${e} 个`,auth:"认证",authSet:"已设置 Token",authNotSet:"未设置",copyEndpoint:"复制端点",copyConfig:"复制配置",copied:"已复制!",agentsTitle:"Agent 配置",agent:"Agent",scope:"范围",project:"项目",global:"全局",installed:"已安装",notInstalled:"未安装",detected:"已检测",notFound:"未找到",transportStdio:"stdio(推荐)",transportHttp:"http",transportAuto:"自动(推荐)",httpUrl:"MCP URL",httpToken:"认证 Token",installSelected:"安装选中",installing:"安装中...",installSuccess:e=>`已配置 ${e} 个 agent`,installFailed:"安装失败",portLabel:"MCP 端口",portHint:"修改后需重启服务",skillsTitle:"技能",skillsDesc:"教 Agent 如何操作你的知识库。",skillAutoLoaded:"每次请求自动加载",skillSource:"来源",skillBuiltin:"内置",skillUser:"自定义",addSkill:"+ 添加技能",cliInstallHint:"通过命令行安装:",skillPathHint:"技能文件安装路径:",deleteSkill:"删除",editSkill:"编辑",saveSkill:"保存",cancelSkill:"取消",skillName:"名称",skillDesc:"描述",skillContent:"内容",skillNameConflict:"同名技能已存在",skillDeleteConfirm:e=>`确定删除「${e}」?此操作不可撤销。`,skillLanguage:"技能语言",skillLangEn:"English",skillLangZh:"中文",searchSkills:"搜索技能...",customGroup:"自定义",builtinGroup:"内置",noSkillsMatch:e=>`没有匹配「${e}」的技能`,skillTemplate:"模板",skillTemplateGeneral:"通用",skillTemplateToolUse:"工具调用",skillTemplateWorkflow:"工作流",selectDetected:"选择已检测",clearSelection:"清除",quickSetup:"快速配置",configureFor:"配置目标",configPath:"配置路径",transportLocal:"本地",transportRemote:"远程",transportLocalHint:"本地 — 与 MindOS 服务在同一台机器上",transportRemoteHint:"远程 — 从其他设备通过 HTTP 连接",remoteDetectedHint:"使用当前远程 IP。",remoteManualHint:"将 127.0.0.1 替换为服务器的公网或局域网 IP。",remoteSteps:"从其他设备连接:① 在防火墙/安全组中开放端口 {port} ② 将下方配置粘贴到 Agent 中 ③ 公网环境建议使用 SSH 隧道加密传输。",noAuthWarning:"⚠ 未设置认证令牌 — 请先在 设置 → 通用 中配置,再启用远程访问。",showJson:"显示 JSON",hideJson:"隐藏 JSON",connectionTitle:"连接 Agent",connectionHint:"选择 AI Agent 连接 MindOS 的方式。",tokenCardTitle:"认证令牌",tokenCardDesc:"用于 CLI 远程模式和 MCP 连接。",mcpHint:"适用于 Claude Desktop、Cursor 等使用 MCP 工具协议的 Agent。",tokenLabel:"认证令牌",tokenMasked:"点击「显示」查看完整令牌",tokenShow:"显示",tokenHide:"隐藏",tokenCopy:"复制",tokenCopied:"令牌已复制!",tokenNone:"未设置令牌 — MCP 服务对所有请求开放。",tokenNoneAction:"请在 设置 → 通用 → 安全 中生成令牌。",serverUrl:"MCP 服务地址",serverUrlCopy:"复制地址",howToConnect:"如何连接 AI 助手",howToStep1:"打开你的 AI 助手的 MCP 设置(如 Claude Code、Cursor)",howToStep2:"添加一个新的 MCP 服务,填入上方地址",howToStep3:"将认证令牌设为 Bearer Token",howToStep4:"保存并验证连接",cliSkillTitle:"CLI 技能",cliSkillHint:"适用于支持 bash 的 Agent(Claude Code、Gemini CLI、Codex)——更省 token,无需 MCP。",cliSkillDesc:"更省 token,技能内置——安装即可使用。",cliLocalDesc:"MindOS Skill 已内置,安装 CLI 即可直接使用。",cliRemoteDesc:"在其他设备上安装 CLI,远程连接到此 MindOS 服务器。",cliSkillInstall:"安装",cliSkillInstallCmd:"npm install -g @geminilight/mindos",cliSkillRemote:"远程",cliSkillVerify:"验证",cliSkillVerifyCmd:"mindos file list",cliRemoteConfigure:"配置",cliInstallSkill:"安装技能",cliAgents:"Claude Code \xb7 Gemini CLI \xb7 Codex",mcpAgents:"Claude Desktop \xb7 Cursor",mcpDesc:"需要逐个 Agent 配置 MCP,通过以下命令单独安装技能:",mcpLocalDesc:"复制下方配置代码,粘贴到你的 Agent 的 MCP 设置中。",mcpRunningLabel:"MCP 运行中",mcpServerStatus:"MCP 服务",autoInstallAgents:"自动安装到已检测的 Agent",detectedAgentsTitle:"检测到的 Agent",cliInstallDesc:"为你的 Agent 安装 MindOS Skill,让它能操作你的知识库。",mcpInstallDesc:"为本机检测到的 Agent 安装 MCP 配置和 Skill。",tokenCopyFullHint:"复制完整令牌",skillsInstalled:"个技能已安装",recommended:"推荐",localTitle:"本机",localReady:"可直接使用",remoteTitle:"远程访问",remoteSubtitle:"从其他设备连接",restarting:"重启中...",restart:"重启"},monitoring:{system:"系统",heapMemory:"堆内存",rss:"RSS",uptime:"运行时间",nodeVersion:"Node",application:"应用",requests:"请求数",toolCalls:"工具调用",avgResponse:"平均响应",tokens:"Token",errors:"错误",knowledgeBase:"知识库",files:"文件数",totalSize:"总大小",rootPath:"根目录",mcpStatus:"状态",mcpRunning:"运行中",mcpStopped:"已停止",mcpPort:"端口",autoRefresh:"每 5 秒自动刷新",fetchError:"加载监控数据失败"},agents:{mcpServer:"MCP 服务器",running:"运行中",stopped:"未运行",restarting:"重启中...",restart:"重启",onPort:e=>`端口 :${e}`,refresh:"刷新",refreshing:"刷新中...",connected:"已连接",connectedCount:e=>`已连接 (${e})`,detectedNotConfigured:"已检测未配置",detectedCount:e=>`已检测未配置 (${e})`,notDetected:"未检测到",notDetectedCount:e=>`未检测到 (${e})`,showAll:"显示全部",hideAll:"收起",connect:"连接",noAgents:"本机未检测到任何 Agent。",fetchError:"加载 Agent 数据失败",autoRefresh:"每 30 秒自动刷新"},save:"保存",saved:"已保存",saveFailed:"保存失败",reconfigure:"重新配置",askDisplayMode:{label:"显示模式",hint:"侧面板固定在右侧;弹窗以浮动对话框形式打开。",panel:"侧面板",popup:"弹窗"},update:{checking:"正在检查更新...",upToDate:"已是最新版本",available:(e,t)=>`有新版本可用:v${e} → v${t}`,updating:"正在更新 MindOS,服务器即将重启...",updatingHint:"预计 1–3 分钟,请勿关闭此页面。",serverRestarting:"服务正在重启,请稍候...",updated:"更新成功!正在刷新...",timeout:"更新可能仍在进行中。",timeoutHint:"服务器可能需要更多时间重新构建,请尝试刷新页面。",refreshButton:"刷新页面",retryButton:"重试更新",error:"检查更新失败,请检查网络连接。",checkButton:"检查更新",updateButton:e=>`更新到 v${e}`,releaseNotes:"查看更新日志",hint:"更新通过 npm 安装,等同于在终端运行",inTerminal:"。",desktopDownloading:"正在下载更新...",desktopReady:"更新已下载,重启后生效。",desktopRestart:"立即重启",desktopHint:"更新通过桌面端自动更新推送。",coreTitle:"MindOS Core",coreUpToDate:"核心已是最新",coreAvailable:e=>`有新版本可用(${e})`,coreDownloading:"下载中...",coreCancel:"取消",coreReady:"已就绪 — 重启服务即可生效",coreRestartServices:"重启服务",coreApplying:"正在应用更新...",coreApplied:"更新成功!正在刷新...",coreError:"核心更新失败。",coreRetry:"重试",coreDesktopTooOld:e=>`v${e} 需要更新版本的 Desktop。`,coreDesktopTooOldHint:"请先更新 MindOS Desktop。",coreHint:"核心更新只需重启服务,无需重启应用。",shellTitle:"MindOS Desktop"},uninstall:{title:"卸载 MindOS",descCli:"从本机移除 MindOS CLI、后台服务和配置文件。",descDesktop:"从本机移除 MindOS Desktop、后台服务和配置文件。",warning:"选择要清理的内容。你的知识库文件始终是安全的。",stopServices:"停止服务并移除守护进程",stopServicesDesc:"停止所有运行中的 MindOS 进程并移除后台守护进程。",removeConfig:"移除配置",removeConfigDesc:"删除 ~/.mindos/ 目录(配置、日志、PID 文件)。",removeNpm:"卸载 CLI 包",removeNpmDesc:"执行 npm uninstall -g @geminilight/mindos。",removeApp:"将 Desktop 移入废纸篓",removeAppDesc:"将 MindOS.app 移入废纸篓,之后可以恢复。",confirmTitle:"确认卸载",confirmButton:"卸载",cancelButton:"取消",running:"正在卸载...",success:"MindOS 已卸载。",successDesktop:"MindOS 已卸载,应用即将退出。",error:"卸载失败,可在终端手动运行 `mindos uninstall`。",nothingSelected:"请至少选择一项要卸载的内容。",kbSafe:"你的知识库文件始终是安全的——此操作绝不会删除它们。"}},onboarding:{subtitle:"知识库为空,选择一个模板快速开始。",templates:{en:{title:"English",desc:"预置 Profile、Notes、Projects 等英文目录结构。"},zh:{title:"中文",desc:"预置画像、笔记、项目等中文目录结构。"},empty:{title:"空白",desc:"仅包含 README、CONFIG 和 INSTRUCTION 基础文件。"}},importHint:"已有笔记?在设置中将 MIND_ROOT 指向已有目录即可。",syncHint:"需要跨设备同步?完成初始化后在终端运行",syncHintSuffix:"即可。",initError:"初始化失败。请刷新页面或尝试其他模板。",dismiss:"关闭"},setup:{stepTitles:["知识库","AI 配置","Agent 连接","确认"],kbPath:"知识库路径",kbPathHint:"笔记目录的绝对路径。",kbPathDefault:"~/MindOS/mind",kbPathUseDefault:e=>`使用 ${e}`,kbPathHasFiles:e=>`该目录已有 ${e} 个文件。可以跳过模板,或选择合并(已有文件不会被覆盖)。`,kbTemplateSkip:"跳过模板",kbTemplateMerge:"选择模板合并",template:"初始模板",templateSkip:"跳过(目录已有文件)",aiProvider:"AI 服务商",aiProviderHint:"选择你偏好的 AI 服务。",aiSkip:"跳过 — 稍后配置",apiKey:"API 密钥",apiKeyExisting:"已配置密钥。留空即保持不变。",model:"模型",baseUrl:"接口地址",baseUrlHint:"可选。用于代理或自定义 API 端点。",webPort:"Web UI 端口",mcpPort:"MCP 服务端口",portHint:"有效范围:1024–65535",portRestartWarning:"完成配置后,服务将以这些端口启动。",portInUse:e=>`端口 ${e} 已被占用。`,portSuggest:e=>`使用 ${e}`,portChecking:"检测中…",portSelf:"当前端口",portConflict:"Web UI 端口和 MCP 端口不能相同。",portVerifyHint:"点击输入框外部验证,或等待自动检测。",authToken:"认证令牌",authTokenHint:"MCP / API 客户端使用的 Bearer Token,自动生成。",authTokenUsage:"用于 MCP 连接和 API 客户端身份验证。配置 Agent 时会自动写入,无需手动填写。",authTokenUsageWhat:"这是什么?",authTokenSeed:"自定义种子(可选)",authTokenSeedHint:"输入口令短语生成确定性 Token。",generateToken:"生成",copyToken:"复制",copiedToken:"已复制!",webPassword:"访问密码",webPasswordHint:"保护你的知识库,防止未授权的浏览器访问。",webPasswordRequired:"密码是必填项,用于保护你的数据。",advancedPorts:"高级设置",tokenSectionTitle:"认证令牌(已自动生成)",tokenSectionHint:"AI Agent 连接你的 MindOS 服务器时使用。",agentToolsTitle:"Agent 连接",connectionModeTitle:"连接模式",connectionModeCliHint:"推荐 \xb7 更省 token",connectionModeMcpHint:"可选 \xb7 消耗更多 token",agentToolsHint:"选择要配置的 AI Agent。此步骤可选。",agentToolsHintCliOnly:"Agent 选择在 MCP 模式启用时生效。CLI 可直接用于所有支持 bash 的 Agent。",agentToolsHintNone:"未选择连接模式。请至少选择一种模式以连接 Agent。",agentTransport:"传输方式",agentScope:"范围",agentToolsLoading:"正在加载 Agent…",agentToolsEmpty:"未检测到受支持的 Agent。",agentNoneSelected:"未选择 Agent。可稍后在设置中配置。",agentSkipLater:"清除选择",agentSelectDetected:"选择已检测到的 Agent",agentNoneDetected:"未在系统中检测到已安装的 Agent。",agentShowMore:e=>`显示另外 ${e} 个 Agent`,agentAdvanced:"高级选项",agentScopeGlobal:"为所有项目安装",agentScopeProject:"仅当前项目",badgeInstalled:"已安装",badgeDetected:"已检测到",badgeNotFound:"未找到",agentNotInstalled:"未安装",agentDetected:"已检测到",agentNotFound:"未找到",agentGetIt:"去安装 →",agentStatusOk:"已配置",agentStatusError:"失败",agentInstalling:"配置中…",agentTransportAuto:"自动(推荐)",agentTransportLabel:"传输方式",agentVerified:"已验证",agentUnverified:"未验证",agentVerifyNote:"stdio agent 需重启后验证",skillWhat:"",skillAutoHint:()=>"",skillLabel:"技能",skillInstalling:"正在安装技能…",skillInstalled:"技能已安装",skillFailed:"技能安装失败",aiSkipTitle:"暂时跳过",aiSkipDesc:"稍后可在 设置 → AI 中添加 API 密钥。",reviewHint:"确认设置无误后,点击完成。",reviewInstallResults:"Agent 配置结果:",phaseSaving:"正在保存配置…",phaseAgents:"正在配置 Agent…",phaseSkill:"正在安装 Skill…",phaseDone:"设置完成!",retryAgent:"重试",agentFailedCount:e=>`${e} 个 Agent 配置失败`,agentCountSummary:e=>`${e} 个 Agent`,agentFailureNote:"Agent 安装失败不影响进入 MindOS — 可稍后在 设置 → 连接 中重试。",portAvailable:"可用",portChanged:"端口已变更 — 请重启服务以使其生效。",restartRequired:"以下变更需要重启服务后生效。",restartNow:"立即重启",restarting:"重启中…",restartDone:"服务正在重启,稍后自动跳转…",restartManual:"手动重启命令:",back:"上一步",next:"下一步",complete:"完成设置",skip:"跳过",completing:"保存中...",completeDone:"设置完成!",completeFailed:"设置失败,请重试。",healthKb:"知识库",healthKbNone:"未配置",healthAi:"AI 服务",healthAiNone:"未配置 — AI 功能不可用",healthAiAction:"可在 设置 → AI 中添加 API 密钥。",healthAgents:"Agent 连接",healthAgentsOk:e=>`已配置 ${e} 个 Agent`,healthAgentsPartial:"正在配置中...",healthAgentsNone:"未配置 Agent",healthAgentsAction:"可稍后在 设置 → 连接 中添加。",healthSkills:"Skills",healthSkillsOk:"Skill 安装成功",healthSkillsError:"Skill 安装失败",healthSkillsSkipped:"已跳过",healthSkillsInstalling:"正在安装 Skill…",healthSkillsAction:"可稍后手动安装 Skill。",healthTokenTitle:"认证令牌",healthTokenCopy:"复制令牌",healthTokenHint:"CLI 远程模式和 MCP 连接时使用。也可在 设置 → 连接 中找到。",healthGoHome:"进入 MindOS",welcomeTitle:"欢迎使用 MindOS!",welcomeDesc:"初始化完成。可以开始向 AI 提问、浏览知识库,或配置 MCP Agent。",welcomeLinkReconfigure:"重新配置",welcomeLinkAskAI:"MindOS Agent",welcomeLinkMCP:"MCP 设置"},guide:{title:"快速上手",showGuide:"显示新手引导",close:"关闭",skip:"跳过",import:{title:"导入你的文件",cta:"导入",desc:"上传简历、项目文档、笔记——任何你想让 AI Agent 了解的内容。",button:"导入文件"},ai:{title:"感受 AI 读取内容",cta:"试试",desc:"你的文件已在知识库中。问问 MindOS Agent 它了解了什么:",prompt:"根据我的知识库介绍一下我——我是谁、在做什么?",promptEmpty:"帮我设计一个适合我的知识库目录结构"},agent:{title:"在其他 Agent 验证",cta:"复制提示词",desc:"打开 Cursor、Claude Code 或任意连接了 MCP 的 Agent,粘贴以下提示词:",copyPrompt:"读取我的 MindOS 知识库,概括我的背景,然后建议我接下来该做什么。",copy:"复制",copied:"已复制!"},done:{title:"你已准备好使用 MindOS",titleFinal:"你已掌握 MindOS 核心用法",steps:[{hint:"下一步:试试把一篇文章存进来 →",prompt:"帮我把这篇文章的要点整理到 MindOS 里。"},{hint:"下一步:试试把经验沉淀为 SOP →",prompt:"帮我把这次对话的经验沉淀到 MindOS,形成可复用的工作流。"}]}},walkthrough:{step:(e,t)=>`${e} / ${t}`,next:"下一步",back:"上一步",skip:"跳过引导",done:"完成",exploreCta:"探索更多用法 →",steps:[{title:"你的项目记忆",body:"用 Space 管理项目、SOP 和偏好规则。数据存在本地,完全由你掌控。"},{title:"不用重讲背景的 AI",body:"MindOS Agent 自动读取整个知识库。问它项目相关的事,不需要重复交代背景。"},{title:"多 Agent 共享记忆",body:"通过 MCP 连接 Cursor、Claude Code、Windsurf,它们共享同一份项目记忆。"}]},shortcuts:[{keys:["⌘","K"],description:"搜索"},{keys:["⌘","/"],description:"MindOS Agent"},{keys:["⌘",","],description:"设置"},{keys:["E"],description:"编辑当前文件"},{keys:["⌘","S"],description:"保存"},{keys:["Esc"],description:"取消编辑 / 关闭弹窗"},{keys:["@"],description:"在 AI 对话中添加附件"}],help:{title:"帮助与指南",subtitle:"开始使用 MindOS 所需的一切",whatIs:{title:"什么是 MindOS?",body:"MindOS 是你思考的地方,也是 AI Agent 行动的起点。你和 AI 共享同一个大脑——你纠正了 AI,这个纠正自动沉淀;AI 下次更懂你,你自己的思路也跟着变清晰。人和 AI 一起成长。在 AI 焦虑蔓延的时代,MindOS 更关注人的成长——想清楚问题、做好判断、快速实践、攒下属于自己的认知。"},quickStart:{title:"快速开始",step1Title:"浏览你的知识库",step1Desc:'点击左侧边栏的"空间"图标来浏览你的文件。每个顶级文件夹是一个"空间"——比如个人档案、笔记或项目。',step2Title:"和 AI 对话",step2Desc:"按 ⌘/(或 Ctrl/)打开 AI 面板。询问任何关于知识库的问题,或使用 @ 附加特定文件作为上下文。",step3Title:"连接你的 AI Agent",step3Desc:"前往 设置 → 连接 以连接外部 Agent,如 Claude Code、Cursor 或 Windsurf。连接后,它们可以直接读写你的知识库。"},concepts:{title:"核心概念",spaceTitle:"空间(Space)",spaceDesc:"空间是按你的思维方式组织的知识分区。你怎么想,就怎么分,AI Agent 遵循同样的结构来自动读写和管理。",instructionTitle:"指令(Instruction)",instructionDesc:"一份所有 AI Agent 都遵守的规则文件。你写一次边界,每个连接到知识库的 Agent 都会照做。",skillTitle:"技能(Skill)",skillDesc:"教 Agent 如何操作你的知识库——读取、写入、整理。Agent 不是瞎猜,而是按你安装的 Skill 来执行。"},shortcutsTitle:"快捷键",agentUsage:{title:"在 AI Agent 中使用 MindOS",intro:"通过 MCP 连接 Agent(Claude Code、Cursor、Windsurf 等)后,直接用自然语言对话即可。Agent 能自动读写你的知识库,不需要特殊指令。以下是最常见的使用场景:",scenarios:[{emoji:"\uD83E\uDEAA",title:"注入身份",desc:"让所有 AI Agent 一次认识你——偏好、技术栈、沟通风格。",prompt:'"这是我的简历,读一下,把我的信息整理到 MindOS 里。"'},{emoji:"\uD83D\uDD04",title:"跨 Agent 切换",desc:"在 GPT 里聊想法,到 Claude Code 去执行——上下文零丢失。",prompt:'"帮我把刚才的对话整理到 MindOS。"\n"读一下 MindOS 里的方案,帮我开始写代码。"'},{emoji:"\uD83D\uDCCB",title:"经验→SOP",desc:"把踩坑经验沉淀为可复用的工作流,下次 3 分钟搞定。",prompt:'"帮我把这次对话的经验沉淀到 MindOS,形成可复用的工作流。"'},{emoji:"\uD83D\uDE80",title:"项目冷启动",desc:"几分钟搭建新项目——Profile 和 SOP 自动引导脚手架。",prompt:'"帮我按 MindOS 里的 Startup SOP 启动一个新项目。"'},{emoji:"\uD83D\uDD0D",title:"调研入库",desc:"让 Agent 替你调研竞品或话题,结果结构化存入知识库。",prompt:'"帮我调研 X、Y、Z 这几个产品,结果写入 MindOS 产品库。"'}],copy:"复制 Prompt",hint:'提示:Agent 会自动发现你的知识库结构。在 prompt 中提到"MindOS",它就知道去哪里找。点击左侧"探索"查看更多场景。'},shortcuts:{search:"搜索文件",askAI:"切换 AI 面板",settings:"打开设置",shortcutPanel:"快捷键面板",editFile:"编辑当前文件",save:"保存文件",closePanel:"关闭面板 / 退出弹窗",attachFile:"在 AI 对话中附加文件"},faq:{title:"常见问题",items:[{q:"如何切换语言?",a:"前往 设置 → 外观 → 语言。支持中文和英文切换。"},{q:"如何连接 AI Agent?",a:"前往 设置 → 连接。MindOS 会自动检测已安装的 Agent(Claude Code、Cursor 等),一键即可连接。"},{q:"我的数据存储在哪里?",a:"所有数据以纯 Markdown 文件的形式存储在你的本地机器上。MindOS 不会将你的数据上传到任何云服务。数据完全由你掌控。"},{q:"如何跨设备同步?",a:"前往 设置 → 同步。MindOS 使用 Git 进行跨设备同步。输入 Git 远程仓库 URL 和访问令牌即可开始同步。"},{q:"可以使用自己的 AI 服务商吗?",a:"可以!前往 设置 → AI。支持 OpenAI、Anthropic、Google,或任何 OpenAI 兼容的 API(自定义 Base URL)。"},{q:"支持哪些文件格式?",a:"MindOS 最适合 Markdown(.md)文件,但也支持 JSON、CSV 和纯文本。插件可以扩展特殊格式的渲染,如看板或时间线。"},{q:"如何创建新笔记?",a:"点击文件树中任意文件夹旁的 + 图标,或让 AI 帮你创建。笔记就是 Markdown 文件,你也可以直接在文件系统中创建。"}]}},explore:{title:"探索使用场景",subtitle:"发现 MindOS 能帮你做什么 — 选一个场景,立即体验。",tryIt:"试一试",all:"全部",byCapability:"按能力",byScenario:"按场景",categories:{"knowledge-management":"知识管理","memory-sync":"记忆同步","auto-execute":"自动执行","experience-evolution":"经验进化","human-insights":"人类洞察","audit-control":"审计纠错"},scenarios:{"first-day":"初次使用",daily:"日常工作",project:"项目协作",advanced:"高级"},c1:{title:"注入身份",desc:"让所有 AI Agent 一次认识你 — 偏好、技术栈、沟通风格。",prompt:"这是我的简历,读一下,把我的信息整理到 MindOS 里。"},c2:{title:"注入信息",desc:"一句话归档文章、会议纪要或网页到知识库,全局可搜。",prompt:"帮我把这篇文章的要点整理到 MindOS 里。"},c3:{title:"跨 Agent 切换",desc:"在 MindOS 写方案,在 Claude Code 写代码,在 Cursor 优化 — 零重复。",prompt:"帮我按 MindOS 里的 XXX 方案开始写代码。"},c4:{title:"经验→SOP",desc:"把踩坑经验沉淀为可复用的工作流,下次 3 分钟搞定。",prompt:"帮我把这次对话的经验沉淀到 MindOS,形成可复用的工作流。"},c5:{title:"手机记灵感",desc:"随手记下灵感,MindOS 自动归档、拆任务、多 Agent 接力执行。",prompt:"帮我把这个想法整理到 MindOS,拆解成可执行的子任务。"},c6:{title:"项目冷启动",desc:"4 分钟搭建新项目 — Profile 和 SOP 自动引导脚手架。",prompt:"帮我按 MindOS 里的 Startup SOP 启动一个新项目。"},c7:{title:"调研入库",desc:"让 Agent 替你跑腿调研竞品或话题,结果结构化入库。",prompt:"帮我调研 X、Y、Z 这几个产品,结果写入 MindOS 产品库。"},c8:{title:"人脉管理",desc:"记录对话、自动生成跟进待办,每个联系人都有完整上下文。",prompt:"我今天和 XXX 聊了这些内容,帮我更新到 MindOS 并生成跟进待办。"},c9:{title:"审计纠偏",desc:"审查 Agent 记了什么,一处修正,全局生效。",prompt:"帮我检查 MindOS Profile 里的技术栈偏好是否正确,有错误帮我修正。"}}}};function a(){let e=localStorage.getItem("locale");return"zh"===e?"zh":"en"===e?"en":navigator.language.startsWith("zh")?"zh":"en"}let s=(0,o.v)(e=>({locale:"en",t:i.en,setLocale:t=>{document.cookie=`locale=${t};path=/;max-age=31536000;SameSite=Lax`,document.documentElement.lang="zh"===t?"zh":"en",e({locale:t,t:i[t]}),window.dispatchEvent(new Event("mindos-locale-change"))},_init:t=>{let n=a();e({locale:n,t:i[n]});let o=()=>{let t=a();e({locale:t,t:i[t]})};return window.addEventListener("mindos-locale-change",o),()=>window.removeEventListener("mindos-locale-change",o)}}));function l(){return s()}}}]);