@geminilight/mindos 0.6.52 → 0.6.53

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 (179) 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 +16 -16
  4. package/_standalone/.next/build-manifest.json +2 -2
  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/server/app/.well-known/agent-card.json/route_client-reference-manifest.js +1 -1
  10. package/_standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/_standalone/.next/server/app/_global-error.html +2 -2
  12. package/_standalone/.next/server/app/_global-error.rsc +1 -1
  13. package/_standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/_standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  15. package/_standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  16. package/_standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  17. package/_standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  18. package/_standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/_standalone/.next/server/app/_not-found/page.js +1 -1
  20. package/_standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  21. package/_standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  22. package/_standalone/.next/server/app/agents/[agentKey]/page.js +1 -1
  23. package/_standalone/.next/server/app/agents/[agentKey]/page.js.nft.json +1 -1
  24. package/_standalone/.next/server/app/agents/[agentKey]/page_client-reference-manifest.js +1 -1
  25. package/_standalone/.next/server/app/agents/page.js +1 -1
  26. package/_standalone/.next/server/app/agents/page.js.nft.json +1 -1
  27. package/_standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  28. package/_standalone/.next/server/app/api/a2a/agents/route_client-reference-manifest.js +1 -1
  29. package/_standalone/.next/server/app/api/a2a/delegations/route_client-reference-manifest.js +1 -1
  30. package/_standalone/.next/server/app/api/a2a/discover/route_client-reference-manifest.js +1 -1
  31. package/_standalone/.next/server/app/api/a2a/route_client-reference-manifest.js +1 -1
  32. package/_standalone/.next/server/app/api/acp/config/route_client-reference-manifest.js +1 -1
  33. package/_standalone/.next/server/app/api/acp/detect/route_client-reference-manifest.js +1 -1
  34. package/_standalone/.next/server/app/api/acp/install/route_client-reference-manifest.js +1 -1
  35. package/_standalone/.next/server/app/api/acp/registry/route_client-reference-manifest.js +1 -1
  36. package/_standalone/.next/server/app/api/acp/session/route_client-reference-manifest.js +1 -1
  37. package/_standalone/.next/server/app/api/agent-activity/route_client-reference-manifest.js +1 -1
  38. package/_standalone/.next/server/app/api/ask/route.js +44 -16
  39. package/_standalone/.next/server/app/api/ask/route.js.nft.json +1 -1
  40. package/_standalone/.next/server/app/api/ask/route_client-reference-manifest.js +1 -1
  41. package/_standalone/.next/server/app/api/ask-sessions/route_client-reference-manifest.js +1 -1
  42. package/_standalone/.next/server/app/api/auth/route_client-reference-manifest.js +1 -1
  43. package/_standalone/.next/server/app/api/backlinks/route.js.nft.json +1 -1
  44. package/_standalone/.next/server/app/api/backlinks/route_client-reference-manifest.js +1 -1
  45. package/_standalone/.next/server/app/api/bootstrap/route.js.nft.json +1 -1
  46. package/_standalone/.next/server/app/api/bootstrap/route_client-reference-manifest.js +1 -1
  47. package/_standalone/.next/server/app/api/changes/route.js.nft.json +1 -1
  48. package/_standalone/.next/server/app/api/changes/route_client-reference-manifest.js +1 -1
  49. package/_standalone/.next/server/app/api/export/route.js.nft.json +1 -1
  50. package/_standalone/.next/server/app/api/export/route_client-reference-manifest.js +1 -1
  51. package/_standalone/.next/server/app/api/extract-pdf/route_client-reference-manifest.js +1 -1
  52. package/_standalone/.next/server/app/api/file/import/route.js.nft.json +1 -1
  53. package/_standalone/.next/server/app/api/file/import/route_client-reference-manifest.js +1 -1
  54. package/_standalone/.next/server/app/api/file/route.js.nft.json +1 -1
  55. package/_standalone/.next/server/app/api/file/route_client-reference-manifest.js +1 -1
  56. package/_standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  57. package/_standalone/.next/server/app/api/files/route_client-reference-manifest.js +1 -1
  58. package/_standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  59. package/_standalone/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  60. package/_standalone/.next/server/app/api/graph/route.js.nft.json +1 -1
  61. package/_standalone/.next/server/app/api/graph/route_client-reference-manifest.js +1 -1
  62. package/_standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  63. package/_standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
  64. package/_standalone/.next/server/app/api/inbox/route_client-reference-manifest.js +1 -1
  65. package/_standalone/.next/server/app/api/init/route.js.nft.json +1 -1
  66. package/_standalone/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  67. package/_standalone/.next/server/app/api/mcp/agents/route.js.nft.json +1 -1
  68. package/_standalone/.next/server/app/api/mcp/agents/route_client-reference-manifest.js +1 -1
  69. package/_standalone/.next/server/app/api/mcp/install/route_client-reference-manifest.js +1 -1
  70. package/_standalone/.next/server/app/api/mcp/install-skill/route_client-reference-manifest.js +1 -1
  71. package/_standalone/.next/server/app/api/mcp/restart/route_client-reference-manifest.js +1 -1
  72. package/_standalone/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
  73. package/_standalone/.next/server/app/api/mcp/uninstall/route_client-reference-manifest.js +1 -1
  74. package/_standalone/.next/server/app/api/monitoring/route.js.nft.json +1 -1
  75. package/_standalone/.next/server/app/api/monitoring/route_client-reference-manifest.js +1 -1
  76. package/_standalone/.next/server/app/api/recent-files/route.js.nft.json +1 -1
  77. package/_standalone/.next/server/app/api/recent-files/route_client-reference-manifest.js +1 -1
  78. package/_standalone/.next/server/app/api/restart/route.js +1 -1
  79. package/_standalone/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  80. package/_standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  81. package/_standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  82. package/_standalone/.next/server/app/api/settings/list-models/route_client-reference-manifest.js +1 -1
  83. package/_standalone/.next/server/app/api/settings/reset-token/route_client-reference-manifest.js +1 -1
  84. package/_standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
  85. package/_standalone/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  86. package/_standalone/.next/server/app/api/settings/test-key/route.js +1 -1
  87. package/_standalone/.next/server/app/api/settings/test-key/route_client-reference-manifest.js +1 -1
  88. package/_standalone/.next/server/app/api/setup/check-path/route_client-reference-manifest.js +1 -1
  89. package/_standalone/.next/server/app/api/setup/check-port/route_client-reference-manifest.js +1 -1
  90. package/_standalone/.next/server/app/api/setup/generate-token/route_client-reference-manifest.js +1 -1
  91. package/_standalone/.next/server/app/api/setup/ls/route_client-reference-manifest.js +1 -1
  92. package/_standalone/.next/server/app/api/setup/route_client-reference-manifest.js +1 -1
  93. package/_standalone/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  94. package/_standalone/.next/server/app/api/sync/route_client-reference-manifest.js +1 -1
  95. package/_standalone/.next/server/app/api/tree-version/route.js.nft.json +1 -1
  96. package/_standalone/.next/server/app/api/tree-version/route_client-reference-manifest.js +1 -1
  97. package/_standalone/.next/server/app/api/uninstall/route_client-reference-manifest.js +1 -1
  98. package/_standalone/.next/server/app/api/update/route.js +1 -1
  99. package/_standalone/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  100. package/_standalone/.next/server/app/api/update-check/route_client-reference-manifest.js +1 -1
  101. package/_standalone/.next/server/app/api/update-status/route_client-reference-manifest.js +1 -1
  102. package/_standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
  103. package/_standalone/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
  104. package/_standalone/.next/server/app/changes/page.js +1 -1
  105. package/_standalone/.next/server/app/changes/page.js.nft.json +1 -1
  106. package/_standalone/.next/server/app/changes/page_client-reference-manifest.js +1 -1
  107. package/_standalone/.next/server/app/echo/[segment]/page.js +1 -1
  108. package/_standalone/.next/server/app/echo/[segment]/page.js.nft.json +1 -1
  109. package/_standalone/.next/server/app/echo/[segment]/page_client-reference-manifest.js +1 -1
  110. package/_standalone/.next/server/app/echo/page.js +1 -1
  111. package/_standalone/.next/server/app/echo/page.js.nft.json +1 -1
  112. package/_standalone/.next/server/app/echo/page_client-reference-manifest.js +1 -1
  113. package/_standalone/.next/server/app/explore/page.js +1 -1
  114. package/_standalone/.next/server/app/explore/page.js.nft.json +1 -1
  115. package/_standalone/.next/server/app/explore/page_client-reference-manifest.js +1 -1
  116. package/_standalone/.next/server/app/help/page.js +1 -1
  117. package/_standalone/.next/server/app/help/page.js.nft.json +1 -1
  118. package/_standalone/.next/server/app/help/page_client-reference-manifest.js +1 -1
  119. package/_standalone/.next/server/app/login/page.js +1 -1
  120. package/_standalone/.next/server/app/login/page.js.nft.json +1 -1
  121. package/_standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  122. package/_standalone/.next/server/app/page.js +1 -1
  123. package/_standalone/.next/server/app/page.js.nft.json +1 -1
  124. package/_standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  125. package/_standalone/.next/server/app/setup/page.js +1 -1
  126. package/_standalone/.next/server/app/setup/page.js.nft.json +1 -1
  127. package/_standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  128. package/_standalone/.next/server/app/trash/page.js +3 -3
  129. package/_standalone/.next/server/app/trash/page.js.nft.json +1 -1
  130. package/_standalone/.next/server/app/trash/page_client-reference-manifest.js +1 -1
  131. package/_standalone/.next/server/app/view/[...path]/page.js +2 -2
  132. package/_standalone/.next/server/app/view/[...path]/page.js.nft.json +1 -1
  133. package/_standalone/.next/server/app/view/[...path]/page_client-reference-manifest.js +1 -1
  134. package/_standalone/.next/server/app-paths-manifest.json +16 -16
  135. package/_standalone/.next/server/chunks/3436.js +52 -0
  136. package/_standalone/.next/server/chunks/6539.js +1 -1
  137. package/_standalone/.next/server/chunks/8388.js +1 -1
  138. package/_standalone/.next/server/chunks/8408.js +28 -28
  139. package/_standalone/.next/server/pages/500.html +2 -2
  140. package/_standalone/.next/server/server-reference-manifest.js +1 -1
  141. package/_standalone/.next/server/server-reference-manifest.json +1 -1
  142. package/_standalone/.next/static/chunks/{1053-c519cb347faa75e2.js → 1053-17786066ecd6f216.js} +2 -2
  143. package/_standalone/.next/static/chunks/app/{layout-e706f9a963b177ba.js → layout-e5d2fb384207d821.js} +27 -27
  144. package/_standalone/.next/static/chunks/app/{page-2595175820acfd65.js → page-54edd045d3448df5.js} +2 -2
  145. package/_standalone/.next/static/chunks/app/trash/page-6372bb3f5463affa.js +1 -0
  146. package/_standalone/.next/static/chunks/app/view/[...path]/page-f3d1d87190dcfe28.js +12 -0
  147. package/_standalone/.next/trace +64 -64
  148. package/_standalone/components/walkthrough/WalkthroughOverlay.tsx +39 -10
  149. package/_standalone/lib/stores/walkthrough-store.ts +33 -1
  150. package/_standalone/tsconfig.tsbuildinfo +1 -1
  151. package/app/app/api/ask/route.ts +193 -3
  152. package/app/app/api/restart/route.ts +26 -21
  153. package/app/app/api/update/route.ts +24 -10
  154. package/app/components/walkthrough/WalkthroughOverlay.tsx +39 -10
  155. package/app/lib/agent/model.ts +2 -1
  156. package/app/lib/i18n/modules/ai-chat.ts +8 -0
  157. package/app/lib/settings.ts +32 -0
  158. package/app/lib/stores/walkthrough-store.ts +33 -1
  159. package/bin/commands/update.js +23 -11
  160. package/bin/lib/clean-env.js +38 -0
  161. package/bin/lib/gateway.js +41 -4
  162. package/bin/lib/stop.js +40 -4
  163. package/package.json +1 -1
  164. package/_standalone/.next/server/chunks/2673.js +0 -52
  165. package/_standalone/.next/static/chunks/app/trash/page-61c6210fac1e9710.js +0 -1
  166. package/_standalone/.next/static/chunks/app/view/[...path]/page-798359c36f10ef8d.js +0 -12
  167. package/_standalone/lib/i18n/generated/explore-i18n.generated.ts +0 -138
  168. package/_standalone/lib/i18n/index.ts +0 -38
  169. package/_standalone/lib/i18n/modules/ai-chat.ts +0 -237
  170. package/_standalone/lib/i18n/modules/common.ts +0 -71
  171. package/_standalone/lib/i18n/modules/features.ts +0 -153
  172. package/_standalone/lib/i18n/modules/knowledge.ts +0 -727
  173. package/_standalone/lib/i18n/modules/navigation.ts +0 -157
  174. package/_standalone/lib/i18n/modules/onboarding.ts +0 -445
  175. package/_standalone/lib/i18n/modules/panels.ts +0 -1255
  176. package/_standalone/lib/i18n/modules/settings.ts +0 -889
  177. package/_standalone/lib/i18n.ts +0 -3
  178. /package/_standalone/.next/static/{IiTZbEzZo8l5MSUxlDwKp → W-wLgvhPtPJ5Psq9V4i3M}/_buildManifest.js +0 -0
  179. /package/_standalone/.next/static/{IiTZbEzZo8l5MSUxlDwKp → W-wLgvhPtPJ5Psq9V4i3M}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
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:"Spaces",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",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.",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 ...`,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",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`,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:
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:"Spaces",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",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 ...`,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",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`,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
2
 
3
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
4
  1. Read the content from the "USER-UPLOADED FILES" section above
@@ -12,7 +12,7 @@ Do NOT just reply with a text summary. You must actually write to the knowledge
12
12
 
13
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",emptyTitle:"No import history yet",emptyDesc:"AI organize results will appear here"},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:"ACP Agents",acpSectionDesc:e=>`${e} agent${1!==e?"s":""} available`,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
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"},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}`},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:{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:"更多",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:"多次重连失败,请检查网络后重试。",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} 行未变更 ...`,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:"查看全部",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} 个`,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=>`请将暂存台中的这些文件整理到知识库的合适位置。分析每个文件的内容,将其移动到最匹配的空间或目录。需要的话可以创建新目录。以下是待整理的文件:
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"},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}`},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:{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:"更多",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} 行未变更 ...`,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:"查看全部",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} 个`,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
16
 
17
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
18
  1. 从上方「USER-UPLOADED FILES」区域读取文件内容