@geminilight/mindos 0.5.28 → 0.5.29

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.
@@ -29,11 +29,18 @@ export const en = {
29
29
  },
30
30
  },
31
31
  sidebar: {
32
- searchTitle: 'Search (⌘K)',
33
- askTitle: 'MindOS Agent (⌘/)',
34
- settingsTitle: 'Settings (⌘,)',
32
+ files: 'Files',
33
+ search: 'Search',
34
+ searchTitle: 'Search',
35
+ askTitle: 'MindOS Agent',
36
+ settingsTitle: 'Settings',
37
+ plugins: 'Plugins',
38
+ agents: 'Agents',
39
+ syncLabel: 'Sync',
35
40
  collapseTitle: 'Collapse sidebar',
36
41
  expandTitle: 'Expand sidebar',
42
+ collapseLevel: 'Collapse one level',
43
+ expandLevel: 'Expand one level',
37
44
  sync: {
38
45
  synced: 'Synced',
39
46
  unpushed: 'awaiting push',
@@ -81,6 +88,48 @@ export const en = {
81
88
  'Find related notes on this topic',
82
89
  ],
83
90
  },
91
+ panels: {
92
+ agents: {
93
+ title: 'Agents',
94
+ connected: 'connected',
95
+ refresh: 'Refresh agent status',
96
+ retry: 'Retry',
97
+ failedToLoad: 'Failed to load agents',
98
+ mcpServer: 'MCP Server',
99
+ stopped: 'Stopped',
100
+ sectionConnected: 'Connected',
101
+ sectionDetected: 'Detected',
102
+ sectionNotDetected: 'Not Detected',
103
+ noAgents: 'No agents detected.',
104
+ autoRefresh: 'Auto-refresh every 30s',
105
+ connect: 'Connect',
106
+ installing: 'Installing...',
107
+ install: (name: string) => `Install ${name}`,
108
+ },
109
+ plugins: {
110
+ title: 'Plugins',
111
+ active: 'active',
112
+ noPlugins: 'No plugins registered',
113
+ core: 'Core',
114
+ coreDisabled: 'Core plugin — cannot be disabled',
115
+ footer: 'Plugins customize how files render. Core plugins cannot be disabled.',
116
+ },
117
+ },
118
+ shortcutPanel: {
119
+ title: 'Keyboard Shortcuts',
120
+ navigation: 'Navigation',
121
+ panelsSection: 'Panels',
122
+ editor: 'Editor',
123
+ toggleSearch: 'Toggle Search',
124
+ toggleAskAI: 'Toggle Ask AI',
125
+ openSettings: 'Open Settings',
126
+ keyboardShortcuts: 'Keyboard Shortcuts',
127
+ closePanel: 'Close panel / Exit maximize',
128
+ saveFile: 'Save file',
129
+ undo: 'Undo',
130
+ redo: 'Redo',
131
+ toggleHint: 'to toggle this panel',
132
+ },
84
133
  fileTree: {
85
134
  newFileTitle: 'New file in this directory',
86
135
  rename: 'Rename',
@@ -104,7 +153,7 @@ export const en = {
104
153
  },
105
154
  settings: {
106
155
  title: 'Settings',
107
- tabs: { ai: 'AI', appearance: 'Appearance', knowledge: 'General', sync: 'Sync', mcp: 'MCP & Skills', plugins: 'Plugins', shortcuts: 'Shortcuts', monitoring: 'Monitoring', agents: 'Agents' },
156
+ tabs: { ai: 'AI', appearance: 'Appearance', knowledge: 'General', sync: 'Sync', mcp: 'MCP & Skills', plugins: 'Plugins', shortcuts: 'Shortcuts', monitoring: 'Monitoring', agents: 'Agents', update: 'Update' },
108
157
  ai: {
109
158
  provider: 'Provider',
110
159
  model: 'Model',
@@ -319,6 +368,28 @@ export const en = {
319
368
  saved: 'Saved',
320
369
  saveFailed: 'Save failed',
321
370
  reconfigure: 'Reconfigure',
371
+ askDisplayMode: {
372
+ label: 'Display Mode',
373
+ hint: 'Side panel stays docked on the right. Popup opens a floating dialog.',
374
+ panel: 'Side Panel',
375
+ popup: 'Popup',
376
+ },
377
+ update: {
378
+ checking: 'Checking for updates...',
379
+ upToDate: "You're up to date",
380
+ available: (current: string, latest: string) => `Update available: v${current} → v${latest}`,
381
+ updating: 'Updating MindOS... The server will restart shortly.',
382
+ updatingHint: 'This may take 1–3 minutes. Do not close this page.',
383
+ updated: 'Updated successfully! Reloading...',
384
+ timeout: 'Update may still be in progress.',
385
+ timeoutHint: 'Check your terminal:',
386
+ error: 'Failed to check for updates. Check your network connection.',
387
+ checkButton: 'Check for Updates',
388
+ updateButton: (version: string) => `Update to v${version}`,
389
+ releaseNotes: 'View release notes',
390
+ hint: 'Updates are installed via npm. Equivalent to running',
391
+ inTerminal: 'in your terminal.',
392
+ },
322
393
  },
323
394
  onboarding: {
324
395
  subtitle: 'Your knowledge base is empty. Pick a starter template to get going.',
@@ -360,9 +431,10 @@ export const en = {
360
431
  },
361
432
  updateBanner: {
362
433
  newVersion: (latest: string, current: string) => `MindOS v${latest} available (current: v${current})`,
434
+ updateNow: 'Update',
363
435
  runUpdate: 'Run',
364
436
  orSee: 'or',
365
- releaseNotes: 'view release notes',
437
+ releaseNotes: 'release notes',
366
438
  },
367
439
  setup: {
368
440
  stepTitles: ['Knowledge Base', 'AI Provider', 'Ports', 'Security', 'Agent Tools', 'Review'],
@@ -530,4 +602,91 @@ export const en = {
530
602
  ],
531
603
  },
532
604
  },
605
+ explore: {
606
+ title: 'Explore Use Cases',
607
+ subtitle: 'Discover what you can do with MindOS — pick a scenario and try it now.',
608
+ tryIt: 'Try it',
609
+ categories: {
610
+ 'getting-started': 'Getting Started',
611
+ 'cross-agent': 'Cross-Agent',
612
+ 'knowledge-evolution': 'Knowledge Evolution',
613
+ 'advanced': 'Advanced',
614
+ },
615
+ all: 'All',
616
+ c1: {
617
+ title: 'Inject Your Identity',
618
+ desc: 'Tell all AI agents who you are — preferences, tech stack, communication style — in one shot.',
619
+ prompt: 'Read my MindOS knowledge base and help me write a self-introduction into Profile.',
620
+ },
621
+ c2: {
622
+ title: 'Save Information',
623
+ desc: 'Archive articles, meeting notes, or web pages into your knowledge base with one prompt.',
624
+ prompt: 'Help me save the key points from this article into MindOS.',
625
+ },
626
+ c3: {
627
+ title: 'Cross-Agent Handoff',
628
+ desc: 'Start a plan in MindOS, continue coding in Claude Code, refine in Cursor — zero context loss.',
629
+ prompt: 'Help me start coding based on the plan in MindOS.',
630
+ },
631
+ c4: {
632
+ title: 'Experience → SOP',
633
+ desc: 'Turn hard-won debugging sessions into reusable workflows that prevent future mistakes.',
634
+ prompt: 'Help me distill this conversation into a reusable workflow in MindOS.',
635
+ },
636
+ c5: {
637
+ title: 'Capture Ideas on the Go',
638
+ desc: 'Jot down an inspiration on your phone — MindOS archives, decomposes, and assigns to agents.',
639
+ prompt: 'Help me organize this idea into MindOS and break it into actionable sub-tasks.',
640
+ },
641
+ c6: {
642
+ title: 'Project Cold Start',
643
+ desc: 'Spin up a new project in 4 minutes — your profile and SOPs guide the scaffolding automatically.',
644
+ prompt: 'Help me start a new project following the Startup SOP in MindOS.',
645
+ },
646
+ c7: {
647
+ title: 'Research & Archive',
648
+ desc: 'Let agents research competitors or topics for you, then file structured results in your KB.',
649
+ prompt: 'Help me research X, Y, Z products and save results to the MindOS product library.',
650
+ },
651
+ c8: {
652
+ title: 'Network Management',
653
+ desc: 'Log conversations with contacts, auto-generate follow-up TODOs, and keep full context.',
654
+ prompt: 'I met with someone today — update MindOS Connections and create follow-up TODOs.',
655
+ },
656
+ c9: {
657
+ title: 'Audit & Correct',
658
+ desc: 'Review what agents know about you, fix mistakes in one place, and all agents update instantly.',
659
+ prompt: 'Check my MindOS Profile for accuracy and correct any errors.',
660
+ },
661
+ },
662
+ walkthrough: {
663
+ step: (current: number, total: number) => `${current} of ${total}`,
664
+ next: 'Next',
665
+ back: 'Back',
666
+ skip: 'Skip tour',
667
+ done: 'Done',
668
+ exploreCta: 'Explore what you can do →',
669
+ steps: [
670
+ {
671
+ title: 'Navigation',
672
+ body: 'This is your Activity Bar — switch between Files, Search, Plugins, and Agents from here.',
673
+ },
674
+ {
675
+ title: 'Your Knowledge Base',
676
+ body: 'Browse and organize your notes, profiles, and projects in the file panel.',
677
+ },
678
+ {
679
+ title: 'Ask AI',
680
+ body: 'Chat with an AI that knows your entire knowledge base. Press ⌘/ anytime.',
681
+ },
682
+ {
683
+ title: 'Quick Search',
684
+ body: 'Find any file instantly with ⌘K — search across all your notes.',
685
+ },
686
+ {
687
+ title: 'Settings',
688
+ body: 'Configure AI providers, MCP connections, sync, and appearance here.',
689
+ },
690
+ ],
691
+ },
533
692
  } as const;
@@ -54,11 +54,18 @@ export const zh = {
54
54
  },
55
55
  },
56
56
  sidebar: {
57
- searchTitle: '搜索 (⌘K)',
58
- askTitle: 'MindOS Agent (⌘/)',
59
- settingsTitle: '设置 (⌘,)',
57
+ files: '文件',
58
+ search: '搜索',
59
+ searchTitle: '搜索',
60
+ askTitle: 'MindOS Agent',
61
+ settingsTitle: '设置',
62
+ plugins: '插件',
63
+ agents: '智能体',
64
+ syncLabel: '同步',
60
65
  collapseTitle: '收起侧栏',
61
66
  expandTitle: '展开侧栏',
67
+ collapseLevel: '折叠一级',
68
+ expandLevel: '展开一级',
62
69
  sync: {
63
70
  synced: '已同步',
64
71
  unpushed: '待推送',
@@ -106,6 +113,48 @@ export const zh = {
106
113
  '查找与这个主题相关的笔记',
107
114
  ],
108
115
  },
116
+ panels: {
117
+ agents: {
118
+ title: '智能体',
119
+ connected: '已连接',
120
+ refresh: '刷新智能体状态',
121
+ retry: '重试',
122
+ failedToLoad: '加载智能体失败',
123
+ mcpServer: 'MCP 服务器',
124
+ stopped: '已停止',
125
+ sectionConnected: '已连接',
126
+ sectionDetected: '已检测',
127
+ sectionNotDetected: '未检测到',
128
+ noAgents: '未检测到智能体。',
129
+ autoRefresh: '每 30 秒自动刷新',
130
+ connect: '连接',
131
+ installing: '安装中...',
132
+ install: (name: string) => `安装 ${name}`,
133
+ },
134
+ plugins: {
135
+ title: '插件',
136
+ active: '已启用',
137
+ noPlugins: '暂无插件',
138
+ core: '核心',
139
+ coreDisabled: '核心插件 — 不可禁用',
140
+ footer: '插件用于自定义文件渲染方式。核心插件不可禁用。',
141
+ },
142
+ },
143
+ shortcutPanel: {
144
+ title: '快捷键',
145
+ navigation: '导航',
146
+ panelsSection: '面板',
147
+ editor: '编辑器',
148
+ toggleSearch: '切换搜索',
149
+ toggleAskAI: '切换 Ask AI',
150
+ openSettings: '打开设置',
151
+ keyboardShortcuts: '快捷键',
152
+ closePanel: '关闭面板 / 退出最大化',
153
+ saveFile: '保存文件',
154
+ undo: '撤销',
155
+ redo: '重做',
156
+ toggleHint: '切换此面板',
157
+ },
109
158
  fileTree: {
110
159
  newFileTitle: '在此目录新建文件',
111
160
  rename: '重命名',
@@ -129,7 +178,7 @@ export const zh = {
129
178
  },
130
179
  settings: {
131
180
  title: '设置',
132
- tabs: { ai: 'AI', appearance: '外观', knowledge: '通用', sync: '同步', mcp: 'MCP & Skills', plugins: '插件', shortcuts: '快捷键', monitoring: '监控', agents: 'Agents' },
181
+ tabs: { ai: 'AI', appearance: '外观', knowledge: '通用', sync: '同步', mcp: 'MCP & Skills', plugins: '插件', shortcuts: '快捷键', monitoring: '监控', agents: 'Agents', update: '更新' },
133
182
  ai: {
134
183
  provider: '服务商',
135
184
  model: '模型',
@@ -344,6 +393,28 @@ export const zh = {
344
393
  saved: '已保存',
345
394
  saveFailed: '保存失败',
346
395
  reconfigure: '重新配置',
396
+ askDisplayMode: {
397
+ label: '显示模式',
398
+ hint: '侧面板固定在右侧;弹窗以浮动对话框形式打开。',
399
+ panel: '侧面板',
400
+ popup: '弹窗',
401
+ },
402
+ update: {
403
+ checking: '正在检查更新...',
404
+ upToDate: '已是最新版本',
405
+ available: (current: string, latest: string) => `有新版本可用:v${current} → v${latest}`,
406
+ updating: '正在更新 MindOS,服务器即将重启...',
407
+ updatingHint: '预计 1–3 分钟,请勿关闭此页面。',
408
+ updated: '更新成功!正在刷新...',
409
+ timeout: '更新可能仍在进行中。',
410
+ timeoutHint: '请在终端查看:',
411
+ error: '检查更新失败,请检查网络连接。',
412
+ checkButton: '检查更新',
413
+ updateButton: (version: string) => `更新到 v${version}`,
414
+ releaseNotes: '查看更新日志',
415
+ hint: '更新通过 npm 安装,等同于在终端运行',
416
+ inTerminal: '。',
417
+ },
347
418
  },
348
419
  onboarding: {
349
420
  subtitle: '知识库为空,选择一个模板快速开始。',
@@ -385,6 +456,7 @@ export const zh = {
385
456
  },
386
457
  updateBanner: {
387
458
  newVersion: (latest: string, current: string) => `MindOS v${latest} 可用(当前 v${current})`,
459
+ updateNow: '更新',
388
460
  runUpdate: '终端运行',
389
461
  orSee: '或',
390
462
  releaseNotes: '查看更新说明',
@@ -555,4 +627,91 @@ export const zh = {
555
627
  ],
556
628
  },
557
629
  },
630
+ explore: {
631
+ title: '探索使用场景',
632
+ subtitle: '发现 MindOS 能帮你做什么 — 选一个场景,立即体验。',
633
+ tryIt: '试一试',
634
+ categories: {
635
+ 'getting-started': '快速上手',
636
+ 'cross-agent': '跨 Agent',
637
+ 'knowledge-evolution': '知识演进',
638
+ 'advanced': '高级',
639
+ },
640
+ all: '全部',
641
+ c1: {
642
+ title: '注入身份',
643
+ desc: '让所有 AI Agent 一次认识你 — 偏好、技术栈、沟通风格。',
644
+ prompt: '读一下我的 MindOS 知识库,帮我把自我介绍写进 Profile。',
645
+ },
646
+ c2: {
647
+ title: '注入信息',
648
+ desc: '一句话归档文章、会议纪要或网页到知识库,全局可搜。',
649
+ prompt: '帮我把这篇文章的要点整理到 MindOS 里。',
650
+ },
651
+ c3: {
652
+ title: '跨 Agent 切换',
653
+ desc: '在 MindOS 写方案,在 Claude Code 写代码,在 Cursor 优化 — 零重复。',
654
+ prompt: '帮我按 MindOS 里的 XXX 方案开始写代码。',
655
+ },
656
+ c4: {
657
+ title: '经验→SOP',
658
+ desc: '把踩坑经验沉淀为可复用的工作流,下次 3 分钟搞定。',
659
+ prompt: '帮我把这次对话的经验沉淀到 MindOS,形成可复用的工作流。',
660
+ },
661
+ c5: {
662
+ title: '手机记灵感',
663
+ desc: '随手记下灵感,MindOS 自动归档、拆任务、多 Agent 接力执行。',
664
+ prompt: '帮我把这个想法整理到 MindOS,拆解成可执行的子任务。',
665
+ },
666
+ c6: {
667
+ title: '项目冷启动',
668
+ desc: '4 分钟搭建新项目 — Profile 和 SOP 自动引导脚手架。',
669
+ prompt: '帮我按 MindOS 里的 Startup SOP 启动一个新项目。',
670
+ },
671
+ c7: {
672
+ title: '调研入库',
673
+ desc: '让 Agent 替你跑腿调研竞品或话题,结果结构化入库。',
674
+ prompt: '帮我调研 X、Y、Z 这几个产品,结果写入 MindOS 产品库。',
675
+ },
676
+ c8: {
677
+ title: '人脉管理',
678
+ desc: '记录对话、自动生成跟进待办,每个联系人都有完整上下文。',
679
+ prompt: '我今天和 XXX 聊了这些内容,帮我更新到 MindOS 并生成跟进待办。',
680
+ },
681
+ c9: {
682
+ title: '审计纠偏',
683
+ desc: '审查 Agent 记了什么,一处修正,全局生效。',
684
+ prompt: '帮我检查 MindOS Profile 里的技术栈偏好是否正确,有错误帮我修正。',
685
+ },
686
+ },
687
+ walkthrough: {
688
+ step: (current: number, total: number) => `${current} / ${total}`,
689
+ next: '下一步',
690
+ back: '上一步',
691
+ skip: '跳过引导',
692
+ done: '完成',
693
+ exploreCta: '探索更多用法 →',
694
+ steps: [
695
+ {
696
+ title: '导航栏',
697
+ body: '这是你的 Activity Bar — 在这里切换文件、搜索、插件和 Agent。',
698
+ },
699
+ {
700
+ title: '你的知识库',
701
+ body: '在文件面板中浏览和管理你的笔记、画像和项目。',
702
+ },
703
+ {
704
+ title: 'AI 对话',
705
+ body: '和了解你整个知识库的 AI 对话。随时按 ⌘/ 启动。',
706
+ },
707
+ {
708
+ title: '快速搜索',
709
+ body: '按 ⌘K 即可搜索所有笔记,瞬间找到任何文件。',
710
+ },
711
+ {
712
+ title: '设置',
713
+ body: '在这里配置 AI 服务商、MCP 连接、同步和外观。',
714
+ },
715
+ ],
716
+ },
558
717
  } as const satisfies Widen<typeof en>;
@@ -32,6 +32,8 @@ export interface GuideState {
32
32
  step1Done: boolean; // 至少浏览过 1 个文件
33
33
  askedAI: boolean; // 至少发过 1 条 AI 消息
34
34
  nextStepIndex: number; // 0=C2, 1=C3, 2=C4, 3=全部完成
35
+ walkthroughStep?: number; // -1=not started, 0-4=current step, 5=completed
36
+ walkthroughDismissed?: boolean; // user skipped walkthrough
35
37
  }
36
38
 
37
39
  export interface ServerSettings {
@@ -143,6 +145,8 @@ function parseGuideState(raw: unknown): GuideState | undefined {
143
145
  step1Done: obj.step1Done === true,
144
146
  askedAI: obj.askedAI === true,
145
147
  nextStepIndex: typeof obj.nextStepIndex === 'number' ? obj.nextStepIndex : 0,
148
+ walkthroughStep: typeof obj.walkthroughStep === 'number' ? obj.walkthroughStep : undefined,
149
+ walkthroughDismissed: obj.walkthroughDismissed === true ? true : undefined,
146
150
  };
147
151
  }
148
152
 
package/app/next-env.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /// <reference types="next" />
2
2
  /// <reference types="next/image-types/global" />
3
- import "./.next/types/routes.d.ts";
3
+ import "./.next/dev/types/routes.d.ts";
4
4
 
5
5
  // NOTE: This file should not be edited
6
6
  // see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
package/app/package.json CHANGED
@@ -39,6 +39,7 @@
39
39
  "lucide-react": "^0.577.0",
40
40
  "next": "16.1.6",
41
41
  "papaparse": "^5.5.3",
42
+ "pdfjs-dist": "^4.10.38",
42
43
  "picocolors": "^1.1.1",
43
44
  "react": "19.2.3",
44
45
  "react-dom": "19.2.3",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geminilight/mindos",
3
- "version": "0.5.28",
3
+ "version": "0.5.29",
4
4
  "description": "MindOS — Human-Agent Collaborative Mind System. Local-first knowledge base that syncs your mind to all AI Agents via MCP.",
5
5
  "keywords": [
6
6
  "mindos",