ccman 2.1.2 → 2.1.4

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.
Files changed (59) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +308 -258
  3. package/README_en.md +444 -0
  4. package/dist/cli.js +213 -33
  5. package/dist/cli.js.map +1 -1
  6. package/dist/config/default-providers.d.ts +34 -0
  7. package/dist/config/default-providers.d.ts.map +1 -0
  8. package/dist/config/default-providers.js +96 -0
  9. package/dist/config/default-providers.js.map +1 -0
  10. package/dist/config/static-env.d.ts +1 -1
  11. package/dist/config/static-env.js +1 -1
  12. package/dist/core/ClaudeConfigManager.d.ts +5 -1
  13. package/dist/core/ClaudeConfigManager.d.ts.map +1 -1
  14. package/dist/core/ClaudeConfigManager.js +19 -3
  15. package/dist/core/ClaudeConfigManager.js.map +1 -1
  16. package/dist/providers/ProviderManager.d.ts.map +1 -1
  17. package/dist/providers/ProviderManager.js +7 -8
  18. package/dist/providers/ProviderManager.js.map +1 -1
  19. package/dist/types/index.d.ts +1 -0
  20. package/dist/types/index.d.ts.map +1 -1
  21. package/package.json +24 -3
  22. package/.editorconfig +0 -15
  23. package/.env.development +0 -3
  24. package/.env.production +0 -3
  25. package/.eslintrc.js +0 -28
  26. package/.github/workflows/release.yml +0 -99
  27. package/.prettierrc +0 -10
  28. package/CLAUDE.md +0 -276
  29. package/README_zh.md +0 -394
  30. package/dev-test.sh +0 -40
  31. package/docs/npm-publish-guide.md +0 -71
  32. package/docs/release-guide.md +0 -144
  33. package/docs/scripts-guide.md +0 -221
  34. package/docs/version-management.md +0 -64
  35. package/jest.config.js +0 -22
  36. package/release-temp/README.md +0 -394
  37. package/release-temp/package.json +0 -61
  38. package/scripts/build-env.js +0 -75
  39. package/scripts/modules/check-uncommitted.sh +0 -109
  40. package/scripts/modules/create-tag.sh +0 -279
  41. package/scripts/modules/monitor-release.sh +0 -296
  42. package/scripts/modules/version-bump.sh +0 -262
  43. package/scripts/publish-local.sh +0 -91
  44. package/scripts/quick-release.sh +0 -100
  45. package/scripts/release.sh +0 -430
  46. package/scripts/smart-release-v3.sh +0 -283
  47. package/scripts/smart-release.sh +0 -322
  48. package/src/cli.ts +0 -598
  49. package/src/commands/lang.ts +0 -105
  50. package/src/core/CCMConfigManager.ts +0 -259
  51. package/src/core/ClaudeConfigManager.ts +0 -123
  52. package/src/i18n/LanguageManager.ts +0 -169
  53. package/src/i18n/messages.ts +0 -233
  54. package/src/index.ts +0 -4
  55. package/src/providers/ProviderManager.ts +0 -414
  56. package/src/types/index.ts +0 -100
  57. package/src/utils/env-config.ts +0 -53
  58. package/src/utils/version.ts +0 -16
  59. package/tsconfig.json +0 -25
package/README.md CHANGED
@@ -1,218 +1,173 @@
1
- # CCM - Claude Code Manager v2.0
1
+ # CCM - Claude Code Manager
2
2
 
3
- A TypeScript-based command-line tool to manage multiple Claude Code API provider configurations with **direct settings.json integration** and **intelligent language support**.
3
+ <div align="center">
4
4
 
