ccem 1.8.1 → 2.0.0-beta.10
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/dist/index.js +3451 -24
- package/package.json +27 -20
- package/scripts/convert-ansi-to-ts.js +55 -0
- package/scripts/generate-logo.sh +63 -0
- package/scripts/migrate.js +44 -0
- package/README.md +0 -536
package/README.md
DELETED
|
@@ -1,536 +0,0 @@
|
|
|
1
|
-
# Claude Code Env Manager
|
|
2
|
-
|
|
3
|
-
优雅的使用 Claude Code 🍷
|
|
4
|
-
|
|
5
|
-
切换 API 服务商、配置权限模式、查看用量统计、安装 Skills。
|
|
6
|
-
|
|
7
|
-
[](https://www.npmjs.com/package/ccem)
|
|
8
|
-
[](https://github.com/genuifx/claude-code-env-manager/blob/main/LICENSE)
|
|
9
|
-
|
|
10
|
-

|
|
11
|
-
|
|
12
|
-
## 这工具干嘛的
|
|
13
|
-
|
|
14
|
-
用 Claude Code 的人可能会遇到几个烦心事:
|
|
15
|
-
|
|
16
|
-
- 想用国产模型(GLM、KIMI、DeepSeek、MiniMax)但每次都要手动设置环境变量
|
|
17
|
-
- 每次执行命令都要点"允许",烦死了,但又不想用 `--dangerously-skip-permissions`
|
|
18
|
-
- 想知道这个月花了多少钱,但 Claude 没有用量统计界面
|
|
19
|
-
- 团队想共享 API 配置,但不想把密钥明文传来传去
|
|
20
|
-
- 想快速安装官方和社区的 Skills,但手动 clone 太麻烦
|
|
21
|
-
|
|
22
|
-
ccem 就是解决这些问题的。
|
|
23
|
-
|
|
24
|
-
## 功能特性
|
|
25
|
-
|
|
26
|
-
- 🔄 **环境切换** - 一键切换 API 服务商(官方/GLM/KIMI/DeepSeek/MiniMax)
|
|
27
|
-
- 🔐 **权限管理** - 6 种预设权限模式,在安全和便捷之间找平衡
|
|
28
|
-
- 📊 **用量统计** - 日历热力图 + 按模型统计 + 费用计算
|
|
29
|
-
- 🛠️ **Skill 管理** - 从官方/GitHub/Plugin Marketplace 安装 Skills
|
|
30
|
-
- 🌐 **远程配置** - 团队共享 API 配置,加密传输
|
|
31
|
-
- ⚡ **性能优化** - 增量缓存、流式解析、后台更新
|
|
32
|
-
|
|
33
|
-
## 安装
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
npm install -g ccem
|
|
37
|
-
# 或
|
|
38
|
-
pnpm add -g ccem
|
|
39
|
-
# 或直接跑
|
|
40
|
-
npx ccem
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
## 快速上手
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
ccem # 进入交互菜单
|
|
47
|
-
ccem add kimi # 添加 KIMI 环境,自动填好 URL 和模型
|
|
48
|
-
ccem use kimi # 切换到 KIMI
|
|
49
|
-
ccem dev # 用开发模式启动 Claude Code(临时)
|
|
50
|
-
ccem --mode # 查看当前权限模式
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-

|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
## 环境管理
|
|
58
|
-
|
|
59
|
-
### 交互菜单
|
|
60
|
-
|
|
61
|
-
运行 `ccem` 会看到一个菜单:
|
|
62
|
-
|
|
63
|
-
| 选项 | 干嘛用 |
|
|
64
|
-
|------|--------|
|
|
65
|
-
| Start Claude Code | 启动,如果设了默认权限模式会自动带上 |
|
|
66
|
-
| Switch Environment | 切换 API 环境 |
|
|
67
|
-
| Permission Mode | 选个权限模式再启动 |
|
|
68
|
-
| View Usage | 看用量和花费(带日历热力图) |
|
|
69
|
-
| Set Default Mode | 设置默认权限模式 |
|
|
70
|
-
|
|
71
|
-
### 命令
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
ccem ls # 列出所有环境
|
|
75
|
-
ccem use <name> # 切换环境
|
|
76
|
-
ccem add <name> # 添加环境
|
|
77
|
-
ccem del <name> # 删除环境(official 删不掉)
|
|
78
|
-
ccem current # 当前用的哪个环境
|
|
79
|
-
ccem env # 输出 export 命令,配合 eval 用
|
|
80
|
-
ccem env --json # 输出 JSON
|
|
81
|
-
ccem run <command> # 带着环境变量跑命令
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
### 内置预设
|
|
85
|
-
|
|
86
|
-
添加环境时可以选预设,省得自己填 URL:
|
|
87
|
-
|
|
88
|
-
| 预设 | Base URL | 主模型 | 快速模型 |
|
|
89
|
-
|------|----------|--------|----------|
|
|
90
|
-
| GLM(智谱) | `https://open.bigmodel.cn/api/anthropic` | glm-4.6 | glm-4.5-air |
|
|
91
|
-
| KIMI(月之暗面) | `https://api.moonshot.cn/anthropic` | kimi-k2-thinking-turbo | kimi-k2-turbo-preview |
|
|
92
|
-
| MiniMax | `https://api.minimaxi.com/anthropic` | MiniMax-M2 | MiniMax-M2 |
|
|
93
|
-
| DeepSeek | `https://api.deepseek.com/anthropic` | deepseek-chat | deepseek-chat |
|
|
94
|
-
|
|
95
|
-
> 💡 **官方环境**:默认使用 `claude-sonnet-4-5-20250929` 和 `claude-haiku-4-5-20251001`
|
|
96
|
-
|
|
97
|
-
### Shell 集成
|
|
98
|
-
|
|
99
|
-
`ccem use` 切换环境后,当前终端的环境变量不会自动更新。加这段到 `~/.zshrc` 或 `~/.bashrc`:
|
|
100
|
-
|
|
101
|
-
```bash
|
|
102
|
-
ccem() {
|
|
103
|
-
command ccem "$@"
|
|
104
|
-
local exit_code=$?
|
|
105
|
-
if [[ $exit_code -eq 0 ]]; then
|
|
106
|
-
if [[ "$1" == "use" || -z "$1" ]]; then
|
|
107
|
-
eval "$(command ccem env)"
|
|
108
|
-
fi
|
|
109
|
-
fi
|
|
110
|
-
return $exit_code
|
|
111
|
-
}
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
加完跑一下 `source ~/.zshrc`。
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
## 权限模式
|
|
119
|
-
|
|
120
|
-
Claude Code 默认每个操作都要确认。用 `--dangerously-skip-permissions` 又太放飞。ccem 提供 6 种预设,在"什么都要确认"和"什么都不管"之间找个平衡。
|
|
121
|
-
|
|
122
|
-
### 6 种模式
|
|
123
|
-
|
|
124
|
-
| 模式 | 图标 | 说明 | 什么时候用 |
|
|
125
|
-
|------|------|------|------------|
|
|
126
|
-
| yolo | 🔓 | 全部放开 | 自己的项目,完全信任 |
|
|
127
|
-
| dev | 💻 | 开发常用权限,屏蔽敏感文件 | 日常开发 |
|
|
128
|
-
| readonly | 👀 | 只能读不能改 | 看代码、学习 |
|
|
129
|
-
| safe | 🛡️ | 限制网络和修改 | 不熟悉的代码库 |
|
|
130
|
-
| ci | 🔧 | CI/CD 用 | 自动化流程 |
|
|
131
|
-
| audit | 🔍 | 只读 + 搜索 | 安全审计 |
|
|
132
|
-
|
|
133
|
-
### 临时模式
|
|
134
|
-
|
|
135
|
-
退出就还原,不改配置文件:
|
|
136
|
-
|
|
137
|
-
```bash
|
|
138
|
-
ccem yolo # 放飞
|
|
139
|
-
ccem dev # 开发
|
|
140
|
-
ccem readonly # 只读
|
|
141
|
-
ccem safe # 安全
|
|
142
|
-
ccem ci # CI
|
|
143
|
-
ccem audit # 审计
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
实现方式是通过 `--permission-mode`、`--allowedTools` 和 `--disallowedTools` 参数传给 Claude Code。
|
|
147
|
-
|
|
148
|
-
### 永久模式
|
|
149
|
-
|
|
150
|
-
写到 `.claude/settings.json`,下次启动还生效:
|
|
151
|
-
|
|
152
|
-
```bash
|
|
153
|
-
ccem setup perms --yolo
|
|
154
|
-
ccem setup perms --dev
|
|
155
|
-
ccem setup perms --readonly
|
|
156
|
-
ccem setup perms --safe
|
|
157
|
-
ccem setup perms --ci
|
|
158
|
-
ccem setup perms --audit
|
|
159
|
-
ccem setup perms --reset # 恢复默认
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
### 默认模式
|
|
163
|
-
|
|
164
|
-
设了默认模式后,交互菜单里点 "Start Claude Code" 会自动用这个模式:
|
|
165
|
-
|
|
166
|
-
```bash
|
|
167
|
-
ccem setup default-mode --dev # 默认用开发模式
|
|
168
|
-
ccem setup default-mode --reset # 清掉默认设置
|
|
169
|
-
ccem setup default-mode # 看当前默认是啥
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
### 查看当前权限
|
|
173
|
-
|
|
174
|
-
```bash
|
|
175
|
-
ccem --mode # 当前用的什么模式
|
|
176
|
-
ccem --list-modes # 列出所有模式
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
### 权限细节
|
|
180
|
-
|
|
181
|
-
<details>
|
|
182
|
-
<summary><b>dev 模式具体允许/禁止什么</b></summary>
|
|
183
|
-
|
|
184
|
-
**允许:**
|
|
185
|
-
- 文件:Read、Edit、Write、Glob、Grep、LSP、NotebookEdit
|
|
186
|
-
- 开发工具:npm、pnpm、yarn、bun、node、npx、git、tsc、tsx
|
|
187
|
-
- 质量工具:eslint、prettier、jest、vitest
|
|
188
|
-
- 其他:cargo、python、pip、go、make、cmake
|
|
189
|
-
- 常用命令:ls、cat、head、tail、find、wc、mkdir、cp、mv、touch
|
|
190
|
-
- WebSearch
|
|
191
|
-
|
|
192
|
-
**禁止:**
|
|
193
|
-
- 敏感文件:.env、.env.*、secrets/、*.pem、*.key、*credential*
|
|
194
|
-
- 危险命令:rm -rf、sudo、chmod、chown
|
|
195
|
-
|
|
196
|
-
</details>
|
|
197
|
-
|
|
198
|
-
<details>
|
|
199
|
-
<summary><b>safe 模式具体允许/禁止什么</b></summary>
|
|
200
|
-
|
|
201
|
-
**允许:**
|
|
202
|
-
- 只读:Read、Glob、Grep、LSP
|
|
203
|
-
- Git 查看:git status、git log、git diff
|
|
204
|
-
- 文件查看:ls、cat、head、tail、find、wc
|
|
205
|
-
|
|
206
|
-
**禁止:**
|
|
207
|
-
- 敏感文件:.env、secrets/、*.pem、*.key、*credential*、*password*
|
|
208
|
-
- 修改:Edit、Write、NotebookEdit
|
|
209
|
-
- 网络:curl、wget、ssh、scp、WebFetch
|
|
210
|
-
- 文件操作:rm、mv
|
|
211
|
-
|
|
212
|
-
</details>
|
|
213
|
-
|
|
214
|
-
---
|
|
215
|
-
|
|
216
|
-
## 用量统计
|
|
217
|
-
|
|
218
|
-
ccem 会读 Claude Code 的日志(在 `~/.claude/projects/` 下面的 JSONL 文件),统计 token 用量和费用。
|
|
219
|
-
|
|
220
|
-
价格数据从 LiteLLM 的 GitHub 仓库拉取,会缓存到本地。如果网络不可用,会依次尝试:
|
|
221
|
-
1. 本地缓存(`~/.ccem/model-prices.json`)
|
|
222
|
-
2. 内置价格文件(随 ccem 安装)
|
|
223
|
-
3. 默认价格(Claude Opus/Sonnet/Haiku)
|
|
224
|
-
|
|
225
|
-
交互菜单里选 "View Usage" 可以看详细统计,包括**日历热力图**:
|
|
226
|
-
|
|
227
|
-
```
|
|
228
|
-
Token Usage Statistics
|
|
229
|
-
────────────────────────────────────────────────────────
|
|
230
|
-
Oct Nov Dec Jan
|
|
231
|
-
Mon · ░ ▒ ▓ █ ░ · ▒ ...
|
|
232
|
-
Tue ░ ▒ · █ ▓ ░ ▒ · ...
|
|
233
|
-
Wed ▒ ▓ █ ░ · ▒ ▓ █ ...
|
|
234
|
-
...
|
|
235
|
-
|
|
236
|
-
Less · ░ ▒ ▓ █ More
|
|
237
|
-
|
|
238
|
-
────────────────────────────────────────────────────────
|
|
239
|
-
Period Input Output Cache Read Cost
|
|
240
|
-
Today 12.5K 8.2K 45.3K $0.15
|
|
241
|
-
This Week 89.2K 52.1K 312.4K $1.23
|
|
242
|
-
All Time 1.2M 823.5K 4.5M $15.67
|
|
243
|
-
|
|
244
|
-
────────────────────────────────────────────────────────
|
|
245
|
-
By Model
|
|
246
|
-
claude-sonnet-4-5 823.5K $12.34
|
|
247
|
-
claude-haiku-4-5 412.3K $3.33
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
### 性能优化
|
|
251
|
-
|
|
252
|
-
- **增量缓存**:日志解析结果缓存到 `~/.ccem/usage-cache.json`,只解析新增/修改的文件
|
|
253
|
-
- **后台更新**:打开菜单时先显示缓存数据,后台异步更新
|
|
254
|
-
- **流式解析**:大文件使用流式读取(readline),避免内存占用过高
|
|
255
|
-
- **并发控制**:限制并发解析数量(5 个),避免阻塞事件循环
|
|
256
|
-
- **缓存版本**:缓存结构变更时自动失效重建
|
|
257
|
-
|
|
258
|
-
---
|
|
259
|
-
|
|
260
|
-
## Skill 管理
|
|
261
|
-
|
|
262
|
-
可以从 GitHub 或 Plugin Marketplace 安装 Claude Code 的 Skills。装完会放到当前目录的 `.claude/skills/` 下面。
|
|
263
|
-
|
|
264
|
-
```bash
|
|
265
|
-
ccem skill add # 交互选择(Tab 切换分组)
|
|
266
|
-
ccem skill add <name> # 装预设的
|
|
267
|
-
ccem skill add <github-url> # 从 GitHub 装
|
|
268
|
-
ccem skill ls # 列出已装的
|
|
269
|
-
ccem skill rm <name> # 删掉
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
### 交互式选择器
|
|
273
|
-
|
|
274
|
-
运行 `ccem skill add` 会打开分组选择界面(使用 Ink 渲染):
|
|
275
|
-
|
|
276
|
-
```
|
|
277
|
-
🏢 官方 ⭐ 精选 📦 其他
|
|
278
|
-
|
|
279
|
-
──────────────────────────────────────────────────
|
|
280
|
-
❯ frontend-design - 创建高质量前端界面设计
|
|
281
|
-
skill-creator - 创建新的 Claude Code skills
|
|
282
|
-
web-artifacts-builder - 构建可交互的 Web 组件
|
|
283
|
-
...
|
|
284
|
-
输入自定义 GitHub URL
|
|
285
|
-
|
|
286
|
-
Tab 切换分组 | ↑↓ 选择 | Enter 确认 | Esc 取消
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
### 安装方式
|
|
290
|
-
|
|
291
|
-
ccem 支持三种安装方式:
|
|
292
|
-
|
|
293
|
-
| 类型 | 说明 | 示例 |
|
|
294
|
-
|------|------|------|
|
|
295
|
-
| preset | 官方预设,从 anthropics/skills 仓库安装 | `ccem skill add frontend-design` |
|
|
296
|
-
| github | 从任意 GitHub 仓库/子目录安装 | `ccem skill add owner/repo` |
|
|
297
|
-
| plugin | 从 Plugin Marketplace 安装(实验性) | 通过交互菜单选择 |
|
|
298
|
-
|
|
299
|
-
### 预设列表
|
|
300
|
-
|
|
301
|
-
#### 🏢 官方 Skills
|
|
302
|
-
|
|
303
|
-
| Skill | 干嘛用 |
|
|
304
|
-
|-------|--------|
|
|
305
|
-
| frontend-design | 前端界面设计 |
|
|
306
|
-
| skill-creator | 创建新 skill |
|
|
307
|
-
| web-artifacts-builder | 做可交互的 Web 组件 |
|
|
308
|
-
| canvas-design | Canvas 绘图 |
|
|
309
|
-
| algorithmic-art | 算法艺术 |
|
|
310
|
-
| theme-factory | 做 UI 主题 |
|
|
311
|
-
| mcp-builder | 做 MCP 服务器 |
|
|
312
|
-
| webapp-testing | Web 应用测试 |
|
|
313
|
-
| pdf | 处理 PDF |
|
|
314
|
-
| docx | 处理 Word |
|
|
315
|
-
| pptx | 处理 PPT |
|
|
316
|
-
| xlsx | 处理 Excel |
|
|
317
|
-
| brand-guidelines | 品牌指南 |
|
|
318
|
-
| doc-coauthoring | 文档协作 |
|
|
319
|
-
| internal-comms | 内部通信文档 |
|
|
320
|
-
| slack-gif-creator | 做 Slack GIF |
|
|
321
|
-
|
|
322
|
-
#### ⭐ 精选 Skills
|
|
323
|
-
|
|
324
|
-
| Skill | 干嘛用 |
|
|
325
|
-
|-------|--------|
|
|
326
|
-
| superpowers | Claude Code Plan 模式升级版,连续追问讨论确定开发方案 |
|
|
327
|
-
| ui-ux-pro-max | 专业 UI/UX 设计 |
|
|
328
|
-
| Humanizer-zh | 去除文本中 AI 生成痕迹,改写得更自然 |
|
|
329
|
-
|
|
330
|
-
#### 📦 其他 Skills
|
|
331
|
-
|
|
332
|
-
| Skill | 干嘛用 |
|
|
333
|
-
|-------|--------|
|
|
334
|
-
| skill-writer | 指导用户为 Claude Code 创建代理技能 |
|
|
335
|
-
|
|
336
|
-
### 从 GitHub 装
|
|
337
|
-
|
|
338
|
-
支持多种 URL 格式:
|
|
339
|
-
|
|
340
|
-
```bash
|
|
341
|
-
# 完整 URL
|
|
342
|
-
ccem skill add https://github.com/owner/repo
|
|
343
|
-
ccem skill add https://github.com/owner/repo/tree/main/path/to/skill
|
|
344
|
-
|
|
345
|
-
# 简写格式
|
|
346
|
-
ccem skill add owner/repo
|
|
347
|
-
```
|
|
348
|
-
|
|
349
|
-
> 💡 使用 git sparse-checkout 只下载指定目录,不会 clone 整个仓库
|
|
350
|
-
|
|
351
|
-
---
|
|
352
|
-
|
|
353
|
-
## 远程配置加载
|
|
354
|
-
|
|
355
|
-
团队可以部署一个配置服务器,成员用 `ccem load` 命令拉取共享的环境配置。
|
|
356
|
-
|
|
357
|
-
### 客户端使用
|
|
358
|
-
|
|
359
|
-
```bash
|
|
360
|
-
ccem load https://your-server.com/api/env?key=YOUR_KEY --secret YOUR_SECRET
|
|
361
|
-
```
|
|
362
|
-
|
|
363
|
-
- `key`:服务器分配的访问密钥
|
|
364
|
-
- `secret`:服务器启动时生成的解密密钥
|
|
365
|
-
|
|
366
|
-
加载成功后,环境会自动添加到本地配置。如果名称冲突,会自动重命名(如 `kimi` → `kimi-remote`)。
|
|
367
|
-
|
|
368
|
-
### 服务端部署
|
|
369
|
-
|
|
370
|
-
服务端代码在 `server/` 目录下。
|
|
371
|
-
|
|
372
|
-
#### 1. 配置文件
|
|
373
|
-
|
|
374
|
-
**keys.json** - 访问密钥配置:
|
|
375
|
-
```json
|
|
376
|
-
{
|
|
377
|
-
"team-key-abc123": {
|
|
378
|
-
"environments": ["kimi", "glm"]
|
|
379
|
-
},
|
|
380
|
-
"personal-key-xyz": {
|
|
381
|
-
"environments": ["deepseek"]
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
```
|
|
385
|
-
|
|
386
|
-
**environments.json** - 环境配置:
|
|
387
|
-
```json
|
|
388
|
-
{
|
|
389
|
-
"kimi": {
|
|
390
|
-
"ANTHROPIC_BASE_URL": "https://api.moonshot.cn/anthropic",
|
|
391
|
-
"ANTHROPIC_API_KEY": "sk-xxx",
|
|
392
|
-
"ANTHROPIC_MODEL": "kimi-k2-thinking-turbo"
|
|
393
|
-
},
|
|
394
|
-
"glm": {
|
|
395
|
-
"ANTHROPIC_BASE_URL": "https://open.bigmodel.cn/api/anthropic",
|
|
396
|
-
"ANTHROPIC_API_KEY": "xxx.xxx",
|
|
397
|
-
"ANTHROPIC_MODEL": "glm-4.6"
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
```
|
|
401
|
-
|
|
402
|
-
#### 2. 启动服务
|
|
403
|
-
|
|
404
|
-
```bash
|
|
405
|
-
cd server
|
|
406
|
-
npm install
|
|
407
|
-
node index.js
|
|
408
|
-
```
|
|
409
|
-
|
|
410
|
-
启动后会显示 `secret`,分发给团队成员用于 `--secret` 参数。
|
|
411
|
-
|
|
412
|
-
#### 3. 安全特性
|
|
413
|
-
|
|
414
|
-
- **AES-256-CBC 加密**:API Key 在传输中加密
|
|
415
|
-
- **Rate Limiting**:每分钟最多 10 次请求
|
|
416
|
-
- **指数退避**:连续失败后冷却时间递增(最长 30 分钟)
|
|
417
|
-
- **Helmet**:安全响应头
|
|
418
|
-
- **热加载**:修改配置文件无需重启服务
|
|
419
|
-
|
|
420
|
-
#### 4. 生产部署
|
|
421
|
-
|
|
422
|
-
推荐使用 PM2:
|
|
423
|
-
|
|
424
|
-
```bash
|
|
425
|
-
pm2 start ecosystem.config.cjs
|
|
426
|
-
```
|
|
427
|
-
|
|
428
|
-
配合 nginx 反代,记得设置 `trust proxy`。
|
|
429
|
-
|
|
430
|
-
---
|
|
431
|
-
|
|
432
|
-
## 初始化
|
|
433
|
-
|
|
434
|
-
新装 Claude Code 后可以跑一下:
|
|
435
|
-
|
|
436
|
-
```bash
|
|
437
|
-
ccem setup init
|
|
438
|
-
```
|
|
439
|
-
|
|
440
|
-
会做三件事:
|
|
441
|
-
|
|
442
|
-
1. 设置 `hasCompletedOnboarding: true`,跳过新手引导
|
|
443
|
-
2. 禁用遥测(设置 `DISABLE_TELEMETRY=1`、`DISABLE_ERROR_REPORTING=1`、`DISABLE_BUG_COMMAND=1`)
|
|
444
|
-
3. 装 `chrome-devtools` MCP 工具(用于浏览器调试)
|
|
445
|
-
|
|
446
|
-
配置写到:
|
|
447
|
-
- `~/.claude.json`
|
|
448
|
-
- `~/.claude/settings.json`
|
|
449
|
-
|
|
450
|
-
---
|
|
451
|
-
|
|
452
|
-
## 命令速查
|
|
453
|
-
|
|
454
|
-
### 环境
|
|
455
|
-
|
|
456
|
-
| 命令 | 说明 |
|
|
457
|
-
|------|------|
|
|
458
|
-
| `ccem` | 交互菜单 |
|
|
459
|
-
| `ccem ls` | 列出环境 |
|
|
460
|
-
| `ccem use <name>` | 切换 |
|
|
461
|
-
| `ccem add <name>` | 添加 |
|
|
462
|
-
| `ccem del <name>` | 删除 |
|
|
463
|
-
| `ccem current` | 当前环境 |
|
|
464
|
-
| `ccem env` | 输出环境变量 |
|
|
465
|
-
| `ccem env --json` | JSON 格式 |
|
|
466
|
-
| `ccem run <cmd>` | 带环境变量跑命令 |
|
|
467
|
-
| `ccem load <url> --secret <s>` | 从远程加载配置 |
|
|
468
|
-
|
|
469
|
-
### 权限(临时)
|
|
470
|
-
|
|
471
|
-
| 命令 | 说明 |
|
|
472
|
-
|------|------|
|
|
473
|
-
| `ccem yolo` | 🔓 YOLO 模式(全部放开) |
|
|
474
|
-
| `ccem dev` | 💻 开发模式 |
|
|
475
|
-
| `ccem readonly` | 👀 只读模式 |
|
|
476
|
-
| `ccem safe` | 🛡️ 安全模式 |
|
|
477
|
-
| `ccem ci` | 🔧 CI 模式 |
|
|
478
|
-
| `ccem audit` | 🔍 审计模式 |
|
|
479
|
-
| `ccem --mode` | 看当前模式 |
|
|
480
|
-
| `ccem --list-modes` | 列出所有模式 |
|
|
481
|
-
|
|
482
|
-
### 权限(永久)
|
|
483
|
-
|
|
484
|
-
| 命令 | 说明 |
|
|
485
|
-
|------|------|
|
|
486
|
-
| `ccem setup perms --<mode>` | 永久应用 |
|
|
487
|
-
| `ccem setup perms --reset` | 重置 |
|
|
488
|
-
| `ccem setup default-mode --<mode>` | 设默认模式 |
|
|
489
|
-
| `ccem setup default-mode --reset` | 清默认模式 |
|
|
490
|
-
| `ccem setup default-mode` | 看默认模式 |
|
|
491
|
-
|
|
492
|
-
### Skill
|
|
493
|
-
|
|
494
|
-
| 命令 | 说明 |
|
|
495
|
-
|------|------|
|
|
496
|
-
| `ccem skill add` | 交互添加(分组选择) |
|
|
497
|
-
| `ccem skill add <name>` | 添加预设 |
|
|
498
|
-
| `ccem skill add <url>` | 从 GitHub 添加 |
|
|
499
|
-
| `ccem skill ls` | 列出已装 |
|
|
500
|
-
| `ccem skill rm <name>` | 删除 |
|
|
501
|
-
|
|
502
|
-
### 初始化
|
|
503
|
-
|
|
504
|
-
| 命令 | 说明 |
|
|
505
|
-
|------|------|
|
|
506
|
-
| `ccem setup init` | 初始化配置 |
|
|
507
|
-
|
|
508
|
-
---
|
|
509
|
-
|
|
510
|
-
## 数据存哪了
|
|
511
|
-
|
|
512
|
-
| 路径 | 内容 |
|
|
513
|
-
|------|------|
|
|
514
|
-
| `~/.config/claude-code-env-manager/` | 环境配置(加密存储 API Key) |
|
|
515
|
-
| `~/.ccem/usage-cache.json` | 用量缓存(增量解析结果) |
|
|
516
|
-
| `~/.ccem/model-prices.json` | 价格缓存(从 LiteLLM 拉取) |
|
|
517
|
-
| `.claude/settings.json` | 项目权限配置 |
|
|
518
|
-
| `.claude/skills/` | 已装的 skills |
|
|
519
|
-
|
|
520
|
-
---
|
|
521
|
-
|
|
522
|
-
## 技术栈
|
|
523
|
-
|
|
524
|
-
- **CLI 框架**: Commander.js
|
|
525
|
-
- **配置存储**: Conf(加密存储敏感信息)
|
|
526
|
-
- **交互界面**: Inquirer.js + Ink (React for CLI)
|
|
527
|
-
- **表格渲染**: cli-table3
|
|
528
|
-
- **样式**: Chalk
|
|
529
|
-
|
|
530
|
-
## Contributing
|
|
531
|
-
|
|
532
|
-
欢迎提 Issue 和 PR!
|
|
533
|
-
|
|
534
|
-
## License
|
|
535
|
-
|
|
536
|
-
MIT
|