@vibeapi/api-helper 0.0.17 → 0.0.22
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/LICENSE +25 -25
- package/README.md +301 -0
- package/dist/__tests__/api-validator.test.js +1 -1
- package/dist/__tests__/api-validator.test.js.map +1 -1
- package/dist/__tests__/claude-code-manager.test.d.ts +1 -0
- package/dist/__tests__/claude-code-manager.test.js +1 -0
- package/dist/__tests__/claude-code-manager.test.js.map +1 -0
- package/dist/__tests__/command.test.d.ts +1 -0
- package/dist/__tests__/command.test.js +1 -0
- package/dist/__tests__/command.test.js.map +1 -0
- package/dist/__tests__/commands.test.d.ts +1 -0
- package/dist/__tests__/commands.test.js +1 -0
- package/dist/__tests__/commands.test.js.map +1 -0
- package/dist/__tests__/config-profiles.test.d.ts +1 -0
- package/dist/__tests__/config-profiles.test.js +1 -0
- package/dist/__tests__/config-profiles.test.js.map +1 -0
- package/dist/__tests__/config.test.js.map +1 -1
- package/dist/__tests__/extra-commands.test.d.ts +1 -0
- package/dist/__tests__/extra-commands.test.js +1 -0
- package/dist/__tests__/extra-commands.test.js.map +1 -0
- package/dist/__tests__/i18n.test.d.ts +1 -0
- package/dist/__tests__/i18n.test.js +1 -0
- package/dist/__tests__/i18n.test.js.map +1 -0
- package/dist/__tests__/logger.test.d.ts +1 -0
- package/dist/__tests__/logger.test.js +1 -0
- package/dist/__tests__/logger.test.js.map +1 -0
- package/dist/__tests__/opencode-manager.test.d.ts +1 -0
- package/dist/__tests__/opencode-manager.test.js +1 -0
- package/dist/__tests__/opencode-manager.test.js.map +1 -0
- package/dist/__tests__/runtime-options.test.d.ts +1 -0
- package/dist/__tests__/runtime-options.test.js +1 -0
- package/dist/__tests__/runtime-options.test.js.map +1 -0
- package/dist/__tests__/secret-store.test.d.ts +1 -0
- package/dist/__tests__/secret-store.test.js +1 -0
- package/dist/__tests__/secret-store.test.js.map +1 -0
- package/dist/__tests__/settings-template.test.d.ts +1 -0
- package/dist/__tests__/settings-template.test.js +1 -0
- package/dist/__tests__/settings-template.test.js.map +1 -0
- package/dist/__tests__/string-width.test.d.ts +1 -0
- package/dist/__tests__/string-width.test.js +1 -0
- package/dist/__tests__/string-width.test.js.map +1 -0
- package/dist/__tests__/tool-adapters.test.d.ts +1 -0
- package/dist/__tests__/tool-adapters.test.js +1 -0
- package/dist/__tests__/tool-adapters.test.js.map +1 -0
- package/dist/__tests__/tool-manager.test.d.ts +1 -0
- package/dist/__tests__/tool-manager.test.js +1 -0
- package/dist/__tests__/tool-manager.test.js.map +1 -0
- package/dist/__tests__/wizard.test.d.ts +1 -0
- package/dist/__tests__/wizard.test.js +1 -0
- package/dist/__tests__/wizard.test.js.map +1 -0
- package/dist/commands/auth.js +1 -1
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/bench.d.ts +6 -0
- package/dist/commands/bench.js +1 -0
- package/dist/commands/bench.js.map +1 -0
- package/dist/commands/completion.d.ts +1 -0
- package/dist/commands/completion.js +1 -0
- package/dist/commands/completion.js.map +1 -0
- package/dist/commands/config.js +1 -1
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/doctor.js +1 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/index.d.ts +4 -0
- package/dist/commands/index.js +1 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/lang.js +1 -1
- package/dist/commands/lang.js.map +1 -1
- package/dist/commands/logs.d.ts +1 -0
- package/dist/commands/logs.js +1 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/status.js +1 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/update.d.ts +7 -0
- package/dist/commands/update.js +1 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/lib/api-validator.d.ts +15 -5
- package/dist/lib/api-validator.js +1 -1
- package/dist/lib/api-validator.js.map +1 -1
- package/dist/lib/brand.d.ts +13 -0
- package/dist/lib/brand.js +1 -0
- package/dist/lib/brand.js.map +1 -0
- package/dist/lib/claude-code-manager.js +1 -1
- package/dist/lib/claude-code-manager.js.map +1 -1
- package/dist/lib/command.d.ts +1 -0
- package/dist/lib/command.js +1 -1
- package/dist/lib/command.js.map +1 -1
- package/dist/lib/config.d.ts +69 -26
- package/dist/lib/config.js +1 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/confirm.d.ts +12 -0
- package/dist/lib/confirm.js +1 -0
- package/dist/lib/confirm.js.map +1 -0
- package/dist/lib/i18n.d.ts +1 -1
- package/dist/lib/i18n.js +1 -1
- package/dist/lib/i18n.js.map +1 -1
- package/dist/lib/model-registry.d.ts +6 -0
- package/dist/lib/model-registry.js +1 -1
- package/dist/lib/model-registry.js.map +1 -1
- package/dist/lib/opencode-manager.js +1 -1
- package/dist/lib/opencode-manager.js.map +1 -1
- package/dist/lib/runtime-options.d.ts +17 -0
- package/dist/lib/runtime-options.js +1 -0
- package/dist/lib/runtime-options.js.map +1 -0
- package/dist/lib/secret-store.d.ts +29 -0
- package/dist/lib/secret-store.js +1 -0
- package/dist/lib/secret-store.js.map +1 -0
- package/dist/lib/tool-manager.d.ts +10 -3
- package/dist/lib/tool-manager.js +1 -1
- package/dist/lib/tool-manager.js.map +1 -1
- package/dist/lib/tools/atomcode.d.ts +2 -0
- package/dist/lib/tools/atomcode.js +1 -0
- package/dist/lib/tools/atomcode.js.map +1 -0
- package/dist/lib/tools/backup.d.ts +12 -0
- package/dist/lib/tools/backup.js +1 -0
- package/dist/lib/tools/backup.js.map +1 -0
- package/dist/lib/tools/claude-code.d.ts +3 -0
- package/dist/lib/tools/claude-code.js +1 -0
- package/dist/lib/tools/claude-code.js.map +1 -0
- package/dist/lib/tools/codex.d.ts +2 -0
- package/dist/lib/tools/codex.js +1 -0
- package/dist/lib/tools/codex.js.map +1 -0
- package/dist/lib/tools/hermes.d.ts +2 -0
- package/dist/lib/tools/hermes.js +1 -0
- package/dist/lib/tools/hermes.js.map +1 -0
- package/dist/lib/tools/openclaw.d.ts +2 -0
- package/dist/lib/tools/openclaw.js +1 -0
- package/dist/lib/tools/openclaw.js.map +1 -0
- package/dist/lib/tools/opencode.d.ts +3 -0
- package/dist/lib/tools/opencode.js +1 -0
- package/dist/lib/tools/opencode.js.map +1 -0
- package/dist/lib/tools/registry.d.ts +4 -0
- package/dist/lib/tools/registry.js +1 -0
- package/dist/lib/tools/registry.js.map +1 -0
- package/dist/lib/tools/types.d.ts +69 -0
- package/dist/lib/tools/types.js +1 -0
- package/dist/lib/tools/types.js.map +1 -0
- package/dist/lib/wizard.js +1 -1
- package/dist/lib/wizard.js.map +1 -1
- package/dist/locales/en_US.json +282 -200
- package/dist/locales/zh_CN.json +281 -199
- package/dist/models.json +1 -0
- package/dist/settings-template.json +2 -1
- package/dist/utils/logger.d.ts +9 -0
- package/dist/utils/logger.js +1 -1
- package/dist/utils/logger.js.map +1 -1
- package/models.json +1 -0
- package/package.json +5 -2
- package/settings-template.json +2 -1
package/dist/locales/zh_CN.json
CHANGED
|
@@ -1,199 +1,281 @@
|
|
|
1
|
-
{
|
|
2
|
-
"cli": {
|
|
3
|
-
"title": "Coding Tool Helper (chelper)",
|
|
4
|
-
"usage": "用法: chelper <命令> [选项]",
|
|
5
|
-
"commands": "命令:",
|
|
6
|
-
"examples": "示例:",
|
|
7
|
-
"error_unknown": "未知命令: {{command}}",
|
|
8
|
-
"error_general": "错误:"
|
|
9
|
-
},
|
|
10
|
-
"commands": {
|
|
11
|
-
"help": "显示帮助信息",
|
|
12
|
-
"version": "显示版本信息",
|
|
13
|
-
"init": "运行交互式初始化向导",
|
|
14
|
-
"lang": "语言管理",
|
|
15
|
-
"auth": "密钥管理",
|
|
16
|
-
"doctor": "健康检查",
|
|
17
|
-
"enter": "配置管理",
|
|
18
|
-
"tool": "工具管理",
|
|
19
|
-
"status": "显示当前配置状态"
|
|
20
|
-
},
|
|
21
|
-
"lang": {
|
|
22
|
-
"current": "当前语言",
|
|
23
|
-
"show_usage": "chelper lang show - 显示当前语言",
|
|
24
|
-
"set_usage": "chelper lang set <zh_CN|en_US> - 设置语言",
|
|
25
|
-
"changed": "语言已从 {{from}} 更改为 {{to}}",
|
|
26
|
-
"invalid": "不支持的语言: {{lang}}",
|
|
27
|
-
"available": "可用语言"
|
|
28
|
-
},
|
|
29
|
-
"auth": {
|
|
30
|
-
"set_usage": "chelper auth <token> - 设置API密钥",
|
|
31
|
-
"token_prompt": "请输入API密钥",
|
|
32
|
-
"token_required": "API密钥不能为空",
|
|
33
|
-
"saved": "API密钥已保存",
|
|
34
|
-
"revoke_confirm": "确认要删除已保存的API密钥吗?",
|
|
35
|
-
"revoked": "API密钥已删除",
|
|
36
|
-
"not_revoked": "取消删除操作",
|
|
37
|
-
"get_api_key_hint": "如需获取 API Key,请访问: {{url}}"
|
|
38
|
-
},
|
|
39
|
-
"wizard": {
|
|
40
|
-
"banner_subtitle": "统一管理您的 Claude Code 等编码工具",
|
|
41
|
-
"welcome": "欢迎使用编码工具助手!",
|
|
42
|
-
"privacy_note": "我们重视您的隐私,所有配置信息仅保存在本地.",
|
|
43
|
-
"select_language": "请选择界面语言",
|
|
44
|
-
"input_api_key": "输入 API Key",
|
|
45
|
-
"api_key_input_hint": "请输入您的 API Key(输入时会隐藏显示)",
|
|
46
|
-
"input_your_api_key": "请在这里输入您的 API key, 回车键确认:",
|
|
47
|
-
"update_api_key": "更新 API Key",
|
|
48
|
-
"api_key_required": "API密钥不能为空",
|
|
49
|
-
"select_tool": "请选择要配置的编码工具",
|
|
50
|
-
"tool_not_installed": "{{tool}} 尚未安装",
|
|
51
|
-
"install_tool_confirm": "是否现在安装?",
|
|
52
|
-
"installing_tool": "正在安装工具...",
|
|
53
|
-
"tool_installed": "工具安装成功",
|
|
54
|
-
"install_failed": "安装失败",
|
|
55
|
-
"install_skipped": "已跳过安装,您可以稍后手动安装",
|
|
56
|
-
"menu_title": "管理菜单",
|
|
57
|
-
"select_action": "请选择操作",
|
|
58
|
-
"retry_input": "重新输入",
|
|
59
|
-
"action_load_config": "配置装载 - (将您配置的 API 应用到 {{tool}})",
|
|
60
|
-
"action_unload_config": "配置卸载 - (移除 {{tool}} 的 API 配置)",
|
|
61
|
-
"action_view_config": "当前配置",
|
|
62
|
-
"action_back": "返回",
|
|
63
|
-
"action_exit": "退出",
|
|
64
|
-
"goodbye": "再见!",
|
|
65
|
-
"loading_config": "正在装载配置...",
|
|
66
|
-
"config_loaded": "配置已成功装载,您现在可以使用 {{tool}} 进行编码了。",
|
|
67
|
-
"config_failed": "配置装载失败",
|
|
68
|
-
"confirm_unload_config": "确认要从 {{tool}} 中卸载配置吗?",
|
|
69
|
-
"unloading_config": "正在卸载配置...",
|
|
70
|
-
"config_unloaded": "配置已成功卸载",
|
|
71
|
-
"config_unload_failed": "配置卸载失败",
|
|
72
|
-
"tool_not_supported": "该工具不支持此操作",
|
|
73
|
-
"missing_config": "缺少必要配置(API密钥)",
|
|
74
|
-
"current_config": "当前配置",
|
|
75
|
-
"config_language": "界面语言",
|
|
76
|
-
"config_api_key": "API Key",
|
|
77
|
-
"config_models": "模型配置",
|
|
78
|
-
"config_title": "配置",
|
|
79
|
-
"not_set": "未设置",
|
|
80
|
-
"press_enter": "按回车继续",
|
|
81
|
-
"main_menu_title": "主菜单",
|
|
82
|
-
"current_config_status": "当前配置状态:",
|
|
83
|
-
"api_key_set": "已设置",
|
|
84
|
-
"api_key_get_hint": "如需获取 API Key,请访问: {{url}}",
|
|
85
|
-
"menu_config_language": "界面语言配置",
|
|
86
|
-
"menu_change_api_key": "更换 API Key",
|
|
87
|
-
"menu_load_to_tool": "加载配置到工具",
|
|
88
|
-
"current_model": "当前模型",
|
|
89
|
-
"settings": "设置",
|
|
90
|
-
"menu_config_api_key": "API Key 配置",
|
|
91
|
-
"menu_config_models": "模型配置 (配置 Haiku/Sonnet/Opus/Reasoning 模型)",
|
|
92
|
-
"menu_config_tool": "编码工具配置 (将 API 应用到 Claude Code/OpenCode)",
|
|
93
|
-
"menu_exit": "退出",
|
|
94
|
-
"select_operation": "请选择操作:",
|
|
95
|
-
"goodbye_message": "再见! 终端输入 claude,或者 VSCode 里面安装 Claude 插件,即可顺畅使用 Claude Code 编码了!",
|
|
96
|
-
"nav_return": "返回",
|
|
97
|
-
"nav_exit": "退出",
|
|
98
|
-
"current_active": "当前",
|
|
99
|
-
"operation_hint": "操作提示",
|
|
100
|
-
"hint_navigate": "↑↓ 选择",
|
|
101
|
-
"hint_confirm": "Enter 确认",
|
|
102
|
-
"detected_config_title": "Claude Code 当前配置",
|
|
103
|
-
"chelper_config_title": "Chelper 配置",
|
|
104
|
-
"claude_code_config_title": "Claude Code 当前全局配置",
|
|
105
|
-
"config_synced": "配置已同步",
|
|
106
|
-
"config_out_of_sync": "配置不一致,建议刷新",
|
|
107
|
-
"config_not_loaded": "{{tool}} 尚未装载配置",
|
|
108
|
-
"action_refresh_config": "配置刷新 - (更新 {{tool}} 的配置)",
|
|
109
|
-
"global_config_warning": "⚠️ 注意:您正在修改 {{tool}} 全局配置,更改将影响所有工作区",
|
|
110
|
-
"global_label": "全局",
|
|
111
|
-
"set_success": "设置成功",
|
|
112
|
-
"start_tool": "启动 {{tool}} - (建议在您的工作空间新开终端,执行 {{shell}} 启动)",
|
|
113
|
-
"starting_tool": "启动中...",
|
|
114
|
-
"validating_api_key": "正在验证 API Key...",
|
|
115
|
-
"api_key_valid": "API Key 验证通过",
|
|
116
|
-
"api_key_success_hint": "正在进入主菜单...",
|
|
117
|
-
"api_key_invalid": "API Key 无效或已过期",
|
|
118
|
-
"api_key_network_error": "网络错误,请检查网络连接",
|
|
119
|
-
"please_config_api_key_first": "请先配置有效的 API Key",
|
|
120
|
-
"please_reconfig_api_key": "请重新配置 API Key",
|
|
121
|
-
"select_model_config": "请选择模型",
|
|
122
|
-
"recommended": "推荐",
|
|
123
|
-
"other_models": "其他模型",
|
|
124
|
-
"custom_model_input": "自定义输入模型名",
|
|
125
|
-
"input_custom_model": "请输入自定义模型名称",
|
|
126
|
-
"input_single_model": "请输入要使用的模型名称(将应用到所有模型)",
|
|
127
|
-
"model_haiku": "Haiku 模型 (快速)",
|
|
128
|
-
"model_sonnet": "Sonnet 模型 (平衡)",
|
|
129
|
-
"model_opus": "Opus 模型 (强大)",
|
|
130
|
-
"model_reasoning": "Reasoning 模型 (推理)",
|
|
131
|
-
"input_model_name": "请输入模型名称",
|
|
132
|
-
"models_saved": "模型配置已保存",
|
|
133
|
-
"load_config_now": "是否立即装载配置到编码工具?",
|
|
134
|
-
"load_config_yes": "是,立即装载",
|
|
135
|
-
"load_config_later": "稍后手动装载",
|
|
136
|
-
"what_next": "接下来您想做什么?",
|
|
137
|
-
"continue_config": "继续配置其他选项",
|
|
138
|
-
"exit_and_start": "退出并开始使用",
|
|
139
|
-
"menu_experimental_features": "实验性功能",
|
|
140
|
-
"experimental_features_title": "实验性功能",
|
|
141
|
-
"select_experimental_feature": "选择要配置的实验性功能",
|
|
142
|
-
"enabled": "已启用",
|
|
143
|
-
"disabled": "已禁用",
|
|
144
|
-
"enable": "启用",
|
|
145
|
-
"disable": "禁用",
|
|
146
|
-
"agent_teams_current_status": "Agent Teams 当前状态",
|
|
147
|
-
"agent_teams_enabled": "Agent Teams 已启用",
|
|
148
|
-
"agent_teams_disabled": "Agent Teams 已禁用",
|
|
149
|
-
"updating_settings": "正在更新设置...",
|
|
150
|
-
"update_failed": "更新失败",
|
|
151
|
-
"custom_model_mode": "选择自定义模型模式",
|
|
152
|
-
"custom_model_single": "所有角色使用同一模型",
|
|
153
|
-
"custom_model_per_role": "分别配置每个角色"
|
|
154
|
-
},
|
|
155
|
-
"doctor": {
|
|
156
|
-
"checking": "正在进行健康检查...",
|
|
157
|
-
"check_path": "检查PATH环境变量",
|
|
158
|
-
"check_api_key_network": "检查 API Key 和网络连接",
|
|
159
|
-
"check_api_key": "检查API密钥",
|
|
160
|
-
"check_tools": "检查已安装的工具",
|
|
161
|
-
"all_good": "所有检查通过!",
|
|
162
|
-
"tool_installed": "已安装",
|
|
163
|
-
"tool_not_found": "工具未找到: {{tool}}",
|
|
164
|
-
"network_error": "网络连接失败",
|
|
165
|
-
"api_key_invalid": "API Key 无效或已过期",
|
|
166
|
-
"api_key_network_ok": "API Key 和网络验证通过",
|
|
167
|
-
"api_key_missing": "API密钥未配置",
|
|
168
|
-
"claude_code_installed": "Claude Code 已安装",
|
|
169
|
-
"claude_code_not_installed": "Claude Code 未安装。请从 https://claude.ai/download 下载安装",
|
|
170
|
-
"suggestions": "建议",
|
|
171
|
-
"check_git_env": "检查 Git 环境",
|
|
172
|
-
"git_not_installed": "Git 未安装。请从 https://git-scm.com/downloads 下载安装"
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
"
|
|
176
|
-
"
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
"
|
|
180
|
-
"
|
|
181
|
-
"
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
"
|
|
185
|
-
"
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
"
|
|
189
|
-
"
|
|
190
|
-
"
|
|
191
|
-
"
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
"
|
|
195
|
-
"
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
1
|
+
{
|
|
2
|
+
"cli": {
|
|
3
|
+
"title": "Coding Tool Helper (chelper)",
|
|
4
|
+
"usage": "用法: chelper <命令> [选项]",
|
|
5
|
+
"commands": "命令:",
|
|
6
|
+
"examples": "示例:",
|
|
7
|
+
"error_unknown": "未知命令: {{command}}",
|
|
8
|
+
"error_general": "错误:"
|
|
9
|
+
},
|
|
10
|
+
"commands": {
|
|
11
|
+
"help": "显示帮助信息",
|
|
12
|
+
"version": "显示版本信息",
|
|
13
|
+
"init": "运行交互式初始化向导",
|
|
14
|
+
"lang": "语言管理",
|
|
15
|
+
"auth": "密钥管理",
|
|
16
|
+
"doctor": "健康检查",
|
|
17
|
+
"enter": "配置管理",
|
|
18
|
+
"tool": "工具管理",
|
|
19
|
+
"status": "显示当前配置状态"
|
|
20
|
+
},
|
|
21
|
+
"lang": {
|
|
22
|
+
"current": "当前语言",
|
|
23
|
+
"show_usage": "chelper lang show - 显示当前语言",
|
|
24
|
+
"set_usage": "chelper lang set <zh_CN|en_US> - 设置语言",
|
|
25
|
+
"changed": "语言已从 {{from}} 更改为 {{to}}",
|
|
26
|
+
"invalid": "不支持的语言: {{lang}}",
|
|
27
|
+
"available": "可用语言"
|
|
28
|
+
},
|
|
29
|
+
"auth": {
|
|
30
|
+
"set_usage": "chelper auth <token> - 设置API密钥",
|
|
31
|
+
"token_prompt": "请输入API密钥",
|
|
32
|
+
"token_required": "API密钥不能为空",
|
|
33
|
+
"saved": "API密钥已保存",
|
|
34
|
+
"revoke_confirm": "确认要删除已保存的API密钥吗?",
|
|
35
|
+
"revoked": "API密钥已删除",
|
|
36
|
+
"not_revoked": "取消删除操作",
|
|
37
|
+
"get_api_key_hint": "如需获取 API Key,请访问: {{url}}"
|
|
38
|
+
},
|
|
39
|
+
"wizard": {
|
|
40
|
+
"banner_subtitle": "统一管理您的 Claude Code 等编码工具",
|
|
41
|
+
"welcome": "欢迎使用编码工具助手!",
|
|
42
|
+
"privacy_note": "我们重视您的隐私,所有配置信息仅保存在本地.",
|
|
43
|
+
"select_language": "请选择界面语言",
|
|
44
|
+
"input_api_key": "输入 API Key",
|
|
45
|
+
"api_key_input_hint": "请输入您的 API Key(输入时会隐藏显示)",
|
|
46
|
+
"input_your_api_key": "请在这里输入您的 API key, 回车键确认:",
|
|
47
|
+
"update_api_key": "更新 API Key",
|
|
48
|
+
"api_key_required": "API密钥不能为空",
|
|
49
|
+
"select_tool": "请选择要配置的编码工具",
|
|
50
|
+
"tool_not_installed": "{{tool}} 尚未安装",
|
|
51
|
+
"install_tool_confirm": "是否现在安装?",
|
|
52
|
+
"installing_tool": "正在安装工具...",
|
|
53
|
+
"tool_installed": "工具安装成功",
|
|
54
|
+
"install_failed": "安装失败",
|
|
55
|
+
"install_skipped": "已跳过安装,您可以稍后手动安装",
|
|
56
|
+
"menu_title": "管理菜单",
|
|
57
|
+
"select_action": "请选择操作",
|
|
58
|
+
"retry_input": "重新输入",
|
|
59
|
+
"action_load_config": "配置装载 - (将您配置的 API 应用到 {{tool}})",
|
|
60
|
+
"action_unload_config": "配置卸载 - (移除 {{tool}} 的 API 配置)",
|
|
61
|
+
"action_view_config": "当前配置",
|
|
62
|
+
"action_back": "返回",
|
|
63
|
+
"action_exit": "退出",
|
|
64
|
+
"goodbye": "再见!",
|
|
65
|
+
"loading_config": "正在装载配置...",
|
|
66
|
+
"config_loaded": "配置已成功装载,您现在可以使用 {{tool}} 进行编码了。",
|
|
67
|
+
"config_failed": "配置装载失败",
|
|
68
|
+
"confirm_unload_config": "确认要从 {{tool}} 中卸载配置吗?",
|
|
69
|
+
"unloading_config": "正在卸载配置...",
|
|
70
|
+
"config_unloaded": "配置已成功卸载",
|
|
71
|
+
"config_unload_failed": "配置卸载失败",
|
|
72
|
+
"tool_not_supported": "该工具不支持此操作",
|
|
73
|
+
"missing_config": "缺少必要配置(API密钥)",
|
|
74
|
+
"current_config": "当前配置",
|
|
75
|
+
"config_language": "界面语言",
|
|
76
|
+
"config_api_key": "API Key",
|
|
77
|
+
"config_models": "模型配置",
|
|
78
|
+
"config_title": "配置",
|
|
79
|
+
"not_set": "未设置",
|
|
80
|
+
"press_enter": "按回车继续",
|
|
81
|
+
"main_menu_title": "主菜单",
|
|
82
|
+
"current_config_status": "当前配置状态:",
|
|
83
|
+
"api_key_set": "已设置",
|
|
84
|
+
"api_key_get_hint": "如需获取 API Key,请访问: {{url}}",
|
|
85
|
+
"menu_config_language": "界面语言配置",
|
|
86
|
+
"menu_change_api_key": "更换 API Key",
|
|
87
|
+
"menu_load_to_tool": "加载配置到工具",
|
|
88
|
+
"current_model": "当前模型",
|
|
89
|
+
"settings": "设置",
|
|
90
|
+
"menu_config_api_key": "API Key 配置",
|
|
91
|
+
"menu_config_models": "模型配置 (配置 Haiku/Sonnet/Opus/Reasoning 模型)",
|
|
92
|
+
"menu_config_tool": "编码工具配置 (将 API 应用到 Claude Code/OpenCode)",
|
|
93
|
+
"menu_exit": "退出",
|
|
94
|
+
"select_operation": "请选择操作:",
|
|
95
|
+
"goodbye_message": "再见! 终端输入 claude,或者 VSCode 里面安装 Claude 插件,即可顺畅使用 Claude Code 编码了!",
|
|
96
|
+
"nav_return": "返回",
|
|
97
|
+
"nav_exit": "退出",
|
|
98
|
+
"current_active": "当前",
|
|
99
|
+
"operation_hint": "操作提示",
|
|
100
|
+
"hint_navigate": "↑↓ 选择",
|
|
101
|
+
"hint_confirm": "Enter 确认",
|
|
102
|
+
"detected_config_title": "Claude Code 当前配置",
|
|
103
|
+
"chelper_config_title": "Chelper 配置",
|
|
104
|
+
"claude_code_config_title": "Claude Code 当前全局配置",
|
|
105
|
+
"config_synced": "配置已同步",
|
|
106
|
+
"config_out_of_sync": "配置不一致,建议刷新",
|
|
107
|
+
"config_not_loaded": "{{tool}} 尚未装载配置",
|
|
108
|
+
"action_refresh_config": "配置刷新 - (更新 {{tool}} 的配置)",
|
|
109
|
+
"global_config_warning": "⚠️ 注意:您正在修改 {{tool}} 全局配置,更改将影响所有工作区",
|
|
110
|
+
"global_label": "全局",
|
|
111
|
+
"set_success": "设置成功",
|
|
112
|
+
"start_tool": "启动 {{tool}} - (建议在您的工作空间新开终端,执行 {{shell}} 启动)",
|
|
113
|
+
"starting_tool": "启动中...",
|
|
114
|
+
"validating_api_key": "正在验证 API Key...",
|
|
115
|
+
"api_key_valid": "API Key 验证通过",
|
|
116
|
+
"api_key_success_hint": "正在进入主菜单...",
|
|
117
|
+
"api_key_invalid": "API Key 无效或已过期",
|
|
118
|
+
"api_key_network_error": "网络错误,请检查网络连接",
|
|
119
|
+
"please_config_api_key_first": "请先配置有效的 API Key",
|
|
120
|
+
"please_reconfig_api_key": "请重新配置 API Key",
|
|
121
|
+
"select_model_config": "请选择模型",
|
|
122
|
+
"recommended": "推荐",
|
|
123
|
+
"other_models": "其他模型",
|
|
124
|
+
"custom_model_input": "自定义输入模型名",
|
|
125
|
+
"input_custom_model": "请输入自定义模型名称",
|
|
126
|
+
"input_single_model": "请输入要使用的模型名称(将应用到所有模型)",
|
|
127
|
+
"model_haiku": "Haiku 模型 (快速)",
|
|
128
|
+
"model_sonnet": "Sonnet 模型 (平衡)",
|
|
129
|
+
"model_opus": "Opus 模型 (强大)",
|
|
130
|
+
"model_reasoning": "Reasoning 模型 (推理)",
|
|
131
|
+
"input_model_name": "请输入模型名称",
|
|
132
|
+
"models_saved": "模型配置已保存",
|
|
133
|
+
"load_config_now": "是否立即装载配置到编码工具?",
|
|
134
|
+
"load_config_yes": "是,立即装载",
|
|
135
|
+
"load_config_later": "稍后手动装载",
|
|
136
|
+
"what_next": "接下来您想做什么?",
|
|
137
|
+
"continue_config": "继续配置其他选项",
|
|
138
|
+
"exit_and_start": "退出并开始使用",
|
|
139
|
+
"menu_experimental_features": "实验性功能",
|
|
140
|
+
"experimental_features_title": "实验性功能",
|
|
141
|
+
"select_experimental_feature": "选择要配置的实验性功能",
|
|
142
|
+
"enabled": "已启用",
|
|
143
|
+
"disabled": "已禁用",
|
|
144
|
+
"enable": "启用",
|
|
145
|
+
"disable": "禁用",
|
|
146
|
+
"agent_teams_current_status": "Agent Teams 当前状态",
|
|
147
|
+
"agent_teams_enabled": "Agent Teams 已启用",
|
|
148
|
+
"agent_teams_disabled": "Agent Teams 已禁用",
|
|
149
|
+
"updating_settings": "正在更新设置...",
|
|
150
|
+
"update_failed": "更新失败",
|
|
151
|
+
"custom_model_mode": "选择自定义模型模式",
|
|
152
|
+
"custom_model_single": "所有角色使用同一模型",
|
|
153
|
+
"custom_model_per_role": "分别配置每个角色"
|
|
154
|
+
},
|
|
155
|
+
"doctor": {
|
|
156
|
+
"checking": "正在进行健康检查...",
|
|
157
|
+
"check_path": "检查PATH环境变量",
|
|
158
|
+
"check_api_key_network": "检查 API Key 和网络连接",
|
|
159
|
+
"check_api_key": "检查API密钥",
|
|
160
|
+
"check_tools": "检查已安装的工具",
|
|
161
|
+
"all_good": "所有检查通过!",
|
|
162
|
+
"tool_installed": "已安装",
|
|
163
|
+
"tool_not_found": "工具未找到: {{tool}}",
|
|
164
|
+
"network_error": "网络连接失败",
|
|
165
|
+
"api_key_invalid": "API Key 无效或已过期",
|
|
166
|
+
"api_key_network_ok": "API Key 和网络验证通过",
|
|
167
|
+
"api_key_missing": "API密钥未配置",
|
|
168
|
+
"claude_code_installed": "Claude Code 已安装",
|
|
169
|
+
"claude_code_not_installed": "Claude Code 未安装。请从 https://claude.ai/download 下载安装",
|
|
170
|
+
"suggestions": "建议",
|
|
171
|
+
"check_git_env": "检查 Git 环境",
|
|
172
|
+
"git_not_installed": "Git 未安装。请从 https://git-scm.com/downloads 下载安装",
|
|
173
|
+
"results_title": "健康检查结果:",
|
|
174
|
+
"no_tools_installed": "未安装任何工具",
|
|
175
|
+
"suggestion_auth": "运行 \"chelper auth\" 配置 API Key",
|
|
176
|
+
"suggestion_interactive": "运行 \"chelper\" 进入交互式配置"
|
|
177
|
+
},
|
|
178
|
+
"preset": {
|
|
179
|
+
"claude_mix": "Claude 混合",
|
|
180
|
+
"minimax_m25": "MiniMax-M2.5",
|
|
181
|
+
"minimax_m27": "MiniMax-M2.7",
|
|
182
|
+
"gpt54": "GPT-5.4",
|
|
183
|
+
"kimi_k25": "Kimi-K2.5",
|
|
184
|
+
"qwen36_plus": "Qwen3.6-Plus",
|
|
185
|
+
"glm5": "GLM-5"
|
|
186
|
+
},
|
|
187
|
+
"status": {
|
|
188
|
+
"title": "当前状态",
|
|
189
|
+
"api_key": "API Key",
|
|
190
|
+
"base_url": "API 地址",
|
|
191
|
+
"language": "语言",
|
|
192
|
+
"models": "模型",
|
|
193
|
+
"tools": "工具",
|
|
194
|
+
"config_loaded": "已装载配置",
|
|
195
|
+
"config_not_loaded": "未装载配置"
|
|
196
|
+
},
|
|
197
|
+
"messages": {
|
|
198
|
+
"initializing": "正在初始化...",
|
|
199
|
+
"args": "参数:",
|
|
200
|
+
"first_run": "检测到首次运行,启动初始化向导...",
|
|
201
|
+
"config_saved": "配置已保存"
|
|
202
|
+
},
|
|
203
|
+
"config": {
|
|
204
|
+
"profile_list_title": "Profile 列表",
|
|
205
|
+
"preset_list_title": "自定义预设",
|
|
206
|
+
"backup_list_title": "配置备份",
|
|
207
|
+
"profile_active_label": "当前",
|
|
208
|
+
"profile_invalid_name": "Profile 名称非法: {{name}}",
|
|
209
|
+
"preset_invalid_name": "预设名称非法: {{name}}",
|
|
210
|
+
"profile_exists": "Profile 已存在: {{name}}",
|
|
211
|
+
"profile_created": "Profile 已创建: {{name}}",
|
|
212
|
+
"profile_activated": "当前 Profile: {{name}}",
|
|
213
|
+
"profile_deleted": "Profile 已删除: {{name}}",
|
|
214
|
+
"profile_cannot_delete_last": "无法删除最后一个 Profile",
|
|
215
|
+
"preset_saved": "已保存自定义预设: {{name}}",
|
|
216
|
+
"preset_applied": "已应用自定义预设: {{name}}",
|
|
217
|
+
"preset_deleted": "已删除自定义预设: {{name}}",
|
|
218
|
+
"preset_not_found": "自定义预设不存在: {{name}}",
|
|
219
|
+
"backup_created": "备份已创建: {{path}}",
|
|
220
|
+
"backup_restored": "备份已恢复: {{name}}",
|
|
221
|
+
"backup_restore_missing_name": "请指定要恢复的备份名称",
|
|
222
|
+
"backup_companion_missing": "备份缺少加密密钥伴随文件 ({{path}}),已中止恢复以避免 api_key 错乱",
|
|
223
|
+
"profile_delete_confirm": "确定删除 Profile {{name}}?将同时清除其密钥",
|
|
224
|
+
"profile_delete_dry_run": "将删除 Profile {{name}}",
|
|
225
|
+
"profile_delete_aborted": "已取消删除 Profile",
|
|
226
|
+
"backup_restore_confirm": "确定恢复备份 {{name}}?当前配置与 api_key 将被覆盖",
|
|
227
|
+
"backup_restore_dry_run": "将恢复备份 {{name}}",
|
|
228
|
+
"backup_restore_aborted": "已取消恢复备份",
|
|
229
|
+
"unknown_command": "未知命令: {{command}}",
|
|
230
|
+
"usage_hint": "用法: chelper config [profile|preset|backup|tool-model|<tool-name>] [...]",
|
|
231
|
+
"tool_config_loaded": "{{tool}} 配置已加载",
|
|
232
|
+
"unknown_action": "未知操作: {{action}}",
|
|
233
|
+
"unknown_tool": "未知工具: {{tool}}",
|
|
234
|
+
"empty_list": "暂无条目",
|
|
235
|
+
"requires_argument": "非交互模式下需要传入参数",
|
|
236
|
+
"tool_model_list_title": "按工具的模型覆盖",
|
|
237
|
+
"tool_model_set": "已设置 {{tool}} 的 {{slot}} 模型为 {{model}}",
|
|
238
|
+
"tool_model_cleared": "已清除 {{tool}} 的模型覆盖",
|
|
239
|
+
"tool_model_usage": "用法: chelper config tool-model set <tool> [slot] <model>"
|
|
240
|
+
},
|
|
241
|
+
"logs": {
|
|
242
|
+
"directory": "日志目录: {{dir}}",
|
|
243
|
+
"files_title": "日志文件",
|
|
244
|
+
"no_files": "暂无日志文件"
|
|
245
|
+
},
|
|
246
|
+
"completion": {
|
|
247
|
+
"header": "# chelper shell 自动补全",
|
|
248
|
+
"instructions_bash": "请将以上输出保存到 ~/.chelper-completion.bash,并在 shell rc 中添加 'source ~/.chelper-completion.bash'",
|
|
249
|
+
"instructions_zsh": "请将以上输出保存到 ~/.chelper-completion.zsh,并在 shell rc 中添加 'source ~/.chelper-completion.zsh'",
|
|
250
|
+
"instructions_fish": "请将以上输出保存到 ~/.config/fish/completions/chelper.fish",
|
|
251
|
+
"unsupported_shell": "暂不支持的 shell: {{shell}} (支持 bash/zsh/fish)"
|
|
252
|
+
},
|
|
253
|
+
"bench": {
|
|
254
|
+
"running": "正在执行基准测试...",
|
|
255
|
+
"result_title": "基准测试结果",
|
|
256
|
+
"samples": "样本",
|
|
257
|
+
"median": "中位数",
|
|
258
|
+
"average": "平均值",
|
|
259
|
+
"min": "最小值",
|
|
260
|
+
"max": "最大值",
|
|
261
|
+
"errors": "错误",
|
|
262
|
+
"missing_api_key": "请先通过 'chelper auth' 配置 API Key"
|
|
263
|
+
},
|
|
264
|
+
"update": {
|
|
265
|
+
"checking": "正在检查更新...",
|
|
266
|
+
"current": "当前版本: {{version}}",
|
|
267
|
+
"latest": "最新版本: {{version}}",
|
|
268
|
+
"up_to_date": "您已是最新版本",
|
|
269
|
+
"available": "存在新版本",
|
|
270
|
+
"fetch_failed": "获取最新版本失败: {{error}}",
|
|
271
|
+
"command_hint": "升级命令: pnpm add -g @vibeapi/api-helper@latest"
|
|
272
|
+
},
|
|
273
|
+
"runtime": {
|
|
274
|
+
"dry_run_label": "[预演]",
|
|
275
|
+
"non_interactive_required_token": "非交互模式下必须提供 API Token",
|
|
276
|
+
"non_interactive_aborted": "已中止 - 缺少必要输入"
|
|
277
|
+
},
|
|
278
|
+
"secret_store": {
|
|
279
|
+
"host_changed": "本机无法解密已保存的 API Key。密钥库可能创建于其它机器或用户。请通过 'chelper auth' 重新认证以刷新。"
|
|
280
|
+
}
|
|
281
|
+
}
|
package/dist/models.json
CHANGED
package/dist/utils/logger.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export declare class Logger {
|
|
|
10
10
|
private fileLogLevel;
|
|
11
11
|
private logDir;
|
|
12
12
|
private fileLoggingEnabled;
|
|
13
|
+
private retentionDays;
|
|
13
14
|
private constructor();
|
|
14
15
|
static getInstance(): Logger;
|
|
15
16
|
/**
|
|
@@ -20,6 +21,14 @@ export declare class Logger {
|
|
|
20
21
|
* Get the current log file path based on today's date
|
|
21
22
|
*/
|
|
22
23
|
private getLogFilePath;
|
|
24
|
+
/**
|
|
25
|
+
* Delete log files older than the configured retention window
|
|
26
|
+
*/
|
|
27
|
+
private rotateOldLogs;
|
|
28
|
+
/**
|
|
29
|
+
* Set log retention window in days (used by tests / advanced setups)
|
|
30
|
+
*/
|
|
31
|
+
setRetentionDays(days: number): void;
|
|
23
32
|
/**
|
|
24
33
|
* Sanitize a value to mask sensitive information
|
|
25
34
|
*/
|
package/dist/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{existsSync as e,mkdirSync as t,appendFileSync as i}from"fs";import{join as
|
|
1
|
+
import{existsSync as e,mkdirSync as t,appendFileSync as i,readdirSync as o,statSync as r,unlinkSync as s}from"fs";import{join as g}from"path";import{homedir as n}from"os";export var LogLevel;!function(e){e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR"}(LogLevel||(LogLevel={}));const l=["token","apikey","api_key","api-key","auth_token","auth-token","authorization","password","secret","credential","anthropic_auth_token","anthropic_api_key","z_ai_api_key"],a=[/eyJ[A-Za-z0-9_-]+\.eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+/g,/\b[a-zA-Z0-9]{32,}\b/g,/Bearer\s+[A-Za-z0-9._-]+/gi];export class Logger{static instance;logLevel=LogLevel.INFO;fileLogLevel=LogLevel.WARN;logDir;fileLoggingEnabled=!0;retentionDays=14;constructor(){this.logDir=g(n(),".chelper"),this.ensureLogDir(),this.rotateOldLogs()}static getInstance(){return Logger.instance||(Logger.instance=new Logger),Logger.instance}ensureLogDir(){try{e(this.logDir)||t(this.logDir,{recursive:!0})}catch{this.fileLoggingEnabled=!1}}getLogFilePath(){const e=(new Date).toISOString().split("T")[0];return g(this.logDir,`${e}.log`)}rotateOldLogs(){if(this.fileLoggingEnabled&&e(this.logDir))try{const e=Date.now()-24*this.retentionDays*60*60*1e3,t=o(this.logDir).filter(e=>/^\d{4}-\d{2}-\d{2}\.log$/.test(e));for(const i of t){const t=g(this.logDir,i);try{r(t).mtimeMs<e&&s(t)}catch{}}}catch{}}setRetentionDays(e){e>=0&&Number.isFinite(e)&&(this.retentionDays=Math.floor(e),this.rotateOldLogs())}sanitizeValue(e){if(null==e)return e;if("string"==typeof e){let t=e;for(const e of a)t=t.replace(e,"[REDACTED]");return t}if(Array.isArray(e))return e.map(e=>this.sanitizeValue(e));if("object"==typeof e){const t={};for(const[i,o]of Object.entries(e)){const e=i.toLowerCase(),r=l.some(t=>e.includes(t));t[i]=r?"[REDACTED]":this.sanitizeValue(o)}return t}return e}sanitize(e,t){return{message:this.sanitizeValue(e),args:t.map(e=>this.sanitizeValue(e))}}formatArgs(e){return 0===e.length?"":" "+e.map(e=>{if("object"==typeof e)try{return JSON.stringify(e)}catch{return String(e)}return String(e)}).join(" ")}writeToFile(e,t,o){if(this.fileLoggingEnabled)try{const{message:r,args:s}=this.sanitize(t,o),g=`${(new Date).toISOString()} [${e}] ${r}${this.formatArgs(s)}\n`;i(this.getLogFilePath(),g,"utf-8")}catch{}}setLogLevel(e){this.logLevel=e}setFileLogLevel(e){this.fileLogLevel=e}setFileLoggingEnabled(e){this.fileLoggingEnabled=e}debug(e,...t){this.logLevel<=LogLevel.DEBUG&&console.debug(`[DEBUG] ${e}`,...t),this.fileLoggingEnabled&&this.fileLogLevel<=LogLevel.DEBUG&&this.writeToFile("DEBUG",e,t)}info(e,...t){this.logLevel<=LogLevel.INFO&&console.info(`[INFO] ${e}`,...t),this.fileLoggingEnabled&&this.fileLogLevel<=LogLevel.INFO&&this.writeToFile("INFO",e,t)}warn(e,...t){this.logLevel<=LogLevel.WARN&&console.warn(`[WARN] ${e}`,...t),this.fileLoggingEnabled&&this.fileLogLevel<=LogLevel.WARN&&this.writeToFile("WARN",e,t)}error(e,...t){this.logLevel<=LogLevel.ERROR&&console.error(`[ERROR] ${e}`,...t),this.fileLoggingEnabled&&this.fileLogLevel<=LogLevel.ERROR&&this.writeToFile("ERROR",e,t)}logError(e,t){const i=t instanceof Error?t.message:String(t),o=t instanceof Error?t.stack:void 0;this.writeToFile("ERROR",`[${e}] ${i}`,o?[{stack:o}]:[])}getLogDir(){return this.logDir}}export const logger=Logger.getInstance();
|
package/dist/utils/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
package/models.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibeapi/api-helper",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.22",
|
|
4
4
|
"description": "CLI tool for managing AI coding assistants (Claude Code, OpenCode) with Anthropic API",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"LICENSE"
|
|
22
22
|
],
|
|
23
23
|
"engines": {
|
|
24
|
-
"node": ">=
|
|
24
|
+
"node": ">=20.0.0"
|
|
25
25
|
},
|
|
26
26
|
"publishConfig": {
|
|
27
27
|
"access": "public"
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
"license": "UNLICENSED",
|
|
43
43
|
"private": false,
|
|
44
44
|
"dependencies": {
|
|
45
|
+
"@iarna/toml": "^2.2.5",
|
|
45
46
|
"chalk": "^5.3.0",
|
|
46
47
|
"commander": "^12.1.0",
|
|
47
48
|
"inquirer": "^9.2.12",
|
|
@@ -71,6 +72,8 @@
|
|
|
71
72
|
"clean": "node -e \"fs.rmSync('dist',{recursive:true,force:true})\" --input-type=module || true",
|
|
72
73
|
"test": "vitest run",
|
|
73
74
|
"test:watch": "vitest",
|
|
75
|
+
"test:coverage": "vitest run --coverage",
|
|
76
|
+
"typecheck": "tsc --noEmit",
|
|
74
77
|
"lint": "eslint .",
|
|
75
78
|
"lint:fix": "eslint . --fix"
|
|
76
79
|
}
|