ccman 2.1.3 → 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.
- package/LICENSE +21 -0
- package/README.md +308 -258
- package/README_en.md +444 -0
- package/dist/cli.js +213 -33
- package/dist/cli.js.map +1 -1
- package/dist/config/default-providers.d.ts +34 -0
- package/dist/config/default-providers.d.ts.map +1 -0
- package/dist/config/default-providers.js +96 -0
- package/dist/config/default-providers.js.map +1 -0
- package/dist/config/static-env.d.ts +1 -1
- package/dist/config/static-env.js +1 -1
- package/package.json +24 -3
- package/.editorconfig +0 -15
- package/.env.development +0 -3
- package/.env.production +0 -3
- package/.eslintrc.js +0 -28
- package/.github/workflows/release.yml +0 -99
- package/.prettierrc +0 -10
- package/CLAUDE.md +0 -279
- package/README_zh.md +0 -394
- package/dev-test.sh +0 -40
- package/docs/npm-publish-guide.md +0 -71
- package/docs/release-guide.md +0 -144
- package/docs/scripts-guide.md +0 -221
- package/docs/version-management.md +0 -64
- package/jest.config.js +0 -22
- package/release-temp/README.md +0 -394
- package/release-temp/package.json +0 -61
- package/scripts/build-env.js +0 -75
- package/scripts/modules/check-uncommitted.sh +0 -109
- package/scripts/modules/create-tag.sh +0 -279
- package/scripts/modules/monitor-release.sh +0 -296
- package/scripts/modules/version-bump.sh +0 -262
- package/scripts/publish-local.sh +0 -91
- package/scripts/quick-release.sh +0 -100
- package/scripts/release.sh +0 -430
- package/scripts/smart-release-v3.sh +0 -283
- package/scripts/smart-release.sh +0 -322
- package/src/cli.ts +0 -598
- package/src/commands/lang.ts +0 -105
- package/src/core/CCMConfigManager.ts +0 -259
- package/src/core/ClaudeConfigManager.ts +0 -141
- package/src/i18n/LanguageManager.ts +0 -169
- package/src/i18n/messages.ts +0 -233
- package/src/index.ts +0 -4
- package/src/providers/ProviderManager.ts +0 -412
- package/src/types/index.ts +0 -101
- package/src/utils/env-config.ts +0 -53
- package/src/utils/version.ts +0 -16
- package/tsconfig.json +0 -25
package/README.md
CHANGED
|
@@ -1,218 +1,173 @@
|
|
|
1
|
-
# CCM - Claude Code Manager
|
|
1
|
+
# CCM - Claude Code Manager
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<div align="center">
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[](https://www.npmjs.com/package/ccman)
|
|
6
|
+
[](https://www.npmjs.com/package/ccman)
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
[](https://nodejs.org)
|
|
6
9
|
|
|
7
|
-
|
|
10
|
+
**智能管理 Claude Code API 配置的 TypeScript CLI 工具**
|
|
8
11
|
|
|
9
|
-
🌍
|
|
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
|
-
|
|
14
|
+
**中文文档** | [English](./README_en.md)
|
|
16
15
|
|
|
17
|
-
|
|
16
|
+
</div>
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
# Install from NPM
|
|
21
|
-
npm install -g ccman
|
|
18
|
+
---
|
|
22
19
|
|
|
23
|
-
|
|
24
|
-
npm install && npm run build
|
|
25
|
-
```
|
|
20
|
+
## ✨ 核心特性
|
|
26
21
|
|
|
27
|
-
|
|
22
|
+
- **🌍 智能语言支持** - 自动检测系统语言,支持中英文无缝切换
|
|
23
|
+
- **🔧 直接配置集成** - 直接修改 `~/.claude/settings.json`,无需 Shell 集成
|
|
24
|
+
- **📁 多供应商管理** - 在不同 API 供应商间快速切换(Anthropic 官方、第三方等)
|
|
25
|
+
- **🎯 交互式菜单** - 友好的命令行交互界面,支持连续操作
|
|
26
|
+
- **⚡ 零配置体验** - 开箱即用,智能默认配置
|
|
27
|
+
- **🔒 安全可靠** - 自动备份,选择性配置更新,保护用户数据
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
# Start CCM (first time)
|
|
31
|
-
ccman
|
|
29
|
+
## 🚀 快速开始
|
|
32
30
|
|
|
33
|
-
|
|
31
|
+
### 安装
|
|
34
32
|
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
###
|
|
37
|
+
### 首次运行
|
|
49
38
|
|
|
50
39
|
```bash
|
|
51
|
-
# Interactive main menu (recommended)
|
|
52
40
|
ccman
|
|
41
|
+
```
|
|
53
42
|
|
|
54
|
-
|
|
55
|
-
|
|
43
|
+
首次运行时会自动引导你:
|
|
44
|
+
1. 选择界面语言(中文/英文/自动检测)
|
|
45
|
+
2. 创建第一个供应商配置
|
|
46
|
+
3. 自动应用到 Claude Code
|
|
56
47
|
|
|
57
|
-
|
|
58
|
-
ccman add <id> <name> <baseUrl> [apiKey]
|
|
48
|
+
## 📖 命令参考
|
|
59
49
|
|
|
60
|
-
|
|
61
|
-
ccman use <id>
|
|
50
|
+
### 核心命令
|
|
62
51
|
|
|
63
|
-
|
|
64
|
-
ccman
|
|
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
|
-
|
|
63
|
+
### 语言管理
|
|
68
64
|
|
|
69
|
-
### Language Commands
|
|
70
65
|
```bash
|
|
71
|
-
ccman lang
|
|
72
|
-
ccman lang set zh
|
|
73
|
-
ccman lang set en
|
|
74
|
-
ccman lang set auto
|
|
75
|
-
ccman lang reset
|
|
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
|
-
|
|
79
|
-
- **Chinese (zh)** - 完整中文界面
|
|
80
|
-
- **English (en)** - Full English interface
|
|
81
|
-
- **Auto-detect** - Based on system `LANG` environment variable
|
|
73
|
+
## 💡 使用示例
|
|
82
74
|
|
|
83
|
-
###
|
|
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
|
-
|
|
93
|
-
ccman add
|
|
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
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
ccman
|
|
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
|
-
|
|
91
|
+
### 交互式菜单操作
|
|
110
92
|
|
|
111
|
-
### Main Menu Navigation
|
|
112
93
|
```bash
|
|
113
94
|
$ ccman
|
|
114
95
|
|
|
115
|
-
?
|
|
116
|
-
❯
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
96
|
+
? 您想要执行什么操作?
|
|
97
|
+
❯ 切换供应商
|
|
98
|
+
添加新供应商
|
|
99
|
+
更新供应商
|
|
100
|
+
删除供应商
|
|
101
|
+
显示详细状态
|
|
102
|
+
退出
|
|
122
103
|
|
|
123
|
-
#
|
|
124
|
-
|
|
104
|
+
# 选择操作后,按提示完成配置
|
|
105
|
+
# 每次操作后可以选择继续或退出
|
|
125
106
|
```
|
|
126
107
|
|
|
127
|
-
|
|
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
|
-
|
|
110
|
+
CCM 直接管理 `~/.claude/settings.json` 文件,通过以下方式确保安全:
|
|
144
111
|
|
|
145
|
-
###
|
|
146
|
-
CCM v2.0 directly modifies your Claude Code settings file:
|
|
112
|
+
### 1. 选择性更新
|
|
147
113
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
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
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
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
|
-
|
|
175
|
-
|
|
129
|
+
每次切换前自动备份当前配置到 `~/.ccman/backups/`
|
|
130
|
+
|
|
131
|
+
## 📂 配置结构
|
|
176
132
|
|
|
177
133
|
```
|
|
178
134
|
~/.ccman/
|
|
179
|
-
├── config.json
|
|
180
|
-
├── providers/
|
|
181
|
-
│ ├── anthropic.json
|
|
182
|
-
│ ├──
|
|
183
|
-
│ └──
|
|
135
|
+
├── config.json # CCM 主配置
|
|
136
|
+
├── providers/ # 供应商配置目录
|
|
137
|
+
│ ├── anthropic.json # Anthropic 官方
|
|
138
|
+
│ ├── custom.json # 自定义供应商
|
|
139
|
+
│ └── ...
|
|
140
|
+
└── backups/ # 配置备份目录(自动创建)
|
|
184
141
|
```
|
|
185
142
|
|
|
186
|
-
###
|
|
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": "
|
|
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": {
|
|
205
|
-
|
|
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
|
-
###
|
|
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.
|
|
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
|
-
##
|
|
194
|
+
## 🌐 语言支持
|
|
240
195
|
|
|
241
|
-
###
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
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
|
-
|
|
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
|
-
|
|
268
|
-
ccman use staging
|
|
269
|
-
# ✓ Provider switched successfully
|
|
270
|
-
# ✓ Claude Code configuration has been updated successfully!
|
|
213
|
+
🌍 Welcome to CCM! / 欢迎使用 CCM!
|
|
271
214
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
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
|
-
|
|
228
|
+
## 🛠️ 开发
|
|
229
|
+
|
|
230
|
+
### 环境准备
|
|
231
|
+
|
|
281
232
|
```bash
|
|
282
|
-
#
|
|
283
|
-
ccman
|
|
284
|
-
|
|
233
|
+
# 克隆仓库
|
|
234
|
+
git clone https://github.com/2ue/ccman.git
|
|
235
|
+
cd ccman
|
|
285
236
|
|
|
286
|
-
#
|
|
287
|
-
|
|
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
|
-
|
|
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
|
-
###
|
|
301
|
-
|
|
252
|
+
### 开发环境隔离
|
|
253
|
+
|
|
254
|
+
CCM 支持开发环境配置隔离,避免影响生产配置:
|
|
302
255
|
|
|
303
256
|
```bash
|
|
304
|
-
#
|
|
257
|
+
# 设置开发环境配置路径
|
|
305
258
|
export CCM_CONFIG_DIR=".ccman-dev"
|
|
306
259
|
export CLAUDE_CONFIG_PATH="$HOME/.claude/settings-dev.json"
|
|
307
260
|
|
|
308
|
-
#
|
|
309
|
-
|
|
261
|
+
# 在隔离环境中运行
|
|
262
|
+
pnpm run dev
|
|
263
|
+
```
|
|
310
264
|
|
|
311
|
-
|
|
312
|
-
npm run build
|
|
265
|
+
### 项目结构
|
|
313
266
|
|
|
314
|
-
|
|
315
|
-
|
|
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
|
-
|
|
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
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
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
|
-
|
|
315
|
+
### 语言切换问题
|
|
329
316
|
|
|
330
|
-
### Provider Issues
|
|
331
317
|
```bash
|
|
332
|
-
#
|
|
333
|
-
ccman
|
|
334
|
-
ccman use <provider-id> # Re-apply provider configuration
|
|
318
|
+
# 查看当前语言设置
|
|
319
|
+
ccman lang
|
|
335
320
|
|
|
336
|
-
#
|
|
337
|
-
|
|
338
|
-
|
|
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
|
-
###
|
|
332
|
+
### 配置文件损坏
|
|
333
|
+
|
|
342
334
|
```bash
|
|
343
|
-
#
|
|
344
|
-
ccman
|
|
345
|
-
|
|
346
|
-
|
|
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
|
-
###
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
ccman
|
|
342
|
+
### 开发环境问题
|
|
343
|
+
|
|
344
|
+
```bash
|
|
345
|
+
# 使用隔离的开发环境
|
|
346
|
+
export CCM_CONFIG_DIR=".ccman-dev"
|
|
347
|
+
pnpm run dev
|
|
358
348
|
|
|
359
|
-
#
|
|
360
|
-
|
|
349
|
+
# 清理并重新构建
|
|
350
|
+
pnpm run clean
|
|
351
|
+
pnpm run build
|
|
361
352
|
```
|
|
362
353
|
|
|
363
|
-
##
|
|
354
|
+
## 📝 更新日志
|
|
364
355
|
|
|
365
|
-
|
|
366
|
-
-
|
|
367
|
-
-
|
|
356
|
+
### v2.1.3 (2025-09-24)
|
|
357
|
+
- ✨ 添加 `CLAUDE_CODE_MAX_OUTPUT_TOKENS` 配置支持
|
|
358
|
+
- 🐛 修复 TypeScript 编译错误,完全移除 apiKeyHelper 配置项
|
|
359
|
+
- 🎨 优化交互式菜单体验
|
|
360
|
+
- 📦 升级依赖包版本
|
|
368
361
|
|
|
369
|
-
|
|
362
|
+
### v2.1.2
|
|
363
|
+
- 🎨 简化供应商配置,移除手动 ID 设置
|
|
364
|
+
- ✨ 优化首次运行体验
|
|
370
365
|
|
|
371
|
-
|
|
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
|
-
|
|
391
|
+
**迁移步骤**:
|
|
376
392
|
|
|
377
|
-
|
|
393
|
+
1. 卸载 v1.x 版本
|
|
394
|
+
2. 清理 shell 配置文件中的相关内容
|
|
395
|
+
3. 安装 v2.x 版本:`npm install -g ccman`
|
|
396
|
+
4. 运行 `ccman` 重新配置
|
|
378
397
|
|
|
379
|
-
|
|
380
|
-
- Modified shell configuration files
|
|
381
|
-
- Used environment variables
|
|
382
|
-
- Complex shell integration
|
|
398
|
+
## 🤝 贡献
|
|
383
399
|
|
|
384
|
-
|
|
385
|
-
- Modifies `~/.claude/settings.json` directly
|
|
386
|
-
- Provider-based configuration
|
|
387
|
-
- Language support
|
|
388
|
-
- Simplified, safer approach
|
|
400
|
+
我们欢迎各种形式的贡献!
|
|
389
401
|
|
|
390
|
-
|
|
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
|
-
|
|
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>
|