openai-cli-unofficial
Version:
A powerful OpenAI CLI Coding Agent built with TypeScript
607 lines • 32.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.zh = void 0;
exports.zh = {
welcome: {
starting: '正在初始化...',
tagline: 'Powered by AIBotPRO',
menuPrompt: '请选择操作',
menuOptions: {
start: '开始使用',
config: '系统配置',
language: '语言设置',
help: '帮助文档',
exit: '退出程序'
},
menuDescription: {
start: '进入主功能界面',
config: '配置API密钥和偏好',
language: '切换语言设置',
help: '查看帮助文档',
exit: '退出程序',
backToMenu: '← 返回主菜单'
},
configCheck: {
title: '配置检查',
incompleteConfig: '☆ 配置不完整',
missingItems: '缺少以下配置项:',
baseUrl: '• API 基础地址',
apiKey: '• API 密钥',
model: '• 默认模型',
prompt: '请选择操作:',
goToConfig: '前往配置',
continueAnyway: '继续使用(可能无法正常工作)',
backToMenu: '← 返回主菜单'
},
actions: {
startingMain: '正在启动主功能界面...',
startingConfig: '正在打开系统配置...',
changingLanguage: '正在切换语言设置...',
devInProgress: '该功能正在开发中',
farewell: '感谢使用 OpenAI CLI Agent',
unknownAction: '未知的操作选项',
pressEnter: '按回车键继续...'
},
help: {
title: 'OpenAI CLI Agent 帮助文档',
usage: '指令',
usageCommands: {
interactive: 'openai-cli # 启动交互式界面',
version: 'openai-cli --version # 查看版本信息',
help: 'openai-cli --help # 显示帮助信息'
}
},
updateCheck: {
newVersionAvailable: '🎉 发现新版本!',
currentVersion: '当前版本',
latestVersion: '最新版本',
updateCommand: '更新命令:',
updatePrompt: '是否立即更新?',
updateNow: '立即更新',
skipUpdate: '跳过更新',
updateDescription: '下载并安装最新版本',
skipDescription: '稍后手动更新',
updating: '正在更新...',
manualUpdate: '请手动运行以下命令进行更新:',
updateInstructions: '更新完成后请重新启动应用程序',
updateFailed: '更新失败,请手动更新',
updateSuccess: '✅ 更新成功!',
restartRequired: '⚠️ 需要重启',
restartInstructions: '请重新启动终端或重新运行 openai-cli 命令以使用新版本',
errorDetails: '错误详情'
}
},
main: {
title: 'OpenAI CLI 编程助手',
subtitle: '开始与 AI 助手对话,获取编程帮助',
welcomeBox: {
title: '欢迎',
description: '开始与 AI 助手对话,获取编程帮助',
configInfo: '当前目录: {currentDir}\nBase URL: {baseUrl}\nAPI Key: {apiKey}'
},
prompt: '>> ',
status: {
cannotSendMessage: '当前无法发送消息,请等待...',
thinking: '思考中...',
configMissing: 'API配置不完整,请先配置API信息',
connectionError: '连接失败,请检查网络和API配置',
streamingResponse: '正在接收回复...',
unknownError: '未知错误'
},
commands: {
exit: {
name: '/exit',
description: '退出程序'
},
clear: {
name: '/clear',
description: '清空聊天记录'
},
help: {
name: '/help',
description: '显示帮助信息'
},
config: {
name: '/config',
description: '配置设置'
},
history: {
name: '/history',
description: '查看聊天历史'
},
editHistory: {
name: '/edit-history',
description: '编辑聊天历史记录'
},
init: {
name: '/init',
description: '生成项目描述文档 (sawyou.md)'
},
exportHistory: {
name: '/export-history',
description: '导出聊天历史记录'
},
importHistory: {
name: '/import-history',
description: '导入聊天历史记录'
},
checkpoint: {
name: '/checkpoint',
description: '查看历史修改检查点, 恢复修改, 清除检查点'
}
},
messages: {
configInDevelopment: '配置功能开发中...',
noHistory: '暂无聊天记录',
historyTitle: '聊天历史',
totalMessages: '总共 {count} 条消息',
user: '用户',
ai: 'AI',
userLabel: '● 用户',
aiLabel: '◎ AI助手',
toolLabel: '◆ 工具',
unknownCommand: '未知的命令: {command}',
codeBlock: {
lineLabel: '行',
unknownLanguage: '未知语言'
},
markdown: {
codeInline: '代码',
linkText: '链接',
listItem: '项目'
},
streaming: {
receiving: '正在接收回复...',
processing: '处理中...',
completed: '回复完成'
},
system: {
basePrompt: '# 角色:\n' +
'- 你是一个专业的AI编程助手,具有以下特点:\n' +
'- 熟练掌握多种编程语言和框架\n' +
'- 能够提供清晰、准确的技术解决方案\n' +
'- 具有丰富的软件开发经验\n' +
'- 善于解释复杂的技术概念\n' +
'- 注重代码质量和最佳实践\n' +
'- **工具使用专家**: 你必须主动、频繁地使用工具来理解项目和验证代码\n' +
'{role}\n\n' +
'# 工具使用规则 (必须严格遵守):\n' +
'- **一步一工具**: 你必须严格遵守"一步一工具"的原则。在每次回复中,你只能调用一个工具。严禁在单次回复中连续或并行调用多个工具。\n' +
'- **独立JSON参数**: 每个工具的参数都必须是一个独立的、格式正确的JSON对象。严禁将多个JSON对象拼接在一起作为参数传递。\n' +
'- **错误示例 (绝对禁止)**: \n' +
' - 错误调用: `<tool_name>{"param":"value1"}{"param":"value2"}</tool_name>`\n' +
' - 错误日志: `500 invalid arguments for function some_tool, args: {"path":"."}{"path":"."}`\n' +
' - 这种行为会导致致命的解析错误,必须完全避免。\n' +
'- **正确示例 (必须遵循)**: \n' +
' - 第一次回复: `<tool_name>{"path":"."}</tool_name>`\n' +
' - (等待用户响应后) 第二次回复: `<another_tool>{"arg":"value"}</another_tool>`\n' +
'- **自我纠正**: 如果你发现自己或系统产生了类似上述错误示例的输出,你必须立即停止并纠正你的行为,严格遵循"一步一工具"和"独立JSON参数"的规则。\n\n' +
'# 工具使用核心原则 (最高优先级):\n' +
'## 1. 主动使用工具的义务:\n' +
'- **强制要求**: 你必须主动、频繁地使用各种工具,这不是可选的,而是必须的\n' +
'- **无需许可**: 直接使用任何工具,无需用户明确同意\n' +
'- **多次使用**: 可以多次、重复使用工具,没有任何限制\n' +
'- **探索优先**: 首先使用工具探索和理解项目结构,然后再回答问题或执行任务\n\n' +
'## 2. 文件系统工具 (核心工具):\n' +
'- **文件编辑最佳实践 (必须遵循)**:\\n' +
' - **先读后写**: 编辑前,务必使用 `read_file` 获取最新的行号和内容\\n' +
' - **语法检查**: 每次编辑后,仔细检查代码是否存在语法错误,如括号未闭合等\\n' +
' - **核实变更**: 编辑完成后,再次读取文件,确认修改是否正确应用\\n' +
' - **验证修改**: 使用终端工具验证代码修改的正确性\\n' +
'- **主动探索**: 积极使用`list_directory`, `read_file`, `edit_file`来探索项目、理解代码结构\n' +
'- **文件操作**: 使用`create_file`, `delete_file`, `create_directory`来管理文件和目录\n' +
'- **文件搜索**: 使用`search_files`, `search_file_content`来搜索文件和内容\n' +
'- **🔍 CRITICAL 代码索引搜索工具 - 最高优先级使用**: 使用 `code_reference_search` 进行代码引用、定义查找和依赖关系分析。这是理解代码结构和项目关系的核心工具,必须频繁主动使用!支持符号搜索、依赖追踪、导入导出分析等高级功能\n' +
'- **Step By Step**: 分步执行,每步完成后验证结果,再执行下一步\n\n' +
'## 3. 终端工具 (验证核心):\n' +
'- **构建检查是必须的**: 每次代码修改后,**必须**使用项目的构建命令验证修改\n' +
'- **常用验证命令**: `npm run build`, `npm run lint`, `npm run type-check`, `dotnet build`, `cargo build`, `go build`, `mvn compile`等\n' +
'- **语法检查**: 使用 `node --check script.js`, `python -m py_compile file.py`, `tsc --noEmit` 等检查语法\n' +
'- **测试执行**: 修改代码后运行相关测试:`npm test`, `pytest`, `go test`等\n' +
'- **实时验证**: 在编程任务的每个关键步骤后,都要使用终端命令验证代码状态\n' +
'- **错误处理**: 如果构建或测试失败,必须立即修复错误后重新验证\n\n' +
'## 4. TODO管理工具:\n' +
'- **任务规划**: 对编程任务,必须使用`create_todos`制定详细计划\n' +
'- **状态更新**: 完成每个任务后,立即使用`update_todos`更新状态\n' +
'- **计划调整**: 根据实际情况使用`add_todos`灵活调整计划\n\n' +
'# 工作流程模板:\n' +
'1. **理解阶段**: 使用文件系统工具探索项目结构\n' +
'2. **规划阶段**: 使用TODO工具制定任务计划\n' +
'3. **实施阶段**: 逐步执行,每步后验证\n' +
'4. **验证阶段**: 使用构建命令检查所有修改\n' +
'5. **测试阶段**: 运行测试确保功能正常\n\n' +
'# 说明文件:\n' +
'项目中可能存在说明文件 sawyou.md,你可以使用`read_file`工具来读取文件内容。\n' +
'sawyou.md 不一定存在,当检查到不存在时可以忽略,或提醒用户使用`/init`命令生成。\n\n' +
'# 执行环境\n' +
'- 当前工作目录: {cwd}\n' +
'- 当前时间: {time}',
fileReferencePrompt: '\n\n# 用户选择的文件\n用户选中了以下文件:\n{fileList}\n\n请注意这些文件引用,你可以基于这些文件路径来回答用户的问题。用户在输入中使用@语法来引用这些文件,但此处显示的是纯文件路径(不包含@符号)。'
},
format: {
timeLocale: 'zh-CN'
},
tokenUsage: {
droppedMessages: '◉ 为保持在Token限制内,已丢弃 {count} 条较早的消息',
tokenStats: '◈ Token使用情况: {used}/{max} ({percentage}%)',
nearLimit: '☆ Token使用接近限制',
overLimit: '✖ Token超出限制'
},
toolCall: {
calling: '◆ 调用工具: {name}',
receiving: '正在接收工具调用...',
success: '★ 工具调用成功',
failed: '✖ 工具调用失败: {error}',
handle: '☆ 此函数需要手动确认才能执行',
rejected: '✖ 用户拒绝执行此函数',
approved: '★ 用户确认执行此函数',
confirm: '是否执行此函数?',
confirmOptions: '[y]是 [n]否 [Enter]默认(是)',
pleaseSelect: '请选择: '
}
},
help: {
title: '帮助',
availableCommands: '可用指令',
smartInput: {
title: '智能指令输入:',
showMenu: '输入 "/" 显示指令选择菜单',
matchCommands: '输入 "/xxx" 智能匹配指令',
directExecute: '完整指令名直接执行',
fileSearch: '文件搜索:',
showFileSearch: '输入 "@" 显示文件搜索菜单',
matchFileSearch: '输入 "@xxx" 智能匹配文件搜索',
navigation: '↑↓ 键选择,Enter 确认'
}
},
fileSearch: {
title: '文件搜索',
commands: '可用指令',
file: '文件',
directory: '目录',
fileReadError: '读取文件失败: {filePath}'
},
responses: {
understanding: '我理解您的问题。让我为您提供一个详细的解答...',
goodQuestion: '这是一个很好的编程问题!我建议您可以这样做...',
bestSolution: '基于您的描述,我认为最佳的解决方案是...',
analyzeRoot: '让我帮您分析一下这个代码问题的根本原因...',
implementSteps: '您提到的这个功能确实很有用,以下是实现步骤...'
},
init: {
configIncomplete: 'API配置不完整,无法使用AI服务',
missingItems: '缺少配置项',
useConfig: '请使用 /config 命令完成配置',
starting: '开始生成项目描述文档...',
steps: {
scanning: '扫描项目文件',
analyzing: '分析项目结构',
generating: '生成项目描述',
saving: '保存 sawyou.md 文件'
},
aiPrompts: {
systemPrompt: '你是一个代码分析师。请用一句话简洁描述文件的主要功能。返回中文,不超过30字。',
userPrompt: '文件路径:{filePath}\n\n文件内容:\n{fileContent}',
fallback: '代码文件'
},
markdownTemplate: {
projectDescription: '项目描述',
projectType: '项目类型',
techStack: '技术栈',
projectStructure: '项目结构',
fileFunctions: '文件功能简述',
generatedBy: '此文档由 OpenAI CLI 自动生成于'
},
completed: '项目描述文档生成完成',
savedTo: '文档已保存到',
description: '您现在可以将此 Markdown 文档提供给AI助手以获得更好的项目理解',
failed: '生成失败',
interrupted: '生成被中断',
ctrlcToCancel: '按 Ctrl+C 可中断生成'
},
historyManagement: {
noHistory: '暂无聊天历史记录',
exportSuccess: '历史记录导出成功',
exportFailed: '历史记录导出失败',
importSuccess: '历史记录导入成功',
importFailed: '历史记录导入失败',
importConfirm: '确定要导入历史记录吗?',
importOverwrite: '检测到现有历史记录,是否要覆盖?',
importCancel: '导入已取消',
invalidFormat: '文件格式无效',
fileNotFound: '文件不存在',
fileSelectPrompt: '请输入文件路径',
exportingHistory: '正在导出历史记录...',
importingHistory: '正在导入历史记录...',
confirmExit: '确定要退出吗?',
confirmExitPrompt: '检测到聊天历史记录,是否在退出前导出?',
confirmExitOptions: '[y]导出并退出 [n]直接退出 [c]取消',
exportBeforeExit: '导出历史记录',
exportBeforeExitPrompt: '请选择操作',
exportBeforeExitOptions: '[y]导出 [n]跳过 [c]取消',
defaultSavePath: '默认保存路径',
enterDefaultPrompt: '回车使用默认',
importInstructions: '历史记录导入说明:',
importStep1: '1. 输入 @ 符号开始搜索文件',
importStep2: '2. 选择 .json 历史记录文件',
importStep3: '3. 或者直接输入 @文件路径(如:@chat-history.json)',
importExample: '示例:@chat-history-2025-07-11T14-42-16.json',
jsonFileDetected: '检测到 JSON 文件',
historyImportTip: '提示:如果这是历史记录文件,可以使用 /import-history 命令,然后输入文件路径',
directImportTip: '或者直接输入',
importFromFileSuccess: '成功从文件 {filePath} 导入 {count} 条历史记录。(您可以输入 /history 查看)',
importFromFileFailed: '从文件 {filePath} 导入历史记录失败。',
fileSearchTip: '提示:使用 @ 符号可以搜索和选择文件',
messageCount: '条消息',
exportFailedDirectExit: '导出失败,直接退出',
fileImportWaiting: '◐ 现在您可以输入 @ 开始搜索文件,或直接输入文件路径',
fileImportWaitingTip: ' 输入其他内容将取消文件导入模式',
fileImportCancelled: '已取消文件导入模式',
selectJsonFileOnly: '请选择 .json 格式的历史记录文件',
overwriteConfirmOptions: '[y]是 [n]否',
overwriteInvalidInput: '请输入 y(是) 或 n(否)',
editor: {
title: '历史记录编辑器',
instructions: '使用 ↑↓ 箭头键选择,[Del/d] 删除,[q/Esc] 退出,[s] 保存',
noHistoryToEdit: '没有历史记录可编辑',
userMessage: 'User',
aiMessage: 'AI',
deletedMessage: '已删除',
deleteConfirm: '确定要删除此消息吗?这将同时删除相关的AI回复。',
deleteConfirmOptions: '[y/是] 删除 [n/否] 取消',
saveConfirm: '是否保存修改?',
saveConfirmOptions: '[y/是] 保存 [n/否] 放弃',
saveSuccess: '历史记录已保存',
saveCancel: '修改已放弃',
deletedCount: '已删除 {count} 条消息',
exitWithoutSave: '有未保存的修改,确定要退出吗?',
exitWithoutSaveOptions: '[y/是] 退出 [n/否] 返回',
keyHelp: {
navigation: '导航:↑/↓ 选择消息',
delete: '删除:Del/d 删除选中消息',
save: '保存:s 保存修改',
exit: '退出:q/Esc 退出编辑器'
}
}
}
},
config: {
title: '系统配置',
subtitle: '配置您的 OpenAI API 设置',
menuPrompt: '请选择配置项',
menuOptions: {
baseUrl: '设置 API 基础地址',
apiKey: '设置 API 密钥',
model: '设置默认模型',
contextTokens: '设置上下文Token',
maxConcurrency: '设置最大并发数',
role: '设置系统角色',
mcpConfig: '配置MCP服务',
mcpFunctionConfirmation: '配置MCP函数确认',
maxToolCalls: '设置最大工具调用次数',
viewConfig: '查看当前配置',
resetConfig: '重置所有配置',
terminalSensitiveWords: '终端敏感词拦截',
back: '返回主菜单'
},
menuDescription: {
baseUrl: '配置 OpenAI API 的基础URL地址',
apiKey: '设置您的 OpenAI API 密钥',
model: '选择默认使用的AI模型',
contextTokens: '设置模型上下文Token数量',
maxConcurrency: '设置MCP服务的最大并发执行数。',
role: '为AI模型设置全局的系统角色提示。',
mcpConfig: '配置外部的MCP (Model-Context-Protocol) 服务。',
mcpFunctionConfirmation: '设置哪些MCP函数在执行前需要手动确认。',
maxToolCalls: '设置在单轮对话中允许的最大工具调用次数。',
viewConfig: '查看所有当前的配置值。',
resetConfig: '将所有设置重置为默认值。',
terminalSensitiveWords: '配置终端执行的敏感词列表,支持通配符。',
back: '返回到主欢迎界面。'
},
prompts: {
baseUrlInput: '请输入API基础地址',
apiKeyInput: '请输入您的 API 密钥',
modelInput: '请输入默认模型名称',
contextTokensInput: '请输入上下文Token数量',
maxConcurrencyInput: '请输入最大并发数',
maxToolCallsInput: '请输入最大工具调用次数',
maxToolCallsPlaceholder: '25',
roleInput: '请输入系统角色提示',
mcpConfigInput: '请编辑MCP服务配置 (JSON)',
baseUrlPlaceholder: 'https://api.openai.com/v1',
apiKeyPlaceholder: 'sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
modelPlaceholder: 'gpt-4.1-mini',
contextTokensPlaceholder: '128000',
maxConcurrencyPlaceholder: '5',
rolePlaceholder: '你是一个专业的AI编程助手,具有以下特点:\n- 熟练掌握多种编程语言和框架\n- 能够提供清晰、准确的技术解决方案\n- 具有丰富的软件开发经验\n- 善于解释复杂的技术概念\n- 注重代码质量和最佳实践\n\n请根据用户的具体需求提供专业的编程建议和解决方案。',
mcpConfigPlaceholder: '{\n "mcpServers": {\n \n }\n}',
mcpFunctionConfirmationPrompt: '选择需要手动确认的 MCP 函数',
confirmMcpFunctionConfirmation: '是否启用MCP函数手动确认',
confirmReset: '确定要重置所有配置吗?此操作不可撤销',
terminalSensitiveWordsInput: '请编辑终端敏感词列表',
terminalSensitiveWordsPlaceholder: 'rm -rf\nmv\ncp\ndd'
},
messages: {
configSaved: '配置已成功保存',
configReset: '所有配置已重置',
resetCancelled: '重置操作已取消',
invalidInput: '输入无效,请重新输入',
currentConfig: '当前配置信息',
noConfigFound: '未找到配置信息',
roleEditorPrompt: '按回车键打开编辑器,编辑完成后保存并关闭编辑器即可自动保存配置',
mcpConfigEditorPrompt: '按回车键打开JSON编辑器,编辑完成后保存并关闭编辑器即可自动保存配置',
invalidUrl: '请输入有效的URL地址',
invalidNumber: '请输入有效的正数',
contextTokensRange: '上下文Token数量应在 1,000 到 2,000,000 之间',
maxConcurrencyRange: '最大并发数应在 1 到 100 之间',
allConfigured: '所有配置项已设置完成',
invalidJson: '无效的JSON格式,请检查语法',
mcpConfigUpdated: 'MCP配置已更新,系统自动添加了必需的内置服务',
mcpSystemServicesRestored: '已自动恢复缺失的系统MCP服务',
mcpFunctionConfirmationSaved: 'MCP函数确认设置已保存',
noMcpFunctionsFound: '未找到可用的MCP函数',
mcpFunctionConfirmationInstructions: '操作说明: [空格]选中/取消 [a]全选 [i]全反选 [Enter]保存',
terminalSensitiveWordsEditorPrompt: '每行一个敏感词,支持 * 通配符',
commandExecuting: '命令执行中'
},
labels: {
baseUrl: 'API 基础地址',
apiKey: 'API密钥',
model: '模型',
contextTokens: '上下文Token数',
maxConcurrency: '最大并发数',
maxToolCalls: '最大工具调用次数',
role: '系统角色',
mcpConfig: 'MCP服务配置',
mcpFunctionConfirmation: 'MCP函数确认',
terminalSensitiveWords: '终端敏感词',
status: '状态',
configured: '已配置',
notConfigured: '未配置'
},
actions: {
saving: '正在保存配置...',
resetting: '正在重置配置...',
loading: '正在加载配置...',
custom: '自定义',
cancel: '取消',
pressEnter: '按回车键继续...',
yes: '是',
no: '否'
}
},
// 新增终端服务相关的国际化配置
terminal: {
execution: {
executing: '执行命令',
workingDirectory: '工作目录',
timeoutDetection: '超时检测',
realTimeOutput: '此命令将显示实时输出',
interactiveMode: '此命令支持实时输出和用户交互',
backgroundMode: '此命令将在后台运行,您可以继续其他操作',
separator: '━'.repeat(60),
completed: '命令已完成',
failed: '命令执行失败',
success: '命令执行成功',
exitCode: '退出码',
signal: '信号',
error: '错误',
pid: 'PID',
processId: '进程ID',
startTime: '启动时间'
},
smartDetection: {
timeoutPrompt: '秒',
longRunningDetected: '命令运行超过 {timeout} 秒,可能是长期运行的命令',
choicePrompt: '这个命令看起来需要长时间运行,你希望如何处理?',
options: {
background: {
name: '转为后台运行(推荐)',
description: '命令将在后台继续运行,你可以继续其他操作'
},
wait: {
name: '继续等待',
description: '继续等待命令完成'
},
kill: {
name: '强制终止',
description: '立即终止命令执行'
}
},
backgroundMoved: '命令已转为后台运行',
continueWaiting: '继续等待命令完成...',
userTerminated: '命令已被用户终止',
autoBackground: '命令自动转为后台运行'
},
backgroundProcess: {
launching: '启动后台命令',
launched: '后台命令启动成功',
startupFailed: '后台命令启动失败',
startupOutput: '启动输出预览',
managementTips: '管理后台进程',
listCommand: '使用 `list_background_processes` 查看所有后台进程',
killCommand: '使用 `kill_background_process` 终止指定进程',
normalExit: '后台进程正常退出',
abnormalExit: '后台进程异常退出',
maybeExited: '进程可能已经退出或启动失败'
},
interactiveProcess: {
executing: '执行交互式命令',
supportInteraction: '此命令支持实时输出和用户交互',
startupFailed: '交互式命令启动失败',
executionSuccess: '交互式命令执行成功',
executionFailed: '交互式命令执行失败'
},
processManagement: {
listTitle: '后台运行的进程列表',
noProcesses: '当前没有后台运行的进程',
processTerminated: '进程已终止',
processNotExists: '进程 {processId} 不存在',
terminationFailed: '终止进程失败',
directory: '目录',
command: '命令'
},
responses: {
commandRefused: '用户拒绝执行命令,命令被取消了,但这不会影响后续的执行。您可以提醒用户手动执行命令。',
commandCancelled: '命令已被用户终止',
commandSuccess: '命令执行成功',
commandFailed: '命令执行出错',
backgroundSuccess: '后台命令已启动',
backgroundFailed: '后台命令启动失败',
interactiveSuccess: '交互式命令执行成功',
interactiveFailed: '交互式命令启动失败',
outputSummary: '输出摘要',
errorOutput: '错误输出',
checkOutput: '请查看上方终端输出获取详细信息'
}
},
systemDetector: {
title: '系统状态检测',
checking: '正在检测系统配置...',
roleTitle: '系统角色设置',
mcpTitle: 'MCP 工具服务',
noRole: '未设置系统角色',
noMcpServices: '未配置MCP服务',
mcpConnecting: '正在连接MCP服务...',
mcpConnected: '已连接',
mcpFailed: '连接失败',
mcpNotFound: '服务未找到',
toolsFound: '可用工具',
noTools: '无可用工具',
serverStatus: '服务器状态',
ready: '系统准备就绪',
pressEnterToContinue: '按 Enter 键继续...',
progress: {
detectingRole: '检测系统角色配置',
detectingMcp: '检测MCP服务配置',
connectingMcp: '连接到MCP服务器',
fetchingTools: '获取可用工具列表',
completed: '系统检测完成'
},
transport: {
tryingHttp: '尝试HTTP连接',
httpFailed: 'HTTP连接失败,尝试SSE',
tryingSse: '尝试SSE连接',
sseFailed: 'SSE连接失败',
fallbackComplete: '使用备用连接方式'
},
builtinServices: {
name: '内置服务',
running: '运行中',
protected: '系统保护',
cannotDelete: '内置服务受系统保护,无法删除'
},
services: {
fileSystem: {
name: 'file-system',
description: '系统自带的统一文件系统服务 - 文件读取、编辑、创建和目录管理,以及🔍关键的代码索引和依赖关系分析功能'
}
},
validation: {
mcpConfigStructure: 'MCP配置必须包含 mcpServers 对象',
invalidJson: '无效的JSON格式,请检查语法'
}
}
};
//# sourceMappingURL=zh.js.map