5
- > **English Documentation** | [中文文档](./README_zh.md)
5
+ [![npm version](https://img.shields.io/npm/v/ccman.svg)](https://www.npmjs.com/package/ccman)
6
+ [![npm downloads](https://img.shields.io/npm/dm/ccman.svg)](https://www.npmjs.com/package/ccman)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
+ [![Node.js Version](https://img.shields.io/node/v/ccman.svg)](https://nodejs.org)
6
9
 
7
- ## New in v2.0
10
+ **智能管理 Claude Code API 配置的 TypeScript CLI 工具**
8
11
 
9
- 🌍 **Intelligent Language Support** - Auto-detects system language or guides first-run setup
10
- 🔧 **Direct Claude Integration** - Modifies `~/.claude/settings.json` directly, no shell variables
11
- 📁 **Provider Management** - Store and switch between multiple API provider configurations
12
- 🎯 **Interactive Menu System** - Continuous operation support with navigation options
13
- ⚡ **Zero-Config Experience** - Works out of the box with smart defaults
12
+ 🌍 多语言支持 · 🔧 直接配置集成 · 📁 多供应商管理 · 零配置体验
14
13
 
15
- ## 🚀 Quick Start
14
+ **中文文档** | [English](./README_en.md)
16
15
 
17
- ### Installation
16
+ </div>
18
17
 
19
- ```bash
20
- # Install from NPM
21
- npm install -g ccman
18
+ ---
22
19
 
23
- # Or install dependencies for development
24
- npm install && npm run build
25
- ```
20
+ ## 核心特性
26
21
 
27
- ### First Run Experience
22
+ - **🌍 智能语言支持** - 自动检测系统语言,支持中英文无缝切换
23
+ - **🔧 直接配置集成** - 直接修改 `~/.claude/settings.json`,无需 Shell 集成
24
+ - **📁 多供应商管理** - 在不同 API 供应商间快速切换(Anthropic 官方、第三方等)
25
+ - **🎯 交互式菜单** - 友好的命令行交互界面,支持连续操作
26
+ - **⚡ 零配置体验** - 开箱即用,智能默认配置
27
+ - **🔒 安全可靠** - 自动备份,选择性配置更新,保护用户数据
28
28
 
29
- ```bash
30
- # Start CCM (first time)
31
- ccman
29
+ ## 🚀 快速开始
32
30
 
33
- 🌍 Welcome to CCM! / 欢迎使用 CCM!
31
+ ### 安装
34
32
 
35
- This is your first time running CCM.
36
- 这是您首次运行 CCM。
37
-
38
- ? Please choose your preferred language:
39
- ? 请选择您偏好的语言:
40
- ❯ 🇨🇳 中文 (Chinese)
41
- 🇺🇸 English
42
- 🌐 Auto-detect based on system
43
-
44
- ✓ Language set to Chinese
45
- ✓ You can change this later with: ccman lang set <zh|en|auto>
33
+ ```bash
34
+ npm install -g ccman
46
35
  ```
47
36
 
48
- ### Basic Usage
37
+ ### 首次运行
49
38
 
50
39
  ```bash
51
- # Interactive main menu (recommended)
52
40
  ccman
41
+ ```
53
42
 
54
- # List all providers
55
- ccman ls
43
+ 首次运行时会自动引导你:
44
+ 1. 选择界面语言(中文/英文/自动检测)
45
+ 2. 创建第一个供应商配置
46
+ 3. 自动应用到 Claude Code
56
47
 
57
- # Add provider directly
58
- ccman add <id> <name> <baseUrl> [apiKey]
48
+ ## 📖 命令参考
59
49
 
60
- # Switch provider
61
- ccman use <id>
50
+ ### 核心命令
62
51
 
63
- # Remove provider
64
- ccman rm <id>
52
+ ```bash
53
+ ccman # 交互式主菜单(推荐入口)
54
+ ccman ls # 列出所有供应商及系统状态
55
+ ccman ls --current # 显示当前供应商详情
56
+ ccman ls --brief # 简洁列表模式
57
+ ccman add <id> <name> <url> [key] # 添加新供应商
58
+ ccman use <id> # 切换到指定供应商
59
+ ccman rm <id> # 删除供应商
60
+ ccman clear # 清除所有配置(需确认)
65
61
  ```
66
62
 
67
- ## 🌐 Language Management
63
+ ### 语言管理
68
64
 
69
- ### Language Commands
70
65
  ```bash
71
- ccman lang # Show current language setting
72
- ccman lang set zh # Set to Chinese
73
- ccman lang set en # Set to English
74
- ccman lang set auto # Auto-detect based on system
75
- ccman lang reset # Reset to first-run state
66
+ ccman lang # 显示当前语言设置
67
+ ccman lang set zh # 设置为中文
68
+ ccman lang set en # 设置为英文
69
+ ccman lang set auto # 自动检测系统语言
70
+ ccman lang reset # 重置为首次运行状态
76
71
  ```
77
72
 
78
- ### Supported Languages
79
- - **Chinese (zh)** - 完整中文界面
80
- - **English (en)** - Full English interface
81
- - **Auto-detect** - Based on system `LANG` environment variable
73
+ ## 💡 使用示例
82
74
 
83
- ### Language Detection Logic
84
- - English environments (`en-*`) → English interface
85
- - Other environments (including `zh-*`, unset) → Chinese interface
86
- - Manual override available anytime
75
+ ### 添加并切换供应商
87
76
 
88
- ## 📖 Commands Reference
89
-
90
- ### Core Provider Management
91
77
  ```bash
92
- ccman # Interactive menu (default)
93
- ccman add <id> <name> <url> [key] # Add new provider
94
- ccman use <id> # Switch to provider
95
- ccman ls # List all providers
96
- ccman ls --current # Show current provider details
97
- ccman ls --brief # Brief provider list
98
- ccman rm <id> # Remove provider
99
- ccman clear # Remove ALL providers (destructive)
100
- ```
78
+ # 添加官方 Anthropic 配置
79
+ ccman add anthropic "Anthropic Official" https://api.anthropic.com sk-ant-xxx
101
80
 
102
- ### Language Management
103
- ```bash
104
- ccman lang # Show current language
105
- ccman lang set <zh|en|auto> # Set language preference
106
- ccman lang reset # Reset to first-run state
81
+ # 添加第三方供应商
82
+ ccman add custom "My Custom API" https://api.custom.com
83
+
84
+ # 切换到自定义供应商
85
+ ccman use custom
86
+
87
+ # 列出所有供应商
88
+ ccman ls
107
89
  ```
108
90
 
109
- ## 🎯 Interactive Experience
91
+ ### 交互式菜单操作
110
92
 
111
- ### Main Menu Navigation
112
93
  ```bash
113
94
  $ ccman
114
95
 
115
- ? What would you like to do?
116
- Switch provider
117
- Add new provider
118
- Update provider
119
- Remove provider
120
- Show detailed status
121
- Exit
96
+ ? 您想要执行什么操作?
97
+ 切换供应商
98
+ 添加新供应商
99
+ 更新供应商
100
+ 删除供应商
101
+ 显示详细状态
102
+ 退出
122
103
 
123
- # After each operation:
124
- ? Would you like to perform another operation? (Y/n)
104
+ # 选择操作后,按提示完成配置
105
+ # 每次操作后可以选择继续或退出
125
106
  ```
126
107
 
127
- ### Provider Addition Flow
128
- ```bash
129
- $ ccman add
130
-
131
- ? Provider ID: my-provider
132
- ? Provider name: My Custom API
133
- ? Description: My custom Claude API
134
- ? Base URL: https://api.mycustom.com
135
- ? API Key: ****************
136
-
137
- ✓ Provider added successfully
138
- ? Set "My Custom API" as current provider? (Y/n)
139
- ✓ Provider switched successfully
140
- Claude Code configuration has been updated successfully!
141
- ```
108
+ ## 🔧 工作原理
142
109
 
143
- ## 🔧 Architecture Overview
110
+ CCM 直接管理 `~/.claude/settings.json` 文件,通过以下方式确保安全:
144
111
 
145
- ### Direct Claude Integration
146
- CCM v2.0 directly modifies your Claude Code settings file:
112
+ ### 1. 选择性更新
147
113
 
148
- **Before (CCM manages)**:
149
- ```json
150
- {
151
- "env": {
152
- "ANTHROPIC_AUTH_TOKEN": "old-token",
153
- "ANTHROPIC_BASE_URL": "https://old-api.com"
154
- }
155
- }
156
- ```
114
+ 只修改 CCM 管理的配置项:
115
+ - `env.ANTHROPIC_AUTH_TOKEN`
116
+ - `env.ANTHROPIC_BASE_URL`
117
+ - `env.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`
118
+ - `env.CLAUDE_CODE_MAX_OUTPUT_TOKENS`
119
+ - `permissions.allow` / `permissions.deny`
157
120
 
158
- **After (CCM updates)**:
159
- ```json
160
- {
161
- "env": {
162
- "ANTHROPIC_AUTH_TOKEN": "new-token",
163
- "ANTHROPIC_BASE_URL": "https://new-api.com",
164
- "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1
165
- },
166
- "permissions": {
167
- "allow": [],
168
- "deny": []
169
- },
170
- "apiKeyHelper": "echo 'new-token'"
171
- }
172
- ```
121
+ ### 2. 配置保护
122
+
123
+ 保留用户的其他所有配置项:
124
+ - ✅ 保留:`mcpServers`、`model`、`customUserConfig` 等
125
+ - 🔄 更新:仅更新上述 CCM 管理的配置项
126
+
127
+ ### 3. 自动备份
173
128
 
174
- ### Provider Storage Structure
175
- Providers are stored in `~/.ccman/providers/`:
129
+ 每次切换前自动备份当前配置到 `~/.ccman/backups/`
130
+
131
+ ## 📂 配置结构
176
132
 
177
133
  ```
178
134
  ~/.ccman/
179
- ├── config.json # Main CCM configuration
180
- ├── providers/ # Individual provider configs
181
- │ ├── anthropic.json
182
- │ ├── my-provider.json
183
- │ └── staging.json
135
+ ├── config.json # CCM 主配置
136
+ ├── providers/ # 供应商配置目录
137
+ │ ├── anthropic.json # Anthropic 官方
138
+ │ ├── custom.json # 自定义供应商
139
+ │ └── ...
140
+ └── backups/ # 配置备份目录(自动创建)
184
141
  ```
185
142
 
186
- ### Configuration Merging
187
- CCM only updates Claude-specific keys, preserving your existing settings:
188
- - ✅ Preserves: `mcpServers`, `model`, `customUserConfig`, etc.
189
- - 🔄 Updates: `env.ANTHROPIC_*`, `permissions`, `apiKeyHelper`
190
-
191
- ## 📊 Provider Configuration
143
+ ### 供应商配置文件结构
192
144
 
193
- ### Provider Structure
194
145
  ```json
195
146
  {
196
147
  "name": "Anthropic Official",
197
- "description": "Official Anthropic API Configuration",
148
+ "description": "Anthropic 官方 API 配置",
198
149
  "config": {
199
150
  "env": {
200
151
  "ANTHROPIC_AUTH_TOKEN": "your-token",
201
152
  "ANTHROPIC_BASE_URL": "https://api.anthropic.com",
202
- "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1
153
+ "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1,
154
+ "CLAUDE_CODE_MAX_OUTPUT_TOKENS": 32000
203
155
  },
204
- "permissions": { "allow": [], "deny": [] },
205
- "apiKeyHelper": "echo 'your-token'"
156
+ "permissions": {
157
+ "allow": [],
158
+ "deny": []
159
+ }
206
160
  },
207
161
  "metadata": {
208
162
  "createdAt": "2025-01-15T10:30:00.000Z",
209
- "updatedAt": "2025-01-15T10:30:00.000Z",
163
+ "updatedAt": "2025-01-15T10:30:00.000Z",
210
164
  "usageCount": 5
211
165
  }
212
166
  }
213
167
  ```
214
168
 
215
- ### Main Configuration
169
+ ### CCM 主配置文件结构
170
+
216
171
  ```json
217
172
  {
218
173
  "currentProvider": "anthropic",
@@ -229,166 +184,261 @@ CCM only updates Claude-specific keys, preserving your existing settings:
229
184
  "firstRun": false
230
185
  },
231
186
  "metadata": {
232
- "version": "2.0.0",
187
+ "version": "2.1.3",
233
188
  "createdAt": "2025-01-15T10:00:00.000Z",
234
189
  "updatedAt": "2025-01-15T10:30:00.000Z"
235
190
  }
236
191
  }
237
192
  ```
238
193
 
239
- ## 💡 Usage Examples
194
+ ## 🌐 语言支持
240
195
 
241
- ### Complete First-Time Setup
242
- ```bash
243
- # First run - language selection
244
- ccman
245
- # Language selection wizard
246
- # → No providers found, guided creation
247
- # → Automatic Claude settings update
248
-
249
- # Add additional providers
250
- ccman add staging "Staging API" https://staging-api.com
251
- ccman add dev "Development" https://dev-api.com
252
-
253
- # Switch between providers
254
- ccman use staging
255
- ccman use dev
256
- ccman use anthropic
257
- ```
196
+ ### 支持的语言
197
+
198
+ - **中文 (zh)** - 完整中文界面
199
+ - **英文 (en)** - 完整英文界面
200
+ - **自动检测 (auto)** - 基于系统 `LANG` 环境变量自动选择
201
+
202
+ ### 语言检测逻辑
203
+
204
+ - 英文环境 (`en-*`) → 自动使用英文界面
205
+ - 其他环境(包括 `zh-*`、未设置等)→ 自动使用中文界面
206
+ - 用户可随时手动覆盖语言设置
207
+
208
+ ### 首次运行体验
258
209
 
259
- ### Multi-Provider Workflow
260
210
  ```bash
261
- # List all providers with details
262
- ccman ls
263
- # * Anthropic Official (anthropic) - https://api.anthropic.com
264
- # Staging API (staging) - https://staging-api.com
265
- # Development (dev) - https://dev-api.com
211
+ $ ccman
266
212
 
267
- # Switch to staging for testing
268
- ccman use staging
269
- # ✓ Provider switched successfully
270
- # ✓ Claude Code configuration has been updated successfully!
213
+ 🌍 Welcome to CCM! / 欢迎使用 CCM!
271
214
 
272
- # Check current provider
273
- ccman ls --current
274
- # Current provider: Staging API (staging)
275
- # Base URL: https://staging-api.com
276
- # Usage count: 3 times
277
- # Last updated: 2025-01-15 10:30:15
215
+ This is your first time running CCM.
216
+ 这是您首次运行 CCM。
217
+
218
+ ? Please choose your preferred language:
219
+ ? 请选择您偏好的语言:
220
+ 🇨🇳 中文 (Chinese)
221
+ 🇺🇸 English
222
+ 🌐 基于系统自动检测 (Auto-detect based on system)
223
+
224
+ ✓ 语言已设置为中文
225
+ ✓ 您可以稍后使用以下命令更改:ccman lang set <zh|en|auto>
278
226
  ```
279
227
 
280
- ### Language Switching
228
+ ## 🛠️ 开发
229
+
230
+ ### 环境准备
231
+
281
232
  ```bash
282
- # Check current language
283
- ccman lang
284
- # Current language: 中文 (Chinese)
233
+ # 克隆仓库
234
+ git clone https://github.com/2ue/ccman.git
235
+ cd ccman
285
236
 
286
- # Switch to English
287
- ccman lang set en
288
- # ✓ Language switched successfully
289
- # Current language: English
290
-
291
- # Set auto-detect
292
- ccman lang set auto
293
- # ✓ Language switched successfully
294
- # Current language: Auto-detect
295
- # Auto-detected: English
237
+ # 安装依赖
238
+ pnpm install
296
239
  ```
297
240
 
298
- ## 🛠️ Development Setup
241
+ ### 开发命令
242
+
243
+ ```bash
244
+ pnpm run dev # 开发模式运行(使用 tsx)
245
+ pnpm run build # TypeScript 编译
246
+ pnpm run start # 运行编译后的 CLI
247
+ pnpm run clean # 清理 dist/ 目录
248
+ pnpm run lint # ESLint 代码检查
249
+ pnpm test # 运行测试
250
+ ```
299
251
 
300
- ### Development Environment
301
- CCM supports isolated development environments:
252
+ ### 开发环境隔离
253
+
254
+ CCM 支持开发环境配置隔离,避免影响生产配置:
302
255
 
303
256
  ```bash
304
- # Set development paths
257
+ # 设置开发环境配置路径
305
258
  export CCM_CONFIG_DIR=".ccman-dev"
306
259
  export CLAUDE_CONFIG_PATH="$HOME/.claude/settings-dev.json"
307
260
 
308
- # Use development mode
309
- npm run dev
261
+ # 在隔离环境中运行
262
+ pnpm run dev
263
+ ```
310
264
 
311
- # Build for production
312
- npm run build
265
+ ### 项目结构
313
266
 
314
- # Test built version
315
- npm start
267
+ ```
268
+ src/
269
+ ├── types/ # TypeScript 类型定义
270
+ │ └── index.ts # 核心类型接口
271
+ ├── core/ # 核心模块
272
+ │ ├── CCMConfigManager.ts # CCM 配置管理器
273
+ │ └── ClaudeConfigManager.ts # Claude 配置管理器
274
+ ├── providers/ # 供应商管理
275
+ │ └── ProviderManager.ts # 供应商业务逻辑
276
+ ├── commands/ # 命令处理
277
+ │ └── lang.ts # 语言命令处理
278
+ ├── i18n/ # 国际化
279
+ │ ├── LanguageManager.ts # 语言管理器
280
+ │ └── messages.ts # 多语言消息
281
+ ├── utils/ # 工具函数
282
+ │ ├── env-config.ts # 环境配置
283
+ │ └── version.ts # 版本信息
284
+ ├── config/ # 配置文件
285
+ │ └── static-env.ts # 静态环境配置
286
+ ├── cli.ts # CLI 入口点
287
+ └── index.ts # 模块导出
316
288
  ```
317
289
 
318
- ### Development Commands
290
+ ## 📋 系统要求
291
+
292
+ - **Node.js** >= 16.0.0
293
+ - **Claude Code** 已安装并支持 settings.json
294
+ - **操作系统**: Linux, macOS, Windows (WSL)
295
+ - **包管理器**: npm, pnpm, yarn(推荐 pnpm)
296
+
297
+ ## 🔍 故障排除
298
+
299
+ ### 供应商配置未生效
300
+
319
301
  ```bash
320
- npm run dev # Development mode with tsx
321
- npm run build # TypeScript compilation
322
- npm run start # Run built CLI
323
- npm run clean # Remove dist/ directory
324
- npm run lint # ESLint TypeScript files
325
- npm test # Run tests (passWithNoTests)
302
+ # 1. 检查当前供应商信息
303
+ ccman ls --current
304
+
305
+ # 2. 重新应用配置
306
+ ccman use <provider-id>
307
+
308
+ # 3. 检查 Claude 配置文件
309
+ cat ~/.claude/settings.json | grep ANTHROPIC
310
+
311
+ # 4. 查看完整配置
312
+ cat ~/.claude/settings.json | jq .
326
313
  ```
327
314
 
328
- ## 🔍 Troubleshooting
315
+ ### 语言切换问题
329
316
 
330
- ### Provider Issues
331
317
  ```bash
332
- # Provider not working?
333
- ccman ls --current # Check current provider details
334
- ccman use <provider-id> # Re-apply provider configuration
318
+ # 查看当前语言设置
319
+ ccman lang
335
320
 
336
- # Settings not applied?
337
- # Check ~/.claude/settings.json for updates
338
- cat ~/.claude/settings.json | grep ANTHROPIC
321
+ # 强制设置为中文
322
+ ccman lang set zh
323
+
324
+ # 强制设置为英文
325
+ ccman lang set en
326
+
327
+ # 重置到首次运行状态(重新选择语言)
328
+ ccman lang reset
329
+ ccman
339
330
  ```
340
331
 
341
- ### Language Issues
332
+ ### 配置文件损坏
333
+
342
334
  ```bash
343
- # Language not switching?
344
- ccman lang # Check current setting
345
- ccman lang set zh # Force Chinese
346
- ccman lang set en # Force English
347
-
348
- # First-run issues?
349
- ccman lang reset # Reset to first-run state
350
- ccman # Restart for language selection
335
+ # 删除所有配置(会要求确认)
336
+ ccman clear
337
+
338
+ # 重新开始配置
339
+ ccman
351
340
  ```
352
341
 
353
- ### Configuration Issues
354
- ```bash
355
- # Corrupt configuration?
356
- ccman clear # Remove all (with confirmation)
357
- ccman # Fresh start
342
+ ### 开发环境问题
343
+
344
+ ```bash
345
+ # 使用隔离的开发环境
346
+ export CCM_CONFIG_DIR=".ccman-dev"
347
+ pnpm run dev
358
348
 
359
- # Development isolation
360
- export CCM_CONFIG_DIR=".ccman-dev" # Separate dev config
349
+ # 清理并重新构建
350
+ pnpm run clean
351
+ pnpm run build
361
352
  ```
362
353
 
363
- ## 📋 Requirements
354
+ ## 📝 更新日志
364
355
 
365
- - **Node.js** >= 16.0.0
366
- - **Claude Code** installed with settings.json support
367
- - **Operating Systems**: Linux, macOS, Windows (WSL)
356
+ ### v2.1.3 (2025-09-24)
357
+ - 添加 `CLAUDE_CODE_MAX_OUTPUT_TOKENS` 配置支持
358
+ - 🐛 修复 TypeScript 编译错误,完全移除 apiKeyHelper 配置项
359
+ - 🎨 优化交互式菜单体验
360
+ - 📦 升级依赖包版本
368
361
 
369
- ## 📄 License
362
+ ### v2.1.2
363
+ - 🎨 简化供应商配置,移除手动 ID 设置
364
+ - ✨ 优化首次运行体验
370
365
 
371
- MIT License - see LICENSE file for details.
366
+ ### v2.0.0
367
+ - 🎉 全新架构:直接配置集成,无需 Shell 集成
368
+ - 🌍 智能多语言支持(中文/英文/自动检测)
369
+ - 🎯 交互式菜单系统
370
+ - 📁 多供应商管理
371
+ - 🔒 自动备份和配置保护
372
372
 
373
- ---
373
+ ### v1.x
374
+ - 旧架构:基于 Shell 环境变量集成(已废弃)
375
+
376
+ ## 🚀 从 v1.x 迁移
377
+
378
+ CCM v2.0 使用完全不同的架构,与 v1.x 不兼容:
379
+
380
+ ### v1.x(已废弃)
381
+ - ❌ 修改 shell 配置文件(.bashrc, .zshrc 等)
382
+ - ❌ 使用环境变量
383
+ - ❌ 复杂的 shell 集成和重新加载
384
+
385
+ ### v2.x(当前版本)
386
+ - ✅ 直接修改 `~/.claude/settings.json`
387
+ - ✅ 基于供应商的配置管理
388
+ - ✅ 智能语言支持
389
+ - ✅ 简化、安全的实现方式
374
390
 
375
- ## 🚀 Migration from v1.x
391
+ **迁移步骤**:
376
392
 
377
- CCM v2.0 uses a completely different architecture:
393
+ 1. 卸载 v1.x 版本
394
+ 2. 清理 shell 配置文件中的相关内容
395
+ 3. 安装 v2.x 版本:`npm install -g ccman`
396
+ 4. 运行 `ccman` 重新配置
378
397
 
379
- ### v1.x (Shell Integration)
380
- - Modified shell configuration files
381
- - Used environment variables
382
- - Complex shell integration
398
+ ## 🤝 贡献
383
399
 
384
- ### v2.0 (Direct Integration)
385
- - Modifies `~/.claude/settings.json` directly
386
- - Provider-based configuration
387
- - Language support
388
- - Simplified, safer approach
400
+ 我们欢迎各种形式的贡献!
389
401
 
390
- **Migration**: v1.x and v2.x are incompatible. Start fresh with `ccman clear` if upgrading.
402
+ ### 如何贡献
403
+
404
+ 1. Fork 本仓库
405
+ 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
406
+ 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
407
+ 4. 推送到分支 (`git push origin feature/AmazingFeature`)
408
+ 5. 提交 Pull Request
409
+
410
+ ### 报告问题
411
+
412
+ 如果你发现了 bug 或有新功能建议,请在 [GitHub Issues](https://github.com/2ue/ccman/issues) 中提交。
413
+
414
+ ## 📄 开源协议
415
+
416
+ 本项目采用 [MIT License](LICENSE) 开源协议。
417
+
418
+ ## 👤 作者
419
+
420
+ **2ue**
421
+ - 📧 Email: jie746635835@163.com
422
+ - 🐙 GitHub: [@2ue](https://github.com/2ue)
423
+
424
+ ## 🙏 致谢
425
+
426
+ 感谢所有为本项目做出贡献的开发者!
427
+
428
+ 感谢以下开源项目:
429
+ - [TypeScript](https://www.typescriptlang.org/)
430
+ - [Commander.js](https://github.com/tj/commander.js)
431
+ - [Inquirer.js](https://github.com/SBoudrias/Inquirer.js)
432
+ - [Chalk](https://github.com/chalk/chalk)
391
433
 
392
434
  ---
393
435
 
394
- *CCM v2.0 - Intelligent, multilingual, and seamless Claude Code provider management.*
436
+ <div align="center">
437
+
438
+ **CCM v2.x - 智能、多语言、无缝的 Claude Code 供应商管理**
439
+
440
+ Made with ❤️ by [2ue](https://github.com/2ue)
441
+
442
+ [⬆ 回到顶部](#ccm---claude-code-manager)
443
+
444
+ </div>