commandcode-api-proxy 0.1.3 → 0.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 +103 -189
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -1
- package/dist/config.js.map +1 -1
- package/dist/models.json +91 -20
- package/dist/proxy.js +18 -5
- package/dist/proxy.js.map +1 -1
- package/dist/server.d.ts +4 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +56 -13
- package/dist/server.js.map +1 -1
- package/dist/setup/opencode.d.ts.map +1 -1
- package/dist/setup/opencode.js +20 -1
- package/dist/setup/opencode.js.map +1 -1
- package/dist/stream.d.ts +0 -17
- package/dist/stream.d.ts.map +1 -1
- package/dist/stream.js +0 -44
- package/dist/stream.js.map +1 -1
- package/dist/translate/anthropic.d.ts.map +1 -1
- package/dist/translate/anthropic.js +29 -17
- package/dist/translate/anthropic.js.map +1 -1
- package/dist/translate/models.d.ts +15 -0
- package/dist/translate/models.d.ts.map +1 -1
- package/dist/translate/models.js +48 -1
- package/dist/translate/models.js.map +1 -1
- package/dist/translate/openai.d.ts.map +1 -1
- package/dist/translate/openai.js +12 -7
- package/dist/translate/openai.js.map +1 -1
- package/dist/translate/types.d.ts +16 -2
- package/dist/translate/types.d.ts.map +1 -1
- package/dist/upstream.d.ts +0 -10
- package/dist/upstream.d.ts.map +1 -1
- package/dist/upstream.js +63 -29
- package/dist/upstream.js.map +1 -1
- package/package.json +17 -15
package/README.md
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
<a href="#"><img src="./.github/assets/banner.webp" alt="Banner"></a>
|
|
2
|
+
|
|
1
3
|
# Command Code API Proxy
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
+
[](https://www.npmjs.com/package/commandcode-api-proxy)
|
|
6
|
+
[](https://www.npmjs.com/package/commandcode-api-proxy)
|
|
5
7
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
```
|
|
8
|
+
**OpenAI-compatible API proxy for [Command Code](https://commandcode.ai).**
|
|
9
|
+
Use your Command Code subscription from **any** OpenAI-compatible client — OpenCode, Claude Code, or plain `curl`.
|
|
9
10
|
|
|
10
11
|
## Why?
|
|
11
12
|
|
|
@@ -18,10 +19,16 @@ Command Code exposes two API surfaces:
|
|
|
18
19
|
|
|
19
20
|
This proxy talks `/alpha/generate` upstream and standard OpenAI downstream — so your existing plan works from any tool.
|
|
20
21
|
|
|
21
|
-
##
|
|
22
|
+
## Run the proxy
|
|
22
23
|
|
|
23
24
|
```bash
|
|
24
|
-
#
|
|
25
|
+
# Clone & run from source
|
|
26
|
+
git clone https://github.com/thaolaptrinh/commandcode-api-proxy.git
|
|
27
|
+
cd commandcode-api-proxy
|
|
28
|
+
npm install
|
|
29
|
+
npm run build && npm start
|
|
30
|
+
|
|
31
|
+
# Or run directly (no install)
|
|
25
32
|
npx commandcode-api-proxy
|
|
26
33
|
|
|
27
34
|
# Or install globally
|
|
@@ -29,17 +36,19 @@ npm install -g commandcode-api-proxy
|
|
|
29
36
|
commandcode-api-proxy
|
|
30
37
|
```
|
|
31
38
|
|
|
32
|
-
|
|
39
|
+
On first run, the proxy prompts for your Command Code API key (get it from
|
|
40
|
+
https://commandcode.ai/settings). Other ways to provide it are in
|
|
41
|
+
[Authentication](#authentication).
|
|
33
42
|
|
|
34
|
-
|
|
43
|
+
## Authentication
|
|
35
44
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
3. `~/.config/commandcode-api-proxy/auth.json` (saved via `auth login`)
|
|
45
|
+
Provide your API key via `--api-key`, the `CC_API_KEY` env var, or save it
|
|
46
|
+
with `auth login` (stored at `~/.config/commandcode-api-proxy/auth.json`).
|
|
39
47
|
|
|
40
|
-
|
|
48
|
+
### CLI auth commands
|
|
41
49
|
|
|
42
|
-
|
|
50
|
+
> From source, replace `commandcode-api-proxy` with `npm run auth --`
|
|
51
|
+
> (e.g. `npm run auth -- login`).
|
|
43
52
|
|
|
44
53
|
```bash
|
|
45
54
|
# Save a new API key
|
|
@@ -52,9 +61,7 @@ commandcode-api-proxy auth login --force
|
|
|
52
61
|
commandcode-api-proxy auth logout
|
|
53
62
|
```
|
|
54
63
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
### CLI options
|
|
64
|
+
## CLI options
|
|
58
65
|
|
|
59
66
|
| Option | Description | Default |
|
|
60
67
|
| --------------------- | --------------------------------- | ----------- |
|
|
@@ -64,97 +71,51 @@ Get your API key from https://commandcode.ai/settings.
|
|
|
64
71
|
| `--setup-opencode` | Generate OpenCode provider config | — |
|
|
65
72
|
| `--setup-claude-code` | Generate Claude Code model config | — |
|
|
66
73
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
### `POST /v1/chat/completions` (OpenAI)
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
curl http://127.0.0.1:8787/v1/chat/completions \
|
|
73
|
-
-H "Authorization: Bearer proxy-managed" \
|
|
74
|
-
-H "Content-Type: application/json" \
|
|
75
|
-
-d '{
|
|
76
|
-
"model": "deepseek/deepseek-v4-pro",
|
|
77
|
-
"messages": [{"role": "user", "content": "Hello!"}],
|
|
78
|
-
"stream": true
|
|
79
|
-
}'
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### `POST /v1/messages` (Anthropic)
|
|
74
|
+
Equivalent env vars (lower priority than CLI flags):
|
|
83
75
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}'
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### `POST /v1/messages/count_tokens` (Anthropic)
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
curl http://127.0.0.1:8787/v1/messages/count_tokens \
|
|
100
|
-
-H "x-api-key: proxy-managed" \
|
|
101
|
-
-H "Content-Type: application/json" \
|
|
102
|
-
-d '{
|
|
103
|
-
"messages": [{"role": "user", "content": "Hello!"}]
|
|
104
|
-
}'
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
### Anthropic model mapping
|
|
76
|
+
| Env var | Description |
|
|
77
|
+
| ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
|
|
78
|
+
| `HOST` | Bind address |
|
|
79
|
+
| `PORT` | Port |
|
|
80
|
+
| `CC_API_KEY` | Command Code API key |
|
|
81
|
+
| `CC_API_BASE` | Upstream API base URL |
|
|
82
|
+
| `CC_CLI_VERSION` | CLI version sent upstream |
|
|
83
|
+
| `LOG_LEVEL` | Log level (`info`, `debug`, etc.) |
|
|
84
|
+
| `CORS_ORIGIN` | `Access-Control-Allow-Origin` value. `*` by default; empty string disables CORS. Restrict before exposing on a network. |
|
|
108
85
|
|
|
109
|
-
|
|
110
|
-
|
|
86
|
+
> **Security:** the proxy forwards your paid Command Code key upstream and
|
|
87
|
+
> accepts any auth token from clients (`proxy-managed`), so it is designed for
|
|
88
|
+
> **localhost** use (`HOST=127.0.0.1`). Do not bind it to `0.0.0.0` on an
|
|
89
|
+
> untrusted network without restricting `CORS_ORIGIN` and putting your own auth
|
|
90
|
+
> in front.
|
|
111
91
|
|
|
112
|
-
|
|
113
|
-
npx commandcode-api-proxy --setup-claude-code
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
This writes `~/.config/commandcode-api-proxy/anthropic-models.json`:
|
|
117
|
-
|
|
118
|
-
```json
|
|
119
|
-
{
|
|
120
|
-
"default": "deepseek/deepseek-v4-pro",
|
|
121
|
-
"mappings": {
|
|
122
|
-
"claude-sonnet-*": "deepseek/deepseek-v4-pro",
|
|
123
|
-
"claude-opus-*": "deepseek/deepseek-v4-pro",
|
|
124
|
-
"claude-haiku-*": "deepseek/deepseek-v4-flash"
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
**Glob matching:** `*` matches any characters. First matching pattern wins —
|
|
130
|
-
put specific patterns before general ones (e.g. `claude-sonnet-*` before
|
|
131
|
-
`claude-*`). Edit the file to customize mappings, then restart the proxy.
|
|
132
|
-
|
|
133
|
-
Non-Claude model IDs pass through unchanged.
|
|
134
|
-
|
|
135
|
-
**Optional override:** Set `ANTHROPIC_DEFAULT_MODEL` env var to override the
|
|
136
|
-
config file's `default` field without editing the file.
|
|
92
|
+
## Endpoints
|
|
137
93
|
|
|
138
|
-
|
|
94
|
+
| Endpoint | Protocol |
|
|
95
|
+
| -------------------------------- | --------- |
|
|
96
|
+
| `GET /health` | — |
|
|
97
|
+
| `GET /v1/models` | OpenAI |
|
|
98
|
+
| `POST /v1/chat/completions` | OpenAI |
|
|
99
|
+
| `POST /v1/messages` | Anthropic |
|
|
100
|
+
| `POST /v1/messages/count_tokens` | Anthropic |
|
|
139
101
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
- **Count tokens**: heuristic estimate, not exact.
|
|
143
|
-
- **Built-in/server tools** (`computer_`, `bash_`, `web_search_`, etc.):
|
|
144
|
-
rejected with `invalid_request_error`. Only custom tools supported.
|
|
145
|
-
- **`metadata`, `top_k`, `top_p`, `service_tier`**: accepted but dropped.
|
|
102
|
+
All endpoints accept any auth token (use `proxy-managed`) — the proxy injects
|
|
103
|
+
your real Command Code key upstream.
|
|
146
104
|
|
|
147
105
|
## Client configuration
|
|
148
106
|
|
|
149
107
|
### OpenCode
|
|
150
108
|
|
|
151
|
-
Run setup
|
|
109
|
+
Run setup to auto-generate the provider config at `~/.config/opencode/opencode.json`:
|
|
152
110
|
|
|
153
111
|
```bash
|
|
154
112
|
npx commandcode-api-proxy --setup-opencode
|
|
155
113
|
```
|
|
156
114
|
|
|
157
|
-
|
|
115
|
+
All CC models are listed directly — pick the one you want from the model selector.
|
|
116
|
+
|
|
117
|
+
Or add a `commandcode` provider manually — point `baseURL` at the proxy and
|
|
118
|
+
use any model ID from the [Model aliases](#model-aliases) table:
|
|
158
119
|
|
|
159
120
|
```json
|
|
160
121
|
{
|
|
@@ -168,90 +129,33 @@ Or add manually:
|
|
|
168
129
|
"apiKey": "proxy-managed"
|
|
169
130
|
},
|
|
170
131
|
"models": {
|
|
171
|
-
"deepseek-v4-pro": {
|
|
172
|
-
"name": "DeepSeek V4 Pro",
|
|
173
|
-
"limit": { "context": 1048576, "output": 393216 }
|
|
174
|
-
},
|
|
175
|
-
"deepseek-v4-flash": {
|
|
176
|
-
"name": "DeepSeek V4 Flash",
|
|
177
|
-
"limit": { "context": 1048576, "output": 393216 }
|
|
178
|
-
},
|
|
179
|
-
"MiniMax-M2.7": { "name": "MiniMax M2.7", "limit": { "context": 204800, "output": 32768 } },
|
|
180
|
-
"MiniMax-M2.5": { "name": "MiniMax M2.5", "limit": { "context": 204800, "output": 32768 } },
|
|
181
|
-
"GLM-5.1": { "name": "GLM-5.1", "limit": { "context": 200000, "output": 131072 } },
|
|
182
|
-
"GLM-5": { "name": "GLM-5", "limit": { "context": 200000, "output": 131072 } },
|
|
183
|
-
"Kimi-K2.6": { "name": "Kimi K2.6", "limit": { "context": 262144, "output": 98304 } },
|
|
184
|
-
"Kimi-K2.5": { "name": "Kimi K2.5", "limit": { "context": 262144, "output": 98304 } },
|
|
185
|
-
"Qwen3.6-Max-Preview": {
|
|
186
|
-
"name": "Qwen 3.6 Max Preview",
|
|
187
|
-
"limit": { "context": 262144, "output": 65536 }
|
|
188
|
-
},
|
|
189
|
-
"Qwen3.6-Plus": {
|
|
190
|
-
"name": "Qwen 3.6 Plus",
|
|
191
|
-
"limit": { "context": 1048576, "output": 65536 }
|
|
192
|
-
},
|
|
193
|
-
"Qwen3.7-Max": { "name": "Qwen 3.7 Max", "limit": { "context": 1048576, "output": 65536 } },
|
|
194
|
-
"Qwen3.7-Plus": {
|
|
195
|
-
"name": "Qwen 3.7 Plus",
|
|
196
|
-
"limit": { "context": 1048576, "output": 65536 }
|
|
197
|
-
},
|
|
198
|
-
"Step-3.5-Flash": {
|
|
199
|
-
"name": "Step 3.5 Flash",
|
|
200
|
-
"limit": { "context": 262144, "output": 65536 }
|
|
201
|
-
},
|
|
202
|
-
"mimo-v2.5": { "name": "MiMo V2.5", "limit": { "context": 1048576, "output": 131072 } }
|
|
132
|
+
"deepseek-v4-pro": { "name": "DeepSeek V4 Pro" }
|
|
203
133
|
}
|
|
204
134
|
}
|
|
205
135
|
}
|
|
206
136
|
}
|
|
207
137
|
```
|
|
208
138
|
|
|
209
|
-
### OpenAI Python SDK
|
|
210
|
-
|
|
211
|
-
```python
|
|
212
|
-
from openai import OpenAI
|
|
213
|
-
|
|
214
|
-
client = OpenAI(
|
|
215
|
-
base_url="http://127.0.0.1:8787/v1",
|
|
216
|
-
api_key="proxy-managed",
|
|
217
|
-
)
|
|
218
|
-
|
|
219
|
-
response = client.chat.completions.create(
|
|
220
|
-
model="deepseek/deepseek-v4-pro",
|
|
221
|
-
messages=[{"role": "user", "content": "Hello!"}],
|
|
222
|
-
)
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
### Continue
|
|
226
|
-
|
|
227
|
-
```json
|
|
228
|
-
{
|
|
229
|
-
"models": [
|
|
230
|
-
{
|
|
231
|
-
"title": "Command Code",
|
|
232
|
-
"provider": "openai",
|
|
233
|
-
"model": "deepseek/deepseek-v4-pro",
|
|
234
|
-
"apiKey": "proxy-managed",
|
|
235
|
-
"apiBase": "http://127.0.0.1:8787/v1"
|
|
236
|
-
}
|
|
237
|
-
]
|
|
238
|
-
}
|
|
239
|
-
```
|
|
240
|
-
|
|
241
139
|
### Claude Code
|
|
242
140
|
|
|
243
|
-
|
|
141
|
+
Claude Code only offers three tiers — `sonnet`, `opus`, `haiku`. The setup
|
|
142
|
+
maps each tier to a Command Code model via env vars in `claude-settings.json`:
|
|
244
143
|
|
|
245
144
|
```bash
|
|
246
145
|
npx commandcode-api-proxy --setup-claude-code
|
|
247
146
|
```
|
|
248
147
|
|
|
249
|
-
|
|
148
|
+
If a settings file already exists, re-run with `--force` to overwrite it.
|
|
250
149
|
|
|
251
|
-
|
|
252
|
-
|
|
150
|
+
| Claude Code tier | Env var | Maps to |
|
|
151
|
+
| ---------------- | -------------------------------- | ---------------------------- |
|
|
152
|
+
| `sonnet` | `ANTHROPIC_DEFAULT_SONNET_MODEL` | `deepseek/deepseek-v4-pro` |
|
|
153
|
+
| `opus` | `ANTHROPIC_DEFAULT_OPUS_MODEL` | `deepseek/deepseek-v4-pro` |
|
|
154
|
+
| `haiku` | `ANTHROPIC_DEFAULT_HAIKU_MODEL` | `deepseek/deepseek-v4-flash` |
|
|
253
155
|
|
|
254
|
-
|
|
156
|
+
Edit those env vars in the settings file to point at other CC models. To force
|
|
157
|
+
every `claude-*` request to a single model regardless of tier, set
|
|
158
|
+
`ANTHROPIC_DEFAULT_MODEL`. Then run:
|
|
255
159
|
|
|
256
160
|
```bash
|
|
257
161
|
claude --settings ~/.config/commandcode-api-proxy/claude-settings.json
|
|
@@ -264,40 +168,50 @@ alias claude-proxy="claude --settings ~/.config/commandcode-api-proxy/claude-set
|
|
|
264
168
|
claude-proxy
|
|
265
169
|
```
|
|
266
170
|
|
|
267
|
-
### Anthropic SDK (Python)
|
|
268
|
-
|
|
269
|
-
```python
|
|
270
|
-
from anthropic import Anthropic
|
|
271
|
-
|
|
272
|
-
client = Anthropic(
|
|
273
|
-
base_url="http://127.0.0.1:8787/v1",
|
|
274
|
-
api_key="proxy-managed",
|
|
275
|
-
)
|
|
276
|
-
|
|
277
|
-
message = client.messages.create(
|
|
278
|
-
model="claude-sonnet-4-5-20250929",
|
|
279
|
-
max_tokens=4096,
|
|
280
|
-
messages=[{"role": "user", "content": "Hello!"}],
|
|
281
|
-
)
|
|
282
|
-
```
|
|
283
|
-
|
|
284
171
|
## Model aliases
|
|
285
172
|
|
|
286
173
|
Short names work in addition to full model IDs:
|
|
287
174
|
|
|
288
|
-
| Alias
|
|
289
|
-
|
|
|
290
|
-
| `deepseek-v4-pro`, `deepseek-v4`
|
|
291
|
-
| `deepseek-v4-flash`, `deepseek-flash`
|
|
292
|
-
| `
|
|
293
|
-
| `glm-5.
|
|
294
|
-
| `
|
|
295
|
-
| `
|
|
296
|
-
| `
|
|
297
|
-
| `
|
|
175
|
+
| Alias | Maps to |
|
|
176
|
+
| ------------------------------------------------ | ------------------------------------- |
|
|
177
|
+
| `deepseek-v4-pro`, `deepseek-v4`, `deepseek-pro` | `deepseek/deepseek-v4-pro` |
|
|
178
|
+
| `deepseek-v4-flash`, `deepseek-flash` | `deepseek/deepseek-v4-flash` |
|
|
179
|
+
| `glm-5.2`, `glm5.2` | `zai-org/GLM-5.2` |
|
|
180
|
+
| `glm-5.2-fast`, `glm5.2-fast` | `zai-org/GLM-5.2-Fast` |
|
|
181
|
+
| `glm-5.1` | `zai-org/GLM-5.1` |
|
|
182
|
+
| `glm-5` | `zai-org/GLM-5` |
|
|
183
|
+
| `minimax-m3`, `minimax3` | `MiniMaxAI/MiniMax-M3` |
|
|
184
|
+
| `minimax-m2.7`, `minimax2.7` | `MiniMaxAI/MiniMax-M2.7` |
|
|
185
|
+
| `minimax-m2.5`, `minimax2.5` | `MiniMaxAI/MiniMax-M2.5` |
|
|
186
|
+
| `kimi-k3`, `kimi3` | `moonshotai/Kimi-K3` |
|
|
187
|
+
| `kimi-k2.7-code`, `kimi-code` | `moonshotai/Kimi-K2.7-Code` |
|
|
188
|
+
| `kimi-k2.7-highspeed`, `kimi-highspeed` | `moonshotai/Kimi-K2.7-Code-Highspeed` |
|
|
189
|
+
| `kimi-k2.6`, `kimi2.6` | `moonshotai/Kimi-K2.6` |
|
|
190
|
+
| `kimi-k2.5`, `kimi2.5` | `moonshotai/Kimi-K2.5` |
|
|
191
|
+
| `qwen3.7-max`, `qwen-3.7-max` | `Qwen/Qwen3.7-Max` |
|
|
192
|
+
| `qwen3.7-plus`, `qwen-3.7-plus` | `Qwen/Qwen3.7-Plus` |
|
|
193
|
+
| `qwen3.6-max`, `qwen-3.6-max` | `Qwen/Qwen3.6-Max-Preview` |
|
|
194
|
+
| `qwen3.6-plus`, `qwen-3.6-plus` | `Qwen/Qwen3.6-Plus` |
|
|
195
|
+
| `step-3.7-flash`, `step3.7` | `stepfun/Step-3.7-Flash` |
|
|
196
|
+
| `step3.5`, `step-3.5-flash` | `stepfun/Step-3.5-Flash` |
|
|
197
|
+
| `mimo-v2.5-pro`, `mimo-pro` | `xiaomi/mimo-v2.5-pro` |
|
|
198
|
+
| `mimo-v2.5`, `mimo2.5` | `xiaomi/mimo-v2.5` |
|
|
199
|
+
| `grok-4.5`, `grok4.5` | `xai/grok-4.5` |
|
|
200
|
+
| `nemotron`, `nemotron-3-ultra` | `nvidia/nemotron-3-ultra-550b-a55b` |
|
|
201
|
+
| `inkling` | `thinkingmachines/inkling` |
|
|
202
|
+
| `hy3` | `tencent/Hy3` |
|
|
298
203
|
|
|
299
204
|
Any model ID is passed through as-is — the proxy does not validate against a fixed list.
|
|
300
205
|
|
|
206
|
+
### Reasoning effort
|
|
207
|
+
|
|
208
|
+
Some models support a `reasoning_effort` (`low` | `medium` | `high` | `xhigh` | `max`), and
|
|
209
|
+
each accepts a different subset. The proxy sends the closest valid level for the model
|
|
210
|
+
(e.g. `deepseek-v4-pro` supports only `high`/`max`, so `low` is clipped up to `high` and
|
|
211
|
+
`max` is reachable). Models without a discrete effort set ignore the value. Pass the
|
|
212
|
+
effort via OpenAI's `reasoning_effort`, or Anthropic's `thinking.budget_tokens`
|
|
213
|
+
(larger budget → higher effort).
|
|
214
|
+
|
|
301
215
|
## License
|
|
302
216
|
|
|
303
217
|
MIT
|
package/dist/config.d.ts
CHANGED
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAM3C;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmBpE;AAqBD,wBAAgB,UAAU,IAAI,MAAM,CAcnC"}
|
package/dist/config.js
CHANGED
|
@@ -62,6 +62,9 @@ export function loadConfig() {
|
|
|
62
62
|
const ccApiBase = process.env.CC_API_BASE || "https://api.commandcode.ai";
|
|
63
63
|
const ccVersion = process.env.CC_CLI_VERSION || cachedVersion || DEFAULT_CC_VERSION;
|
|
64
64
|
const logLevel = process.env.LOG_LEVEL || "info";
|
|
65
|
-
|
|
65
|
+
// `*` is fine for a localhost proxy; restrict (e.g. to an origin or leave
|
|
66
|
+
// empty to disable) before exposing the proxy on a network.
|
|
67
|
+
const corsOrigin = process.env.CORS_ORIGIN ?? "*";
|
|
68
|
+
return { host, port, apiKey, ccApiBase, ccVersion, logLevel, corsOrigin };
|
|
66
69
|
}
|
|
67
70
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/models.json
CHANGED
|
@@ -2,18 +2,30 @@
|
|
|
2
2
|
"builtin": [
|
|
3
3
|
"deepseek/deepseek-v4-pro",
|
|
4
4
|
"deepseek/deepseek-v4-flash",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
5
|
+
"zai-org/GLM-5.2",
|
|
6
|
+
"zai-org/GLM-5.2-Fast",
|
|
7
7
|
"zai-org/GLM-5.1",
|
|
8
8
|
"zai-org/GLM-5",
|
|
9
|
+
"MiniMaxAI/MiniMax-M3",
|
|
10
|
+
"MiniMaxAI/MiniMax-M2.7",
|
|
11
|
+
"MiniMaxAI/MiniMax-M2.5",
|
|
12
|
+
"moonshotai/Kimi-K3",
|
|
13
|
+
"moonshotai/Kimi-K2.7-Code",
|
|
14
|
+
"moonshotai/Kimi-K2.7-Code-Highspeed",
|
|
9
15
|
"moonshotai/Kimi-K2.6",
|
|
10
16
|
"moonshotai/Kimi-K2.5",
|
|
17
|
+
"Qwen/Qwen3.7-Max",
|
|
18
|
+
"Qwen/Qwen3.7-Plus",
|
|
11
19
|
"Qwen/Qwen3.6-Max-Preview",
|
|
12
20
|
"Qwen/Qwen3.6-Plus",
|
|
21
|
+
"stepfun/Step-3.7-Flash",
|
|
13
22
|
"stepfun/Step-3.5-Flash",
|
|
23
|
+
"xiaomi/mimo-v2.5-pro",
|
|
14
24
|
"xiaomi/mimo-v2.5",
|
|
15
|
-
"
|
|
16
|
-
"
|
|
25
|
+
"xai/grok-4.5",
|
|
26
|
+
"nvidia/nemotron-3-ultra-550b-a55b",
|
|
27
|
+
"thinkingmachines/inkling",
|
|
28
|
+
"tencent/Hy3"
|
|
17
29
|
],
|
|
18
30
|
"shortAliases": {
|
|
19
31
|
"deepseek-v4-pro": "deepseek/deepseek-v4-pro",
|
|
@@ -21,54 +33,113 @@
|
|
|
21
33
|
"deepseek-pro": "deepseek/deepseek-v4-pro",
|
|
22
34
|
"deepseek-v4-flash": "deepseek/deepseek-v4-flash",
|
|
23
35
|
"deepseek-flash": "deepseek/deepseek-v4-flash",
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
36
|
+
"glm-5.2": "zai-org/GLM-5.2",
|
|
37
|
+
"glm5.2": "zai-org/GLM-5.2",
|
|
38
|
+
"glm-5.2-fast": "zai-org/GLM-5.2-Fast",
|
|
39
|
+
"glm5.2-fast": "zai-org/GLM-5.2-Fast",
|
|
28
40
|
"glm-5.1": "zai-org/GLM-5.1",
|
|
29
41
|
"glm-5": "zai-org/GLM-5",
|
|
42
|
+
"minimax-m3": "MiniMaxAI/MiniMax-M3",
|
|
43
|
+
"minimax3": "MiniMaxAI/MiniMax-M3",
|
|
30
44
|
"minimax-m2.7": "MiniMaxAI/MiniMax-M2.7",
|
|
31
45
|
"minimax2.7": "MiniMaxAI/MiniMax-M2.7",
|
|
32
46
|
"minimax-m2.5": "MiniMaxAI/MiniMax-M2.5",
|
|
33
47
|
"minimax2.5": "MiniMaxAI/MiniMax-M2.5",
|
|
48
|
+
"kimi-k3": "moonshotai/Kimi-K3",
|
|
49
|
+
"kimi3": "moonshotai/Kimi-K3",
|
|
50
|
+
"kimi-k2.7-code": "moonshotai/Kimi-K2.7-Code",
|
|
51
|
+
"kimi2.7-code": "moonshotai/Kimi-K2.7-Code",
|
|
52
|
+
"kimi-code": "moonshotai/Kimi-K2.7-Code",
|
|
53
|
+
"kimi-k2.7-highspeed": "moonshotai/Kimi-K2.7-Code-Highspeed",
|
|
54
|
+
"kimi-highspeed": "moonshotai/Kimi-K2.7-Code-Highspeed",
|
|
55
|
+
"kimi-k2.6": "moonshotai/Kimi-K2.6",
|
|
56
|
+
"kimi2.6": "moonshotai/Kimi-K2.6",
|
|
57
|
+
"kimi-k2.5": "moonshotai/Kimi-K2.5",
|
|
58
|
+
"kimi2.5": "moonshotai/Kimi-K2.5",
|
|
59
|
+
"qwen3.7-max": "Qwen/Qwen3.7-Max",
|
|
60
|
+
"qwen-3.7-max": "Qwen/Qwen3.7-Max",
|
|
61
|
+
"qwen3.7-plus": "Qwen/Qwen3.7-Plus",
|
|
62
|
+
"qwen-3.7-plus": "Qwen/Qwen3.7-Plus",
|
|
34
63
|
"qwen-3.6-max": "Qwen/Qwen3.6-Max-Preview",
|
|
35
64
|
"qwen3.6-max": "Qwen/Qwen3.6-Max-Preview",
|
|
36
65
|
"qwen-3.6-plus": "Qwen/Qwen3.6-Plus",
|
|
37
66
|
"qwen3.6-plus": "Qwen/Qwen3.6-Plus",
|
|
67
|
+
"step-3.7-flash": "stepfun/Step-3.7-Flash",
|
|
68
|
+
"step3.7": "stepfun/Step-3.7-Flash",
|
|
38
69
|
"step-3.5-flash": "stepfun/Step-3.5-Flash",
|
|
39
|
-
"step3.5": "stepfun/Step-3.5-Flash"
|
|
70
|
+
"step3.5": "stepfun/Step-3.5-Flash",
|
|
71
|
+
"mimo-v2.5-pro": "xiaomi/mimo-v2.5-pro",
|
|
72
|
+
"mimo-pro": "xiaomi/mimo-v2.5-pro",
|
|
73
|
+
"mimo-v2.5": "xiaomi/mimo-v2.5",
|
|
74
|
+
"mimo2.5": "xiaomi/mimo-v2.5",
|
|
75
|
+
"grok-4.5": "xai/grok-4.5",
|
|
76
|
+
"grok4.5": "xai/grok-4.5",
|
|
77
|
+
"nemotron": "nvidia/nemotron-3-ultra-550b-a55b",
|
|
78
|
+
"nemotron-3-ultra": "nvidia/nemotron-3-ultra-550b-a55b",
|
|
79
|
+
"inkling": "thinkingmachines/inkling",
|
|
80
|
+
"hy3": "tencent/Hy3"
|
|
40
81
|
},
|
|
41
82
|
"contextWindows": {
|
|
42
83
|
"deepseek/deepseek-v4-pro": 1048576,
|
|
43
84
|
"deepseek/deepseek-v4-flash": 1048576,
|
|
44
|
-
"
|
|
45
|
-
"
|
|
85
|
+
"zai-org/GLM-5.2": 1048576,
|
|
86
|
+
"zai-org/GLM-5.2-Fast": 1048576,
|
|
46
87
|
"zai-org/GLM-5.1": 200000,
|
|
47
88
|
"zai-org/GLM-5": 200000,
|
|
48
|
-
"
|
|
49
|
-
"
|
|
89
|
+
"MiniMaxAI/MiniMax-M3": 1048576,
|
|
90
|
+
"MiniMaxAI/MiniMax-M2.7": 204800,
|
|
91
|
+
"MiniMaxAI/MiniMax-M2.5": 200000,
|
|
92
|
+
"moonshotai/Kimi-K3": 1048576,
|
|
93
|
+
"moonshotai/Kimi-K2.7-Code": 256000,
|
|
94
|
+
"moonshotai/Kimi-K2.7-Code-Highspeed": 262000,
|
|
95
|
+
"moonshotai/Kimi-K2.6": 256000,
|
|
96
|
+
"moonshotai/Kimi-K2.5": 256000,
|
|
97
|
+
"Qwen/Qwen3.7-Max": 1048576,
|
|
98
|
+
"Qwen/Qwen3.7-Plus": 1048576,
|
|
50
99
|
"Qwen/Qwen3.6-Max-Preview": 262144,
|
|
51
100
|
"Qwen/Qwen3.6-Plus": 1048576,
|
|
52
|
-
"stepfun/Step-3.
|
|
101
|
+
"stepfun/Step-3.7-Flash": 256000,
|
|
102
|
+
"stepfun/Step-3.5-Flash": 1048576,
|
|
103
|
+
"xiaomi/mimo-v2.5-pro": 1048576,
|
|
53
104
|
"xiaomi/mimo-v2.5": 1048576,
|
|
54
|
-
"
|
|
55
|
-
"
|
|
105
|
+
"xai/grok-4.5": 500000,
|
|
106
|
+
"nvidia/nemotron-3-ultra-550b-a55b": 1048576,
|
|
107
|
+
"thinkingmachines/inkling": 256000,
|
|
108
|
+
"tencent/Hy3": 262144
|
|
56
109
|
},
|
|
57
110
|
"modelNames": {
|
|
58
111
|
"deepseek/deepseek-v4-pro": "DeepSeek V4 Pro",
|
|
59
112
|
"deepseek/deepseek-v4-flash": "DeepSeek V4 Flash",
|
|
60
|
-
"
|
|
61
|
-
"
|
|
113
|
+
"zai-org/GLM-5.2": "GLM-5.2",
|
|
114
|
+
"zai-org/GLM-5.2-Fast": "GLM-5.2 Fast",
|
|
62
115
|
"zai-org/GLM-5.1": "GLM-5.1",
|
|
63
116
|
"zai-org/GLM-5": "GLM-5",
|
|
117
|
+
"MiniMaxAI/MiniMax-M3": "MiniMax M3",
|
|
118
|
+
"MiniMaxAI/MiniMax-M2.7": "MiniMax M2.7",
|
|
119
|
+
"MiniMaxAI/MiniMax-M2.5": "MiniMax M2.5",
|
|
120
|
+
"moonshotai/Kimi-K3": "Kimi K3",
|
|
121
|
+
"moonshotai/Kimi-K2.7-Code": "Kimi K2.7 Code",
|
|
122
|
+
"moonshotai/Kimi-K2.7-Code-Highspeed": "Kimi K2.7 Code Highspeed",
|
|
64
123
|
"moonshotai/Kimi-K2.6": "Kimi K2.6",
|
|
65
124
|
"moonshotai/Kimi-K2.5": "Kimi K2.5",
|
|
125
|
+
"Qwen/Qwen3.7-Max": "Qwen 3.7 Max",
|
|
126
|
+
"Qwen/Qwen3.7-Plus": "Qwen 3.7 Plus",
|
|
66
127
|
"Qwen/Qwen3.6-Max-Preview": "Qwen 3.6 Max Preview",
|
|
67
128
|
"Qwen/Qwen3.6-Plus": "Qwen 3.6 Plus",
|
|
129
|
+
"stepfun/Step-3.7-Flash": "Step 3.7 Flash",
|
|
68
130
|
"stepfun/Step-3.5-Flash": "Step 3.5 Flash",
|
|
131
|
+
"xiaomi/mimo-v2.5-pro": "MiMo V2.5 Pro",
|
|
69
132
|
"xiaomi/mimo-v2.5": "MiMo V2.5",
|
|
70
|
-
"
|
|
71
|
-
"
|
|
133
|
+
"xai/grok-4.5": "Grok 4.5",
|
|
134
|
+
"nvidia/nemotron-3-ultra-550b-a55b": "Nemotron 3 Ultra",
|
|
135
|
+
"thinkingmachines/inkling": "Inkling",
|
|
136
|
+
"tencent/Hy3": "Hy3"
|
|
137
|
+
},
|
|
138
|
+
"reasoningEfforts": {
|
|
139
|
+
"deepseek/deepseek-v4-pro": ["high", "max"],
|
|
140
|
+
"deepseek/deepseek-v4-flash": ["high", "max"],
|
|
141
|
+
"zai-org/GLM-5.2": ["high", "max"],
|
|
142
|
+
"xai/grok-4.5": ["low", "medium", "high"]
|
|
72
143
|
},
|
|
73
144
|
"maxOutputTokens": {
|
|
74
145
|
"deepseek/deepseek-v4-pro": 393216,
|
package/dist/proxy.js
CHANGED
|
@@ -78,11 +78,24 @@ server.listen(config.port, config.host, () => {
|
|
|
78
78
|
console.log("");
|
|
79
79
|
console.log(" Press Ctrl+C to stop\n");
|
|
80
80
|
});
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
81
|
+
// Never let an unexpected async error crash the proxy silently — log and keep
|
|
82
|
+
// serving. (Route handlers already catch their own errors; this is a backstop.)
|
|
83
|
+
process.on("unhandledRejection", (reason) => {
|
|
84
|
+
logger.error("[fatal] Unhandled promise rejection:", reason);
|
|
84
85
|
});
|
|
85
|
-
process.on("
|
|
86
|
-
|
|
86
|
+
process.on("uncaughtException", (err) => {
|
|
87
|
+
logger.error("[fatal] Uncaught exception:", err);
|
|
87
88
|
});
|
|
89
|
+
const shutdown = (signal) => {
|
|
90
|
+
logger.info(`Received ${signal}, shutting down...`);
|
|
91
|
+
// Don't hang forever waiting on a stuck streaming connection.
|
|
92
|
+
const force = setTimeout(() => {
|
|
93
|
+
logger.warn("Forcing shutdown after 10s timeout");
|
|
94
|
+
process.exit(1);
|
|
95
|
+
}, 10_000);
|
|
96
|
+
force.unref();
|
|
97
|
+
server.close(() => process.exit(0));
|
|
98
|
+
};
|
|
99
|
+
process.on("SIGINT", () => shutdown("SIGINT"));
|
|
100
|
+
process.on("SIGTERM", () => shutdown("SIGTERM"));
|
|
88
101
|
//# sourceMappingURL=proxy.js.map
|
package/dist/proxy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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"}
|