@claudecodelaunch/ccl 1.1.1 → 1.2.0
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/README.md +143 -144
- package/bin/ccl-darwin-amd64 +0 -0
- package/bin/ccl-darwin-arm64 +0 -0
- package/bin/ccl-linux-amd64 +0 -0
- package/bin/ccl-linux-arm64 +0 -0
- package/bin/ccl-win32-arm64.exe +0 -0
- package/bin/ccl-win32-x64.exe +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
`ccl` 是一个专门为 Anthropic 官方 CLI 工具 **Claude Code** 开发的多模型网关代理与极速启动器。
|
|
4
4
|
|
|
5
|
-
它可以帮助你在运行 Claude Code 时,无缝对接 OpenAI
|
|
5
|
+
它可以帮助你在运行 Claude Code 时,无缝对接 OpenAI 兼容格式的网关(如 DeepSeek、SiliconFlow、OpenRouter、OneAPI 等),实现超低成本运行。
|
|
6
6
|
|
|
7
7
|
## ✨ 核心亮点
|
|
8
8
|
|
|
@@ -12,28 +12,24 @@
|
|
|
12
12
|
- 💎 **Opus 强推理档** → 优先匹配 `deepseek-reasoner` (R1) 或 `o1`、`o3-mini`、`gpt-4o`
|
|
13
13
|
- 🚀 **Sonnet 黄金档** → 优先匹配 `deepseek-chat` (V3)、`gpt-4o`、`claude-3-5-sonnet`
|
|
14
14
|
- ⚡ **Haiku 极速档** → 优先匹配 `gpt-4o-mini`、`gpt-3.5-turbo`
|
|
15
|
-
- 若通过 `ccl set` 手动为某个档位指定了模型,则该档位的自动映射被覆盖,其余未配置的档位仍走自动映射。
|
|
16
|
-
|
|
17
|
-
> **两种模式的关系**:自动映射是兜底策略,手动槽位配置优先级更高。你可以只配置 Opus 档(指向推理模型),让 Sonnet / Haiku 继续走自动映射——完全按需混用。
|
|
15
|
+
- 若通过 `ccl set` / `ccl conf set` 手动为某个档位指定了模型,则该档位的自动映射被覆盖,其余未配置的档位仍走自动映射。
|
|
18
16
|
|
|
19
17
|
2. **零感协议翻译与流式代理**
|
|
20
18
|
- 采用本地轻量级的高性能并发 socket 服务(TCP),自动拦截并完美将 Anthropic 专有的 `Messages` 协议以及 `Streaming (SSE)` 转换为标准的 `OpenAI / Chat Completions` 协议。
|
|
21
|
-
- 完美适配 Claude Code CLI 所有的 Tools(工具调用)和 System Prompt,使用体验 100% 丝滑。
|
|
22
19
|
|
|
23
|
-
3.
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
- 外层槽位列表实时显示已启用 1M 的槽位红色 `⚡1M` 标识。
|
|
20
|
+
3. **交互式 TUI 配置向导**
|
|
21
|
+
- 全新的 bubbletea 驱动的全屏 TUI:多页表单,键盘导航(方向键 / Tab / Enter / Esc),实时协议探测与模型拉取。
|
|
22
|
+
- 支持 6 档 Reasoning Effort(`low` ~ `ultracode`)、每个槽位独立配置模型、一键启用 1M 上下文。
|
|
23
|
+
- **多语言支持**:中文 / English,运行时通过 `ccl lang` 随时切换。
|
|
28
24
|
|
|
29
25
|
4. **智能环境探针与诊断 (`ccl doctor`)**
|
|
30
26
|
- 自动检查本地环境依赖(Node.js, Claude CLI)。
|
|
31
|
-
- 如果系统未安装 Claude CLI,`ccl`
|
|
27
|
+
- 如果系统未安装 Claude CLI,`ccl` 将触发**全自动静默安装**。
|
|
32
28
|
- 提供连接探针,对各 Provider 的 Endpoint 连通性、API 鉴权密钥进行安全测试。
|
|
33
29
|
|
|
34
30
|
5. **多通道配置与灵活切换**
|
|
35
|
-
-
|
|
36
|
-
-
|
|
31
|
+
- 支持添加、切换、列出、复制、重命名、删除以及管理多个独立网关。
|
|
32
|
+
- 配置统一存储在 `~/.ccl/config.yaml`,方便备份与迁移。
|
|
37
33
|
|
|
38
34
|
---
|
|
39
35
|
|
|
@@ -44,226 +40,229 @@
|
|
|
44
40
|
npm install -g @claudecodelaunch/ccl
|
|
45
41
|
```
|
|
46
42
|
|
|
47
|
-
###
|
|
48
|
-
|
|
43
|
+
### 预编译二进制
|
|
44
|
+
前往 [GitHub Releases](https://github.com/claude-code-launch/ccl/releases) 下载适合您平台的压缩包:
|
|
49
45
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
46
|
+
| 平台 | 文件名 |
|
|
47
|
+
|------|--------|
|
|
48
|
+
| macOS Intel | `ccl-darwin-amd64` |
|
|
49
|
+
| macOS Apple Silicon | `ccl-darwin-arm64` |
|
|
50
|
+
| Linux amd64 | `ccl-linux-amd64` |
|
|
51
|
+
| Linux arm64 | `ccl-linux-arm64` |
|
|
52
|
+
| Windows x64 | `ccl-win32-x64.exe` |
|
|
53
|
+
| Windows arm64 | `ccl-win32-arm64.exe` |
|
|
54
54
|
|
|
55
|
-
下载后将其移动到您的系统 `PATH` 目录(例如 macOS/Linux 下的 `/usr/local/bin`),并赋予执行权限:
|
|
56
55
|
```bash
|
|
57
56
|
chmod +x ccl-darwin-arm64
|
|
58
57
|
mv ccl-darwin-arm64 /usr/local/bin/ccl
|
|
59
58
|
```
|
|
60
59
|
|
|
61
|
-
###
|
|
62
|
-
如果您希望从源码编译,确保您本地已经安装了 Go (推荐 1.22+)。
|
|
63
|
-
|
|
60
|
+
### 源码编译
|
|
64
61
|
```bash
|
|
65
62
|
git clone https://github.com/claude-code-launch/ccl.git
|
|
66
63
|
cd ccl
|
|
67
64
|
go build -o ccl .
|
|
68
65
|
```
|
|
69
66
|
|
|
70
|
-
###
|
|
67
|
+
### Go 安装
|
|
71
68
|
```bash
|
|
72
69
|
go install github.com/claude-code-launch/ccl@latest
|
|
73
70
|
```
|
|
74
71
|
|
|
75
|
-
⚠️ 安装完成后,需将 `$GOPATH/bin` 添加到系统 `PATH`:
|
|
76
|
-
|
|
77
|
-
```bash
|
|
78
|
-
export GOPATH=$(go env GOPATH)
|
|
79
|
-
export PATH=$PATH:$GOPATH/bin
|
|
80
|
-
source ~/.zshrc # 或 ~/.bashrc
|
|
81
|
-
```
|
|
82
|
-
|
|
83
72
|
---
|
|
84
73
|
|
|
85
|
-
## 🛠️
|
|
86
|
-
|
|
87
|
-
### 极速免配置模式 (推荐 🚀)
|
|
88
|
-
如果你已经在终端的环境变量中配置了 `OPENAI_API_KEY` 和 `OPENAI_BASE_URL`,`ccl` 将会自动识别并直接以此作为服务源,**完全零配置运行**:
|
|
89
|
-
|
|
90
|
-
```bash
|
|
91
|
-
export OPENAI_API_KEY="sk-your-deepseek-api-key"
|
|
92
|
-
export OPENAI_BASE_URL="https://api.deepseek.com"
|
|
93
|
-
ccl
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### 交互配置模式
|
|
74
|
+
## 🛠️ 命令参考
|
|
97
75
|
|
|
98
|
-
|
|
76
|
+
### `ccl set` / `ccl conf set` — 添加/更新 Provider
|
|
99
77
|
|
|
100
78
|
```bash
|
|
79
|
+
# 交互式选择已有 provider 或新建
|
|
101
80
|
ccl set
|
|
102
|
-
# 或
|
|
103
|
-
ccl conf set
|
|
104
|
-
# 或直接指定名称
|
|
105
|
-
ccl set deepseek
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
向导会引导你依次填写:
|
|
109
|
-
|
|
110
|
-
| 步骤 | 说明 |
|
|
111
|
-
|------|------|
|
|
112
|
-
| Language | 选择交互语言(中文 / English) |
|
|
113
|
-
| Provider Name | 唯一标识符,如 `deepseek`、`openrouter` |
|
|
114
|
-
| Endpoint URL | API 地址,如 `https://api.deepseek.com` |
|
|
115
|
-
| API Key | 密钥,本地存储 |
|
|
116
|
-
| 协议自动探测 | 自动识别 Anthropic / OpenAI 兼容协议 |
|
|
117
|
-
| 模型池 | 自动从接口拉取,或手动输入(逗号分隔) |
|
|
118
|
-
| **高级槽位配置** | 见下方说明(默认开启) |
|
|
119
|
-
| Effort Level | `low / medium / high / xhigh / max / ultracode` |
|
|
120
|
-
|
|
121
|
-
#### 高级槽位配置(双栏 TUI)
|
|
122
|
-
|
|
123
|
-
进入高级配置后,外层以列表形式展示四个槽位:
|
|
124
81
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
> Opus — current: devstral-2512 ⚡1M
|
|
130
|
-
Sonnet — current: mistral-medium-2505
|
|
131
|
-
Haiku — current: (not set)
|
|
132
|
-
Custom (user-defined slot) — current: (not set)
|
|
133
|
-
完成
|
|
82
|
+
# 直接指定名称新建或更新
|
|
83
|
+
ccl set my-provider
|
|
84
|
+
ccl conf set my-provider
|
|
134
85
|
```
|
|
135
86
|
|
|
136
|
-
|
|
87
|
+
无参数时弹出 **Provider 选择框**(↑↓ 选择,Enter 确认):
|
|
137
88
|
|
|
138
89
|
```
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
│
|
|
143
|
-
│
|
|
144
|
-
│
|
|
145
|
-
│
|
|
146
|
-
│
|
|
147
|
-
|
|
148
|
-
│ Tab → model list │ ╰───────────────────────────╯
|
|
149
|
-
╰────────────────────────────╯
|
|
150
|
-
|
|
151
|
-
↑↓ Navigate Enter Select Tab → model list Esc Cancel
|
|
90
|
+
┌─ Select a provider or create new: ─────────────────┐
|
|
91
|
+
│ │
|
|
92
|
+
│ ▸ + Create new provider │
|
|
93
|
+
│ deepseek │
|
|
94
|
+
│ oc1 (active) │
|
|
95
|
+
│ zhipu │
|
|
96
|
+
│ │
|
|
97
|
+
│ ↑↓ choose · enter confirm · esc cancel │
|
|
98
|
+
└─────────────────────────────────────────────────────┘
|
|
152
99
|
```
|
|
153
100
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
|
157
|
-
|
|
158
|
-
|
|
|
159
|
-
|
|
|
160
|
-
|
|
|
161
|
-
|
|
|
162
|
-
|
|
|
101
|
+
选择后进入**全屏 TUI 配置向导**,分 5 页完成:
|
|
102
|
+
|
|
103
|
+
| 页面 | 内容 | 操作 |
|
|
104
|
+
|------|------|------|
|
|
105
|
+
| Page 0 | **凭据配置** — Endpoint URL + API Key | ↑↓ 切换输入框 · Enter 下一步 |
|
|
106
|
+
| Page 1 | **Slot 映射** — Opus / Sonnet / Haiku / Custom 模型选择 | ↑↓ 选槽位 · Enter 进入模型列表 · 打字过滤 · Enter 锁定 |
|
|
107
|
+
| Page 2 | **1M 上下文** — 每槽位独立开关 | Space 切换 · Enter 下一步 |
|
|
108
|
+
| Page 3 | **Reasoning Effort** — low ~ ultracode 6 档 | ↑↓ 选择 · Enter 确认 |
|
|
109
|
+
| Page 4 | **核对保存** — 确认配置并设为激活 | ←→ 切换是/否 · Enter 保存 |
|
|
163
110
|
|
|
164
|
-
|
|
111
|
+
页面间通过 `Tab` / `Shift+Tab` 或底部按钮 `[Next]` / `[Back]` 导航。
|
|
165
112
|
|
|
166
|
-
|
|
113
|
+
### `ccl conf` — Provider 配置管理
|
|
167
114
|
|
|
168
115
|
```bash
|
|
169
|
-
#
|
|
116
|
+
# 列出所有 provider
|
|
170
117
|
ccl conf ls
|
|
171
|
-
#
|
|
172
|
-
ccl conf ls -a
|
|
118
|
+
ccl conf ls -a # 显示全部模型(默认只显示前 3 个)
|
|
173
119
|
|
|
174
|
-
#
|
|
120
|
+
# 复制配置
|
|
175
121
|
ccl conf cp source target
|
|
176
122
|
|
|
177
|
-
#
|
|
123
|
+
# 重命名
|
|
178
124
|
ccl conf mv old-name new-name
|
|
179
125
|
|
|
180
|
-
#
|
|
126
|
+
# 删除
|
|
181
127
|
ccl conf rm name
|
|
182
|
-
|
|
183
|
-
# 切换到指定 provider
|
|
184
|
-
ccl use name
|
|
185
128
|
```
|
|
186
129
|
|
|
187
|
-
|
|
130
|
+
### `ccl env` — 环境变量管理
|
|
188
131
|
|
|
189
132
|
```bash
|
|
190
|
-
#
|
|
133
|
+
# 列出所有环境变量
|
|
191
134
|
ccl env ls
|
|
192
135
|
|
|
193
|
-
#
|
|
136
|
+
# 设置/修改
|
|
194
137
|
ccl env KEY VALUE
|
|
195
138
|
|
|
196
|
-
#
|
|
139
|
+
# 重命名
|
|
197
140
|
ccl env mv OLD_KEY NEW_KEY
|
|
198
141
|
|
|
199
|
-
#
|
|
142
|
+
# 删除
|
|
200
143
|
ccl env rm KEY
|
|
201
144
|
```
|
|
202
145
|
|
|
203
|
-
|
|
146
|
+
### `ccl use` — 切换激活 Provider
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
ccl use provider-name
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### `ccl lang` — 切换显示语言
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
# 交互式选择
|
|
156
|
+
ccl lang
|
|
157
|
+
|
|
158
|
+
# 直接指定
|
|
159
|
+
ccl lang zh # 中文
|
|
160
|
+
ccl lang en # English
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
设置后立即生效并持久化到 `~/.ccl/config.yaml`。优先级:`CCL_LANG` 环境变量 > config.yaml > 系统语言。
|
|
164
|
+
|
|
165
|
+
### `ccl doctor` — 环境诊断
|
|
204
166
|
|
|
205
167
|
```bash
|
|
206
168
|
ccl doctor
|
|
207
169
|
```
|
|
208
170
|
|
|
209
|
-
|
|
171
|
+
检查本地依赖、Endpoint 连通性、API 鉴权。如果 Claude CLI 未安装,自动触发一键安装。
|
|
172
|
+
|
|
173
|
+
### `ccl list` — 查看所有 Provider
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
ccl list
|
|
177
|
+
# 或
|
|
178
|
+
ccl conf ls
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### `ccl update` — 升级
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
ccl update
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
支持通过 `npm` / `go install` 一键升级。
|
|
210
188
|
|
|
211
|
-
|
|
189
|
+
### `ccl` — 启动 Claude Code
|
|
212
190
|
|
|
213
191
|
```bash
|
|
214
192
|
# 直接启动
|
|
215
193
|
ccl
|
|
216
194
|
|
|
217
|
-
#
|
|
195
|
+
# 透传参数
|
|
218
196
|
ccl resume
|
|
219
197
|
ccl --dangerously-skip-permissions
|
|
220
198
|
ccl claude --dangerously-skip-permissions
|
|
221
199
|
```
|
|
222
200
|
|
|
223
|
-
|
|
201
|
+
---
|
|
224
202
|
|
|
225
|
-
|
|
226
|
-
|
|
203
|
+
## ⚙️ 配置存储
|
|
204
|
+
|
|
205
|
+
所有配置统一存储在 `~/.ccl/config.yaml`:
|
|
206
|
+
|
|
207
|
+
```yaml
|
|
208
|
+
active_provider: deepseek
|
|
209
|
+
lang: zh-CN
|
|
210
|
+
providers:
|
|
211
|
+
deepseek:
|
|
212
|
+
name: deepseek
|
|
213
|
+
type: openai
|
|
214
|
+
endpoint: https://api.deepseek.com
|
|
215
|
+
apikey: sk-xxx
|
|
216
|
+
model: deepseek-chat,deepseek-reasoner
|
|
217
|
+
opusModel: deepseek-reasoner
|
|
218
|
+
sonnetModel: deepseek-chat
|
|
219
|
+
effortLevel: max
|
|
227
220
|
```
|
|
228
221
|
|
|
229
|
-
自动查询最新版本,支持通过 `npm` 或 `go install` 一键覆盖更新。
|
|
230
|
-
|
|
231
222
|
---
|
|
232
223
|
|
|
233
|
-
## 🔧
|
|
224
|
+
## 🔧 CI/CD
|
|
234
225
|
|
|
235
|
-
推送符合 `v*` 规范的 tag
|
|
226
|
+
推送符合 `v*` 规范的 tag 触发自动编译发布:
|
|
236
227
|
|
|
237
228
|
```bash
|
|
238
|
-
git tag v1.
|
|
239
|
-
git push origin v1.
|
|
229
|
+
git tag v1.2.0
|
|
230
|
+
git push origin v1.2.0
|
|
240
231
|
```
|
|
241
232
|
|
|
233
|
+
GitHub Actions 自动构建 6 个平台二进制并发布到 GitHub Releases + npm。
|
|
234
|
+
|
|
242
235
|
---
|
|
243
236
|
|
|
244
237
|
## 📁 目录结构
|
|
245
238
|
|
|
246
239
|
```text
|
|
247
240
|
├── cmd/
|
|
248
|
-
│ ├──
|
|
249
|
-
│ ├──
|
|
250
|
-
│ ├──
|
|
251
|
-
│ ├──
|
|
252
|
-
│ ├──
|
|
253
|
-
│ ├──
|
|
254
|
-
│ ├──
|
|
255
|
-
│ ├──
|
|
256
|
-
│ ├──
|
|
257
|
-
│
|
|
241
|
+
│ ├── advanced_config.go # TUI 配置向导(5 页表单 + 协议探测)
|
|
242
|
+
│ ├── conf.go # Provider 配置管理(cp/ls/mv/rm/set)
|
|
243
|
+
│ ├── env.go # 环境变量管理(ls/rm/mv)
|
|
244
|
+
│ ├── set.go # set 命令入口 + RunConfSet 共享逻辑
|
|
245
|
+
│ ├── select.go # 通用 TUI 选择器组件
|
|
246
|
+
│ ├── doctor.go # 环境及密钥连通性自检
|
|
247
|
+
│ ├── install.go # Claude CLI 自动安装
|
|
248
|
+
│ ├── lang_cmd.go # ccl lang 命令
|
|
249
|
+
│ ├── list.go # list 命令
|
|
250
|
+
│ ├── models.go # 模型列表展示
|
|
251
|
+
│ ├── root.go # ccl 主入口 + passthrough 模式
|
|
252
|
+
│ ├── settings.go # 预览 settings.json
|
|
253
|
+
│ ├── update.go # 自动升级
|
|
254
|
+
│ ├── use.go # 切换激活 provider
|
|
255
|
+
│ └── version.go # 版本信息
|
|
258
256
|
├── internal/
|
|
259
|
-
│ ├── claude/
|
|
260
|
-
│ ├── config/
|
|
261
|
-
│ ├──
|
|
262
|
-
│ ├──
|
|
263
|
-
│
|
|
257
|
+
│ ├── claude/ # Claude Code 进程拉起 & 端口注入
|
|
258
|
+
│ ├── config/ # yaml 配置文件读写
|
|
259
|
+
│ ├── locale/ # 多语言支持(中文 / English)
|
|
260
|
+
│ ├── protocol/ # Anthropic ↔ OpenAI 协议转换
|
|
261
|
+
│ ├── provider/ # Provider & Config 数据结构
|
|
262
|
+
│ └── proxy/ # 本地 TCP 代理服务
|
|
264
263
|
└── main.go
|
|
265
264
|
```
|
|
266
265
|
|
|
267
266
|
## 📄 开源许可
|
|
268
267
|
|
|
269
|
-
|
|
268
|
+
MIT
|
package/bin/ccl-darwin-amd64
CHANGED
|
Binary file
|
package/bin/ccl-darwin-arm64
CHANGED
|
Binary file
|
package/bin/ccl-linux-amd64
CHANGED
|
Binary file
|
package/bin/ccl-linux-arm64
CHANGED
|
Binary file
|
package/bin/ccl-win32-arm64.exe
CHANGED
|
Binary file
|
package/bin/ccl-win32-x64.exe
CHANGED
|
Binary file
|