auto-coder 0.1.304__py3-none-any.whl → 0.1.306__py3-none-any.whl
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.
Potentially problematic release.
This version of auto-coder might be problematic. Click here for more details.
- {auto_coder-0.1.304.dist-info → auto_coder-0.1.306.dist-info}/METADATA +1 -1
- {auto_coder-0.1.304.dist-info → auto_coder-0.1.306.dist-info}/RECORD +45 -40
- autocoder/agent/auto_learn_from_commit.py +3 -1
- autocoder/agent/auto_review_commit.py +3 -1
- autocoder/auto_coder.py +3 -2
- autocoder/auto_coder_runner.py +116 -3
- autocoder/chat_auto_coder.py +9 -1
- autocoder/chat_auto_coder_lang.py +552 -278
- autocoder/commands/auto_command.py +1 -4
- autocoder/commands/auto_web.py +1 -9
- autocoder/common/__init__.py +4 -0
- autocoder/common/auto_coder_lang.py +737 -392
- autocoder/common/code_auto_generate.py +104 -16
- autocoder/common/code_auto_generate_diff.py +101 -10
- autocoder/common/code_auto_generate_editblock.py +103 -9
- autocoder/common/code_auto_generate_strict_diff.py +99 -9
- autocoder/common/code_auto_merge.py +8 -0
- autocoder/common/code_auto_merge_diff.py +8 -0
- autocoder/common/code_auto_merge_editblock.py +7 -0
- autocoder/common/code_auto_merge_strict_diff.py +5 -0
- autocoder/common/code_modification_ranker.py +4 -2
- autocoder/common/command_completer.py +12 -0
- autocoder/common/command_generator.py +5 -4
- autocoder/common/git_utils.py +13 -7
- autocoder/common/global_cancel.py +68 -7
- autocoder/common/stream_out_type.py +5 -1
- autocoder/common/utils_code_auto_generate.py +29 -3
- autocoder/dispacher/__init__.py +18 -19
- autocoder/dispacher/actions/action.py +6 -162
- autocoder/dispacher/actions/plugins/action_regex_project.py +2 -6
- autocoder/index/filter/quick_filter.py +6 -3
- autocoder/index/index.py +2 -4
- autocoder/memory/__init__.py +7 -0
- autocoder/memory/active_context_manager.py +649 -0
- autocoder/memory/active_package.py +469 -0
- autocoder/memory/async_processor.py +161 -0
- autocoder/memory/directory_mapper.py +67 -0
- autocoder/utils/auto_coder_utils/chat_stream_out.py +61 -11
- autocoder/utils/project_structure.py +35 -1
- autocoder/utils/thread_utils.py +78 -169
- autocoder/version.py +1 -1
- {auto_coder-0.1.304.dist-info → auto_coder-0.1.306.dist-info}/LICENSE +0 -0
- {auto_coder-0.1.304.dist-info → auto_coder-0.1.306.dist-info}/WHEEL +0 -0
- {auto_coder-0.1.304.dist-info → auto_coder-0.1.306.dist-info}/entry_points.txt +0 -0
- {auto_coder-0.1.304.dist-info → auto_coder-0.1.306.dist-info}/top_level.txt +0 -0
|
@@ -2,284 +2,558 @@ import locale
|
|
|
2
2
|
from byzerllm.utils import format_str_jinja2
|
|
3
3
|
|
|
4
4
|
MESSAGES = {
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"mcp_remove_success": "Successfully removed MCP server: {{result}}",
|
|
9
|
-
"mcp_list_running_error": "Error listing running MCP servers: {{error}}",
|
|
10
|
-
"mcp_list_running_title": "Running MCP servers:",
|
|
11
|
-
"mcp_list_builtin_error": "Error listing builtin MCP servers: {{error}}",
|
|
12
|
-
"mcp_list_builtin_title": "Available builtin MCP servers:",
|
|
13
|
-
"mcp_refresh_error": "Error refreshing MCP servers: {{error}}",
|
|
14
|
-
"mcp_refresh_success": "Successfully refreshed MCP servers",
|
|
15
|
-
"mcp_install_error": "Error installing MCP server: {{error}}",
|
|
16
|
-
"mcp_install_success": "Successfully installed MCP server: {{result}}",
|
|
17
|
-
"mcp_query_empty": "Please enter your query.",
|
|
18
|
-
"mcp_error_title": "Error",
|
|
19
|
-
"mcp_response_title": "MCP Response",
|
|
20
|
-
"initializing": "🚀 Initializing system...",
|
|
21
|
-
"not_initialized": "The current directory is not initialized as an auto-coder project.",
|
|
22
|
-
"init_prompt": "Do you want to initialize the project now? (y/n): ",
|
|
23
|
-
"init_success": "Project initialized successfully.",
|
|
24
|
-
"init_fail": "Failed to initialize the project.",
|
|
25
|
-
"init_manual": "Please try manually: auto-coder init --source_dir .",
|
|
26
|
-
"exit_no_init": "Exiting without initialization.",
|
|
27
|
-
"created_dir": "Created directory: {{path}}",
|
|
28
|
-
"init_complete": "Project initialization completed.",
|
|
29
|
-
"checking_ray": "Checking Ray status...",
|
|
30
|
-
"ray_not_running": "Ray is not running. Starting Ray...",
|
|
31
|
-
"ray_start_success": "Ray started successfully.",
|
|
32
|
-
"ray_start_fail": "Failed to start Ray. Please start it manually.",
|
|
33
|
-
"ray_running": "Ray is already running.",
|
|
34
|
-
"checking_model": "Checking deepseek_chat model availability...",
|
|
35
|
-
"model_available": "deepseek_chat model is available.",
|
|
36
|
-
"model_timeout": "Command timed out. deepseek_chat model might not be available.",
|
|
37
|
-
"model_error": "Error occurred while checking deepseek_chat model.",
|
|
38
|
-
"model_not_available": "deepseek_chat model is not available.",
|
|
39
|
-
"provider_selection": "Select a provider for deepseek_chat model:",
|
|
40
|
-
"no_provider": "No provider selected. Exiting initialization.",
|
|
41
|
-
"enter_api_key": "Please enter your API key(https://www.deepseek.com/): ",
|
|
42
|
-
"deploying_model": "Deploying deepseek_chat model using {}...",
|
|
43
|
-
"deploy_complete": "Deployment completed.",
|
|
44
|
-
"deploy_fail": "Deployment failed. Please try again or deploy manually.",
|
|
45
|
-
"validating_deploy": "Validating the deployment...",
|
|
46
|
-
"validation_success": "Validation successful. deepseek_chat model is now available.",
|
|
47
|
-
"validation_fail": "Validation failed. The model might not be deployed correctly.",
|
|
48
|
-
"manual_start": "Please try to start the model manually using:",
|
|
49
|
-
"init_complete_final": "Initialization completed.",
|
|
50
|
-
"project_type_config": "Project Type Configuration",
|
|
51
|
-
"project_type_supports": "The project_type supports:",
|
|
52
|
-
"language_suffixes": " - Language suffixes (e.g., .py, .java, .ts)",
|
|
53
|
-
"predefined_types": " - Predefined types: py (Python), ts (TypeScript/JavaScript)",
|
|
54
|
-
"mixed_projects": "For mixed language projects, use comma-separated values.",
|
|
55
|
-
"examples": "Examples: '.java,.scala' or '.py,.ts'",
|
|
56
|
-
"default_type": "Default is 'py' if left empty.",
|
|
57
|
-
"enter_project_type": "Enter the project type: ",
|
|
58
|
-
"project_type_set": "Project type set to:",
|
|
59
|
-
"using_default_type": "Using default project type: py",
|
|
60
|
-
"change_setting_later": "You can change this setting later using",
|
|
61
|
-
"supported_commands": "Supported commands:",
|
|
62
|
-
"commands": "Commands",
|
|
63
|
-
"description": "Description",
|
|
64
|
-
"add_files_desc": "Add files to the current session",
|
|
65
|
-
"remove_files_desc": "Remove files from the current session",
|
|
66
|
-
"chat_desc": "Chat with the AI about the current active files to get insights",
|
|
67
|
-
"coding_desc": "Request the AI to modify code based on requirements",
|
|
68
|
-
"ask_desc": "Ask the AI any questions or get insights about the current project, without modifying code",
|
|
69
|
-
"summon_desc": "Summon the AI to perform complex tasks using the auto_tool agent",
|
|
70
|
-
"revert_desc": "Revert commits from last coding chat",
|
|
71
|
-
"conf_desc": "Set configuration. Use /conf project_type:<type> to set project type for indexing",
|
|
72
|
-
"index_query_desc": "Query the project index",
|
|
73
|
-
"index_build_desc": "Trigger building the project index",
|
|
74
|
-
"list_files_desc": "List all active files in the current session",
|
|
75
|
-
"help_desc": "Show this help message",
|
|
76
|
-
"exclude_dirs_desc": "Add directories to exclude from project",
|
|
77
|
-
"shell_desc": "Execute a shell command",
|
|
78
|
-
"index_export_success": "Successfully exported index to {{ path }}",
|
|
79
|
-
"index_export_fail": "Failed to export index to {{ path }}",
|
|
80
|
-
"index_import_success": "Successfully imported index from {{ path }}",
|
|
81
|
-
"index_import_fail": "Failed to import index from {{ path }}",
|
|
82
|
-
"index_not_found": "Index file not found at {{ path }}",
|
|
83
|
-
"index_backup_success": "Backed up existing index to {{ path }}",
|
|
84
|
-
"index_convert_path_fail": "Could not convert path {{ path }}",
|
|
85
|
-
"index_error": "Error in index operation: {{ error }}",
|
|
86
|
-
"voice_input_desc": "Convert voice input to text",
|
|
87
|
-
"mode_desc": "Switch input mode",
|
|
88
|
-
"conf_key": "Key",
|
|
89
|
-
"conf_value": "Value",
|
|
90
|
-
"conf_title": "Configuration Settings",
|
|
91
|
-
"conf_subtitle": "Use /conf <key>:<value> to modify these settings",
|
|
92
|
-
"lib_desc": "Manage libraries",
|
|
93
|
-
"exit_desc": "Exit the program",
|
|
94
|
-
"design_desc": "Generate SVG image based on the provided description",
|
|
95
|
-
"commit_desc": "Auto generate yaml file and commit changes based on user's manual changes",
|
|
96
|
-
"models_desc": "Manage model configurations, only available in lite mode",
|
|
97
|
-
"models_usage": "Usage: /models <command>\nAvailable subcommands:\n /list - List all models\n /add <name> <api_key> - Add a built-in model\n /add_model - Add a custom model\n /remove <name> - Remove a model\n /input_price <name> <value> - Set model input price\n /output_price <name> <value> - Set model output price\n /speed <name> <value> - Set model speed\n /speed-test - Test models speed\n /speed-test-long - Test models speed with long context",
|
|
98
|
-
"models_added": "Added/Updated model '{{name}}' successfully.",
|
|
99
|
-
"models_add_failed": "Failed to add model '{{name}}'. Model not found in defaults.",
|
|
100
|
-
"models_add_usage": "Usage: /models /add <name> <api_key> or\n/models /add <name> <model_type> <model_name> <base_url> <api_key_path> [description]",
|
|
101
|
-
"models_add_model_params": "Please provide parameters in key=value format",
|
|
102
|
-
"models_add_model_name_required": "'name' parameter is required",
|
|
103
|
-
"models_add_model_exists": "Model '{{name}}' already exists.",
|
|
104
|
-
"models_add_model_success": "Successfully added custom model: {{name}}",
|
|
105
|
-
"models_add_model_remove": "Model '{{name}}' not found.",
|
|
106
|
-
"models_add_model_removed": "Removed model: {{name}}",
|
|
107
|
-
"models_unknown_subcmd": "Unknown subcommand: {{subcmd}}",
|
|
108
|
-
"models_input_price_updated": "Updated input price for model {{name}} to {{price}} M/token",
|
|
109
|
-
"models_output_price_updated": "Updated output price for model {{name}} to {{price}} M/token",
|
|
110
|
-
"models_invalid_price": "Invalid price value: {{error}}",
|
|
111
|
-
"models_input_price_usage": "Usage: /models /input_price <name> <value>",
|
|
112
|
-
"models_output_price_usage": "Usage: /models /output_price <name> <value>",
|
|
113
|
-
"models_speed_updated": "Updated speed for model {{name}} to {{speed}} s/request",
|
|
114
|
-
"models_invalid_speed": "Invalid speed value: {{error}}",
|
|
115
|
-
"models_speed_usage": "Usage: /models /speed <name> <value>",
|
|
116
|
-
"models_title": "All Models (内置 + models.json)",
|
|
117
|
-
"models_no_models": "No models found.",
|
|
118
|
-
"models_lite_only": "The /models command is only available in lite mode",
|
|
119
|
-
"models_api_key_exists": "API key file exists: {{path}}",
|
|
120
|
-
"config_invalid_format": "Error: Invalid configuration format. Use 'key:value' or '/drop key'.",
|
|
121
|
-
"config_value_empty": "Error: Value cannot be empty. Use 'key:value'.",
|
|
122
|
-
"config_set_success": "Set {{key}} to {{value}}",
|
|
123
|
-
"config_delete_success": "Deleted configuration: {{key}}",
|
|
124
|
-
"config_not_found": "Configuration not found: {{key}}",
|
|
125
|
-
"add_files_matched": "All specified files are already in the current session or no matches found.",
|
|
126
|
-
"add_files_added_files": "Added Files",
|
|
127
|
-
"add_files_no_args": "Please provide arguments for the /add_files command.",
|
|
128
|
-
"remove_files_all": "Removed all files.",
|
|
129
|
-
"remove_files_removed": "Removed Files",
|
|
130
|
-
"remove_files_none": "No files were removed.",
|
|
131
|
-
"files_removed": "Files Removed",
|
|
132
|
-
"models_api_key_empty": "Warning : {{name}} API key is empty. Please set a valid API key.",
|
|
133
|
-
"commit_generating": "{{ model_name }} Generating commit message...",
|
|
134
|
-
"auto_command_reasoning_title": "Reply",
|
|
135
|
-
"commit_message": "{{ model_name }} Generated commit message: {{ message }}",
|
|
136
|
-
"commit_failed": "{{ model_name }} Failed to generate commit message: {{ error }}",
|
|
137
|
-
"confirm_execute": "Do you want to execute this script?",
|
|
138
|
-
"official_doc": "Official Documentation: https://uelng8wukz.feishu.cn/wiki/NhPNwSRcWimKFIkQINIckloBncI",
|
|
139
|
-
"plugins_desc": "Manage plugins",
|
|
140
|
-
"plugins_usage": "Usage: /plugins <command>\nAvailable subcommands:\n /plugins /list - List all available plugins\n /plugins /load <name> - Load a plugin\n /plugins /unload <name> - Unload a plugin\n /plugins/dirs - List plugin directories\n /plugins/dirs /add <path> - Add a plugin directory\n /plugins/dirs /remove <path> - Remove a plugin directory\n /plugins/dirs /clear - Clear all plugin directories",
|
|
141
|
-
"mcp_server_info_error": "Error getting MCP server info: {{ error }}",
|
|
142
|
-
"mcp_server_info_title": "Connected MCP Server Info",
|
|
143
|
-
},
|
|
144
|
-
"zh": {
|
|
145
|
-
"auto_command_analyzing": "正在分析命令请求",
|
|
146
|
-
"commit_generating": "{{ model_name }} 正在生成提交信息...",
|
|
147
|
-
"auto_command_reasoning_title": "回复",
|
|
148
|
-
"commit_message": "{{ model_name }} 生成的提交信息: {{ message }}",
|
|
149
|
-
"commit_failed": "{{ model_name }} 生成提交信息失败: {{ error }}",
|
|
150
|
-
"mcp_remove_error": "移除 MCP 服务器时出错:{{error}}",
|
|
151
|
-
"mcp_remove_success": "成功移除 MCP 服务器:{{result}}",
|
|
152
|
-
"mcp_list_running_error": "列出运行中的 MCP 服务器时出错:{{error}}",
|
|
153
|
-
"mcp_list_running_title": "正在运行的 MCP 服务器:",
|
|
154
|
-
"mcp_list_builtin_error": "列出内置 MCP 服务器时出错:{{error}}",
|
|
155
|
-
"mcp_list_builtin_title": "可用的内置 MCP 服务器:",
|
|
156
|
-
"mcp_refresh_error": "刷新 MCP 服务器时出错:{{error}}",
|
|
157
|
-
"mcp_refresh_success": "成功刷新 MCP 服务器",
|
|
158
|
-
"mcp_install_error": "安装 MCP 服务器时出错:{{error}}",
|
|
159
|
-
"mcp_install_success": "成功安装 MCP 服务器:{{result}}",
|
|
160
|
-
"mcp_query_empty": "请输入您的查询。",
|
|
161
|
-
"mcp_error_title": "错误",
|
|
162
|
-
"mcp_response_title": "MCP 响应",
|
|
163
|
-
"initializing": "🚀 正在初始化系统...",
|
|
164
|
-
"not_initialized": "当前目录未初始化为auto-coder项目。",
|
|
165
|
-
"init_prompt": "是否现在初始化项目?(y/n): ",
|
|
166
|
-
"init_success": "项目初始化成功。",
|
|
167
|
-
"init_fail": "项目初始化失败。",
|
|
168
|
-
"init_manual": "请尝试手动初始化:auto-coder init --source_dir .",
|
|
169
|
-
"exit_no_init": "退出而不初始化。",
|
|
170
|
-
"created_dir": "创建目录:{{path}}",
|
|
171
|
-
"init_complete": "项目初始化完成。",
|
|
172
|
-
"checking_ray": "正在检查Ray状态...",
|
|
173
|
-
"ray_not_running": "Ray未运行。正在启动Ray...",
|
|
174
|
-
"ray_start_success": "Ray启动成功。",
|
|
175
|
-
"ray_start_fail": "Ray启动失败。请手动启动。",
|
|
176
|
-
"ray_running": "Ray已经在运行。",
|
|
177
|
-
"checking_model": "正在检查deepseek_chat模型可用性...",
|
|
178
|
-
"model_available": "deepseek_chat模型可用。",
|
|
179
|
-
"model_timeout": "命令超时。deepseek_chat模型可能不可用。",
|
|
180
|
-
"model_error": "检查deepseek_chat模型时出错。",
|
|
181
|
-
"model_not_available": "deepseek_chat模型不可用。",
|
|
182
|
-
"provider_selection": "为deepseek_chat模型选择一个提供商:",
|
|
183
|
-
"no_provider": "未选择提供商。退出初始化。",
|
|
184
|
-
"enter_api_key": "请输入您的API密钥(https://www.deepseek.com/):",
|
|
185
|
-
"deploying_model": "正在使用{}部署deepseek_chat模型...",
|
|
186
|
-
"deploy_complete": "部署完成。",
|
|
187
|
-
"deploy_fail": "部署失败。请重试或手动部署。",
|
|
188
|
-
"validating_deploy": "正在验证部署...",
|
|
189
|
-
"validation_success": "验证成功。deepseek_chat模型现在可用。",
|
|
190
|
-
"validation_fail": "验证失败。模型可能未正确部署。",
|
|
191
|
-
"manual_start": "请尝试使用以下命令手动启动模型:",
|
|
192
|
-
"init_complete_final": "初始化完成。",
|
|
193
|
-
"project_type_config": "项目类型配置",
|
|
194
|
-
"project_type_supports": "项目类型支持:",
|
|
195
|
-
"language_suffixes": " - 语言后缀(例如:.py, .java, .ts)",
|
|
196
|
-
"predefined_types": " - 预定义类型:py(Python), ts(TypeScript/JavaScript)",
|
|
197
|
-
"mixed_projects": "对于混合语言项目,使用逗号分隔的值。",
|
|
198
|
-
"examples": "示例:'.java,.scala' 或 '.py,.ts'",
|
|
199
|
-
"default_type": "如果留空,默认为 'py'。",
|
|
200
|
-
"enter_project_type": "请输入项目类型:",
|
|
201
|
-
"project_type_set": "项目类型设置为:",
|
|
202
|
-
"using_default_type": "使用默认项目类型:py",
|
|
203
|
-
"change_setting_later": "您可以稍后使用以下命令更改此设置",
|
|
204
|
-
"supported_commands": "支持的命令:",
|
|
205
|
-
"commands": "命令",
|
|
206
|
-
"description": "描述",
|
|
207
|
-
"add_files_desc": "将文件添加到当前会话",
|
|
208
|
-
"remove_files_desc": "从当前会话中移除文件",
|
|
209
|
-
"chat_desc": "与AI聊天,获取关于当前活动文件的见解",
|
|
210
|
-
"coding_desc": "根据需求请求AI修改代码",
|
|
211
|
-
"ask_desc": "向AI提问或获取关于当前项目的见解,不修改代码",
|
|
212
|
-
"summon_desc": "召唤AI使用auto_tool代理执行复杂任务",
|
|
213
|
-
"revert_desc": "撤销上次代码聊天的提交",
|
|
214
|
-
"conf_desc": "设置配置。使用 /conf project_type:<type> 设置索引的项目类型",
|
|
215
|
-
"index_query_desc": "查询项目索引",
|
|
216
|
-
"index_build_desc": "触发构建项目索引",
|
|
217
|
-
"list_files_desc": "列出当前会话中的所有活动文件",
|
|
218
|
-
"help_desc": "显示此帮助消息",
|
|
219
|
-
"exclude_dirs_desc": "添加要从项目中排除的目录",
|
|
220
|
-
"shell_desc": "执行shell命令",
|
|
221
|
-
"index_export_success": "成功导出索引到 {{ path }}",
|
|
222
|
-
"index_export_fail": "导出索引到 {{ path }} 失败",
|
|
223
|
-
"index_import_success": "成功从 {{ path }} 导入索引",
|
|
224
|
-
"index_import_fail": "从 {{ path }} 导入索引失败",
|
|
225
|
-
"index_not_found": "在 {{ path }} 未找到索引文件",
|
|
226
|
-
"index_backup_success": "已备份现有索引到 {{ path }}",
|
|
227
|
-
"index_convert_path_fail": "无法转换路径 {{ path }}",
|
|
228
|
-
"index_error": "索引操作出错:{{ error }}",
|
|
229
|
-
"voice_input_desc": "将语音输入转换为文本",
|
|
230
|
-
"mode_desc": "切换输入模式",
|
|
231
|
-
"lib_desc": "管理库",
|
|
232
|
-
"exit_desc": "退出程序",
|
|
233
|
-
"design_desc": "根据需求设计SVG图片",
|
|
234
|
-
"commit_desc": "根据用户人工修改的代码自动生成yaml文件并提交更改",
|
|
235
|
-
"models_desc": "管理模型配置,仅在lite模式下可用",
|
|
236
|
-
"conf_key": "键",
|
|
237
|
-
"conf_value": "值",
|
|
238
|
-
"conf_title": "配置设置",
|
|
239
|
-
"conf_subtitle": "使用 /conf <key>:<value> 修改这些设置",
|
|
240
|
-
"models_usage": "用法: /models <命令>\n可用的子命令:\n /list - 列出所有模型\n /add <名称> <API密钥> - 添加内置模型\n /add_model - 添加自定义模型\n /remove <名称> - 移除模型\n /input_price <名称> <价格> - 设置模型输入价格\n /output_price <名称> <价格> - 设置模型输出价格\n /speed <名称> <速度> - 设置模型速度\n /speed-test - 测试模型速度\n /speed-test-long - 使用长文本上下文测试模型速度",
|
|
241
|
-
"models_added": "成功添加/更新模型 '{{name}}'。",
|
|
242
|
-
"models_add_failed": "添加模型 '{{name}}' 失败。在默认模型中未找到该模型。",
|
|
243
|
-
"models_add_usage": "用法: /models /add <name> <api_key> 或\n/models /add <name> <model_type> <model_name> <base_url> <api_key_path> [description]",
|
|
244
|
-
"models_add_model_params": "请提供 key=value 格式的参数",
|
|
245
|
-
"models_add_model_name_required": "缺少必需的 'name' 参数",
|
|
246
|
-
"models_add_model_exists": "模型 '{{name}}' 已存在。",
|
|
247
|
-
"models_add_model_success": "成功添加自定义模型: {{name}}",
|
|
248
|
-
"models_add_model_remove": "找不到模型 '{{name}}'。",
|
|
249
|
-
"models_add_model_removed": "已移除模型: {{name}}",
|
|
250
|
-
"models_unknown_subcmd": "未知的子命令: {{subcmd}}",
|
|
251
|
-
"models_input_price_updated": "已更新模型 {{name}} 的输入价格为 {{price}} M/token",
|
|
252
|
-
"models_output_price_updated": "已更新模型 {{name}} 的输出价格为 {{price}} M/token",
|
|
253
|
-
"models_invalid_price": "无效的价格值: {{error}}",
|
|
254
|
-
"models_input_price_usage": "用法: /models /input_price <name> <value>",
|
|
255
|
-
"models_output_price_usage": "用法: /models /output_price <name> <value>",
|
|
256
|
-
"models_speed_updated": "已更新模型 {{name}} 的速度为 {{speed}} 秒/请求",
|
|
257
|
-
"models_invalid_speed": "无效的速度值: {{error}}",
|
|
258
|
-
"models_speed_usage": "用法: /models /speed <name> <value>",
|
|
259
|
-
"models_title": "所有模型 (内置 + models.json)",
|
|
260
|
-
"models_no_models": "未找到任何模型。",
|
|
261
|
-
"models_lite_only": "/models 命令仅在 lite 模式下可用",
|
|
262
|
-
"models_api_key_exists": "API密钥文件存在: {{path}}",
|
|
263
|
-
"config_invalid_format": "错误:配置格式无效。请使用 'key:value' 或 '/drop key'。",
|
|
264
|
-
"config_value_empty": "错误:值不能为空。请使用 'key:value'。",
|
|
265
|
-
"config_set_success": "已设置 {{key}} 为 {{value}}",
|
|
266
|
-
"config_delete_success": "已删除配置:{{key}}",
|
|
267
|
-
"config_not_found": "未找到配置:{{key}}",
|
|
268
|
-
"add_files_matched": "所有指定的文件都已在当前会话中或未找到匹配项。",
|
|
269
|
-
"add_files_added_files": "已添加的文件",
|
|
270
|
-
"add_files_no_args": "请为 /add_files 命令提供参数。",
|
|
271
|
-
"remove_files_all": "已移除所有文件。",
|
|
272
|
-
"remove_files_removed": "已移除的文件",
|
|
273
|
-
"remove_files_none": "没有文件被移除。",
|
|
274
|
-
"files_removed": "移除的文件",
|
|
275
|
-
"models_api_key_empty": "警告: {{name}} API key 为空。请设置一个有效的 API key。",
|
|
276
|
-
"confirm_execute": "是否执行此脚本?",
|
|
277
|
-
"official_doc": "官方文档: https://uelng8wukz.feishu.cn/wiki/NhPNwSRcWimKFIkQINIckloBncI",
|
|
278
|
-
"plugins_desc": "管理插件",
|
|
279
|
-
"plugins_usage": "用法: /plugins <命令>\n可用的子命令:\n /plugins /list - 列出所有可用插件\n /plugins /load <名称> - 加载一个插件\n /plugins /unload <名称> - 卸载一个插件\n /plugins/dirs - 列出插件目录\n /plugins/dirs /add <路径> - 添加一个插件目录\n /plugins/dirs /remove <路径> - 移除一个插件目录\n /plugins/dirs /clear - 清除所有插件目录",
|
|
280
|
-
"mcp_server_info_error": "获取MCP服务器信息时出错: {{ error }}",
|
|
281
|
-
"mcp_server_info_title": "已连接的MCP服务器信息",
|
|
5
|
+
"auto_command_analyzing": {
|
|
6
|
+
"en": "Analyzing Command Request",
|
|
7
|
+
"zh": "正在分析命令请求"
|
|
282
8
|
},
|
|
9
|
+
"mcp_remove_error": {
|
|
10
|
+
"en": "Error removing MCP server: {{error}}",
|
|
11
|
+
"zh": "移除 MCP 服务器时出错:{{error}}"
|
|
12
|
+
},
|
|
13
|
+
"mcp_remove_success": {
|
|
14
|
+
"en": "Successfully removed MCP server: {{result}}",
|
|
15
|
+
"zh": "成功移除 MCP 服务器:{{result}}"
|
|
16
|
+
},
|
|
17
|
+
"mcp_list_running_error": {
|
|
18
|
+
"en": "Error listing running MCP servers: {{error}}",
|
|
19
|
+
"zh": "列出运行中的 MCP 服务器时出错:{{error}}"
|
|
20
|
+
},
|
|
21
|
+
"mcp_list_running_title": {
|
|
22
|
+
"en": "Running MCP servers:",
|
|
23
|
+
"zh": "正在运行的 MCP 服务器:"
|
|
24
|
+
},
|
|
25
|
+
"mcp_list_builtin_error": {
|
|
26
|
+
"en": "Error listing builtin MCP servers: {{error}}",
|
|
27
|
+
"zh": "列出内置 MCP 服务器时出错:{{error}}"
|
|
28
|
+
},
|
|
29
|
+
"mcp_list_builtin_title": {
|
|
30
|
+
"en": "Available builtin MCP servers:",
|
|
31
|
+
"zh": "可用的内置 MCP 服务器:"
|
|
32
|
+
},
|
|
33
|
+
"mcp_refresh_error": {
|
|
34
|
+
"en": "Error refreshing MCP servers: {{error}}",
|
|
35
|
+
"zh": "刷新 MCP 服务器时出错:{{error}}"
|
|
36
|
+
},
|
|
37
|
+
"mcp_refresh_success": {
|
|
38
|
+
"en": "Successfully refreshed MCP servers",
|
|
39
|
+
"zh": "成功刷新 MCP 服务器"
|
|
40
|
+
},
|
|
41
|
+
"mcp_install_error": {
|
|
42
|
+
"en": "Error installing MCP server: {{error}}",
|
|
43
|
+
"zh": "安装 MCP 服务器时出错:{{error}}"
|
|
44
|
+
},
|
|
45
|
+
"mcp_install_success": {
|
|
46
|
+
"en": "Successfully installed MCP server: {{result}}",
|
|
47
|
+
"zh": "成功安装 MCP 服务器:{{result}}"
|
|
48
|
+
},
|
|
49
|
+
"mcp_query_empty": {
|
|
50
|
+
"en": "Please enter your query.",
|
|
51
|
+
"zh": "请输入您的查询。"
|
|
52
|
+
},
|
|
53
|
+
"mcp_error_title": {
|
|
54
|
+
"en": "Error",
|
|
55
|
+
"zh": "错误"
|
|
56
|
+
},
|
|
57
|
+
"mcp_response_title": {
|
|
58
|
+
"en": "MCP Response",
|
|
59
|
+
"zh": "MCP 响应"
|
|
60
|
+
},
|
|
61
|
+
"initializing": {
|
|
62
|
+
"en": "🚀 Initializing system...",
|
|
63
|
+
"zh": "🚀 正在初始化系统..."
|
|
64
|
+
},
|
|
65
|
+
"not_initialized": {
|
|
66
|
+
"en": "The current directory is not initialized as an auto-coder project.",
|
|
67
|
+
"zh": "当前目录未初始化为auto-coder项目。"
|
|
68
|
+
},
|
|
69
|
+
"init_prompt": {
|
|
70
|
+
"en": "Do you want to initialize the project now? (y/n): ",
|
|
71
|
+
"zh": "是否现在初始化项目?(y/n): "
|
|
72
|
+
},
|
|
73
|
+
"init_success": {
|
|
74
|
+
"en": "Project initialized successfully.",
|
|
75
|
+
"zh": "项目初始化成功。"
|
|
76
|
+
},
|
|
77
|
+
"init_fail": {
|
|
78
|
+
"en": "Failed to initialize the project.",
|
|
79
|
+
"zh": "项目初始化失败。"
|
|
80
|
+
},
|
|
81
|
+
"init_manual": {
|
|
82
|
+
"en": "Please try manually: auto-coder init --source_dir .",
|
|
83
|
+
"zh": "请尝试手动初始化:auto-coder init --source_dir ."
|
|
84
|
+
},
|
|
85
|
+
"exit_no_init": {
|
|
86
|
+
"en": "Exiting without initialization.",
|
|
87
|
+
"zh": "退出而不初始化。"
|
|
88
|
+
},
|
|
89
|
+
"created_dir": {
|
|
90
|
+
"en": "Created directory: {{path}}",
|
|
91
|
+
"zh": "创建目录:{{path}}"
|
|
92
|
+
},
|
|
93
|
+
"init_complete": {
|
|
94
|
+
"en": "Project initialization completed.",
|
|
95
|
+
"zh": "项目初始化完成。"
|
|
96
|
+
},
|
|
97
|
+
"checking_ray": {
|
|
98
|
+
"en": "Checking Ray status...",
|
|
99
|
+
"zh": "正在检查Ray状态..."
|
|
100
|
+
},
|
|
101
|
+
"ray_not_running": {
|
|
102
|
+
"en": "Ray is not running. Starting Ray...",
|
|
103
|
+
"zh": "Ray未运行。正在启动Ray..."
|
|
104
|
+
},
|
|
105
|
+
"ray_start_success": {
|
|
106
|
+
"en": "Ray started successfully.",
|
|
107
|
+
"zh": "Ray启动成功。"
|
|
108
|
+
},
|
|
109
|
+
"ray_start_fail": {
|
|
110
|
+
"en": "Failed to start Ray. Please start it manually.",
|
|
111
|
+
"zh": "Ray启动失败。请手动启动。"
|
|
112
|
+
},
|
|
113
|
+
"ray_running": {
|
|
114
|
+
"en": "Ray is already running.",
|
|
115
|
+
"zh": "Ray已经在运行。"
|
|
116
|
+
},
|
|
117
|
+
"checking_model": {
|
|
118
|
+
"en": "Checking deepseek_chat model availability...",
|
|
119
|
+
"zh": "正在检查deepseek_chat模型可用性..."
|
|
120
|
+
},
|
|
121
|
+
"model_available": {
|
|
122
|
+
"en": "deepseek_chat model is available.",
|
|
123
|
+
"zh": "deepseek_chat模型可用。"
|
|
124
|
+
},
|
|
125
|
+
"model_timeout": {
|
|
126
|
+
"en": "Command timed out. deepseek_chat model might not be available.",
|
|
127
|
+
"zh": "命令超时。deepseek_chat模型可能不可用。"
|
|
128
|
+
},
|
|
129
|
+
"model_error": {
|
|
130
|
+
"en": "Error occurred while checking deepseek_chat model.",
|
|
131
|
+
"zh": "检查deepseek_chat模型时出错。"
|
|
132
|
+
},
|
|
133
|
+
"model_not_available": {
|
|
134
|
+
"en": "deepseek_chat model is not available.",
|
|
135
|
+
"zh": "deepseek_chat模型不可用。"
|
|
136
|
+
},
|
|
137
|
+
"provider_selection": {
|
|
138
|
+
"en": "Select a provider for deepseek_chat model:",
|
|
139
|
+
"zh": "为deepseek_chat模型选择一个提供商:"
|
|
140
|
+
},
|
|
141
|
+
"no_provider": {
|
|
142
|
+
"en": "No provider selected. Exiting initialization.",
|
|
143
|
+
"zh": "未选择提供商。退出初始化。"
|
|
144
|
+
},
|
|
145
|
+
"enter_api_key": {
|
|
146
|
+
"en": "Please enter your API key(https://www.deepseek.com/): ",
|
|
147
|
+
"zh": "请输入您的API密钥(https://www.deepseek.com/):"
|
|
148
|
+
},
|
|
149
|
+
"deploying_model": {
|
|
150
|
+
"en": "Deploying deepseek_chat model using {}...",
|
|
151
|
+
"zh": "正在使用{}部署deepseek_chat模型..."
|
|
152
|
+
},
|
|
153
|
+
"deploy_complete": {
|
|
154
|
+
"en": "Deployment completed.",
|
|
155
|
+
"zh": "部署完成。"
|
|
156
|
+
},
|
|
157
|
+
"deploy_fail": {
|
|
158
|
+
"en": "Deployment failed. Please try again or deploy manually.",
|
|
159
|
+
"zh": "部署失败。请重试或手动部署。"
|
|
160
|
+
},
|
|
161
|
+
"validating_deploy": {
|
|
162
|
+
"en": "Validating the deployment...",
|
|
163
|
+
"zh": "正在验证部署..."
|
|
164
|
+
},
|
|
165
|
+
"validation_success": {
|
|
166
|
+
"en": "Validation successful. deepseek_chat model is now available.",
|
|
167
|
+
"zh": "验证成功。deepseek_chat模型现在可用。"
|
|
168
|
+
},
|
|
169
|
+
"validation_fail": {
|
|
170
|
+
"en": "Validation failed. The model might not be deployed correctly.",
|
|
171
|
+
"zh": "验证失败。模型可能未正确部署。"
|
|
172
|
+
},
|
|
173
|
+
"manual_start": {
|
|
174
|
+
"en": "Please try to start the model manually using:",
|
|
175
|
+
"zh": "请尝试使用以下命令手动启动模型:"
|
|
176
|
+
},
|
|
177
|
+
"init_complete_final": {
|
|
178
|
+
"en": "Initialization completed.",
|
|
179
|
+
"zh": "初始化完成。"
|
|
180
|
+
},
|
|
181
|
+
"project_type_config": {
|
|
182
|
+
"en": "Project Type Configuration",
|
|
183
|
+
"zh": "项目类型配置"
|
|
184
|
+
},
|
|
185
|
+
"project_type_supports": {
|
|
186
|
+
"en": "The project_type supports:",
|
|
187
|
+
"zh": "项目类型支持:"
|
|
188
|
+
},
|
|
189
|
+
"language_suffixes": {
|
|
190
|
+
"en": " - Language suffixes (e.g., .py, .java, .ts)",
|
|
191
|
+
"zh": " - 语言后缀(例如:.py, .java, .ts)"
|
|
192
|
+
},
|
|
193
|
+
"predefined_types": {
|
|
194
|
+
"en": " - Predefined types: py (Python), ts (TypeScript/JavaScript)",
|
|
195
|
+
"zh": " - 预定义类型:py(Python), ts(TypeScript/JavaScript)"
|
|
196
|
+
},
|
|
197
|
+
"mixed_projects": {
|
|
198
|
+
"en": "For mixed language projects, use comma-separated values.",
|
|
199
|
+
"zh": "对于混合语言项目,使用逗号分隔的值。"
|
|
200
|
+
},
|
|
201
|
+
"examples": {
|
|
202
|
+
"en": "Examples: '.java,.scala' or '.py,.ts'",
|
|
203
|
+
"zh": "示例:'.java,.scala' 或 '.py,.ts'"
|
|
204
|
+
},
|
|
205
|
+
"default_type": {
|
|
206
|
+
"en": "Default is 'py' if left empty.",
|
|
207
|
+
"zh": "如果留空,默认为 'py'。"
|
|
208
|
+
},
|
|
209
|
+
"enter_project_type": {
|
|
210
|
+
"en": "Enter the project type: ",
|
|
211
|
+
"zh": "请输入项目类型:"
|
|
212
|
+
},
|
|
213
|
+
"project_type_set": {
|
|
214
|
+
"en": "Project type set to:",
|
|
215
|
+
"zh": "项目类型设置为:"
|
|
216
|
+
},
|
|
217
|
+
"using_default_type": {
|
|
218
|
+
"en": "will automatically collect extensions of code file, otherwise default to 'py'",
|
|
219
|
+
"zh": "使用默认项目类型,会自动查找代码代码相关的后缀名,如果项目为空,则默认为py"
|
|
220
|
+
},
|
|
221
|
+
"change_setting_later": {
|
|
222
|
+
"en": "You can change this setting later using",
|
|
223
|
+
"zh": "您可以稍后使用以下命令更改此设置"
|
|
224
|
+
},
|
|
225
|
+
"supported_commands": {
|
|
226
|
+
"en": "Supported commands:",
|
|
227
|
+
"zh": "支持的命令:"
|
|
228
|
+
},
|
|
229
|
+
"commands": {
|
|
230
|
+
"en": "Commands",
|
|
231
|
+
"zh": "命令"
|
|
232
|
+
},
|
|
233
|
+
"description": {
|
|
234
|
+
"en": "Description",
|
|
235
|
+
"zh": "描述"
|
|
236
|
+
},
|
|
237
|
+
"add_files_desc": {
|
|
238
|
+
"en": "Add files to the current session",
|
|
239
|
+
"zh": "将文件添加到当前会话"
|
|
240
|
+
},
|
|
241
|
+
"remove_files_desc": {
|
|
242
|
+
"en": "Remove files from the current session",
|
|
243
|
+
"zh": "从当前会话中移除文件"
|
|
244
|
+
},
|
|
245
|
+
"chat_desc": {
|
|
246
|
+
"en": "Chat with the AI about the current active files to get insights",
|
|
247
|
+
"zh": "与AI聊天,获取关于当前活动文件的见解"
|
|
248
|
+
},
|
|
249
|
+
"coding_desc": {
|
|
250
|
+
"en": "Request the AI to modify code based on requirements",
|
|
251
|
+
"zh": "根据需求请求AI修改代码"
|
|
252
|
+
},
|
|
253
|
+
"ask_desc": {
|
|
254
|
+
"en": "Ask the AI any questions or get insights about the current project, without modifying code",
|
|
255
|
+
"zh": "向AI提问或获取关于当前项目的见解,不修改代码"
|
|
256
|
+
},
|
|
257
|
+
"summon_desc": {
|
|
258
|
+
"en": "Summon the AI to perform complex tasks using the auto_tool agent",
|
|
259
|
+
"zh": "召唤AI使用auto_tool代理执行复杂任务"
|
|
260
|
+
},
|
|
261
|
+
"revert_desc": {
|
|
262
|
+
"en": "Revert commits from last coding chat",
|
|
263
|
+
"zh": "撤销上次代码聊天的提交"
|
|
264
|
+
},
|
|
265
|
+
"conf_desc": {
|
|
266
|
+
"en": "Set configuration. Use /conf project_type:<type> to set project type for indexing",
|
|
267
|
+
"zh": "设置配置。使用 /conf project_type:<type> 设置索引的项目类型"
|
|
268
|
+
},
|
|
269
|
+
"index_query_desc": {
|
|
270
|
+
"en": "Query the project index",
|
|
271
|
+
"zh": "查询项目索引"
|
|
272
|
+
},
|
|
273
|
+
"index_build_desc": {
|
|
274
|
+
"en": "Trigger building the project index",
|
|
275
|
+
"zh": "触发构建项目索引"
|
|
276
|
+
},
|
|
277
|
+
"list_files_desc": {
|
|
278
|
+
"en": "List all active files in the current session",
|
|
279
|
+
"zh": "列出当前会话中的所有活动文件"
|
|
280
|
+
},
|
|
281
|
+
"help_desc": {
|
|
282
|
+
"en": "Show this help message",
|
|
283
|
+
"zh": "显示此帮助消息"
|
|
284
|
+
},
|
|
285
|
+
"exclude_dirs_desc": {
|
|
286
|
+
"en": "Add directories to exclude from project",
|
|
287
|
+
"zh": "添加要从项目中排除的目录"
|
|
288
|
+
},
|
|
289
|
+
"shell_desc": {
|
|
290
|
+
"en": "Execute a shell command",
|
|
291
|
+
"zh": "执行shell命令"
|
|
292
|
+
},
|
|
293
|
+
"index_export_success": {
|
|
294
|
+
"en": "Successfully exported index to {{ path }}",
|
|
295
|
+
"zh": "成功导出索引到 {{ path }}"
|
|
296
|
+
},
|
|
297
|
+
"index_export_fail": {
|
|
298
|
+
"en": "Failed to export index to {{ path }}",
|
|
299
|
+
"zh": "导出索引到 {{ path }} 失败"
|
|
300
|
+
},
|
|
301
|
+
"index_import_success": {
|
|
302
|
+
"en": "Successfully imported index from {{ path }}",
|
|
303
|
+
"zh": "成功从 {{ path }} 导入索引"
|
|
304
|
+
},
|
|
305
|
+
"index_import_fail": {
|
|
306
|
+
"en": "Failed to import index from {{ path }}",
|
|
307
|
+
"zh": "从 {{ path }} 导入索引失败"
|
|
308
|
+
},
|
|
309
|
+
"index_not_found": {
|
|
310
|
+
"en": "Index file not found at {{ path }}",
|
|
311
|
+
"zh": "在 {{ path }} 未找到索引文件"
|
|
312
|
+
},
|
|
313
|
+
"index_backup_success": {
|
|
314
|
+
"en": "Backed up existing index to {{ path }}",
|
|
315
|
+
"zh": "已备份现有索引到 {{ path }}"
|
|
316
|
+
},
|
|
317
|
+
"index_convert_path_fail": {
|
|
318
|
+
"en": "Could not convert path {{ path }}",
|
|
319
|
+
"zh": "无法转换路径 {{ path }}"
|
|
320
|
+
},
|
|
321
|
+
"index_error": {
|
|
322
|
+
"en": "Error in index operation: {{ error }}",
|
|
323
|
+
"zh": "索引操作出错:{{ error }}"
|
|
324
|
+
},
|
|
325
|
+
"voice_input_desc": {
|
|
326
|
+
"en": "Convert voice input to text",
|
|
327
|
+
"zh": "将语音输入转换为文本"
|
|
328
|
+
},
|
|
329
|
+
"mode_desc": {
|
|
330
|
+
"en": "Switch input mode",
|
|
331
|
+
"zh": "切换输入模式"
|
|
332
|
+
},
|
|
333
|
+
"conf_key": {
|
|
334
|
+
"en": "Key",
|
|
335
|
+
"zh": "键"
|
|
336
|
+
},
|
|
337
|
+
"conf_value": {
|
|
338
|
+
"en": "Value",
|
|
339
|
+
"zh": "值"
|
|
340
|
+
},
|
|
341
|
+
"conf_title": {
|
|
342
|
+
"en": "Configuration Settings",
|
|
343
|
+
"zh": "配置设置"
|
|
344
|
+
},
|
|
345
|
+
"conf_subtitle": {
|
|
346
|
+
"en": "Use /conf <key>:<value> to modify these settings",
|
|
347
|
+
"zh": "使用 /conf <key>:<value> 修改这些设置"
|
|
348
|
+
},
|
|
349
|
+
"lib_desc": {
|
|
350
|
+
"en": "Manage libraries",
|
|
351
|
+
"zh": "管理库"
|
|
352
|
+
},
|
|
353
|
+
"exit_desc": {
|
|
354
|
+
"en": "Exit the program",
|
|
355
|
+
"zh": "退出程序"
|
|
356
|
+
},
|
|
357
|
+
"design_desc": {
|
|
358
|
+
"en": "Generate SVG image based on the provided description",
|
|
359
|
+
"zh": "根据需求设计SVG图片"
|
|
360
|
+
},
|
|
361
|
+
"commit_desc": {
|
|
362
|
+
"en": "Auto generate yaml file and commit changes based on user's manual changes",
|
|
363
|
+
"zh": "根据用户人工修改的代码自动生成yaml文件并提交更改"
|
|
364
|
+
},
|
|
365
|
+
"models_desc": {
|
|
366
|
+
"en": "Manage model configurations, only available in lite mode",
|
|
367
|
+
"zh": "管理模型配置,仅在lite模式下可用"
|
|
368
|
+
},
|
|
369
|
+
"models_usage": {
|
|
370
|
+
"en": "Usage: /models <command>\nAvailable subcommands:\n /list - List all models\n /add <name> <api_key> - Add a built-in model\n /add_model - Add a custom model\n /remove <name> - Remove a model\n /input_price <name> <value> - Set model input price\n /output_price <name> <value> - Set model output price\n /speed <name> <value> - Set model speed\n /speed-test - Test models speed\n /speed-test-long - Test models speed with long context",
|
|
371
|
+
"zh": "用法: /models <命令>\n可用的子命令:\n /list - 列出所有模型\n /add <名称> <API密钥> - 添加内置模型\n /add_model - 添加自定义模型\n /remove <名称> - 移除模型\n /input_price <名称> <价格> - 设置模型输入价格\n /output_price <名称> <价格> - 设置模型输出价格\n /speed <名称> <速度> - 设置模型速度\n /speed-test - 测试模型速度\n /speed-test-long - 使用长文本上下文测试模型速度"
|
|
372
|
+
},
|
|
373
|
+
"models_added": {
|
|
374
|
+
"en": "Added/Updated model '{{name}}' successfully.",
|
|
375
|
+
"zh": "成功添加/更新模型 '{{name}}'。"
|
|
376
|
+
},
|
|
377
|
+
"models_add_failed": {
|
|
378
|
+
"en": "Failed to add model '{{name}}'. Model not found in defaults.",
|
|
379
|
+
"zh": "添加模型 '{{name}}' 失败。在默认模型中未找到该模型。"
|
|
380
|
+
},
|
|
381
|
+
"models_add_usage": {
|
|
382
|
+
"en": "Usage: /models /add <name> <api_key> or\n/models /add <name> <model_type> <model_name> <base_url> <api_key_path> [description]",
|
|
383
|
+
"zh": "用法: /models /add <name> <api_key> 或\n/models /add <name> <model_type> <model_name> <base_url> <api_key_path> [description]"
|
|
384
|
+
},
|
|
385
|
+
"models_add_model_params": {
|
|
386
|
+
"en": "Please provide parameters in key=value format",
|
|
387
|
+
"zh": "请提供 key=value 格式的参数"
|
|
388
|
+
},
|
|
389
|
+
"models_add_model_name_required": {
|
|
390
|
+
"en": "'name' parameter is required",
|
|
391
|
+
"zh": "缺少必需的 'name' 参数"
|
|
392
|
+
},
|
|
393
|
+
"models_add_model_exists": {
|
|
394
|
+
"en": "Model '{{name}}' already exists.",
|
|
395
|
+
"zh": "模型 '{{name}}' 已存在。"
|
|
396
|
+
},
|
|
397
|
+
"models_add_model_success": {
|
|
398
|
+
"en": "Successfully added custom model: {{name}}",
|
|
399
|
+
"zh": "成功添加自定义模型: {{name}}"
|
|
400
|
+
},
|
|
401
|
+
"models_add_model_remove": {
|
|
402
|
+
"en": "Model '{{name}}' not found.",
|
|
403
|
+
"zh": "找不到模型 '{{name}}'。"
|
|
404
|
+
},
|
|
405
|
+
"models_add_model_removed": {
|
|
406
|
+
"en": "Removed model: {{name}}",
|
|
407
|
+
"zh": "已移除模型: {{name}}"
|
|
408
|
+
},
|
|
409
|
+
"models_unknown_subcmd": {
|
|
410
|
+
"en": "Unknown subcommand: {{subcmd}}",
|
|
411
|
+
"zh": "未知的子命令: {{subcmd}}"
|
|
412
|
+
},
|
|
413
|
+
"models_input_price_updated": {
|
|
414
|
+
"en": "Updated input price for model {{name}} to {{price}} M/token",
|
|
415
|
+
"zh": "已更新模型 {{name}} 的输入价格为 {{price}} M/token"
|
|
416
|
+
},
|
|
417
|
+
"models_output_price_updated": {
|
|
418
|
+
"en": "Updated output price for model {{name}} to {{price}} M/token",
|
|
419
|
+
"zh": "已更新模型 {{name}} 的输出价格为 {{price}} M/token"
|
|
420
|
+
},
|
|
421
|
+
"models_invalid_price": {
|
|
422
|
+
"en": "Invalid price value: {{error}}",
|
|
423
|
+
"zh": "无效的价格值: {{error}}"
|
|
424
|
+
},
|
|
425
|
+
"models_input_price_usage": {
|
|
426
|
+
"en": "Usage: /models /input_price <name> <value>",
|
|
427
|
+
"zh": "用法: /models /input_price <name> <value>"
|
|
428
|
+
},
|
|
429
|
+
"models_output_price_usage": {
|
|
430
|
+
"en": "Usage: /models /output_price <name> <value>",
|
|
431
|
+
"zh": "用法: /models /output_price <name> <value>"
|
|
432
|
+
},
|
|
433
|
+
"models_speed_updated": {
|
|
434
|
+
"en": "Updated speed for model {{name}} to {{speed}} s/request",
|
|
435
|
+
"zh": "已更新模型 {{name}} 的速度为 {{speed}} 秒/请求"
|
|
436
|
+
},
|
|
437
|
+
"models_invalid_speed": {
|
|
438
|
+
"en": "Invalid speed value: {{error}}",
|
|
439
|
+
"zh": "无效的速度值: {{error}}"
|
|
440
|
+
},
|
|
441
|
+
"models_speed_usage": {
|
|
442
|
+
"en": "Usage: /models /speed <name> <value>",
|
|
443
|
+
"zh": "用法: /models /speed <name> <value>"
|
|
444
|
+
},
|
|
445
|
+
"models_title": {
|
|
446
|
+
"en": "All Models (内置 + models.json)",
|
|
447
|
+
"zh": "所有模型 (内置 + models.json)"
|
|
448
|
+
},
|
|
449
|
+
"models_no_models": {
|
|
450
|
+
"en": "No models found.",
|
|
451
|
+
"zh": "未找到任何模型。"
|
|
452
|
+
},
|
|
453
|
+
"models_lite_only": {
|
|
454
|
+
"en": "The /models command is only available in lite mode",
|
|
455
|
+
"zh": "/models 命令仅在 lite 模式下可用"
|
|
456
|
+
},
|
|
457
|
+
"models_api_key_exists": {
|
|
458
|
+
"en": "API key file exists: {{path}}",
|
|
459
|
+
"zh": "API密钥文件存在: {{path}}"
|
|
460
|
+
},
|
|
461
|
+
"config_invalid_format": {
|
|
462
|
+
"en": "Error: Invalid configuration format. Use 'key:value' or '/drop key'.",
|
|
463
|
+
"zh": "错误:配置格式无效。请使用 'key:value' 或 '/drop key'。"
|
|
464
|
+
},
|
|
465
|
+
"config_value_empty": {
|
|
466
|
+
"en": "Error: Value cannot be empty. Use 'key:value'.",
|
|
467
|
+
"zh": "错误:值不能为空。请使用 'key:value'。"
|
|
468
|
+
},
|
|
469
|
+
"config_set_success": {
|
|
470
|
+
"en": "Set {{key}} to {{value}}",
|
|
471
|
+
"zh": "已设置 {{key}} 为 {{value}}"
|
|
472
|
+
},
|
|
473
|
+
"config_delete_success": {
|
|
474
|
+
"en": "Deleted configuration: {{key}}",
|
|
475
|
+
"zh": "已删除配置:{{key}}"
|
|
476
|
+
},
|
|
477
|
+
"config_not_found": {
|
|
478
|
+
"en": "Configuration not found: {{key}}",
|
|
479
|
+
"zh": "未找到配置:{{key}}"
|
|
480
|
+
},
|
|
481
|
+
"add_files_matched": {
|
|
482
|
+
"en": "All specified files are already in the current session or no matches found.",
|
|
483
|
+
"zh": "所有指定的文件都已在当前会话中或未找到匹配项。"
|
|
484
|
+
},
|
|
485
|
+
"add_files_added_files": {
|
|
486
|
+
"en": "Added Files",
|
|
487
|
+
"zh": "已添加的文件"
|
|
488
|
+
},
|
|
489
|
+
"add_files_no_args": {
|
|
490
|
+
"en": "Please provide arguments for the /add_files command.",
|
|
491
|
+
"zh": "请为 /add_files 命令提供参数。"
|
|
492
|
+
},
|
|
493
|
+
"remove_files_all": {
|
|
494
|
+
"en": "Removed all files.",
|
|
495
|
+
"zh": "已移除所有文件。"
|
|
496
|
+
},
|
|
497
|
+
"remove_files_removed": {
|
|
498
|
+
"en": "Removed Files",
|
|
499
|
+
"zh": "已移除的文件"
|
|
500
|
+
},
|
|
501
|
+
"remove_files_none": {
|
|
502
|
+
"en": "No files were removed.",
|
|
503
|
+
"zh": "没有文件被移除。"
|
|
504
|
+
},
|
|
505
|
+
"files_removed": {
|
|
506
|
+
"en": "Files Removed",
|
|
507
|
+
"zh": "移除的文件"
|
|
508
|
+
},
|
|
509
|
+
"models_api_key_empty": {
|
|
510
|
+
"en": "Warning : {{name}} API key is empty. Please set a valid API key.",
|
|
511
|
+
"zh": "警告: {{name}} API key 为空。请设置一个有效的 API key。"
|
|
512
|
+
},
|
|
513
|
+
"commit_generating": {
|
|
514
|
+
"en": "{{ model_name }} Generating commit message...",
|
|
515
|
+
"zh": "{{ model_name }} 正在生成提交信息..."
|
|
516
|
+
},
|
|
517
|
+
"auto_command_reasoning_title": {
|
|
518
|
+
"en": "Reply",
|
|
519
|
+
"zh": "回复"
|
|
520
|
+
},
|
|
521
|
+
"commit_message": {
|
|
522
|
+
"en": "{{ model_name }} Generated commit message: {{ message }}",
|
|
523
|
+
"zh": "{{ model_name }} 生成的提交信息: {{ message }}"
|
|
524
|
+
},
|
|
525
|
+
"commit_failed": {
|
|
526
|
+
"en": "{{ model_name }} Failed to generate commit message: {{ error }}",
|
|
527
|
+
"zh": "{{ model_name }} 生成提交信息失败: {{ error }}"
|
|
528
|
+
},
|
|
529
|
+
"confirm_execute": {
|
|
530
|
+
"en": "Do you want to execute this script?",
|
|
531
|
+
"zh": "是否执行此脚本?"
|
|
532
|
+
},
|
|
533
|
+
"official_doc": {
|
|
534
|
+
"en": "Official Documentation: https://uelng8wukz.feishu.cn/wiki/NhPNwSRcWimKFIkQINIckloBncI",
|
|
535
|
+
"zh": "官方文档: https://uelng8wukz.feishu.cn/wiki/NhPNwSRcWimKFIkQINIckloBncI"
|
|
536
|
+
},
|
|
537
|
+
"plugins_desc": {
|
|
538
|
+
"en": "Manage plugins",
|
|
539
|
+
"zh": "管理插件"
|
|
540
|
+
},
|
|
541
|
+
"plugins_usage": {
|
|
542
|
+
"en": "Usage: /plugins <command>\nAvailable subcommands:\n /plugins /list - List all available plugins\n /plugins /load <name> - Load a plugin\n /plugins /unload <name> - Unload a plugin\n /plugins/dirs - List plugin directories\n /plugins/dirs /add <path> - Add a plugin directory\n /plugins/dirs /remove <path> - Remove a plugin directory\n /plugins/dirs /clear - Clear all plugin directories",
|
|
543
|
+
"zh": "用法: /plugins <命令>\n可用的子命令:\n /plugins /list - 列出所有可用插件\n /plugins /load <名称> - 加载一个插件\n /plugins /unload <名称> - 卸载一个插件\n /plugins/dirs - 列出插件目录\n /plugins/dirs /add <路径> - 添加一个插件目录\n /plugins/dirs /remove <路径> - 移除一个插件目录\n /plugins/dirs /clear - 清除所有插件目录"
|
|
544
|
+
},
|
|
545
|
+
"mcp_server_info_error": {
|
|
546
|
+
"en": "Error getting MCP server info: {{ error }}",
|
|
547
|
+
"zh": "获取MCP服务器信息时出错: {{ error }}"
|
|
548
|
+
},
|
|
549
|
+
"mcp_server_info_title": {
|
|
550
|
+
"en": "Connected MCP Server Info",
|
|
551
|
+
"zh": "已连接的MCP服务器信息"
|
|
552
|
+
},
|
|
553
|
+
"active_context_desc": {
|
|
554
|
+
"en": "Manage active context tasks, list all tasks and their status",
|
|
555
|
+
"zh": "管理活动上下文任务,列出所有任务及其状态"
|
|
556
|
+
}
|
|
283
557
|
}
|
|
284
558
|
|
|
285
559
|
|
|
@@ -292,7 +566,7 @@ def get_system_language():
|
|
|
292
566
|
|
|
293
567
|
def get_message(key):
|
|
294
568
|
lang = get_system_language()
|
|
295
|
-
return MESSAGES.get(
|
|
569
|
+
return MESSAGES.get(key, {}).get(lang, MESSAGES[key].get("en", ""))
|
|
296
570
|
|
|
297
571
|
|
|
298
572
|
def get_message_with_format(msg_key: str, **kwargs):
|