ccman 2.1.3 → 2.1.5

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 (54) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +201 -301
  3. package/README_en.md +294 -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 +1 -1
  13. package/dist/core/ClaudeConfigManager.d.ts.map +1 -1
  14. package/dist/core/ClaudeConfigManager.js +2 -4
  15. package/dist/core/ClaudeConfigManager.js.map +1 -1
  16. package/package.json +24 -3
  17. package/.editorconfig +0 -15
  18. package/.env.development +0 -3
  19. package/.env.production +0 -3
  20. package/.eslintrc.js +0 -28
  21. package/.github/workflows/release.yml +0 -99
  22. package/.prettierrc +0 -10
  23. package/CLAUDE.md +0 -279
  24. package/README_zh.md +0 -394
  25. package/dev-test.sh +0 -40
  26. package/docs/npm-publish-guide.md +0 -71
  27. package/docs/release-guide.md +0 -144
  28. package/docs/scripts-guide.md +0 -221
  29. package/docs/version-management.md +0 -64
  30. package/jest.config.js +0 -22
  31. package/release-temp/README.md +0 -394
  32. package/release-temp/package.json +0 -61
  33. package/scripts/build-env.js +0 -75
  34. package/scripts/modules/check-uncommitted.sh +0 -109
  35. package/scripts/modules/create-tag.sh +0 -279
  36. package/scripts/modules/monitor-release.sh +0 -296
  37. package/scripts/modules/version-bump.sh +0 -262
  38. package/scripts/publish-local.sh +0 -91
  39. package/scripts/quick-release.sh +0 -100
  40. package/scripts/release.sh +0 -430
  41. package/scripts/smart-release-v3.sh +0 -283
  42. package/scripts/smart-release.sh +0 -322
  43. package/src/cli.ts +0 -598
  44. package/src/commands/lang.ts +0 -105
  45. package/src/core/CCMConfigManager.ts +0 -259
  46. package/src/core/ClaudeConfigManager.ts +0 -141
  47. package/src/i18n/LanguageManager.ts +0 -169
  48. package/src/i18n/messages.ts +0 -233
  49. package/src/index.ts +0 -4
  50. package/src/providers/ProviderManager.ts +0 -412
  51. package/src/types/index.ts +0 -101
  52. package/src/utils/env-config.ts +0 -53
  53. package/src/utils/version.ts +0 -16
  54. package/tsconfig.json +0 -25
