@geminilight/mindos 0.6.28 → 0.6.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -4
- package/app/app/api/a2a/agents/route.ts +9 -0
- package/app/app/api/a2a/delegations/route.ts +9 -0
- package/app/app/api/a2a/discover/route.ts +2 -0
- package/app/app/api/a2a/route.ts +6 -6
- package/app/app/api/acp/config/route.ts +82 -0
- package/app/app/api/acp/detect/route.ts +114 -0
- package/app/app/api/acp/install/route.ts +51 -0
- package/app/app/api/acp/registry/route.ts +31 -0
- package/app/app/api/acp/session/route.ts +185 -0
- package/app/app/api/ask/route.ts +116 -13
- package/app/app/api/workflows/route.ts +156 -0
- package/app/app/layout.tsx +2 -0
- package/app/app/page.tsx +7 -2
- package/app/components/ActivityBar.tsx +12 -4
- package/app/components/AskModal.tsx +4 -1
- package/app/components/DirView.tsx +64 -2
- package/app/components/FileTree.tsx +40 -10
- package/app/components/GuideCard.tsx +7 -17
- package/app/components/HomeContent.tsx +1 -0
- package/app/components/MarkdownView.tsx +2 -0
- package/app/components/Panel.tsx +1 -0
- package/app/components/RightAskPanel.tsx +5 -1
- package/app/components/SearchModal.tsx +234 -80
- package/app/components/SidebarLayout.tsx +6 -0
- package/app/components/agents/AgentDetailContent.tsx +266 -52
- package/app/components/agents/AgentsContentPage.tsx +32 -6
- package/app/components/agents/AgentsPanelA2aTab.tsx +684 -0
- package/app/components/agents/AgentsPanelSessionsTab.tsx +166 -0
- package/app/components/agents/SkillDetailPopover.tsx +4 -9
- package/app/components/agents/agents-content-model.ts +2 -2
- package/app/components/ask/AgentSelectorCapsule.tsx +218 -0
- package/app/components/ask/AskContent.tsx +197 -239
- package/app/components/ask/FileChip.tsx +82 -17
- package/app/components/ask/MentionPopover.tsx +21 -3
- package/app/components/ask/MessageList.tsx +30 -9
- package/app/components/ask/SlashCommandPopover.tsx +21 -3
- package/app/components/help/HelpContent.tsx +9 -9
- package/app/components/panels/AgentsPanel.tsx +2 -0
- package/app/components/panels/AgentsPanelAgentDetail.tsx +5 -8
- package/app/components/panels/AgentsPanelHubNav.tsx +16 -2
- package/app/components/panels/EchoPanel.tsx +5 -1
- package/app/components/panels/EchoSidebarStats.tsx +136 -0
- package/app/components/panels/WorkflowsPanel.tsx +206 -0
- package/app/components/renderers/workflow-yaml/StepEditor.tsx +157 -0
- package/app/components/renderers/workflow-yaml/WorkflowEditor.tsx +201 -0
- package/app/components/renderers/workflow-yaml/WorkflowRunner.tsx +226 -0
- package/app/components/renderers/workflow-yaml/WorkflowYamlRenderer.tsx +126 -0
- package/app/components/renderers/workflow-yaml/execution.ts +177 -0
- package/app/components/renderers/workflow-yaml/index.ts +6 -0
- package/app/components/renderers/workflow-yaml/manifest.ts +21 -0
- package/app/components/renderers/workflow-yaml/parser.ts +172 -0
- package/app/components/renderers/workflow-yaml/selectors.tsx +522 -0
- package/app/components/renderers/workflow-yaml/serializer.ts +56 -0
- package/app/components/renderers/workflow-yaml/types.ts +46 -0
- package/app/components/settings/KnowledgeTab.tsx +3 -6
- package/app/components/settings/McpSkillsSection.tsx +4 -5
- package/app/components/settings/McpTab.tsx +6 -8
- package/app/components/setup/StepSecurity.tsx +4 -5
- package/app/components/setup/index.tsx +5 -11
- package/app/components/ui/Toaster.tsx +39 -0
- package/app/hooks/useA2aRegistry.ts +6 -1
- package/app/hooks/useAcpConfig.ts +96 -0
- package/app/hooks/useAcpDetection.ts +120 -0
- package/app/hooks/useAcpRegistry.ts +86 -0
- package/app/hooks/useAskModal.ts +12 -5
- package/app/hooks/useAskPanel.ts +8 -5
- package/app/hooks/useAskSession.ts +19 -2
- package/app/hooks/useDelegationHistory.ts +49 -0
- package/app/hooks/useImageUpload.ts +152 -0
- package/app/lib/a2a/client.ts +49 -5
- package/app/lib/a2a/orchestrator.ts +0 -1
- package/app/lib/a2a/task-handler.ts +4 -4
- package/app/lib/a2a/types.ts +15 -0
- package/app/lib/acp/acp-tools.ts +95 -0
- package/app/lib/acp/agent-descriptors.ts +274 -0
- package/app/lib/acp/bridge.ts +144 -0
- package/app/lib/acp/index.ts +40 -0
- package/app/lib/acp/registry.ts +202 -0
- package/app/lib/acp/session.ts +717 -0
- package/app/lib/acp/subprocess.ts +495 -0
- package/app/lib/acp/types.ts +274 -0
- package/app/lib/agent/model.ts +18 -3
- package/app/lib/agent/to-agent-messages.ts +25 -2
- package/app/lib/agent/tools.ts +2 -1
- package/app/lib/i18n/_core.ts +22 -0
- package/app/lib/i18n/index.ts +35 -0
- package/app/lib/i18n/modules/ai-chat.ts +215 -0
- package/app/lib/i18n/modules/common.ts +71 -0
- package/app/lib/i18n/modules/features.ts +153 -0
- package/app/lib/i18n/modules/knowledge.ts +429 -0
- package/app/lib/i18n/modules/navigation.ts +153 -0
- package/app/lib/i18n/modules/onboarding.ts +523 -0
- package/app/lib/i18n/modules/panels.ts +1196 -0
- package/app/lib/i18n/modules/settings.ts +585 -0
- package/app/lib/i18n-en.ts +2 -1518
- package/app/lib/i18n-zh.ts +2 -1542
- package/app/lib/i18n.ts +3 -6
- package/app/lib/pi-integration/skills.ts +21 -6
- package/app/lib/renderers/index.ts +2 -2
- package/app/lib/settings.ts +10 -0
- package/app/lib/toast.ts +79 -0
- package/app/lib/types.ts +12 -1
- package/app/next-env.d.ts +1 -1
- package/app/package.json +3 -1
- package/bin/cli.js +25 -25
- package/bin/commands/file.js +29 -2
- package/bin/commands/space.js +249 -91
- package/package.json +1 -1
- package/templates/en/.mindos/workflows/Sprint Release.flow.yaml +130 -0
- package/templates/zh/.mindos/workflows//345/221/250/350/277/255/344/273/243/346/243/200/346/237/245.flow.yaml +84 -0
- package/app/components/renderers/workflow/WorkflowRenderer.tsx +0 -409
- package/app/components/renderers/workflow/manifest.ts +0 -14
package/app/lib/i18n-zh.ts
CHANGED
|
@@ -1,1542 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* 💡 SUGGESTION #3: Recursively widen literal string types to `string` so zh values can differ from en.
|
|
5
|
-
*
|
|
6
|
-
* Without Widen<T>, TypeScript would require zh strings to be the *exact* literal values from en.
|
|
7
|
-
* E.g., if en has `common: { hello: "hello" as const }`, zh would be required to also have "hello".
|
|
8
|
-
*
|
|
9
|
-
* This type converts all string literals to generic `string`, allowing Chinese translations to use
|
|
10
|
-
* completely different values while maintaining structure compatibility.
|
|
11
|
-
*
|
|
12
|
-
* Example:
|
|
13
|
-
* ```
|
|
14
|
-
* en = { msg: "Hello" as const } // string literal "Hello"
|
|
15
|
-
* zh_without = { msg: "你好" } satisfies typeof en // ❌ ERROR: "你好" not assignable to "Hello"
|
|
16
|
-
* zh_with = { msg: "你好" } satisfies Widen<typeof en> // ✅ OK: string satisfies string
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
type Widen<T> =
|
|
20
|
-
T extends string ? string :
|
|
21
|
-
T extends readonly (infer U)[] ? readonly Widen<U>[] :
|
|
22
|
-
T extends (...args: infer A) => infer R ? (...args: A) => Widen<R> :
|
|
23
|
-
T extends object ? { [K in keyof T]: Widen<T[K]> } :
|
|
24
|
-
T;
|
|
25
|
-
|
|
26
|
-
export const zh = {
|
|
27
|
-
common: {
|
|
28
|
-
relatedFiles: '关联视图',
|
|
29
|
-
},
|
|
30
|
-
app: {
|
|
31
|
-
tagline: '你在此思考,Agent 依此行动。',
|
|
32
|
-
footer: 'MindOS · 人机共生知识系统',
|
|
33
|
-
},
|
|
34
|
-
home: {
|
|
35
|
-
recentlyModified: '最近修改',
|
|
36
|
-
recentlyActive: '最近活跃',
|
|
37
|
-
recentlyEdited: '最近编辑',
|
|
38
|
-
allSpaces: '所有空间',
|
|
39
|
-
spaces: '心智空间',
|
|
40
|
-
nFiles: (n: number) => `${n} 个文件`,
|
|
41
|
-
other: '其他',
|
|
42
|
-
newSpace: '新建空间',
|
|
43
|
-
spaceName: '空间名称',
|
|
44
|
-
spaceDescription: '描述',
|
|
45
|
-
spaceDescPlaceholder: '描述这个空间的用途',
|
|
46
|
-
spaceNameNoSlash: '名称不能包含 / 或 \\',
|
|
47
|
-
spaceExists: '已存在同名空间',
|
|
48
|
-
spaceCreateFailed: '创建空间失败',
|
|
49
|
-
noSpacesYet: '还没有空间,创建一个来整理你的知识吧。',
|
|
50
|
-
spaceLocation: '位置',
|
|
51
|
-
rootLevel: '根目录',
|
|
52
|
-
optional: '可选',
|
|
53
|
-
aiInit: 'AI 初始化内容',
|
|
54
|
-
aiInitHint: 'AI 将自动生成空间说明和操作指南',
|
|
55
|
-
aiInitNoKey: '在 设置 → AI 中配置 API 密钥以启用',
|
|
56
|
-
aiInitGenerating: (name: string) => `正在为「${name}」生成内容`,
|
|
57
|
-
aiInitReady: (name: string) => `「${name}」已就绪`,
|
|
58
|
-
aiInitReview: '查看',
|
|
59
|
-
aiInitDiscard: '撤销',
|
|
60
|
-
aiInitReverted: (name: string) => `「${name}」已恢复为模板`,
|
|
61
|
-
createSpace: '创建',
|
|
62
|
-
cancelCreate: '取消',
|
|
63
|
-
continueEditing: '继续编辑',
|
|
64
|
-
newNote: '新建笔记',
|
|
65
|
-
builtinFeatures: '工具面板',
|
|
66
|
-
builtinActive: '已启用',
|
|
67
|
-
builtinInactive: '未激活',
|
|
68
|
-
toolName: {
|
|
69
|
-
'agent-inspector': '审计面板',
|
|
70
|
-
'config-panel': '配置面板',
|
|
71
|
-
'todo': '待办面板',
|
|
72
|
-
} as Record<string, string>,
|
|
73
|
-
toolDesc: {
|
|
74
|
-
'agent-inspector': '查看 Agent 操作日志与调用轨迹',
|
|
75
|
-
'config-panel': '编辑和管理全局配置项',
|
|
76
|
-
'todo': '以看板形式管理待办事项',
|
|
77
|
-
} as Record<string, string>,
|
|
78
|
-
plugins: '扩展',
|
|
79
|
-
changeHistory: '变更历史',
|
|
80
|
-
showMore: '查看更多',
|
|
81
|
-
showLess: '收起',
|
|
82
|
-
viewAll: '查看全部',
|
|
83
|
-
createToActivate: '创建 {file} 以启用',
|
|
84
|
-
shortcuts: {
|
|
85
|
-
searchFiles: '搜索文件',
|
|
86
|
-
askAI: 'MindOS Agent',
|
|
87
|
-
editFile: '编辑文件',
|
|
88
|
-
save: '保存',
|
|
89
|
-
settings: '设置',
|
|
90
|
-
},
|
|
91
|
-
relativeTime: {
|
|
92
|
-
justNow: '刚刚',
|
|
93
|
-
minutesAgo: (n: number) => `${n} 分钟前`,
|
|
94
|
-
hoursAgo: (n: number) => `${n} 小时前`,
|
|
95
|
-
daysAgo: (n: number) => `${n} 天前`,
|
|
96
|
-
},
|
|
97
|
-
cleanupExamples: (n: number) => `有 ${n} 个模板示例文件可以清理`,
|
|
98
|
-
cleanupExamplesButton: '一键清理',
|
|
99
|
-
cleanupExamplesDone: '示例文件已清理',
|
|
100
|
-
},
|
|
101
|
-
sidebar: {
|
|
102
|
-
files: '空间',
|
|
103
|
-
search: '搜索',
|
|
104
|
-
searchTitle: '搜索',
|
|
105
|
-
askTitle: 'MindOS Agent',
|
|
106
|
-
settingsTitle: '设置',
|
|
107
|
-
plugins: '插件',
|
|
108
|
-
agents: '智能体',
|
|
109
|
-
echo: '回响',
|
|
110
|
-
discover: '探索',
|
|
111
|
-
history: '历史',
|
|
112
|
-
help: '帮助',
|
|
113
|
-
syncLabel: '同步',
|
|
114
|
-
collapseTitle: '收起侧栏',
|
|
115
|
-
expandTitle: '展开侧栏',
|
|
116
|
-
collapseLevel: '折叠一级',
|
|
117
|
-
collapseLevelHint: '折叠一级(双击:全部折叠)',
|
|
118
|
-
expandLevel: '展开一级',
|
|
119
|
-
expandLevelHint: '展开一级(双击:全部展开)',
|
|
120
|
-
importFile: '导入文件',
|
|
121
|
-
new: '新建',
|
|
122
|
-
newFile: '新建文件',
|
|
123
|
-
newSpace: '新建空间',
|
|
124
|
-
sync: {
|
|
125
|
-
synced: '已同步',
|
|
126
|
-
unpushed: '待推送',
|
|
127
|
-
unpushedHint: '个提交尚未推送到远程 — 将自动同步',
|
|
128
|
-
conflicts: '冲突',
|
|
129
|
-
conflictsHint: '个文件存在合并冲突 — 前往 设置 > 同步 解决',
|
|
130
|
-
syncError: '同步出错',
|
|
131
|
-
syncOff: '同步关闭',
|
|
132
|
-
syncing: '同步中...',
|
|
133
|
-
syncNow: '立即同步',
|
|
134
|
-
syncDone: '同步完成',
|
|
135
|
-
syncFailed: '同步失败',
|
|
136
|
-
syncRestored: '同步已恢复',
|
|
137
|
-
enableSync: '启用同步',
|
|
138
|
-
enableHint: '设置跨设备同步',
|
|
139
|
-
},
|
|
140
|
-
},
|
|
141
|
-
search: {
|
|
142
|
-
placeholder: '搜索文件...',
|
|
143
|
-
noResults: '没有找到结果',
|
|
144
|
-
prompt: '输入关键词搜索所有文件',
|
|
145
|
-
navigate: '上下导航',
|
|
146
|
-
open: '打开',
|
|
147
|
-
close: '关闭',
|
|
148
|
-
},
|
|
149
|
-
ask: {
|
|
150
|
-
title: 'MindOS Agent',
|
|
151
|
-
fabLabel: 'AI 助手',
|
|
152
|
-
placeholder: '输入问题… @ 附加文件,/ 技能',
|
|
153
|
-
emptyPrompt: '可以问任何关于知识库的问题',
|
|
154
|
-
send: '发送',
|
|
155
|
-
newlineHint: '换行',
|
|
156
|
-
panelComposerResize: '向上拖拽以拉高输入区',
|
|
157
|
-
panelComposerFooter: '拉高输入区',
|
|
158
|
-
panelComposerResetHint: '双击恢复默认高度',
|
|
159
|
-
panelComposerKeyboard: '方向键调节高度;Home/End 最小或最大',
|
|
160
|
-
attachFile: '上下文',
|
|
161
|
-
uploadedFiles: '已上传',
|
|
162
|
-
skillsHint: '技能',
|
|
163
|
-
attachCurrent: '附加当前文件',
|
|
164
|
-
stopTitle: '停止',
|
|
165
|
-
cancelReconnect: '取消重连',
|
|
166
|
-
connecting: '正在和你一起思考...',
|
|
167
|
-
thinking: '思考中...',
|
|
168
|
-
thinkingLabel: '思考中',
|
|
169
|
-
searching: '正在搜索知识库...',
|
|
170
|
-
generating: '正在生成回复...',
|
|
171
|
-
stopped: '已停止生成。',
|
|
172
|
-
errorNoResponse: 'AI 未返回有效内容。可能原因:模型不支持流式输出、中转站兼容性问题、或请求超出上下文限制。',
|
|
173
|
-
reconnecting: (attempt: number, max: number) => `连接中断,正在重连 (${attempt}/${max})...`,
|
|
174
|
-
reconnectFailed: '多次重连失败,请检查网络后重试。',
|
|
175
|
-
retry: '重试',
|
|
176
|
-
suggestions: [
|
|
177
|
-
'总结这篇文档',
|
|
178
|
-
'列出所有待办事项',
|
|
179
|
-
'这篇文档的核心要点是什么?',
|
|
180
|
-
'查找与这个主题相关的笔记',
|
|
181
|
-
],
|
|
182
|
-
sessionHistory: '对话历史',
|
|
183
|
-
clearAll: '清除全部',
|
|
184
|
-
confirmClear: '确认清除?',
|
|
185
|
-
noSessions: '暂无历史对话。',
|
|
186
|
-
draftingHint: 'AI 仍在执行,你可以先输入下一步。',
|
|
187
|
-
},
|
|
188
|
-
changes: {
|
|
189
|
-
unreadBanner: (n: number) => `${n} 条内容变更未读`,
|
|
190
|
-
reviewNow: '立即查看',
|
|
191
|
-
dismiss: '关闭提醒',
|
|
192
|
-
title: '内容变更',
|
|
193
|
-
subtitle: '集中查看用户与 Agent 的最近编辑记录。',
|
|
194
|
-
eventsCount: (n: number) => `${n} 条事件`,
|
|
195
|
-
unreadCount: (n: number) => `${n} 条未读`,
|
|
196
|
-
refresh: '刷新',
|
|
197
|
-
markSeen: '标记已读',
|
|
198
|
-
markAllRead: '全部已读',
|
|
199
|
-
filters: {
|
|
200
|
-
filePath: '文件路径',
|
|
201
|
-
filePathPlaceholder: '例如:Projects/plan.md',
|
|
202
|
-
source: 'Agents(来源)',
|
|
203
|
-
operation: 'Tools(操作)',
|
|
204
|
-
operationAll: '全部操作',
|
|
205
|
-
keyword: '关键词',
|
|
206
|
-
keywordPlaceholder: '摘要 / 操作 / 路径',
|
|
207
|
-
all: '全部',
|
|
208
|
-
agent: 'Agent',
|
|
209
|
-
user: '用户',
|
|
210
|
-
system: '系统',
|
|
211
|
-
},
|
|
212
|
-
loading: '正在加载变更...',
|
|
213
|
-
empty: '暂无内容变更。',
|
|
214
|
-
open: '打开',
|
|
215
|
-
unchangedLines: (n: number) => `... ${n} 行未变更 ...`,
|
|
216
|
-
relativeTime: {
|
|
217
|
-
justNow: '刚刚',
|
|
218
|
-
minutesAgo: (n: number) => `${n} 分钟前`,
|
|
219
|
-
hoursAgo: (n: number) => `${n} 小时前`,
|
|
220
|
-
daysAgo: (n: number) => `${n} 天前`,
|
|
221
|
-
},
|
|
222
|
-
},
|
|
223
|
-
panels: {
|
|
224
|
-
agents: {
|
|
225
|
-
title: '智能体',
|
|
226
|
-
connected: '已连接',
|
|
227
|
-
refresh: '刷新智能体状态',
|
|
228
|
-
retry: '重试',
|
|
229
|
-
failedToLoad: '加载智能体失败',
|
|
230
|
-
mcpServer: 'MCP 服务器',
|
|
231
|
-
stopped: '已停止',
|
|
232
|
-
sectionConnected: '已连接',
|
|
233
|
-
sectionDetected: '已检测',
|
|
234
|
-
sectionNotDetected: '未检测到',
|
|
235
|
-
noAgents: '未检测到智能体。',
|
|
236
|
-
autoRefresh: '每 30 秒自动刷新',
|
|
237
|
-
connect: '连接',
|
|
238
|
-
installing: '安装中...',
|
|
239
|
-
install: '安装',
|
|
240
|
-
installSuccess: '已安装',
|
|
241
|
-
installFailed: '安装失败',
|
|
242
|
-
retryInstall: '重试',
|
|
243
|
-
// Snippet section
|
|
244
|
-
copyConfig: '复制配置',
|
|
245
|
-
copied: '已复制!',
|
|
246
|
-
transportLocal: '本地',
|
|
247
|
-
transportRemote: '远程',
|
|
248
|
-
configPath: '配置路径',
|
|
249
|
-
noAuthWarning: '未设置 Token — 请在高级配置中设置',
|
|
250
|
-
// Skills section
|
|
251
|
-
skillsTitle: 'Skills',
|
|
252
|
-
skillsActive: '已启用',
|
|
253
|
-
builtinSkills: '内置',
|
|
254
|
-
newSkill: '+ 新建',
|
|
255
|
-
// Footer
|
|
256
|
-
advancedConfig: '高级配置 →',
|
|
257
|
-
navOverview: '总览',
|
|
258
|
-
navMcp: 'MCP',
|
|
259
|
-
navSkills: '技能',
|
|
260
|
-
rosterLabel: '当前环境',
|
|
261
|
-
notFoundDetail: '本机未检测到该智能体客户端。请安装后刷新列表。',
|
|
262
|
-
skillsEmptyHint: '请在「MCP 与技能」设置中启用或编辑 Skills。',
|
|
263
|
-
backToList: '返回',
|
|
264
|
-
closeAgentDetail: '关闭',
|
|
265
|
-
agentDetailPanelAria: '智能体连接配置',
|
|
266
|
-
agentDetailTransport: '传输方式',
|
|
267
|
-
agentDetailSnippet: '配置片段',
|
|
268
|
-
// A2A
|
|
269
|
-
a2aLabel: 'A2A',
|
|
270
|
-
a2aReady: 'A2A 就绪',
|
|
271
|
-
a2aChecking: '检测 A2A 中...',
|
|
272
|
-
a2aUnavailable: 'A2A 不可用',
|
|
273
|
-
a2aRemote: '远程',
|
|
274
|
-
a2aDiscover: '发现远程 Agent',
|
|
275
|
-
a2aDiscoverHint: '通过 URL 连接外部 A2A Agent',
|
|
276
|
-
a2aDiscoverPlaceholder: 'https://agent.example.com',
|
|
277
|
-
a2aDiscovering: '发现中...',
|
|
278
|
-
a2aDiscoverSuccess: 'Agent 已发现!',
|
|
279
|
-
a2aDiscoverFailed: '未在此 URL 找到 A2A Agent',
|
|
280
|
-
a2aDiscoverFailedHint: '该服务器可能不支持 A2A 协议,请检查 URL 后重试。',
|
|
281
|
-
a2aSkills: '技能',
|
|
282
|
-
a2aEndpoint: '端点',
|
|
283
|
-
a2aVersion: '版本',
|
|
284
|
-
a2aCapabilities: 'A2A 能力',
|
|
285
|
-
a2aStatus: '状态',
|
|
286
|
-
a2aConnected: '已连接,A2A 就绪',
|
|
287
|
-
a2aNoRemote: '无远程 Agent',
|
|
288
|
-
a2aNoRemoteHint: '发现远程 Agent 以启用跨 Agent 委派。',
|
|
289
|
-
},
|
|
290
|
-
plugins: {
|
|
291
|
-
title: '插件',
|
|
292
|
-
active: '已启用',
|
|
293
|
-
noPlugins: '暂无插件',
|
|
294
|
-
core: '核心',
|
|
295
|
-
coreDisabled: '核心插件 — 不可禁用',
|
|
296
|
-
footer: '插件用于自定义文件渲染方式。核心插件不可禁用。',
|
|
297
|
-
ready: '就绪 — 点击打开',
|
|
298
|
-
disabled: '已禁用',
|
|
299
|
-
noFile: '入口文件不存在',
|
|
300
|
-
createFile: '创建 {file} 以激活',
|
|
301
|
-
},
|
|
302
|
-
echo: {
|
|
303
|
-
title: '回响',
|
|
304
|
-
aboutYouTitle: '关于你',
|
|
305
|
-
aboutYouDesc: '指向你的笔记与线索',
|
|
306
|
-
continuedTitle: '未完待续',
|
|
307
|
-
continuedDesc: '草稿与未收口的事',
|
|
308
|
-
dailyEchoTitle: '今日',
|
|
309
|
-
dailyDesc: '一行就够',
|
|
310
|
-
pastYouTitle: '往昔',
|
|
311
|
-
pastYouDesc: '瞥见另一个时间点的自己',
|
|
312
|
-
intentGrowthTitle: '生长',
|
|
313
|
-
growthDesc: '你正在推进的方向',
|
|
314
|
-
},
|
|
315
|
-
discover: {
|
|
316
|
-
title: '探索',
|
|
317
|
-
useCases: '使用案例',
|
|
318
|
-
useCasesDesc: '动手体验 MindOS 的典型场景',
|
|
319
|
-
pluginMarket: '插件市场',
|
|
320
|
-
pluginMarketDesc: '扩展文件的渲染和编辑方式',
|
|
321
|
-
skillMarket: '技能市场',
|
|
322
|
-
skillMarketDesc: '为 AI 智能体添加新能力',
|
|
323
|
-
spaceTemplates: '空间模板',
|
|
324
|
-
spaceTemplatesDesc: '预设的空间结构,适用于常见工作流场景',
|
|
325
|
-
comingSoon: '即将推出',
|
|
326
|
-
viewAll: '查看所有使用案例',
|
|
327
|
-
tryIt: '试试',
|
|
328
|
-
},
|
|
329
|
-
},
|
|
330
|
-
echoPages: {
|
|
331
|
-
parent: '回响',
|
|
332
|
-
heroKicker: '回响',
|
|
333
|
-
segmentNavAria: '回响模块',
|
|
334
|
-
snapshotBadge: '本地 · 私密',
|
|
335
|
-
factsHeading: '所见',
|
|
336
|
-
snapshotAboutYouTitle: '线索在此汇聚',
|
|
337
|
-
snapshotAboutYouBody:
|
|
338
|
-
'路径、链接或标题指向你的笔记会浮现在这里,点击即可打开编辑。现在也可以用下方按钮打开 Agent 聊聊。',
|
|
339
|
-
snapshotContinuedTitle: '草稿与未收口',
|
|
340
|
-
snapshotContinuedBody:
|
|
341
|
-
'未命名草稿、写到一半的稿、待办里尚未勾上的项,接入文库后会汇集在此。',
|
|
342
|
-
snapshotDailyTitle: '从一行开始',
|
|
343
|
-
snapshotDailyBody:
|
|
344
|
-
'离手即存,写在浏览器本机。一行就够——想展开时再找 Agent。',
|
|
345
|
-
snapshotPastYouTitle: '温和地一瞥',
|
|
346
|
-
snapshotPastYouBody:
|
|
347
|
-
'从时间轴里随机浮出一篇旧笔记片段,让你瞥见那时的自己。即将上线。',
|
|
348
|
-
snapshotGrowthTitle: '意图落在这里',
|
|
349
|
-
snapshotGrowthBody:
|
|
350
|
-
'写一句此刻最想推进的方向。它只保存在本机,可随时间改写。',
|
|
351
|
-
insightTitle: '见解',
|
|
352
|
-
insightShow: '展开见解',
|
|
353
|
-
insightHide: '收起见解',
|
|
354
|
-
insightHint:
|
|
355
|
-
'只会带上本页可见的文字(含「所见」与你在本页输入的内容),不会默认上传整库。需在 设置 → AI 中配置后再用。',
|
|
356
|
-
generateInsight: '生成见解',
|
|
357
|
-
generateInsightNoAi: '请在 设置 → AI 中填写 API Key(或配置环境变量)后刷新本页。',
|
|
358
|
-
insightGenerating: '生成中…',
|
|
359
|
-
insightErrorPrefix: '生成失败:',
|
|
360
|
-
insightRetry: '重试',
|
|
361
|
-
continueAgent: '在 Agent 中展开',
|
|
362
|
-
continuedDrafts: '草稿',
|
|
363
|
-
continuedTodos: '未收口',
|
|
364
|
-
subEmptyHint: '接入文库后,条目会出现在对应分组里。',
|
|
365
|
-
dailyLineLabel: '今日一行',
|
|
366
|
-
dailyLinePlaceholder: '写下一行轻量的文字…',
|
|
367
|
-
dailySavedNote: '已保存在本机浏览器;仅本设备可见。',
|
|
368
|
-
savedFlash: '已保存',
|
|
369
|
-
dailyAskPrefill: (line: string) =>
|
|
370
|
-
`回响 / 每日 — 围绕这一行帮我展开:\n\n${line.trim() || '(空行)'}`,
|
|
371
|
-
pastYouDrawLabel: '往日一瞥',
|
|
372
|
-
pastYouAnother: '再抽一笔',
|
|
373
|
-
pastYouComingSoon: '即将推出',
|
|
374
|
-
pastYouDisabledHint: '时间轴采样即将上线——届时轻点即可抽读旧笔记片段。',
|
|
375
|
-
growthIntentLabel: '当前意图',
|
|
376
|
-
growthIntentPlaceholder: '写下你正在推进的方向…',
|
|
377
|
-
growthSavedNote: '已保存在本机。',
|
|
378
|
-
aboutYouLead: '无需翻找,与你相关的笔记自然浮现。',
|
|
379
|
-
continuedLead: '草稿、待办、写到一半的念头。',
|
|
380
|
-
dailyLead: '一行就够。想展开时再找 Agent。',
|
|
381
|
-
pastYouLead: '温和地瞥见另一个时间点的自己。',
|
|
382
|
-
growthLead: '你正在推进的方向,以及它如何缓慢漂移。',
|
|
383
|
-
},
|
|
384
|
-
agentsContent: {
|
|
385
|
-
title: 'Agents',
|
|
386
|
-
subtitle: '连接、技能与状态,一目了然。',
|
|
387
|
-
workspacePulse: {
|
|
388
|
-
title: '工作区脉搏',
|
|
389
|
-
connected: '已连接',
|
|
390
|
-
detected: '已检测',
|
|
391
|
-
notFound: '未找到',
|
|
392
|
-
risk: '风险',
|
|
393
|
-
enabledSkills: '已启用',
|
|
394
|
-
healthy: '正常',
|
|
395
|
-
needsAttention: (n: number) => `${n} 个问题`,
|
|
396
|
-
},
|
|
397
|
-
navOverview: '总览',
|
|
398
|
-
navMcp: 'MCP',
|
|
399
|
-
navSkills: 'Skills',
|
|
400
|
-
backToOverview: '返回 Agents',
|
|
401
|
-
na: '暂无',
|
|
402
|
-
status: {
|
|
403
|
-
connected: '已连接',
|
|
404
|
-
detected: '已检测',
|
|
405
|
-
notFound: '未找到',
|
|
406
|
-
},
|
|
407
|
-
overview: {
|
|
408
|
-
connected: '已连接',
|
|
409
|
-
detected: '已检测',
|
|
410
|
-
notFound: '未找到',
|
|
411
|
-
riskQueue: '待处理',
|
|
412
|
-
noRisk: '一切正常,暂无问题。',
|
|
413
|
-
usagePulse: '全部 Agent',
|
|
414
|
-
nextAction: '建议操作',
|
|
415
|
-
nextActionHint: '优先重连已检测的 Agent,再启用所需技能。',
|
|
416
|
-
riskLevelError: '异常',
|
|
417
|
-
riskLevelWarn: '注意',
|
|
418
|
-
na: '暂无',
|
|
419
|
-
colAgent: 'Agent',
|
|
420
|
-
colStatus: '状态',
|
|
421
|
-
colMcp: 'MCP',
|
|
422
|
-
colSkills: '技能',
|
|
423
|
-
colMode: '模式',
|
|
424
|
-
colRuntime: '运行时',
|
|
425
|
-
pulseMcp: 'MCP',
|
|
426
|
-
pulseTools: '工具数',
|
|
427
|
-
mcpOffline: '离线',
|
|
428
|
-
toolsUnit: (n: number) => `${n} 个工具`,
|
|
429
|
-
enabledUnit: (n: number) => `${n} 已启用`,
|
|
430
|
-
agentCount: (n: number) => `${n} 个 Agent`,
|
|
431
|
-
runtimeActive: '活跃',
|
|
432
|
-
riskMcpStopped: 'MCP 服务未运行。',
|
|
433
|
-
riskDetected: (n: number) => `${n} 个已检测 Agent 待配置。`,
|
|
434
|
-
riskSkillsDisabled: '所有技能已禁用。',
|
|
435
|
-
},
|
|
436
|
-
mcp: {
|
|
437
|
-
title: 'MCP 连接',
|
|
438
|
-
refresh: '刷新',
|
|
439
|
-
connectionGraph: '跨 Agent 服务器连接',
|
|
440
|
-
tabs: {
|
|
441
|
-
manage: '管理',
|
|
442
|
-
topology: '图谱',
|
|
443
|
-
byAgent: '按 Agent 查看',
|
|
444
|
-
byServer: '按 MCP Server 查看',
|
|
445
|
-
},
|
|
446
|
-
searchPlaceholder: '搜索 Agent...',
|
|
447
|
-
installMindos: '安装 MindOS MCP',
|
|
448
|
-
installed: '已安装',
|
|
449
|
-
mcpServerLabel: 'MCP Server',
|
|
450
|
-
searchServersPlaceholder: '搜索 MCP server...',
|
|
451
|
-
serverAgentCount: (n: number) => `${n} 个 Agent`,
|
|
452
|
-
emptyState: '当前筛选条件下没有匹配的 Agent。',
|
|
453
|
-
resultCount: (n: number) => `${n} 个 Agent`,
|
|
454
|
-
filteredSummaryTitle: '筛选结果状态摘要',
|
|
455
|
-
filteredConnected: (n: number) => `已连接:${n}`,
|
|
456
|
-
filteredDetected: (n: number) => `已检测:${n}`,
|
|
457
|
-
filteredNotFound: (n: number) => `未找到:${n}`,
|
|
458
|
-
crossAgentServersTitle: 'MCP 服务器',
|
|
459
|
-
crossAgentServersEmpty: '暂未检测到 MCP 服务器。',
|
|
460
|
-
crossAgentServerAgents: (names: string) => `使用者:${names}`,
|
|
461
|
-
configVisibilityTitle: '配置信息',
|
|
462
|
-
hiddenRootDetected: (n: number, total: number) => `隐藏目录:${n}/${total}`,
|
|
463
|
-
runtimeSignalDetected: (n: number, total: number) => `运行信号:${n}/${total}`,
|
|
464
|
-
riskQueueTitle: '待处理',
|
|
465
|
-
riskMcpStopped: 'MCP 服务未运行。',
|
|
466
|
-
riskDetected: (n: number) => `${n} 个已检测 Agent 待配置。`,
|
|
467
|
-
riskNotFound: (n: number) => `${n} 个 Agent 未在本机检测到。`,
|
|
468
|
-
riskSkillsDisabled: '所有技能已禁用。',
|
|
469
|
-
bulkReconnectFiltered: '全部重连',
|
|
470
|
-
bulkRunning: '正在批量重连...',
|
|
471
|
-
bulkSummary: (ok: number, failed: number) => `重连成功 ${ok} 个,失败 ${failed} 个。`,
|
|
472
|
-
transportFilters: {
|
|
473
|
-
all: '全部传输',
|
|
474
|
-
stdio: 'stdio',
|
|
475
|
-
http: 'http',
|
|
476
|
-
other: '其他',
|
|
477
|
-
},
|
|
478
|
-
filters: {
|
|
479
|
-
all: '全部',
|
|
480
|
-
connected: '已连接',
|
|
481
|
-
detected: '已检测',
|
|
482
|
-
notFound: '未找到',
|
|
483
|
-
},
|
|
484
|
-
table: {
|
|
485
|
-
agent: 'Agent',
|
|
486
|
-
status: '状态',
|
|
487
|
-
transport: '传输',
|
|
488
|
-
actions: '操作',
|
|
489
|
-
},
|
|
490
|
-
actions: {
|
|
491
|
-
copySnippet: '复制配置',
|
|
492
|
-
copied: '已复制',
|
|
493
|
-
testConnection: '测试连接',
|
|
494
|
-
reconnect: '重连',
|
|
495
|
-
},
|
|
496
|
-
addAgent: '添加',
|
|
497
|
-
removeFromServer: '移除',
|
|
498
|
-
confirmRemoveTitle: '从服务器移除?',
|
|
499
|
-
confirmRemoveMessage: (agent: string, server: string) => `将"${agent}"从"${server}"移除?需编辑 Agent 配置文件完成操作。`,
|
|
500
|
-
cancel: '取消',
|
|
501
|
-
noAvailableAgents: '所有 Agent 均已添加。',
|
|
502
|
-
manualRemoveHint: '已标记移除,请编辑 Agent 配置文件完成操作。',
|
|
503
|
-
reconnectAllInServer: '全部重连',
|
|
504
|
-
reconnectAllRunning: '正在重连...',
|
|
505
|
-
reconnectAllDone: (ok: number, failed: number) => `完成:${ok} 已重连${failed > 0 ? `,${failed} 失败` : ''}。`,
|
|
506
|
-
serverTransport: (t: string) => `传输:${t}`,
|
|
507
|
-
},
|
|
508
|
-
skills: {
|
|
509
|
-
title: 'Skills',
|
|
510
|
-
summaryTitle: '技能状态',
|
|
511
|
-
summaryEnabled: (n: number) => `已启用:${n}`,
|
|
512
|
-
summaryDisabled: (n: number) => `已禁用:${n}`,
|
|
513
|
-
summaryAttention: (n: number) => `需关注:${n}`,
|
|
514
|
-
crossAgentSkillsTitle: '已安装技能',
|
|
515
|
-
crossAgentSkillsEmpty: '暂未检测到已安装技能。',
|
|
516
|
-
crossAgentSkillAgents: (names: string) => `安装于:${names}`,
|
|
517
|
-
capabilityGroups: '跨 Agent 技能管理',
|
|
518
|
-
registrySummaryTitle: '技能注册表',
|
|
519
|
-
registryUniversal: (n: number) => `Universal:${n}`,
|
|
520
|
-
registryAdditional: (n: number) => `Additional:${n}`,
|
|
521
|
-
registryUnsupported: (n: number) => `Unsupported:${n}`,
|
|
522
|
-
registryHiddenRoots: (n: number, total: number) => `隐藏目录:${n}/${total}`,
|
|
523
|
-
tabs: {
|
|
524
|
-
manage: '管理',
|
|
525
|
-
matrix: '矩阵',
|
|
526
|
-
bySkill: '按 Skill 查看',
|
|
527
|
-
byAgent: '按 Agent 查看',
|
|
528
|
-
},
|
|
529
|
-
searchPlaceholder: '搜索技能...',
|
|
530
|
-
agentSkillMode: 'Skill 模式',
|
|
531
|
-
agentMcpServers: 'MCP Servers',
|
|
532
|
-
agentNativeSkills: '原生 Skills',
|
|
533
|
-
agentMindosSkills: 'MindOS Skills',
|
|
534
|
-
noAgentsYet: '尚未检测到任何 Agent。',
|
|
535
|
-
moreSkills: (n: number) => `另有 ${n} 个`,
|
|
536
|
-
sourceAll: '全部',
|
|
537
|
-
sourceBuiltin: '内置',
|
|
538
|
-
sourceUser: '自定义',
|
|
539
|
-
sourceNative: '原生',
|
|
540
|
-
summaryNative: (n: number) => `原生:${n}`,
|
|
541
|
-
statusAll: '全部状态',
|
|
542
|
-
statusEnabled: '已启用',
|
|
543
|
-
statusDisabled: '已禁用',
|
|
544
|
-
statusAttention: '需关注',
|
|
545
|
-
capabilityAll: '全部能力',
|
|
546
|
-
bulkEnableFiltered: '全部启用',
|
|
547
|
-
bulkDisableFiltered: '全部停用',
|
|
548
|
-
bulkRunning: '正在应用变更...',
|
|
549
|
-
bulkNoChanges: '当前无需变更。',
|
|
550
|
-
bulkAllSucceeded: (n: number) => `已更新 ${n} 个技能。`,
|
|
551
|
-
bulkPartialFailed: (ok: number, failed: number) => `已更新 ${ok} 个,失败 ${failed} 个。`,
|
|
552
|
-
resultCount: (n: number) => `${n} 个技能`,
|
|
553
|
-
matrixAgentFocusLabel: 'Agent 聚焦',
|
|
554
|
-
matrixAgentFocusAll: '全部 Agent',
|
|
555
|
-
matrixColumnSkill: '技能',
|
|
556
|
-
matrixEnabled: '已启用',
|
|
557
|
-
matrixDisabled: '已禁用',
|
|
558
|
-
matrixUnsupported: '不支持',
|
|
559
|
-
matrixNoAgents: '当前无可用于矩阵的 Agent。',
|
|
560
|
-
noSkillsMatchFilter: '当前筛选条件下无技能。',
|
|
561
|
-
matrixEmpty: '当前筛选条件下无技能。',
|
|
562
|
-
addAgentToSkill: '添加',
|
|
563
|
-
removeAgentFromSkill: '移除',
|
|
564
|
-
confirmRemoveAgentTitle: '从技能移除?',
|
|
565
|
-
confirmRemoveAgentMessage: (agent: string, skill: string) => `将"${agent}"从"${skill}"移除?需编辑 Agent 配置文件完成操作。`,
|
|
566
|
-
cancelSkillAction: '取消',
|
|
567
|
-
noAvailableAgentsForSkill: '所有 Agent 均已拥有此技能。',
|
|
568
|
-
manualSkillHint: '已标记,请编辑 Agent 配置文件完成操作。',
|
|
569
|
-
skillDescription: '描述',
|
|
570
|
-
skillNoDescription: '暂无描述。',
|
|
571
|
-
skillDeleteAction: '删除',
|
|
572
|
-
confirmDeleteSkillTitle: '删除技能?',
|
|
573
|
-
confirmDeleteSkillMessage: (name: string) => `确认永久删除技能"${name}"?此操作不可撤销。`,
|
|
574
|
-
skillDeleted: '技能已删除。',
|
|
575
|
-
skillDeleteFailed: '删除技能失败。',
|
|
576
|
-
copyInstallCmd: '复制安装命令',
|
|
577
|
-
installCmdCopied: '已复制!',
|
|
578
|
-
skillAgentCount: (n: number) => `${n} 个 Agent`,
|
|
579
|
-
quickStatsMcp: (n: number) => `${n} MCP`,
|
|
580
|
-
quickStatsSkills: (n: number) => `${n} 技能`,
|
|
581
|
-
showAllNative: (n: number) => `展开全部 ${n} 项`,
|
|
582
|
-
collapseNative: '收起',
|
|
583
|
-
emptyGroup: '该分组暂无技能。',
|
|
584
|
-
groupLabels: {
|
|
585
|
-
research: '研究',
|
|
586
|
-
coding: '编码',
|
|
587
|
-
docs: '文档',
|
|
588
|
-
ops: '运维',
|
|
589
|
-
memory: '记忆',
|
|
590
|
-
},
|
|
591
|
-
skillPopover: {
|
|
592
|
-
close: '关闭',
|
|
593
|
-
source: '来源',
|
|
594
|
-
sourceBuiltin: '内置',
|
|
595
|
-
sourceUser: '自定义',
|
|
596
|
-
sourceNative: '原生',
|
|
597
|
-
capability: '能力类型',
|
|
598
|
-
path: '文件路径',
|
|
599
|
-
enabled: '已启用',
|
|
600
|
-
disabled: '已禁用',
|
|
601
|
-
agents: 'Agent',
|
|
602
|
-
noAgents: '暂无 Agent 拥有此技能。',
|
|
603
|
-
content: '技能内容',
|
|
604
|
-
loading: '加载中…',
|
|
605
|
-
loadFailed: '加载技能内容失败。',
|
|
606
|
-
retry: '重试',
|
|
607
|
-
copyContent: '复制',
|
|
608
|
-
copied: '已复制!',
|
|
609
|
-
noDescription: '暂无描述。',
|
|
610
|
-
deleteSkill: '删除',
|
|
611
|
-
confirmDeleteTitle: '删除技能?',
|
|
612
|
-
confirmDeleteMessage: (name: string) => `确认永久删除技能"${name}"?此操作不可撤销。`,
|
|
613
|
-
confirmDeleteAction: '删除',
|
|
614
|
-
cancelAction: '取消',
|
|
615
|
-
deleted: '技能已删除。',
|
|
616
|
-
deleteFailed: '删除技能失败。',
|
|
617
|
-
},
|
|
618
|
-
},
|
|
619
|
-
detail: {
|
|
620
|
-
healthStripTitle: '状态',
|
|
621
|
-
healthConnected: '已连接',
|
|
622
|
-
healthInstalled: 'MCP 已安装',
|
|
623
|
-
healthRuntimeSignals: '运行信号',
|
|
624
|
-
healthConfiguredServers: '已配置 servers',
|
|
625
|
-
healthInstalledSkills: '原生已安装 skills',
|
|
626
|
-
identity: '身份',
|
|
627
|
-
connection: '连接',
|
|
628
|
-
capabilities: '能力画像',
|
|
629
|
-
skillAssignments: '技能分配',
|
|
630
|
-
runtimeSignals: '运行与配置信号',
|
|
631
|
-
recentActivity: '最近活动',
|
|
632
|
-
spaceReach: '空间触达',
|
|
633
|
-
agentKey: 'Agent Key',
|
|
634
|
-
status: '状态',
|
|
635
|
-
transport: '传输',
|
|
636
|
-
endpoint: '端点',
|
|
637
|
-
port: '端口',
|
|
638
|
-
auth: '认证',
|
|
639
|
-
authConfigured: '已配置',
|
|
640
|
-
authMissing: '未配置',
|
|
641
|
-
projectScope: '项目范围',
|
|
642
|
-
globalScope: '全局范围',
|
|
643
|
-
format: '配置格式',
|
|
644
|
-
skillMode: 'Skill 模式',
|
|
645
|
-
hiddenRoot: '隐藏目录路径',
|
|
646
|
-
hiddenRootPresent: '隐藏目录',
|
|
647
|
-
conversationSignal: '对话',
|
|
648
|
-
usageSignal: '用量',
|
|
649
|
-
lastActivityAt: '最近活跃',
|
|
650
|
-
skillsAll: '全部 Skills',
|
|
651
|
-
skillsEnabled: '已启用 Skills',
|
|
652
|
-
skillsSourceBuiltin: '内置',
|
|
653
|
-
skillsSourceUser: '自定义',
|
|
654
|
-
skillsSearchPlaceholder: '搜索全部已配置 Skills...',
|
|
655
|
-
skillsFilterAll: '全部',
|
|
656
|
-
skillsFilterBuiltin: '内置',
|
|
657
|
-
skillsFilterUser: '自定义',
|
|
658
|
-
skillEnable: '启用',
|
|
659
|
-
skillDisable: '禁用',
|
|
660
|
-
skillEdit: '编辑',
|
|
661
|
-
skillSave: '保存',
|
|
662
|
-
skillCancel: '取消',
|
|
663
|
-
skillActionLoading: '处理中...',
|
|
664
|
-
skillReadFailed: '读取 Skill 内容失败。',
|
|
665
|
-
skillSaveFailed: '保存 Skill 内容失败。',
|
|
666
|
-
mcpManagement: 'MCP 管理',
|
|
667
|
-
mcpInstalled: '已安装',
|
|
668
|
-
mcpScope: '当前范围',
|
|
669
|
-
mcpConfigPath: '配置路径',
|
|
670
|
-
mcpTargetScope: '目标范围',
|
|
671
|
-
mcpTargetTransport: '目标传输',
|
|
672
|
-
mcpScopeProject: '项目',
|
|
673
|
-
mcpScopeGlobal: '全局',
|
|
674
|
-
mcpCopySnippet: '复制片段',
|
|
675
|
-
mcpCopied: '已复制',
|
|
676
|
-
mcpRefresh: '刷新状态',
|
|
677
|
-
mcpReconnect: '应用 MCP 配置',
|
|
678
|
-
mcpApplying: '正在应用 MCP 配置...',
|
|
679
|
-
mcpApplySuccess: 'MCP 配置已应用。',
|
|
680
|
-
mcpApplyFailed: '应用 MCP 配置失败。',
|
|
681
|
-
nativeInstalledSkills: '已安装技能',
|
|
682
|
-
nativeInstalledSkillsCount: (n: number) => `检测到 ${n} 个`,
|
|
683
|
-
nativeInstalledSkillsEmpty: '暂未检测到已安装技能。',
|
|
684
|
-
nativeInstalledSkillsMore: (n: number) => `另有 ${n} 个`,
|
|
685
|
-
configuredMcpServers: 'MCP 服务器',
|
|
686
|
-
configuredMcpServersCount: (n: number) => `检测到 ${n} 个`,
|
|
687
|
-
configuredMcpServersEmpty: '暂未配置 MCP 服务器。',
|
|
688
|
-
configuredMcpServersMore: (n: number) => `另有 ${n} 个`,
|
|
689
|
-
yes: '是',
|
|
690
|
-
no: '否',
|
|
691
|
-
noSkills: '暂无启用技能。',
|
|
692
|
-
noActivity: '暂无活动记录。',
|
|
693
|
-
noSpaceReach: '暂无空间触达数据。',
|
|
694
|
-
skillDelete: '删除',
|
|
695
|
-
skillDeleteConfirm: (name: string) => `确认删除技能"${name}"?此操作不可撤销。`,
|
|
696
|
-
skillDeleteSuccess: '技能已删除。',
|
|
697
|
-
skillDeleteFailed: '删除技能失败。',
|
|
698
|
-
mcpServerAdd: '添加 MCP 服务器',
|
|
699
|
-
mcpServerRemove: '移除',
|
|
700
|
-
mcpServerRemoveConfirm: (name: string) => `从该 Agent 移除"${name}"?需编辑配置文件完成操作。`,
|
|
701
|
-
mcpServerHint: '已标记,请编辑 Agent 配置文件完成操作。',
|
|
702
|
-
mcpReconnectAll: '全部重连',
|
|
703
|
-
mcpReconnectAllRunning: '正在重连...',
|
|
704
|
-
mcpReconnectAllDone: (ok: number, failed: number) => `已重连 ${ok}${failed > 0 ? `,失败 ${failed}` : ''}。`,
|
|
705
|
-
},
|
|
706
|
-
detailSubtitle: '',
|
|
707
|
-
detailNotFound: '未找到该 Agent,可能已移除或重命名。',
|
|
708
|
-
detailNotFoundHint: '该 Agent 可能已断开连接或配置文件已移动。请尝试重启 Agent 或检查 MCP 配置。',
|
|
709
|
-
detailNotFoundSuggestion: '已连接的 Agent:',
|
|
710
|
-
},
|
|
711
|
-
shortcutPanel: {
|
|
712
|
-
title: '快捷键',
|
|
713
|
-
navigation: '导航',
|
|
714
|
-
panelsSection: '面板',
|
|
715
|
-
editor: '编辑器',
|
|
716
|
-
toggleSearch: '切换搜索',
|
|
717
|
-
toggleAskAI: '切换 Ask AI',
|
|
718
|
-
openSettings: '打开设置',
|
|
719
|
-
keyboardShortcuts: '快捷键',
|
|
720
|
-
closePanel: '关闭面板 / 退出最大化',
|
|
721
|
-
saveFile: '保存文件',
|
|
722
|
-
undo: '撤销',
|
|
723
|
-
redo: '重做',
|
|
724
|
-
toggleHint: '切换此面板',
|
|
725
|
-
},
|
|
726
|
-
fileTree: {
|
|
727
|
-
newFileTitle: '在此目录新建文件',
|
|
728
|
-
rename: '重命名',
|
|
729
|
-
delete: '删除',
|
|
730
|
-
create: '创建',
|
|
731
|
-
enterFileName: '请输入文件名',
|
|
732
|
-
failed: '操作失败',
|
|
733
|
-
confirmDelete: (name: string) => `确定删除「${name}」?此操作不可撤销。`,
|
|
734
|
-
rules: '规则',
|
|
735
|
-
about: '说明',
|
|
736
|
-
viewAll: '查看全部',
|
|
737
|
-
editRules: '编辑规则',
|
|
738
|
-
renameSpace: '重命名空间',
|
|
739
|
-
deleteSpace: '删除空间',
|
|
740
|
-
confirmDeleteSpace: (name: string) => `删除空间「${name}」及其所有文件?此操作不可撤销。`,
|
|
741
|
-
convertToSpace: '转为空间',
|
|
742
|
-
deleteFolder: '删除文件夹',
|
|
743
|
-
confirmDeleteFolder: (name: string) => `删除文件夹「${name}」及其所有内容?此操作不可撤销。`,
|
|
744
|
-
newFile: '新建文件',
|
|
745
|
-
importFile: '导入文件',
|
|
746
|
-
importToSpace: '导入文件到此空间',
|
|
747
|
-
copyPath: '复制路径',
|
|
748
|
-
pathCopied: '路径已复制',
|
|
749
|
-
},
|
|
750
|
-
fileImport: {
|
|
751
|
-
title: '导入文件',
|
|
752
|
-
subtitle: '将外部文件存入知识库或让 AI 帮你整理',
|
|
753
|
-
dropzoneText: '拖拽文件到这里,或',
|
|
754
|
-
dropzoneButton: '点击选择',
|
|
755
|
-
dropzoneCompact: '拖拽更多文件,或',
|
|
756
|
-
dropzoneCompactButton: '点击添加',
|
|
757
|
-
dropzoneMobile: '点击选择文件',
|
|
758
|
-
fileCount: (n: number) => `${n} 个文件`,
|
|
759
|
-
clearAll: '清空全部',
|
|
760
|
-
unsupported: '不支持的文件类型',
|
|
761
|
-
tooLarge: (max: string) => `文件过大(最大 ${max})`,
|
|
762
|
-
archiveTitle: '存入知识库',
|
|
763
|
-
archiveDesc: '原样归档到指定空间',
|
|
764
|
-
digestTitle: 'AI 帮我整理',
|
|
765
|
-
digestDesc: '提取要点,沉淀到笔记',
|
|
766
|
-
archiveConfigTitle: '存入知识库',
|
|
767
|
-
back: '← 返回',
|
|
768
|
-
targetSpace: '目标空间',
|
|
769
|
-
rootDir: '根目录',
|
|
770
|
-
conflictLabel: '同名文件已存在时',
|
|
771
|
-
conflictRename: '自动重命名(添加序号后缀)',
|
|
772
|
-
conflictSkip: '跳过不导入',
|
|
773
|
-
conflictOverwrite: '覆盖已有文件',
|
|
774
|
-
overwriteWarn: '将永久替换已有文件内容',
|
|
775
|
-
cancel: '取消',
|
|
776
|
-
importButton: (n: number) => `存入 ${n} 个文件`,
|
|
777
|
-
importing: '正在存入...',
|
|
778
|
-
preparing: '准备中...',
|
|
779
|
-
successToast: (n: number, space: string) => `已存入 ${n} 个文件到 ${space || '知识库'}`,
|
|
780
|
-
updatedIndex: (n: number) => `更新了 ${n} 个索引文件`,
|
|
781
|
-
partialToast: (ok: number, total: number) => `存入 ${ok}/${total} 个文件`,
|
|
782
|
-
skipReason: '同名文件已存在',
|
|
783
|
-
failToast: '导入失败',
|
|
784
|
-
retry: '重试',
|
|
785
|
-
undo: '撤销',
|
|
786
|
-
discardTitle: '放弃导入?',
|
|
787
|
-
discardMessage: (n: number) => `放弃已选的 ${n} 个文件?`,
|
|
788
|
-
discardConfirm: '放弃',
|
|
789
|
-
discardCancel: '取消',
|
|
790
|
-
dropOverlay: '松开鼠标,导入文件到知识库',
|
|
791
|
-
dropOverlayFormats: '支持 .md .txt .pdf .csv .json .yaml .html',
|
|
792
|
-
onboardingHint: '已有笔记?导入文件到知识库 →',
|
|
793
|
-
digestPromptSingle: (name: string, targetSpace?: string) => {
|
|
794
|
-
const loc = targetSpace ? `"${targetSpace}" 空间下` : '知识库中合适的位置';
|
|
795
|
-
return `用户上传了「${name}」。你必须:\n1. 从上方「USER-UPLOADED FILES」区域读取文件内容\n2. 提取和重新整理关键信息为结构清晰的 Markdown 笔记\n3. 将整理后的内容保存到${loc}——可以创建新文件,也可以更新已有文件\n\n不要只做文字回复。你必须实际写入知识库。`;
|
|
796
|
-
},
|
|
797
|
-
digestPromptMulti: (n: number, targetSpace?: string) => {
|
|
798
|
-
const loc = targetSpace ? `"${targetSpace}" 空间下` : '知识库中合适的位置';
|
|
799
|
-
return `用户上传了 ${n} 个文件。你必须:\n1. 从上方「USER-UPLOADED FILES」区域读取它们的内容\n2. 提取和重新整理关键信息为结构清晰的 Markdown 笔记\n3. 将整理后的内容保存到${loc}——可以创建新文件,也可以更新已有文件\n\n不要只做文字回复。你必须实际写入知识库。`;
|
|
800
|
-
},
|
|
801
|
-
arrowTo: '→',
|
|
802
|
-
remove: '移除',
|
|
803
|
-
aiRecommended: '推荐',
|
|
804
|
-
aiRecommendedHint: '根据文件名自动匹配',
|
|
805
|
-
conflictsFound: (n: number) => `${n} 个文件已存在`,
|
|
806
|
-
organizeTitle: 'AI 整理中',
|
|
807
|
-
organizeProcessing: 'AI 正在分析和整理你的文件...',
|
|
808
|
-
organizeConnecting: '正在连接 AI...',
|
|
809
|
-
organizeAnalyzing: 'AI 正在分析你的文件...',
|
|
810
|
-
organizeReading: (detail?: string) => detail ? `正在阅读 ${detail}...` : '正在阅读文件...',
|
|
811
|
-
organizeThinking: 'AI 正在深度思考...',
|
|
812
|
-
organizeWriting: (detail?: string) => detail ? `正在写入 ${detail}...` : '正在写入文件...',
|
|
813
|
-
organizeElapsed: (seconds: number) => {
|
|
814
|
-
const m = Math.floor(seconds / 60);
|
|
815
|
-
const s = seconds % 60;
|
|
816
|
-
return `${m}:${s.toString().padStart(2, '0')}`;
|
|
817
|
-
},
|
|
818
|
-
organizeCancel: '取消',
|
|
819
|
-
organizeMinimize: '继续浏览',
|
|
820
|
-
organizeExpand: '查看',
|
|
821
|
-
organizeCreating: (path: string) => `正在创建 ${path}`,
|
|
822
|
-
organizeUpdating: (path: string) => `正在更新 ${path}`,
|
|
823
|
-
organizeReviewTitle: '整理完成',
|
|
824
|
-
organizeErrorTitle: '整理失败',
|
|
825
|
-
organizeReviewDesc: (n: number) => `AI 整理了 ${n} 处变更`,
|
|
826
|
-
organizeCreated: '已创建',
|
|
827
|
-
organizeUpdated: '已更新',
|
|
828
|
-
organizeFailed: '失败',
|
|
829
|
-
organizeNoChanges: 'AI 分析了你的文件,但没有做任何更改。',
|
|
830
|
-
organizeToolCallsInfo: (n: number) => `AI 执行了 ${n} 个操作 — 请检查知识库查看更新`,
|
|
831
|
-
organizeError: '整理失败',
|
|
832
|
-
organizeRetry: '重试',
|
|
833
|
-
organizeDone: '完成',
|
|
834
|
-
organizeUndoAll: '撤销全部',
|
|
835
|
-
organizeUndoOne: '撤销',
|
|
836
|
-
organizeUndone: '已撤销',
|
|
837
|
-
organizeViewFile: '查看文件',
|
|
838
|
-
organizeUndoSuccess: (n: number) => `已撤销 ${n} 个文件`,
|
|
839
|
-
organizeDetailTitle: 'AI 整理详情',
|
|
840
|
-
organizeSourceFiles: '源文件',
|
|
841
|
-
organizeSummaryLabel: 'AI 总结',
|
|
842
|
-
organizeChangesLabel: (n: number) => `变更列表 (${n})`,
|
|
843
|
-
organizeNoSummary: 'AI 正在处理中...',
|
|
844
|
-
organizeMinimizeModal: '最小化',
|
|
845
|
-
},
|
|
846
|
-
importHistory: {
|
|
847
|
-
title: '导入历史',
|
|
848
|
-
clearAll: '清空历史',
|
|
849
|
-
emptyTitle: '暂无导入记录',
|
|
850
|
-
emptyDesc: 'AI 整理的结果会出现在这里',
|
|
851
|
-
},
|
|
852
|
-
dirView: {
|
|
853
|
-
gridView: '网格视图',
|
|
854
|
-
listView: '列表视图',
|
|
855
|
-
emptyFolder: '此目录为空。',
|
|
856
|
-
fileCount: (n: number) => `${n} 个文件`,
|
|
857
|
-
newFile: '新建文件',
|
|
858
|
-
},
|
|
859
|
-
view: {
|
|
860
|
-
saveDirectory: '目录',
|
|
861
|
-
saveFileName: '文件名',
|
|
862
|
-
},
|
|
863
|
-
findInPage: {
|
|
864
|
-
placeholder: '在文档中查找…',
|
|
865
|
-
matchCount: (current: number, total: number) => `${current} / ${total}`,
|
|
866
|
-
noResults: '无结果',
|
|
867
|
-
},
|
|
868
|
-
settings: {
|
|
869
|
-
title: '设置',
|
|
870
|
-
tabs: { ai: 'AI', appearance: '外观', knowledge: '通用', sync: '同步', mcp: 'MCP & Skills', plugins: '插件', shortcuts: '快捷键', monitoring: '监控', agents: 'Agents', update: '更新', uninstall: '卸载' },
|
|
871
|
-
ai: {
|
|
872
|
-
provider: '服务商',
|
|
873
|
-
model: '模型',
|
|
874
|
-
apiKey: 'API 密钥',
|
|
875
|
-
baseUrl: '接口地址',
|
|
876
|
-
baseUrlHint: '可选。用于代理或 OpenAI 兼容 API。',
|
|
877
|
-
keyHint: '本地存储于 ~/.mindos/config.json',
|
|
878
|
-
envHint: '标有 env 的字段存在环境变量值。你可以在此覆盖,或一键恢复为环境变量默认值。',
|
|
879
|
-
envFieldNote: (key: string) => `环境变量 ${key} 已设置。清空此字段将回退到环境变量值。`,
|
|
880
|
-
resetToEnv: '恢复为环境变量',
|
|
881
|
-
restoreFromEnv: '从环境变量恢复',
|
|
882
|
-
noApiKey: 'API 密钥未设置,AI 功能暂不可用,请在此填写。',
|
|
883
|
-
testKey: '测试',
|
|
884
|
-
testKeyTesting: '测试中...',
|
|
885
|
-
testKeyOk: (ms: number) => `\u2713 ${ms}ms`,
|
|
886
|
-
testKeyAuthError: 'API Key 无效',
|
|
887
|
-
testKeyModelNotFound: '模型不存在',
|
|
888
|
-
testKeyRateLimited: '请求频率限制,稍后重试',
|
|
889
|
-
testKeyNetworkError: '网络错误',
|
|
890
|
-
testKeyNoKey: '未配置 API Key',
|
|
891
|
-
testKeyUnknown: '测试失败',
|
|
892
|
-
listModels: '选择模型',
|
|
893
|
-
noModelsFound: '未找到可用模型',
|
|
894
|
-
},
|
|
895
|
-
agent: {
|
|
896
|
-
title: 'Agent 行为',
|
|
897
|
-
maxSteps: '最大步数',
|
|
898
|
-
maxStepsHint: '每次请求的最大工具调用步数(1-30)',
|
|
899
|
-
contextStrategy: '上下文策略',
|
|
900
|
-
contextStrategyHint: '自动:上下文填满时摘要早期消息。关闭:不进行摘要(紧急裁剪仍会生效)。',
|
|
901
|
-
contextStrategyAuto: '自动(压缩 + 裁剪)',
|
|
902
|
-
contextStrategyOff: '关闭',
|
|
903
|
-
thinking: '深度思考',
|
|
904
|
-
thinkingHint: '显示 Claude 的推理过程(消耗更多 token)',
|
|
905
|
-
thinkingBudget: '思考预算',
|
|
906
|
-
thinkingBudgetHint: '推理最大 token 数(1000-50000)',
|
|
907
|
-
reconnectRetries: '自动重连',
|
|
908
|
-
reconnectRetriesHint: '连接断开时自动重试次数,重试耗尽后停止(0 = 关闭)',
|
|
909
|
-
},
|
|
910
|
-
appearance: {
|
|
911
|
-
readingFont: '正文字体',
|
|
912
|
-
contentWidth: '内容宽度',
|
|
913
|
-
colorTheme: '颜色主题',
|
|
914
|
-
system: '系统',
|
|
915
|
-
dark: '深色',
|
|
916
|
-
light: '浅色',
|
|
917
|
-
language: '语言',
|
|
918
|
-
browserNote: '外观设置保存在浏览器本地。',
|
|
919
|
-
fontPreview: '人之初,性本善;性相近,习相远。',
|
|
920
|
-
},
|
|
921
|
-
knowledge: {
|
|
922
|
-
sopRoot: '知识库根目录',
|
|
923
|
-
sopRootHint: '笔记目录的绝对路径,修改后需要重启服务器。',
|
|
924
|
-
sopRootEnvHint: (key: string) => `MIND_ROOT 环境变量已设置为 "${key}",填写上方路径可覆盖它。`,
|
|
925
|
-
envNote: 'MIND_ROOT 环境变量已设置。填写上方路径后,你的值优先生效。',
|
|
926
|
-
webPassword: '网页访问密码',
|
|
927
|
-
webPasswordHint: '设置后访问浏览器 UI 需要登录,留空则关闭密码保护。下次刷新页面后生效。',
|
|
928
|
-
webPasswordClear: '清除密码',
|
|
929
|
-
authToken: 'MCP / API 访问令牌',
|
|
930
|
-
authTokenHint: 'Agent 和 MCP 客户端使用的 Bearer Token,浏览器访问无需此项。',
|
|
931
|
-
authTokenNone: '未设置令牌 — API 对所有请求开放。',
|
|
932
|
-
authTokenCopy: '复制',
|
|
933
|
-
authTokenCopied: '已复制!',
|
|
934
|
-
authTokenReset: '重新生成',
|
|
935
|
-
authTokenClear: '清除令牌',
|
|
936
|
-
authTokenResetConfirm: '重新生成令牌?所有 MCP 客户端配置都需要更新。',
|
|
937
|
-
authTokenMcpPort: 'MCP 端口',
|
|
938
|
-
restartWalkthrough: '重新开始引导',
|
|
939
|
-
showHiddenFiles: '显示隐藏文件',
|
|
940
|
-
showHiddenFilesHint: '在文件树中显示以 . 开头的文件夹(.agents、.claude、.mindos 等)。',
|
|
941
|
-
cleanupExamples: '清理示例文件',
|
|
942
|
-
cleanupExamplesHint: '移除知识库中所有模板示例文件(🧪_example_*)。',
|
|
943
|
-
cleanupExamplesButton: '清理',
|
|
944
|
-
cleanupExamplesNone: '没有找到示例文件',
|
|
945
|
-
cleanupExamplesConfirm: (n: number) => `删除 ${n} 个示例文件?此操作不可撤销。`,
|
|
946
|
-
cleanupExamplesDone: (n: number) => `已移除 ${n} 个示例文件`,
|
|
947
|
-
cleanupExamplesScanning: '扫描中...',
|
|
948
|
-
},
|
|
949
|
-
sync: {
|
|
950
|
-
emptyTitle: '跨设备同步',
|
|
951
|
-
emptyDesc: '通过 Git 自动同步知识库到所有设备。',
|
|
952
|
-
featureAutoCommit: '保存时自动提交',
|
|
953
|
-
featureAutoPull: '自动拉取远程更新',
|
|
954
|
-
featureConflict: '冲突检测',
|
|
955
|
-
featureMultiDevice: '多设备同步',
|
|
956
|
-
remoteUrl: 'Git 远程仓库 URL',
|
|
957
|
-
invalidUrl: '无效的 Git URL — 请使用 HTTPS (https://...) 或 SSH (git@...) 格式',
|
|
958
|
-
sshHint: 'SSH URL 需要在本机配置 SSH 密钥。推荐使用 HTTPS + Token。',
|
|
959
|
-
accessToken: '访问令牌',
|
|
960
|
-
optional: '(可选,私有仓库需要)',
|
|
961
|
-
tokenHint: 'GitHub: Settings → Developer settings → Personal access tokens → repo scope',
|
|
962
|
-
branchLabel: '分支',
|
|
963
|
-
connectButton: '连接并开始同步',
|
|
964
|
-
connecting: '连接中...',
|
|
965
|
-
},
|
|
966
|
-
plugins: {
|
|
967
|
-
title: '已安装渲染器',
|
|
968
|
-
builtinBadge: '内置',
|
|
969
|
-
enabled: '已启用',
|
|
970
|
-
disabled: '已禁用',
|
|
971
|
-
matchHint: '自动匹配',
|
|
972
|
-
coreHint: '核心渲染器 — 始终启用',
|
|
973
|
-
noPlugins: '暂无渲染器。',
|
|
974
|
-
comingSoon: '插件市场即将上线。',
|
|
975
|
-
},
|
|
976
|
-
mcp: {
|
|
977
|
-
serverTitle: 'MindOS MCP 服务',
|
|
978
|
-
status: '状态',
|
|
979
|
-
running: '运行中',
|
|
980
|
-
stopped: '已停止',
|
|
981
|
-
transport: '传输方式',
|
|
982
|
-
endpoint: '端点',
|
|
983
|
-
tools: '工具',
|
|
984
|
-
toolsRegistered: (n: number) => `已注册 ${n} 个`,
|
|
985
|
-
auth: '认证',
|
|
986
|
-
authSet: '已设置 Token',
|
|
987
|
-
authNotSet: '未设置',
|
|
988
|
-
copyEndpoint: '复制端点',
|
|
989
|
-
copyConfig: '复制配置',
|
|
990
|
-
copied: '已复制!',
|
|
991
|
-
agentsTitle: 'Agent 配置',
|
|
992
|
-
agent: 'Agent',
|
|
993
|
-
scope: '范围',
|
|
994
|
-
project: '项目',
|
|
995
|
-
global: '全局',
|
|
996
|
-
installed: '已安装',
|
|
997
|
-
notInstalled: '未安装',
|
|
998
|
-
detected: '已检测',
|
|
999
|
-
notFound: '未找到',
|
|
1000
|
-
transportStdio: 'stdio(推荐)',
|
|
1001
|
-
transportHttp: 'http',
|
|
1002
|
-
transportAuto: '自动(推荐)',
|
|
1003
|
-
httpUrl: 'MCP URL',
|
|
1004
|
-
httpToken: '认证 Token',
|
|
1005
|
-
installSelected: '安装选中',
|
|
1006
|
-
installing: '安装中...',
|
|
1007
|
-
installSuccess: (n: number) => `已配置 ${n} 个 agent`,
|
|
1008
|
-
installFailed: '安装失败',
|
|
1009
|
-
portLabel: 'MCP 端口',
|
|
1010
|
-
portHint: '修改后需重启服务',
|
|
1011
|
-
skillsTitle: 'Skills',
|
|
1012
|
-
skillAutoLoaded: '每次请求自动加载',
|
|
1013
|
-
skillSource: '来源',
|
|
1014
|
-
skillBuiltin: '内置',
|
|
1015
|
-
skillUser: '自定义',
|
|
1016
|
-
addSkill: '+ 添加 Skill',
|
|
1017
|
-
cliInstallHint: '通过命令行安装:',
|
|
1018
|
-
skillPathHint: 'Skill 文件安装路径:',
|
|
1019
|
-
deleteSkill: '删除',
|
|
1020
|
-
editSkill: '编辑',
|
|
1021
|
-
saveSkill: '保存',
|
|
1022
|
-
cancelSkill: '取消',
|
|
1023
|
-
skillName: '名称',
|
|
1024
|
-
skillDesc: '描述',
|
|
1025
|
-
skillContent: '内容',
|
|
1026
|
-
skillNameConflict: '同名 skill 已存在',
|
|
1027
|
-
skillDeleteConfirm: (name: string) => `确定删除「${name}」?此操作不可撤销。`,
|
|
1028
|
-
skillLanguage: 'Skill 语言',
|
|
1029
|
-
skillLangEn: 'English',
|
|
1030
|
-
skillLangZh: '中文',
|
|
1031
|
-
searchSkills: '搜索 Skill...',
|
|
1032
|
-
customGroup: '自定义',
|
|
1033
|
-
builtinGroup: '内置',
|
|
1034
|
-
noSkillsMatch: (query: string) => `没有匹配「${query}」的 Skill`,
|
|
1035
|
-
skillTemplate: '模板',
|
|
1036
|
-
skillTemplateGeneral: '通用',
|
|
1037
|
-
skillTemplateToolUse: '工具调用',
|
|
1038
|
-
skillTemplateWorkflow: '工作流',
|
|
1039
|
-
selectDetected: '选择已检测',
|
|
1040
|
-
clearSelection: '清除',
|
|
1041
|
-
quickSetup: '快速配置',
|
|
1042
|
-
configureFor: '配置目标',
|
|
1043
|
-
configPath: '配置路径',
|
|
1044
|
-
transportLocal: '本地',
|
|
1045
|
-
transportRemote: '远程',
|
|
1046
|
-
transportLocalHint: '本地 — 与 MindOS 服务在同一台机器上',
|
|
1047
|
-
transportRemoteHint: '远程 — 从其他设备通过 HTTP 连接',
|
|
1048
|
-
remoteDetectedHint: '使用当前远程 IP。',
|
|
1049
|
-
remoteManualHint: '将 127.0.0.1 替换为服务器的公网或局域网 IP。',
|
|
1050
|
-
remoteSteps: '从其他设备连接:① 在防火墙/安全组中开放端口 {port} ② 将下方配置粘贴到 Agent 中 ③ 公网环境建议使用 SSH 隧道加密传输。',
|
|
1051
|
-
noAuthWarning: '⚠ 未设置认证令牌 — 请先在 设置 → 通用 中配置,再启用远程访问。',
|
|
1052
|
-
showJson: '显示 JSON',
|
|
1053
|
-
hideJson: '隐藏 JSON',
|
|
1054
|
-
},
|
|
1055
|
-
monitoring: {
|
|
1056
|
-
system: '系统',
|
|
1057
|
-
heapMemory: '堆内存',
|
|
1058
|
-
rss: 'RSS',
|
|
1059
|
-
uptime: '运行时间',
|
|
1060
|
-
nodeVersion: 'Node',
|
|
1061
|
-
application: '应用',
|
|
1062
|
-
requests: '请求数',
|
|
1063
|
-
toolCalls: '工具调用',
|
|
1064
|
-
avgResponse: '平均响应',
|
|
1065
|
-
tokens: 'Token',
|
|
1066
|
-
errors: '错误',
|
|
1067
|
-
knowledgeBase: '知识库',
|
|
1068
|
-
files: '文件数',
|
|
1069
|
-
totalSize: '总大小',
|
|
1070
|
-
rootPath: '根目录',
|
|
1071
|
-
mcpStatus: '状态',
|
|
1072
|
-
mcpRunning: '运行中',
|
|
1073
|
-
mcpStopped: '已停止',
|
|
1074
|
-
mcpPort: '端口',
|
|
1075
|
-
autoRefresh: '每 5 秒自动刷新',
|
|
1076
|
-
fetchError: '加载监控数据失败',
|
|
1077
|
-
},
|
|
1078
|
-
agents: {
|
|
1079
|
-
mcpServer: 'MCP 服务器',
|
|
1080
|
-
running: '运行中',
|
|
1081
|
-
stopped: '未运行',
|
|
1082
|
-
restarting: '重启中...',
|
|
1083
|
-
restart: '重启',
|
|
1084
|
-
onPort: (port: number) => `端口 :${port}`,
|
|
1085
|
-
refresh: '刷新',
|
|
1086
|
-
refreshing: '刷新中...',
|
|
1087
|
-
connected: '已连接',
|
|
1088
|
-
connectedCount: (n: number) => `已连接 (${n})`,
|
|
1089
|
-
detectedNotConfigured: '已检测未配置',
|
|
1090
|
-
detectedCount: (n: number) => `已检测未配置 (${n})`,
|
|
1091
|
-
notDetected: '未检测到',
|
|
1092
|
-
notDetectedCount: (n: number) => `未检测到 (${n})`,
|
|
1093
|
-
showAll: '显示全部',
|
|
1094
|
-
hideAll: '收起',
|
|
1095
|
-
connect: '连接',
|
|
1096
|
-
noAgents: '本机未检测到任何 Agent。',
|
|
1097
|
-
fetchError: '加载 Agent 数据失败',
|
|
1098
|
-
autoRefresh: '每 30 秒自动刷新',
|
|
1099
|
-
},
|
|
1100
|
-
save: '保存',
|
|
1101
|
-
saved: '已保存',
|
|
1102
|
-
saveFailed: '保存失败',
|
|
1103
|
-
reconfigure: '重新配置',
|
|
1104
|
-
askDisplayMode: {
|
|
1105
|
-
label: '显示模式',
|
|
1106
|
-
hint: '侧面板固定在右侧;弹窗以浮动对话框形式打开。',
|
|
1107
|
-
panel: '侧面板',
|
|
1108
|
-
popup: '弹窗',
|
|
1109
|
-
},
|
|
1110
|
-
update: {
|
|
1111
|
-
checking: '正在检查更新...',
|
|
1112
|
-
upToDate: '已是最新版本',
|
|
1113
|
-
available: (current: string, latest: string) => `有新版本可用:v${current} → v${latest}`,
|
|
1114
|
-
updating: '正在更新 MindOS,服务器即将重启...',
|
|
1115
|
-
updatingHint: '预计 1–3 分钟,请勿关闭此页面。',
|
|
1116
|
-
serverRestarting: '服务正在重启,请稍候...',
|
|
1117
|
-
updated: '更新成功!正在刷新...',
|
|
1118
|
-
timeout: '更新可能仍在进行中。',
|
|
1119
|
-
timeoutHint: '服务器可能需要更多时间重新构建,请尝试刷新页面。',
|
|
1120
|
-
refreshButton: '刷新页面',
|
|
1121
|
-
retryButton: '重试更新',
|
|
1122
|
-
error: '检查更新失败,请检查网络连接。',
|
|
1123
|
-
checkButton: '检查更新',
|
|
1124
|
-
updateButton: (version: string) => `更新到 v${version}`,
|
|
1125
|
-
releaseNotes: '查看更新日志',
|
|
1126
|
-
hint: '更新通过 npm 安装,等同于在终端运行',
|
|
1127
|
-
inTerminal: '。',
|
|
1128
|
-
desktopDownloading: '正在下载更新...',
|
|
1129
|
-
desktopReady: '更新已下载,重启后生效。',
|
|
1130
|
-
desktopRestart: '立即重启',
|
|
1131
|
-
desktopHint: '更新通过桌面端自动更新推送。',
|
|
1132
|
-
},
|
|
1133
|
-
uninstall: {
|
|
1134
|
-
title: '卸载 MindOS',
|
|
1135
|
-
descCli: '从本机移除 MindOS CLI、后台服务和配置文件。',
|
|
1136
|
-
descDesktop: '从本机移除 MindOS Desktop、后台服务和配置文件。',
|
|
1137
|
-
warning: '选择要清理的内容。你的知识库文件始终是安全的。',
|
|
1138
|
-
stopServices: '停止服务并移除守护进程',
|
|
1139
|
-
stopServicesDesc: '停止所有运行中的 MindOS 进程并移除后台守护进程。',
|
|
1140
|
-
removeConfig: '移除配置',
|
|
1141
|
-
removeConfigDesc: '删除 ~/.mindos/ 目录(配置、日志、PID 文件)。',
|
|
1142
|
-
removeNpm: '卸载 CLI 包',
|
|
1143
|
-
removeNpmDesc: '执行 npm uninstall -g @geminilight/mindos。',
|
|
1144
|
-
removeApp: '将 Desktop 移入废纸篓',
|
|
1145
|
-
removeAppDesc: '将 MindOS.app 移入废纸篓,之后可以恢复。',
|
|
1146
|
-
confirmTitle: '确认卸载',
|
|
1147
|
-
confirmButton: '卸载',
|
|
1148
|
-
cancelButton: '取消',
|
|
1149
|
-
running: '正在卸载...',
|
|
1150
|
-
success: 'MindOS 已卸载。',
|
|
1151
|
-
successDesktop: 'MindOS 已卸载,应用即将退出。',
|
|
1152
|
-
error: '卸载失败,可在终端手动运行 `mindos uninstall`。',
|
|
1153
|
-
nothingSelected: '请至少选择一项要卸载的内容。',
|
|
1154
|
-
kbSafe: '你的知识库文件始终是安全的——此操作绝不会删除它们。',
|
|
1155
|
-
},
|
|
1156
|
-
},
|
|
1157
|
-
onboarding: {
|
|
1158
|
-
subtitle: '知识库为空,选择一个模板快速开始。',
|
|
1159
|
-
templates: {
|
|
1160
|
-
en: { title: 'English', desc: '预置 Profile、Notes、Projects 等英文目录结构。' },
|
|
1161
|
-
zh: { title: '中文', desc: '预置画像、笔记、项目等中文目录结构。' },
|
|
1162
|
-
empty: { title: '空白', desc: '仅包含 README、CONFIG 和 INSTRUCTION 基础文件。' },
|
|
1163
|
-
},
|
|
1164
|
-
importHint: '已有笔记?在设置中将 MIND_ROOT 指向已有目录即可。',
|
|
1165
|
-
syncHint: '需要跨设备同步?完成初始化后在终端运行',
|
|
1166
|
-
syncHintSuffix: '即可。',
|
|
1167
|
-
initError: '初始化失败,请重试。',
|
|
1168
|
-
dismiss: '关闭',
|
|
1169
|
-
},
|
|
1170
|
-
shortcuts: [
|
|
1171
|
-
{ keys: ['⌘', 'K'], description: '搜索' },
|
|
1172
|
-
{ keys: ['⌘', '/'], description: 'MindOS Agent' },
|
|
1173
|
-
{ keys: ['⌘', ','], description: '设置' },
|
|
1174
|
-
{ keys: ['E'], description: '编辑当前文件' },
|
|
1175
|
-
{ keys: ['⌘', 'S'], description: '保存' },
|
|
1176
|
-
{ keys: ['Esc'], description: '取消编辑 / 关闭弹窗' },
|
|
1177
|
-
{ keys: ['@'], description: '在 AI 对话中添加附件' },
|
|
1178
|
-
],
|
|
1179
|
-
login: {
|
|
1180
|
-
tagline: '人类在此思考,Agent 依此行动。',
|
|
1181
|
-
subtitle: '请输入密码以继续',
|
|
1182
|
-
passwordLabel: '密码',
|
|
1183
|
-
passwordPlaceholder: '输入密码',
|
|
1184
|
-
signIn: '登录',
|
|
1185
|
-
signingIn: '登录中…',
|
|
1186
|
-
incorrectPassword: '密码错误,请重试。',
|
|
1187
|
-
connectionError: '连接错误,请重试。',
|
|
1188
|
-
},
|
|
1189
|
-
notFound: {
|
|
1190
|
-
title: '文件未找到',
|
|
1191
|
-
description: '该文件不存在于你的知识库中。',
|
|
1192
|
-
createButton: '创建此文件',
|
|
1193
|
-
creating: '创建中...',
|
|
1194
|
-
goToParent: '返回上级目录',
|
|
1195
|
-
goHome: '首页',
|
|
1196
|
-
},
|
|
1197
|
-
updateBanner: {
|
|
1198
|
-
newVersion: (latest: string, current: string) => `MindOS v${latest} 可用(当前 v${current})`,
|
|
1199
|
-
updateNow: '更新',
|
|
1200
|
-
runUpdate: '终端运行',
|
|
1201
|
-
orSee: '或',
|
|
1202
|
-
releaseNotes: '查看更新说明',
|
|
1203
|
-
},
|
|
1204
|
-
setup: {
|
|
1205
|
-
stepTitles: ['知识库', 'AI 服务商', '端口', '安全', 'Agent 工具', '确认'],
|
|
1206
|
-
// Step 1
|
|
1207
|
-
kbPath: '知识库路径',
|
|
1208
|
-
kbPathHint: '笔记目录的绝对路径。',
|
|
1209
|
-
kbPathDefault: '~/MindOS/mind',
|
|
1210
|
-
kbPathUseDefault: (path: string) => `使用 ${path}`,
|
|
1211
|
-
kbPathHasFiles: (n: number) => `该目录已有 ${n} 个文件。可以跳过模板,或选择合并(已有文件不会被覆盖)。`,
|
|
1212
|
-
kbTemplateSkip: '跳过模板',
|
|
1213
|
-
kbTemplateMerge: '选择模板合并',
|
|
1214
|
-
template: '初始模板',
|
|
1215
|
-
templateSkip: '跳过(目录已有文件)',
|
|
1216
|
-
// Step 2
|
|
1217
|
-
aiProvider: 'AI 服务商',
|
|
1218
|
-
aiProviderHint: '选择你偏好的 AI 服务。',
|
|
1219
|
-
aiSkip: '跳过 — 稍后配置',
|
|
1220
|
-
apiKey: 'API 密钥',
|
|
1221
|
-
apiKeyExisting: '已配置密钥。留空即保持不变。',
|
|
1222
|
-
model: '模型',
|
|
1223
|
-
baseUrl: '接口地址',
|
|
1224
|
-
baseUrlHint: '可选。用于代理或 OpenAI 兼容 API。',
|
|
1225
|
-
// Step 3
|
|
1226
|
-
webPort: 'Web UI 端口',
|
|
1227
|
-
mcpPort: 'MCP 服务端口',
|
|
1228
|
-
portHint: '有效范围:1024–65535',
|
|
1229
|
-
portRestartWarning: '完成配置后,服务将以这些端口启动。',
|
|
1230
|
-
portInUse: (p: number) => `端口 ${p} 已被占用。`,
|
|
1231
|
-
portSuggest: (p: number) => `使用 ${p}`,
|
|
1232
|
-
portChecking: '检测中…',
|
|
1233
|
-
portSelf: '当前端口',
|
|
1234
|
-
portConflict: 'Web UI 端口和 MCP 端口不能相同。',
|
|
1235
|
-
portVerifyHint: '点击输入框外部验证,或等待自动检测。',
|
|
1236
|
-
// Step 4
|
|
1237
|
-
authToken: 'Auth Token',
|
|
1238
|
-
authTokenHint: 'MCP / API 客户端使用的 Bearer Token,自动生成。',
|
|
1239
|
-
authTokenUsage: '用于 MCP 连接和 API 客户端身份验证。配置 Agent 时会自动写入,无需手动填写。',
|
|
1240
|
-
authTokenUsageWhat: '这是什么?',
|
|
1241
|
-
authTokenSeed: '自定义种子(可选)',
|
|
1242
|
-
authTokenSeedHint: '输入口令短语生成确定性 Token。',
|
|
1243
|
-
generateToken: '生成',
|
|
1244
|
-
copyToken: '复制',
|
|
1245
|
-
copiedToken: '已复制!',
|
|
1246
|
-
webPassword: '网页访问密码',
|
|
1247
|
-
webPasswordHint: '可选。设置后浏览器访问需要登录。',
|
|
1248
|
-
// Step 5 — Agent Tools
|
|
1249
|
-
agentToolsTitle: 'Agent 工具',
|
|
1250
|
-
agentToolsHint: '选择要与 MindOS MCP 配置的 AI Agent。标注「未安装」的 agent 可以先行配置,安装应用后即可生效。',
|
|
1251
|
-
agentTransport: '传输方式',
|
|
1252
|
-
agentScope: '范围',
|
|
1253
|
-
agentToolsLoading: '正在加载 Agent…',
|
|
1254
|
-
agentToolsEmpty: '未检测到受支持的 Agent。',
|
|
1255
|
-
agentNoneSelected: '未选择 agent — 可稍后在 设置 → MCP 中配置。',
|
|
1256
|
-
agentSkipLater: '跳过 — 稍后在 设置 > MCP 中安装',
|
|
1257
|
-
agentSelectDetected: '选择已检测到的 Agent',
|
|
1258
|
-
agentNoneDetected: '未在系统中检测到已安装的 Agent。',
|
|
1259
|
-
agentShowMore: (n: number) => `显示另外 ${n} 个 Agent`,
|
|
1260
|
-
agentAdvanced: '高级选项',
|
|
1261
|
-
agentScopeGlobal: '为所有项目安装',
|
|
1262
|
-
agentScopeProject: '仅当前项目',
|
|
1263
|
-
badgeInstalled: '已安装',
|
|
1264
|
-
badgeDetected: '已检测到',
|
|
1265
|
-
badgeNotFound: '未找到',
|
|
1266
|
-
agentNotInstalled: '未安装',
|
|
1267
|
-
agentDetected: '已检测到',
|
|
1268
|
-
agentNotFound: '未找到',
|
|
1269
|
-
agentStatusOk: '已配置',
|
|
1270
|
-
agentStatusError: '失败',
|
|
1271
|
-
agentInstalling: '配置中…',
|
|
1272
|
-
agentTransportAuto: '自动(推荐)',
|
|
1273
|
-
agentTransportLabel: '传输方式',
|
|
1274
|
-
agentVerified: '已验证',
|
|
1275
|
-
agentUnverified: '未验证',
|
|
1276
|
-
agentVerifyNote: 'stdio agent 需重启后验证',
|
|
1277
|
-
// Skill auto-install
|
|
1278
|
-
skillWhat: 'Skill 教 AI Agent 如何使用你的知识库 — 包括笔记的读取、写入和整理规则。',
|
|
1279
|
-
skillAutoHint: (name: string) => `根据您选择的模板,将向选中的 Agent 安装「${name}」Skill。`,
|
|
1280
|
-
skillLabel: 'Skill',
|
|
1281
|
-
skillInstalling: '正在安装 Skill…',
|
|
1282
|
-
skillInstalled: 'Skill 已安装',
|
|
1283
|
-
skillFailed: 'Skill 安装失败',
|
|
1284
|
-
// Step 2 — AI skip card
|
|
1285
|
-
aiSkipTitle: '暂时跳过',
|
|
1286
|
-
aiSkipDesc: '稍后可在 设置 → AI 中添加 API 密钥。',
|
|
1287
|
-
// Step 6 — Review
|
|
1288
|
-
reviewHint: '确认设置无误后,点击完成。',
|
|
1289
|
-
reviewInstallResults: 'Agent 配置结果:',
|
|
1290
|
-
phaseSaving: '正在保存配置…',
|
|
1291
|
-
phaseAgents: '正在配置 Agent…',
|
|
1292
|
-
phaseSkill: '正在安装 Skill…',
|
|
1293
|
-
phaseDone: '设置完成!',
|
|
1294
|
-
retryAgent: '重试',
|
|
1295
|
-
agentFailedCount: (n: number) => `${n} 个 Agent 配置失败`,
|
|
1296
|
-
agentCountSummary: (n: number) => `${n} 个 Agent`,
|
|
1297
|
-
agentFailureNote: 'Agent 安装失败不影响进入 MindOS — 可稍后在 设置 → MCP 中重试。',
|
|
1298
|
-
portAvailable: '可用',
|
|
1299
|
-
portChanged: '端口已变更 — 请重启服务以使其生效。',
|
|
1300
|
-
restartRequired: '以下变更需要重启服务后生效。',
|
|
1301
|
-
restartNow: '立即重启',
|
|
1302
|
-
restarting: '重启中…',
|
|
1303
|
-
restartDone: '服务正在重启,稍后自动跳转…',
|
|
1304
|
-
restartManual: '手动重启命令:',
|
|
1305
|
-
// Buttons
|
|
1306
|
-
back: '上一步',
|
|
1307
|
-
next: '下一步',
|
|
1308
|
-
complete: '完成设置',
|
|
1309
|
-
skip: '跳过',
|
|
1310
|
-
// Status
|
|
1311
|
-
completing: '保存中...',
|
|
1312
|
-
completeDone: '设置完成!',
|
|
1313
|
-
completeFailed: '设置失败,请重试。',
|
|
1314
|
-
// Welcome banner
|
|
1315
|
-
welcomeTitle: '欢迎使用 MindOS!',
|
|
1316
|
-
welcomeDesc: '初始化完成。可以开始向 AI 提问、浏览知识库,或配置 MCP Agent。',
|
|
1317
|
-
welcomeLinkReconfigure: '重新配置',
|
|
1318
|
-
welcomeLinkAskAI: 'MindOS Agent',
|
|
1319
|
-
welcomeLinkMCP: 'MCP 设置',
|
|
1320
|
-
},
|
|
1321
|
-
guide: {
|
|
1322
|
-
title: '快速上手',
|
|
1323
|
-
showGuide: '显示新手引导',
|
|
1324
|
-
close: '关闭',
|
|
1325
|
-
skip: '跳过',
|
|
1326
|
-
import: {
|
|
1327
|
-
title: '导入你的文件',
|
|
1328
|
-
cta: '导入',
|
|
1329
|
-
desc: '上传简历、项目文档、笔记——任何你想让 AI Agent 了解的内容。',
|
|
1330
|
-
button: '导入文件',
|
|
1331
|
-
},
|
|
1332
|
-
ai: {
|
|
1333
|
-
title: '感受 AI 读取内容',
|
|
1334
|
-
cta: '试试',
|
|
1335
|
-
desc: '你的文件已在知识库中。问问 MindOS Agent 它了解了什么:',
|
|
1336
|
-
prompt: '根据我的知识库介绍一下我——我是谁、在做什么?',
|
|
1337
|
-
promptEmpty: '帮我设计一个适合我的知识库目录结构',
|
|
1338
|
-
},
|
|
1339
|
-
agent: {
|
|
1340
|
-
title: '在其他 Agent 验证',
|
|
1341
|
-
cta: '复制提示词',
|
|
1342
|
-
desc: '打开 Cursor、Claude Code 或任意连接了 MCP 的 Agent,粘贴以下提示词:',
|
|
1343
|
-
copyPrompt: '读取我的 MindOS 知识库,概括我的背景,然后建议我接下来该做什么。',
|
|
1344
|
-
copy: '复制',
|
|
1345
|
-
copied: '已复制!',
|
|
1346
|
-
},
|
|
1347
|
-
done: {
|
|
1348
|
-
title: '你已准备好使用 MindOS',
|
|
1349
|
-
titleFinal: '你已掌握 MindOS 核心用法',
|
|
1350
|
-
steps: [
|
|
1351
|
-
{ hint: '下一步:试试把一篇文章存进来 →', prompt: '帮我把这篇文章的要点整理到 MindOS 里。' },
|
|
1352
|
-
{ hint: '下一步:试试把经验沉淀为 SOP →', prompt: '帮我把这次对话的经验沉淀到 MindOS,形成可复用的工作流。' },
|
|
1353
|
-
],
|
|
1354
|
-
},
|
|
1355
|
-
},
|
|
1356
|
-
explore: {
|
|
1357
|
-
title: '探索使用场景',
|
|
1358
|
-
subtitle: '发现 MindOS 能帮你做什么 — 选一个场景,立即体验。',
|
|
1359
|
-
tryIt: '试一试',
|
|
1360
|
-
categories: {
|
|
1361
|
-
'knowledge-management': '知识管理',
|
|
1362
|
-
'memory-sync': '记忆同步',
|
|
1363
|
-
'auto-execute': '自动执行',
|
|
1364
|
-
'experience-evolution': '经验进化',
|
|
1365
|
-
'human-insights': '人类洞察',
|
|
1366
|
-
'audit-control': '审计纠错',
|
|
1367
|
-
},
|
|
1368
|
-
scenarios: {
|
|
1369
|
-
'first-day': '初次使用',
|
|
1370
|
-
'daily': '日常工作',
|
|
1371
|
-
'project': '项目协作',
|
|
1372
|
-
'advanced': '高级',
|
|
1373
|
-
},
|
|
1374
|
-
all: '全部',
|
|
1375
|
-
byCapability: '按能力',
|
|
1376
|
-
byScenario: '按场景',
|
|
1377
|
-
c1: {
|
|
1378
|
-
title: '注入身份',
|
|
1379
|
-
desc: '让所有 AI Agent 一次认识你 — 偏好、技术栈、沟通风格。',
|
|
1380
|
-
prompt: '这是我的简历,读一下,把我的信息整理到 MindOS 里。',
|
|
1381
|
-
},
|
|
1382
|
-
c2: {
|
|
1383
|
-
title: '注入信息',
|
|
1384
|
-
desc: '一句话归档文章、会议纪要或网页到知识库,全局可搜。',
|
|
1385
|
-
prompt: '帮我把这篇文章的要点整理到 MindOS 里。',
|
|
1386
|
-
},
|
|
1387
|
-
c3: {
|
|
1388
|
-
title: '跨 Agent 切换',
|
|
1389
|
-
desc: '在 MindOS 写方案,在 Claude Code 写代码,在 Cursor 优化 — 零重复。',
|
|
1390
|
-
prompt: '帮我按 MindOS 里的 XXX 方案开始写代码。',
|
|
1391
|
-
},
|
|
1392
|
-
c4: {
|
|
1393
|
-
title: '经验→SOP',
|
|
1394
|
-
desc: '把踩坑经验沉淀为可复用的工作流,下次 3 分钟搞定。',
|
|
1395
|
-
prompt: '帮我把这次对话的经验沉淀到 MindOS,形成可复用的工作流。',
|
|
1396
|
-
},
|
|
1397
|
-
c5: {
|
|
1398
|
-
title: '手机记灵感',
|
|
1399
|
-
desc: '随手记下灵感,MindOS 自动归档、拆任务、多 Agent 接力执行。',
|
|
1400
|
-
prompt: '帮我把这个想法整理到 MindOS,拆解成可执行的子任务。',
|
|
1401
|
-
},
|
|
1402
|
-
c6: {
|
|
1403
|
-
title: '项目冷启动',
|
|
1404
|
-
desc: '4 分钟搭建新项目 — Profile 和 SOP 自动引导脚手架。',
|
|
1405
|
-
prompt: '帮我按 MindOS 里的 Startup SOP 启动一个新项目。',
|
|
1406
|
-
},
|
|
1407
|
-
c7: {
|
|
1408
|
-
title: '调研入库',
|
|
1409
|
-
desc: '让 Agent 替你跑腿调研竞品或话题,结果结构化入库。',
|
|
1410
|
-
prompt: '帮我调研 X、Y、Z 这几个产品,结果写入 MindOS 产品库。',
|
|
1411
|
-
},
|
|
1412
|
-
c8: {
|
|
1413
|
-
title: '人脉管理',
|
|
1414
|
-
desc: '记录对话、自动生成跟进待办,每个联系人都有完整上下文。',
|
|
1415
|
-
prompt: '我今天和 XXX 聊了这些内容,帮我更新到 MindOS 并生成跟进待办。',
|
|
1416
|
-
},
|
|
1417
|
-
c9: {
|
|
1418
|
-
title: '审计纠偏',
|
|
1419
|
-
desc: '审查 Agent 记了什么,一处修正,全局生效。',
|
|
1420
|
-
prompt: '帮我检查 MindOS Profile 里的技术栈偏好是否正确,有错误帮我修正。',
|
|
1421
|
-
},
|
|
1422
|
-
},
|
|
1423
|
-
walkthrough: {
|
|
1424
|
-
step: (current: number, total: number) => `${current} / ${total}`,
|
|
1425
|
-
next: '下一步',
|
|
1426
|
-
back: '上一步',
|
|
1427
|
-
skip: '跳过引导',
|
|
1428
|
-
done: '完成',
|
|
1429
|
-
exploreCta: '探索更多用法 →',
|
|
1430
|
-
steps: [
|
|
1431
|
-
{
|
|
1432
|
-
title: '你的项目记忆',
|
|
1433
|
-
body: '用 Space 管理项目、SOP 和偏好规则。数据存在本地,完全由你掌控。',
|
|
1434
|
-
},
|
|
1435
|
-
{
|
|
1436
|
-
title: '不用重讲背景的 AI',
|
|
1437
|
-
body: 'MindOS Agent 自动读取整个知识库。问它项目相关的事,不需要重复交代背景。',
|
|
1438
|
-
},
|
|
1439
|
-
{
|
|
1440
|
-
title: '多 Agent 共享记忆',
|
|
1441
|
-
body: '通过 MCP 连接 Cursor、Claude Code、Windsurf,它们共享同一份项目记忆。',
|
|
1442
|
-
},
|
|
1443
|
-
{
|
|
1444
|
-
title: '回响 — 认知在积累',
|
|
1445
|
-
body: '关于你、每日回顾、成长轨迹——MindOS 帮你沉淀判断与偏好,让经验不断复利。',
|
|
1446
|
-
},
|
|
1447
|
-
],
|
|
1448
|
-
},
|
|
1449
|
-
help: {
|
|
1450
|
-
title: '帮助与指南',
|
|
1451
|
-
subtitle: '开始使用 MindOS 所需的一切',
|
|
1452
|
-
whatIs: {
|
|
1453
|
-
title: '什么是 MindOS?',
|
|
1454
|
-
body: 'MindOS 是你思考的地方,也是 AI Agent 行动的起点。你和 AI 共享同一个大脑——你纠正了 AI,这个纠正自动沉淀;AI 下次更懂你,你自己的思路也跟着变清晰。人和 AI 一起成长。在 AI 焦虑蔓延的时代,MindOS 更关注人的成长——想清楚问题、做好判断、快速实践、攒下属于自己的认知。',
|
|
1455
|
-
},
|
|
1456
|
-
quickStart: {
|
|
1457
|
-
title: '快速开始',
|
|
1458
|
-
step1Title: '浏览你的知识库',
|
|
1459
|
-
step1Desc: '点击左侧边栏的"空间"图标来浏览你的文件。每个顶级文件夹是一个"空间"——比如 Profile、Notes 或 Projects。',
|
|
1460
|
-
step2Title: '和 AI 对话',
|
|
1461
|
-
step2Desc: '按 ⌘/(或 Ctrl/)打开 AI 面板。询问任何关于知识库的问题,或使用 @ 附加特定文件作为上下文。',
|
|
1462
|
-
step3Title: '连接你的 AI Agent',
|
|
1463
|
-
step3Desc: '前往 设置 → MCP 连接外部 Agent,如 Claude Code、Cursor 或 Windsurf。连接后,它们可以直接读写你的知识库。',
|
|
1464
|
-
},
|
|
1465
|
-
concepts: {
|
|
1466
|
-
title: '核心概念',
|
|
1467
|
-
spaceTitle: '空间(Space)',
|
|
1468
|
-
spaceDesc: '空间是按你的思维方式组织的知识分区。你怎么想,就怎么分,AI Agent 遵循同样的结构来自动读写和管理。',
|
|
1469
|
-
instructionTitle: '指令(Instruction)',
|
|
1470
|
-
instructionDesc: '一份所有 AI Agent 都遵守的规则文件。你写一次边界,每个连接到知识库的 Agent 都会照做。',
|
|
1471
|
-
skillTitle: '技能(Skill)',
|
|
1472
|
-
skillDesc: '教 Agent 如何操作你的知识库——读取、写入、整理。Agent 不是瞎猜,而是按你安装的 Skill 来执行。',
|
|
1473
|
-
},
|
|
1474
|
-
shortcutsTitle: '快捷键',
|
|
1475
|
-
agentUsage: {
|
|
1476
|
-
title: '在 AI Agent 中使用 MindOS',
|
|
1477
|
-
intro: '通过 MCP 连接 Agent(Claude Code、Cursor、Windsurf 等)后,直接用自然语言对话即可。Agent 能自动读写你的知识库,不需要特殊指令。以下是最常见的使用场景:',
|
|
1478
|
-
scenarios: [
|
|
1479
|
-
{ emoji: '🪪', title: '注入身份', desc: '让所有 AI Agent 一次认识你——偏好、技术栈、沟通风格。', prompt: '"这是我的简历,读一下,把我的信息整理到 MindOS 里。"' },
|
|
1480
|
-
{ emoji: '🔄', title: '跨 Agent 切换', desc: '在 GPT 里聊想法,到 Claude Code 去执行——上下文零丢失。', prompt: '"帮我把刚才的对话整理到 MindOS。"\n"读一下 MindOS 里的方案,帮我开始写代码。"' },
|
|
1481
|
-
{ emoji: '📋', title: '经验→SOP', desc: '把踩坑经验沉淀为可复用的工作流,下次 3 分钟搞定。', prompt: '"帮我把这次对话的经验沉淀到 MindOS,形成可复用的工作流。"' },
|
|
1482
|
-
{ emoji: '🚀', title: '项目冷启动', desc: '几分钟搭建新项目——Profile 和 SOP 自动引导脚手架。', prompt: '"帮我按 MindOS 里的 Startup SOP 启动一个新项目。"' },
|
|
1483
|
-
{ emoji: '🔍', title: '调研入库', desc: '让 Agent 替你调研竞品或话题,结果结构化存入知识库。', prompt: '"帮我调研 X、Y、Z 这几个产品,结果写入 MindOS 产品库。"' },
|
|
1484
|
-
],
|
|
1485
|
-
copy: '复制 Prompt',
|
|
1486
|
-
hint: '提示:Agent 会自动发现你的知识库结构。在 prompt 中提到"MindOS",它就知道去哪里找。点击左侧"探索"查看更多场景。',
|
|
1487
|
-
},
|
|
1488
|
-
shortcuts: {
|
|
1489
|
-
search: '搜索文件',
|
|
1490
|
-
askAI: '切换 AI 面板',
|
|
1491
|
-
settings: '打开设置',
|
|
1492
|
-
shortcutPanel: '快捷键面板',
|
|
1493
|
-
editFile: '编辑当前文件',
|
|
1494
|
-
save: '保存文件',
|
|
1495
|
-
closePanel: '关闭面板 / 退出弹窗',
|
|
1496
|
-
attachFile: '在 AI 对话中附加文件',
|
|
1497
|
-
},
|
|
1498
|
-
faq: {
|
|
1499
|
-
title: '常见问题',
|
|
1500
|
-
items: [
|
|
1501
|
-
{ q: '如何切换语言?', a: '前往 设置 → 外观 → 语言。支持中文和英文切换。' },
|
|
1502
|
-
{ q: '如何连接 AI Agent?', a: '前往 设置 → MCP & Skills。MindOS 会自动检测已安装的 Agent(Claude Code、Cursor 等),一键即可连接。' },
|
|
1503
|
-
{ q: '我的数据存储在哪里?', a: '所有数据以纯 Markdown 文件的形式存储在你的本地机器上。MindOS 不会将你的数据上传到任何云服务。数据完全由你掌控。' },
|
|
1504
|
-
{ q: '如何跨设备同步?', a: '前往 设置 → 同步。MindOS 使用 Git 进行跨设备同步。输入 Git 远程仓库 URL 和访问令牌即可开始同步。' },
|
|
1505
|
-
{ q: '可以使用自己的 AI 服务商吗?', a: '可以!前往 设置 → AI。支持 OpenAI、Anthropic、Google,或任何 OpenAI 兼容的 API(自定义 Base URL)。' },
|
|
1506
|
-
{ q: '支持哪些文件格式?', a: 'MindOS 最适合 Markdown(.md)文件,但也支持 JSON、CSV 和纯文本。插件可以扩展特殊格式的渲染,如看板或时间线。' },
|
|
1507
|
-
{ q: '如何创建新笔记?', a: '点击文件树中任意文件夹旁的 + 图标,或让 AI 帮你创建。笔记就是 Markdown 文件,你也可以直接在文件系统中创建。' },
|
|
1508
|
-
],
|
|
1509
|
-
},
|
|
1510
|
-
},
|
|
1511
|
-
|
|
1512
|
-
/** 禁用态和上下文提示文案 */
|
|
1513
|
-
hints: {
|
|
1514
|
-
noValidFiles: '未选择有效文件',
|
|
1515
|
-
aiOrganizing: 'AI 正在整理中',
|
|
1516
|
-
importInProgress: '正在导入',
|
|
1517
|
-
templateInitializing: '正在初始化另一个模板',
|
|
1518
|
-
configureAiKey: '请在 设置 → AI 中配置 API 密钥',
|
|
1519
|
-
syncInProgress: '正在同步中',
|
|
1520
|
-
toggleInProgress: '正在切换中',
|
|
1521
|
-
typeMessage: '请输入消息',
|
|
1522
|
-
mentionInProgress: '正在输入提及或命令',
|
|
1523
|
-
cleanupInProgress: '正在清理中',
|
|
1524
|
-
tokenResetInProgress: '正在重置令牌',
|
|
1525
|
-
aiNotConfigured: 'AI 未配置或正在生成',
|
|
1526
|
-
generationInProgress: '正在生成或 AI 未配置',
|
|
1527
|
-
cannotJumpForward: '无法跳过前序步骤',
|
|
1528
|
-
testInProgressOrNoKey: '正在测试或未配置 API 密钥',
|
|
1529
|
-
workflowStepRunning: '工作流步骤正在运行',
|
|
1530
|
-
workflowRunning: '工作流步骤正在运行',
|
|
1531
|
-
sessionHistory: '会话历史',
|
|
1532
|
-
newSession: '新会话',
|
|
1533
|
-
attachFile: '附加本地文件',
|
|
1534
|
-
maximizePanel: '最大化面板',
|
|
1535
|
-
restorePanel: '还原面板',
|
|
1536
|
-
dockToSide: '停靠到侧边栏',
|
|
1537
|
-
openAsPopup: '弹窗模式',
|
|
1538
|
-
closePanel: '关闭',
|
|
1539
|
-
newChat: '新对话',
|
|
1540
|
-
closeSession: '关闭会话',
|
|
1541
|
-
},
|
|
1542
|
-
} as const satisfies Widen<typeof en>;
|
|
1
|
+
// Moved to app/lib/i18n/modules/. This file kept for backward compatibility.
|
|
2
|
+
export { zh } from './i18n/index';
|