package/CLAUDE.md DELETED
@@ -1,279 +0,0 @@
1
- # CLAUDE.md
2
-
3
- This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
-
5
- ## Project Overview
6
-
7
- CCM (Claude Code Manager) 是一个 TypeScript 命令行工具,用于管理 Claude Code API 配置。新架构直接修改 `~/.claude/settings.json` 文件实现配置切换,无需 shell 集成。
8
-
9
- ## 新架构设计 (v2.0.0)
10
-
11
- ### 核心理念
12
- - **直接配置修改**: 直接修改 `~/.claude/settings.json` 实现配置切换
13
- - **多供应商支持**: 在 `~/.ccman/providers/` 目录存储多个供应商配置
14
- - **零 shell 依赖**: 无需修改 shell 配置文件,立即生效
15
- - **安全备份**: 每次切换前自动备份当前配置
16
-
17
- ### 目录结构
18
- ```
19
- ~/.ccman/
20
- ├── config.json # CCM 主配置文件
21
- ├── providers/ # 供应商配置目录
22
- │ ├── anthropic.json # Anthropic 官方配置
23
- │ ├── packycode.json # Packycode 配置
24
- │ └── custom.json # 其他自定义配置
25
- └── backups/ # 配置备份目录(未来功能)
26
- ```
27
-
28
- ### 项目结构
29
- ```
30
- src/
31
- ├── types/ # TypeScript 类型定义
32
- ├── core/ # 核心模块
33
- │ ├── CCMConfigManager.ts # CCM 配置管理
34
- │ └── ClaudeConfigManager.ts # Claude 配置管理
35
- ├── providers/ # 供应商管理
36
- │ └── ProviderManager.ts # 供应商业务逻辑
37
- ├── cli.ts # CLI 入口点
38
- └── index.ts # 模块导出
39
- ```
40
-
41
- ## 配置文件结构
42
-
43
- ### CCM 主配置 (~/.ccman/config.json)
44
- ```json
45
- {
46
- "currentProvider": "anthropic",
47
- "claudeConfigPath": "~/.claude/settings.json",
48
- "providers": {
49
- "anthropic": {
50
- "name": "Anthropic Official",
51
- "configFile": "anthropic.json",
52
- "lastUsed": "2025-01-15T10:30:00.000Z"
53
- }
54
- },
55
- "metadata": {
56
- "version": "2.0.0",
57
- "createdAt": "2025-01-10T08:00:00.000Z",
58
- "updatedAt": "2025-01-15T10:30:00.000Z"
59
- }
60
- }
61
- ```
62
-
63
- ### 供应商配置 (~/.ccman/providers/anthropic.json)
64
- ```json
65
- {
66
- "name": "Anthropic Official",
67
- "description": "Official Anthropic API",
68
- "config": {
69
- "env": {
70
- "ANTHROPIC_AUTH_TOKEN": "sk-xxx",
71
- "ANTHROPIC_BASE_URL": "https://api.anthropic.com",
72
- "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1,
73
- "CLAUDE_CODE_MAX_OUTPUT_TOKENS": 32000
74
- },
75
- "permissions": {
76
- "allow": [],
77
- "deny": []
78
- },
79
- "apiKeyHelper": "echo 'sk-xxx'"
80
- },
81
- "metadata": {
82
- "createdAt": "2025-01-10T08:00:00.000Z",
83
- "updatedAt": "2025-01-15T10:30:00.000Z",
84
- "usageCount": 25
85
- }
86
- }
87
- ```
88
-
89
- ## 命令使用
90
-
91
- ### 开发命令
92
- ```bash
93
- npm run build # 编译 TypeScript
94
- npm run dev # 开发模式运行
95
- npm start # 运行编译后的程序
96
- npm run clean # 清理构建文件
97
- npm run lint # 代码检查
98
- ```
99
-
100
- ### 基础使用(精简版)
101
- ```bash
102
- # 核心命令(6个)
103
- ccman # 交互式菜单(默认入口)
104
- ccman ls # 智能列表显示(合并原status信息)
105
- ccman ls --current # 显示当前供应商详情(替代原current)
106
- ccman ls --brief # 简洁模式显示
107
- ccman add <id> <name> <url> [key] # 添加供应商配置
108
- ccman use <id> # 切换到指定供应商
109
- ccman rm <id> # 删除供应商配置(别名:remove)
110
- ccman clear # 清除所有配置(别名:reset)
111
- ```
112
-
113
- ### 命令详解
114
- ```bash
115
- # 默认交互模式 - 最直观的入口
116
- ccman # 进入菜单,包含所有操作(添加/切换/更新/删除/状态)
117
-
118
- # 智能列表命令 - 整合了多种信息显示
119
- ccman ls # 显示所有供应商 + 系统状态信息
120
- ccman ls --current # 仅显示当前供应商的详细信息
121
- ccman ls --brief # 简洁模式,仅显示供应商名称和ID
122
-
123
- # 快速操作命令 - 适合脚本和熟练用户
124
- ccman add <id> <name> <url> [key] -d "description" # 添加时指定描述
125
- ccman use <id> # 快速切换
126
- ccman rm <id> # 快速删除
127
- ccman clear # 重置所有配置
128
- ```
129
-
130
- ## 核心类型定义
131
-
132
- ### ClaudeSettings
133
- Claude settings.json 的标准结构
134
- ```typescript
135
- interface ClaudeSettings {
136
- env: {
137
- ANTHROPIC_AUTH_TOKEN: string;
138
- ANTHROPIC_BASE_URL: string;
139
- CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC?: number;
140
- CLAUDE_CODE_MAX_OUTPUT_TOKENS?: number;
141
- };
142
- permissions: { allow: string[]; deny: string[]; };
143
- apiKeyHelper: string;
144
- }
145
- ```
146
-
147
- ### ProviderConfig
148
- 供应商配置结构
149
- ```typescript
150
- interface ProviderConfig {
151
- name: string;
152
- description: string;
153
- config: ClaudeSettings;
154
- metadata: {
155
- createdAt: string;
156
- updatedAt: string;
157
- usageCount: number;
158
- };
159
- }
160
- ```
161
-
162
- ## 关键特性
163
-
164
- ### 1. 直接配置修改
165
- - 直接读写 `~/.claude/settings.json`
166
- - **选择性覆盖**: 只修改CCM管理的key,保留用户其他配置
167
- - 无需重启终端或 source 任何文件
168
- - 配置切换立即生效
169
-
170
- #### CCM管理的配置项
171
- ```json
172
- {
173
- "env": {
174
- "ANTHROPIC_AUTH_TOKEN": "...", // ✅ CCM管理
175
- "ANTHROPIC_BASE_URL": "...", // ✅ CCM管理
176
- "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1, // ✅ CCM管理
177
- "CLAUDE_CODE_MAX_OUTPUT_TOKENS": 32000 // ✅ CCM管理
178
- },
179
- "permissions": {
180
- "allow": [], // ✅ CCM管理
181
- "deny": [] // ✅ CCM管理
182
- },
183
- "apiKeyHelper": "..." // ✅ CCM管理
184
- }
185
- ```
186
-
187
- #### 用户配置保护
188
- - 保留所有其他用户自定义配置项
189
- - 保留 `env` 中其他环境变量
190
- - 保留 `permissions` 中其他权限设置
191
- - 保留所有非CCM管理的顶级配置项
192
-
193
- ### 2. 自动备份机制
194
- - 每次切换前自动备份当前配置
195
- - 备份文件带时间戳,便于恢复
196
- - 防止配置丢失和冲突
197
-
198
- ### 3. 交互式界面
199
- - 使用 inquirer.js 提供友好的交互体验
200
- - 彩色输出和进度反馈
201
- - 确认提示防止误操作
202
-
203
- ### 4. 类型安全
204
- - 完整的 TypeScript 类型定义
205
- - 编译时错误检查
206
- - 严格的接口约束
207
-
208
- ## 安全注意事项
209
-
210
- ### 🚨 开发时的重要限制
211
-
212
- **绝对禁止修改以下文件(会导致系统不可用):**
213
- - `~/.ccman/config.json` - 现有历史配置文件
214
- - `~/.claude/settings.json` - Claude Code 配置文件
215
-
216
- **开发时的安全做法:**
217
- 1. **使用测试目录**: 开发时使用 `~/.ccman-dev/` 或其他测试目录
218
- 2. **配置隔离**: 通过环境变量指定不同的配置路径
219
- 3. **备份验证**: 修改前确保备份机制正常工作
220
- 4. **分步测试**: 先测试读取,再测试写入功能
221
-
222
- ### 开发环境配置
223
- ```bash
224
- # 设置开发环境配置路径
225
- export CCM_CONFIG_DIR="~/.ccman-dev"
226
- export CLAUDE_CONFIG_PATH="~/.claude/settings-dev.json"
227
-
228
- # 或在代码中使用环境变量
229
- const configDir = process.env.CCM_CONFIG_DIR || path.join(os.homedir(), '.ccman');
230
- ```
231
-
232
- ## 构建和部署
233
-
234
- ### TypeScript 编译
235
- - 目标: ES2020, CommonJS 模块
236
- - 输出: `dist/` 目录,包含源映射
237
- - CLI 入口: `dist/cli.js` 带正确的 shebang
238
-
239
- ### 依赖管理
240
- - 使用 pnpm 管理依赖
241
- - 包含所有必要的类型声明
242
- - 严格的版本控制
243
-
244
- ## 测试方法
245
-
246
- ### 功能测试
247
- - CLI 命令交互测试
248
- - 文件系统操作验证
249
- - 配置切换流程测试
250
- - 错误处理验证
251
-
252
- ### 安全测试
253
- - 备份机制验证
254
- - 权限检查
255
- - 配置文件完整性
256
- - 回滚功能测试
257
-
258
- ## 未来改进
259
-
260
- ### 计划功能
261
- - 配置模板和预设
262
- - 批量配置管理
263
- - 网络连接测试
264
- - 配置迁移工具
265
- - 增强的错误诊断
266
-
267
- ### 架构优化
268
- - 插件化供应商支持
269
- - 配置验证和修复
270
- - 更好的备份策略
271
- - 性能优化
272
-
273
- ## 开发注意事项
274
-
275
- - **测试优先**: 修改任何配置管理逻辑前先测试
276
- - **备份验证**: 确保每次操作都有可靠的备份
277
- - **用户体验**: 提供清晰的反馈和错误信息
278
- - **向后兼容**: 考虑现有用户的配置迁移
279
- - **安全第一**: 绝不能破坏用户的现有配置
package/README_zh.md DELETED
@@ -1,394 +0,0 @@
1
- # CCM - Claude Code Manager v2.0
2
-
3
- 基于 TypeScript 的命令行工具,通过**直接 settings.json 集成**和**智能语言支持**管理多个 Claude Code API 供应商配置。
4
-
5
- > [English Documentation](./README.md) | **中文文档**
6
-
7
- ## ✨ v2.0 新特性
8
-
9
- 🌍 **智能语言支持** - 自动检测系统语言或引导首次运行设置
10
- 🔧 **直接 Claude 集成** - 直接修改 `~/.claude/settings.json`,无需 shell 变量
11
- 📁 **供应商管理** - 存储和切换多个 API 供应商配置
12
- 🎯 **交互式菜单系统** - 支持连续操作的导航选项
13
- ⚡ **零配置体验** - 开箱即用的智能默认设置
14
-
15
- ## 🚀 快速开始
16
-
17
- ### 安装
18
-
19
- ```bash
20
- # 从 NPM 安装
21
- npm install -g ccman
22
-
23
- # 或者开发环境安装依赖
24
- npm install && npm run build
25
- ```
26
-
27
- ### 首次运行体验
28
-
29
- ```bash
30
- # 启动 CCM(首次运行)
31
- ccman
32
-
33
- 🌍 Welcome to CCM! / 欢迎使用 CCM!
34
-
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
- ✓ 语言已设置为中文
45
- ✓ 您可以稍后使用以下命令更改:ccman lang set <zh|en|auto>
46
- ```
47
-
48
- ### 基本用法
49
-
50
- ```bash
51
- # 交互式主菜单(推荐)
52
- ccman
53
-
54
- # 列出所有供应商
55
- ccman ls
56
-
57
- # 直接添加供应商
58
- ccman add <id> <name> <baseUrl> [apiKey]
59
-
60
- # 切换供应商
61
- ccman use <id>
62
-
63
- # 删除供应商
64
- ccman rm <id>
65
- ```
66
-
67
- ## 🌐 语言管理
68
-
69
- ### 语言命令
70
- ```bash
71
- ccman lang # 显示当前语言设置
72
- ccman lang set zh # 设置为中文
73
- ccman lang set en # 设置为英文
74
- ccman lang set auto # 基于系统自动检测
75
- ccman lang reset # 重置为首次运行状态
76
- ```
77
-
78
- ### 支持的语言
79
- - **中文 (zh)** - 完整中文界面
80
- - **英文 (en)** - Full English interface
81
- - **自动检测** - 基于系统 `LANG` 环境变量
82
-
83
- ### 语言检测逻辑
84
- - 英文环境 (`en-*`) → 英文界面
85
- - 其他环境(包括 `zh-*`、未设置等)→ 中文界面
86
- - 随时可手动覆盖
87
-
88
- ## 📖 命令参考
89
-
90
- ### 核心供应商管理
91
- ```bash
92
- ccman # 交互式菜单(默认)
93
- ccman add <id> <name> <url> [key] # 添加新供应商
94
- ccman use <id> # 切换到供应商
95
- ccman ls # 列出所有供应商
96
- ccman ls --current # 显示当前供应商详情
97
- ccman ls --brief # 简洁供应商列表
98
- ccman rm <id> # 删除供应商
99
- ccman clear # 删除所有供应商(危险操作)
100
- ```
101
-
102
- ### 语言管理
103
- ```bash
104
- ccman lang # 显示当前语言
105
- ccman lang set <zh|en|auto> # 设置语言偏好
106
- ccman lang reset # 重置为首次运行状态
107
- ```
108
-
109
- ## 🎯 交互式体验
110
-
111
- ### 主菜单导航
112
- ```bash
113
- $ ccman
114
-
115
- ? 您想要执行什么操作?
116
- ❯ 切换供应商
117
- 添加新供应商
118
- 更新供应商
119
- 删除供应商
120
- 显示详细状态
121
- 退出
122
-
123
- # 每次操作后:
124
- ? 是否要执行其他操作? (Y/n)
125
- ```
126
-
127
- ### 供应商添加流程
128
- ```bash
129
- $ ccman add
130
-
131
- ? 供应商ID(唯一标识符): my-provider
132
- ? 供应商名称: 我的自定义API
133
- ? 描述: 我的自定义Claude API
134
- ? 基础URL: https://api.mycustom.com
135
- ? API密钥: ****************
136
-
137
- ✓ 供应商添加成功
138
- ? 将"我的自定义API"设为当前供应商? (Y/n)
139
- ✓ 供应商切换成功
140
- Claude Code 配置已成功更新!
141
- ```
142
-
143
- ## 🔧 架构概览
144
-
145
- ### 直接 Claude 集成
146
- CCM v2.0 直接修改您的 Claude Code 设置文件:
147
-
148
- **修改前(CCM 管理)**:
149
- ```json
150
- {
151
- "env": {
152
- "ANTHROPIC_AUTH_TOKEN": "old-token",
153
- "ANTHROPIC_BASE_URL": "https://old-api.com"
154
- }
155
- }
156
- ```
157
-
158
- **修改后(CCM 更新)**:
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
- ```
173
-
174
- ### 供应商存储结构
175
- 供应商存储在 `~/.ccman/providers/`:
176
-
177
- ```
178
- ~/.ccman/
179
- ├── config.json # CCM 主配置
180
- ├── providers/ # 单独的供应商配置
181
- │ ├── anthropic.json
182
- │ ├── my-provider.json
183
- │ └── staging.json
184
- ```
185
-
186
- ### 配置合并
187
- CCM 只更新 Claude 相关的键,保留您的现有设置:
188
- - ✅ 保留:`mcpServers`、`model`、`customUserConfig` 等
189
- - 🔄 更新:`env.ANTHROPIC_*`、`permissions`、`apiKeyHelper`
190
-
191
- ## 📊 供应商配置
192
-
193
- ### 供应商结构
194
- ```json
195
- {
196
- "name": "Anthropic Official",
197
- "description": "Anthropic 官方 API 配置",
198
- "config": {
199
- "env": {
200
- "ANTHROPIC_AUTH_TOKEN": "your-token",
201
- "ANTHROPIC_BASE_URL": "https://api.anthropic.com",
202
- "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1
203
- },
204
- "permissions": { "allow": [], "deny": [] },
205
- "apiKeyHelper": "echo 'your-token'"
206
- },
207
- "metadata": {
208
- "createdAt": "2025-01-15T10:30:00.000Z",
209
- "updatedAt": "2025-01-15T10:30:00.000Z",
210
- "usageCount": 5
211
- }
212
- }
213
- ```
214
-
215
- ### 主配置
216
- ```json
217
- {
218
- "currentProvider": "anthropic",
219
- "claudeConfigPath": "/Users/user/.claude/settings.json",
220
- "providers": {
221
- "anthropic": {
222
- "name": "Anthropic Official",
223
- "configFile": "anthropic.json",
224
- "lastUsed": "2025-01-15T10:30:00.000Z"
225
- }
226
- },
227
- "settings": {
228
- "language": "zh",
229
- "firstRun": false
230
- },
231
- "metadata": {
232
- "version": "2.0.0",
233
- "createdAt": "2025-01-15T10:00:00.000Z",
234
- "updatedAt": "2025-01-15T10:30:00.000Z"
235
- }
236
- }
237
- ```
238
-
239
- ## 💡 使用示例
240
-
241
- ### 完整首次设置
242
- ```bash
243
- # 首次运行 - 语言选择
244
- ccman
245
- # → 语言选择向导
246
- # → 未找到供应商,引导创建
247
- # → 自动更新 Claude 设置
248
-
249
- # 添加其他供应商
250
- ccman add staging "测试API" https://staging-api.com
251
- ccman add dev "开发环境" https://dev-api.com
252
-
253
- # 在供应商间切换
254
- ccman use staging
255
- ccman use dev
256
- ccman use anthropic
257
- ```
258
-
259
- ### 多供应商工作流
260
- ```bash
261
- # 列出所有供应商的详情
262
- ccman ls
263
- # * Anthropic Official (anthropic) - https://api.anthropic.com
264
- # 测试API (staging) - https://staging-api.com
265
- # 开发环境 (dev) - https://dev-api.com
266
-
267
- # 切换到测试环境
268
- ccman use staging
269
- # ✓ 供应商切换成功
270
- # ✓ Claude Code 配置已成功更新!
271
-
272
- # 检查当前供应商
273
- ccman ls --current
274
- # 当前供应商: 测试API (staging)
275
- # 基础URL: https://staging-api.com
276
- # 使用次数: 3 次
277
- # 最后更新: 2025-01-15 10:30:15
278
- ```
279
-
280
- ### 语言切换
281
- ```bash
282
- # 检查当前语言
283
- ccman lang
284
- # 当前语言: 中文 (Chinese)
285
-
286
- # 切换到英文
287
- ccman lang set en
288
- # ✓ 语言切换成功
289
- # Current language: English
290
-
291
- # 设置自动检测
292
- ccman lang set auto
293
- # ✓ 语言切换成功
294
- # 当前语言: 自动检测 (Auto-detect)
295
- # 自动检测结果: English
296
- ```
297
-
298
- ## 🛠️ 开发设置
299
-
300
- ### 开发环境
301
- CCM 支持隔离的开发环境:
302
-
303
- ```bash
304
- # 设置开发路径
305
- export CCM_CONFIG_DIR=".ccman-dev"
306
- export CLAUDE_CONFIG_PATH="$HOME/.claude/settings-dev.json"
307
-
308
- # 使用开发模式
309
- npm run dev
310
-
311
- # 生产环境构建
312
- npm run build
313
-
314
- # 测试构建版本
315
- npm start
316
- ```
317
-
318
- ### 开发命令
319
- ```bash
320
- npm run dev # 使用 tsx 的开发模式
321
- npm run build # TypeScript 编译
322
- npm run start # 运行构建后的 CLI
323
- npm run clean # 删除 dist/ 目录
324
- npm run lint # ESLint TypeScript 文件检查
325
- npm test # 运行测试(passWithNoTests)
326
- ```
327
-
328
- ## 🔍 故障排除
329
-
330
- ### 供应商问题
331
- ```bash
332
- # 供应商不工作?
333
- ccman ls --current # 检查当前供应商详情
334
- ccman use <供应商id> # 重新应用供应商配置
335
-
336
- # 设置未应用?
337
- # 检查 ~/.claude/settings.json 的更新
338
- cat ~/.claude/settings.json | grep ANTHROPIC
339
- ```
340
-
341
- ### 语言问题
342
- ```bash
343
- # 语言未切换?
344
- ccman lang # 检查当前设置
345
- ccman lang set zh # 强制中文
346
- ccman lang set en # 强制英文
347
-
348
- # 首次运行问题?
349
- ccman lang reset # 重置为首次运行状态
350
- ccman # 重新启动进行语言选择
351
- ```
352
-
353
- ### 配置问题
354
- ```bash
355
- # 配置损坏?
356
- ccman clear # 删除所有(需确认)
357
- ccman # 重新开始
358
-
359
- # 开发环境隔离
360
- export CCM_CONFIG_DIR=".ccman-dev" # 独立开发配置
361
- ```
362
-
363
- ## 📋 要求
364
-
365
- - **Node.js** >= 16.0.0
366
- - **Claude Code** 已安装且支持 settings.json
367
- - **操作系统**: Linux, macOS, Windows (WSL)
368
-
369
- ## 📄 许可证
370
-
371
- MIT 许可证 - 详见 LICENSE 文件。
372
-
373
- ---
374
-
375
- ## 🚀 从 v1.x 迁移
376
-
377
- CCM v2.0 使用完全不同的架构:
378
-
379
- ### v1.x(Shell 集成)
380
- - 修改 shell 配置文件
381
- - 使用环境变量
382
- - 复杂的 shell 集成
383
-
384
- ### v2.0(直接集成)
385
- - 直接修改 `~/.claude/settings.json`
386
- - 基于供应商的配置
387
- - 语言支持
388
- - 简化、更安全的方法
389
-
390
- **迁移**:v1.x 和 v2.x 不兼容。如果升级,请使用 `ccman clear` 重新开始。
391
-
392
- ---
393
-
394
- *CCM v2.0 - 智能、多语言、无缝的 Claude Code 供应商管理。*
package/dev-test.sh DELETED
@@ -1,40 +0,0 @@
1
- #!/bin/bash
2
-
3
- # CCM 开发测试脚本
4
- # 设置开发环境变量,避免影响生产配置
5
-
6
- echo "🔧 Setting up CCM development environment..."
7
-
8
- # 设置开发环境变量
9
- export CCM_CONFIG_DIR=".ccman-dev"
10
- export CLAUDE_CONFIG_PATH="$HOME/.claude/settings-dev.json"
11
-
12
- echo " CCM Config Directory: $HOME/$CCM_CONFIG_DIR"
13
- echo " Claude Config Path: $CLAUDE_CONFIG_PATH"
14
- echo
15
-
16
- # 创建开发用的 Claude 配置文件(如果不存在)
17
- if [ ! -f "$CLAUDE_CONFIG_PATH" ]; then
18
- echo "📝 Creating development Claude settings file..."
19
- mkdir -p "$(dirname "$CLAUDE_CONFIG_PATH")"
20
- cat > "$CLAUDE_CONFIG_PATH" << 'EOF'
21
- {
22
- "env": {
23
- "ANTHROPIC_AUTH_TOKEN": "",
24
- "ANTHROPIC_BASE_URL": "https://api.anthropic.com"
25
- },
26
- "permissions": {
27
- "allow": [],
28
- "deny": []
29
- },
30
- "apiKeyHelper": "echo ''"
31
- }
32
- EOF
33
- echo " Created: $CLAUDE_CONFIG_PATH"
34
- echo
35
- fi
36
-
37
- # 执行 CCM 命令
38
- echo "🚀 Running CCM command: $@"
39
- echo
40
- npm run dev -- "$@"