Skip to content

Commit 37aed89

Browse files
committed
feat: align with CommandCode CLI 1.32.1 and harden tool-call/abort paths
1 parent 6d15028 commit 37aed89

16 files changed

Lines changed: 440 additions & 222 deletions

README.ko.md

Lines changed: 66 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
</p>
99

1010
<p align="center">
11-
<a href="package.json"><img src="https://img.shields.io/badge/version-1.31.0.a-b57920?style=flat-square" alt="Version 1.31.0.a"></a>
12-
<a href="src/model-catalog.ts"><img src="https://img.shields.io/badge/models-57-1f6f78?style=flat-square" alt="57 models"></a>
11+
<a href="package.json"><img src="https://img.shields.io/badge/version-1.32.1.a-b57920?style=flat-square" alt="Version 1.32.1.a"></a>
12+
<a href="src/model-catalog.ts"><img src="https://img.shields.io/badge/models-58-1f6f78?style=flat-square" alt="58 models"></a>
1313
<a href="package.json"><img src="https://img.shields.io/badge/Node.js-20%2B-9f4d2e?style=flat-square" alt="Node.js 20+"></a>
1414
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-28231f?style=flat-square" alt="MIT License"></a>
1515
</p>
@@ -20,7 +20,7 @@
2020

2121
<!-- README-I18N:END -->
2222

23-
CommandCode Bridge는 CommandCode 계정을 위한 신뢰 환경용 HTTP 게이트웨이입니다. 표준 OpenAI-compatible 모델·채팅 endpoint를 제공하고 eligible upstream credential 사이에서 요청을 라우팅하며, CommandCode **1.31.0**에 맞춘 정확한 **57-model** catalog를 게시합니다. Bridge 버전은 항상 현재 CommandCode CLI 버전을 따라가며 그 뒤에 문자 접미사를 붙입니다(예: **1.31.0.a**). 접미사는 bridge 전용 release를 뜻합니다.
23+
CommandCode Bridge는 CommandCode 계정을 위한 신뢰 환경용 HTTP 게이트웨이입니다. 표준 OpenAI-compatible 모델·채팅 endpoint를 제공하고 eligible upstream credential 사이에서 요청을 라우팅하며, CommandCode **1.32.1**에 맞춘 정확한 **58-model** catalog를 게시합니다. Bridge 버전은 항상 현재 CommandCode CLI 버전을 따라가며 그 뒤에 문자 접미사를 붙입니다(예: **1.32.1.a**). 접미사는 bridge 전용 release를 뜻합니다.
2424

2525
[기능](#기능) · [설치](#설치) · [사용법](#사용법) · [동작 방식](#동작-방식) · [저장소 구성](#저장소-구성) · [현재 제한](#현재-제한) · [라이선스](#라이선스)
2626

@@ -48,7 +48,7 @@ CommandCode Bridge는 CommandCode 계정을 위한 신뢰 환경용 HTTP 게이
4848

4949
### Linux rootless installer
5050

51-
installer는 Linux user systemd용이며 CommandCode CLI 1.31.0 때문에 Node.js 22+를 요구합니다. 가능한 경우 CLI auth를 가져오고 private state는 `~/.config/commandcode-bridge`, 설치본은 `~/.local/share/commandcode-bridge`에 두며 안전한 기본값은 `127.0.0.1:9992`입니다. `0.0.0.0``BRIDGE_API_KEY`를 켠 신뢰 LAN/VPN/tailnet/firewall/reverse proxy 뒤에서만 사용하십시오. 로그인 전 시작에는 `sudo loginctl enable-linger "$USER"`, 제거에는 `./uninstall.sh` 또는 `./uninstall.sh --purge-config`를 사용합니다.
51+
installer는 Linux user systemd용이며 CommandCode CLI 1.32.1 때문에 Node.js 22+를 요구합니다. 가능한 경우 CLI auth를 가져오고 private state는 `~/.config/commandcode-bridge`, 설치본은 `~/.local/share/commandcode-bridge`에 두며 안전한 기본값은 `127.0.0.1:9992`입니다. `0.0.0.0``BRIDGE_API_KEY`를 켠 신뢰 LAN/VPN/tailnet/firewall/reverse proxy 뒤에서만 사용하십시오. 로그인 전 시작에는 `sudo loginctl enable-linger "$USER"`, 제거에는 `./uninstall.sh` 또는 `./uninstall.sh --purge-config`를 사용합니다.
5252

5353
```bash
5454
./install.sh
@@ -125,67 +125,68 @@ curl -sS http://127.0.0.1:9992/v1/chat/completions \
125125

126126
### Model metadata와 정확한 catalog
127127

128-
각 model object는 `id`, `object`, `created`, provider 기반 `owned_by`를 포함합니다. 알려진 context는 `context_window`, `context_length`, `max_context_length`에 동일하게 나옵니다. Provider API를 쓸 수 있을 때는 시작 시 live `GET /provider/v1/models`로 catalog를 갱신해 새로 추가된 model도 반영합니다. 아래 표는 배포되는 1.31.0 baseline이며 “기본 활성화”는 built-in enabled state입니다.
129-
130-
| Provider | Canonical model ID | Context | 기본 활성화 |
131-
| ----------------- | ------------------------------------- | --------: | :---------: |
132-
| DeepSeek | `deepseek/deepseek-v4-pro` | 1,000,000 ||
133-
| DeepSeek | `deepseek/deepseek-v4-flash` | 1,000,000 ||
134-
| Moonshot | `moonshotai/Kimi-K3` | 1,000,000 | 아니요 |
135-
| Moonshot | `moonshotai/Kimi-K2.7-Code` | 256,000 | 아니요 |
136-
| Moonshot | `moonshotai/Kimi-K2.7-Code-Highspeed` | 262,000 | 아니요 |
137-
| Moonshot | `moonshotai/Kimi-K2.6` | 256,000 ||
138-
| Moonshot | `moonshotai/Kimi-K2.5` | 256,000 | 아니요 |
139-
| Z.ai | `zai-org/GLM-5.3` | 1,000,000 | 아니요 |
140-
| Z.ai | `zai-org/GLM-5.2` | 1,000,000 | 아니요 |
141-
| Z.ai | `zai-org/GLM-5.2-Fast` | 1,000,000 | 아니요 |
142-
| Z.ai | `zai-org/GLM-5.1` | 200,000 ||
143-
| Z.ai | `zai-org/GLM-5` | 200,000 | 아니요 |
144-
| MiniMax | `MiniMaxAI/MiniMax-M3` | 1,000,000 | 아니요 |
145-
| MiniMax | `MiniMaxAI/MiniMax-M2.7` | 200,000 ||
146-
| MiniMax | `MiniMaxAI/MiniMax-M2.5` | 200,000 | 아니요 |
147-
| Xiaomi | `xiaomi/mimo-v2.5-pro` | 1,000,000 | 아니요 |
148-
| Xiaomi | `xiaomi/mimo-v2.5` | 1,000,000 | 아니요 |
149-
| Qwen | `Qwen/Qwen3.8-Max` | 1,000,000 | 아니요 |
150-
| Qwen | `Qwen/Qwen3.8-27B` | 262,144 | 아니요 |
151-
| Qwen | `Qwen/Qwen3.7-Max` | 1,000,000 | 아니요 |
152-
| Qwen | `Qwen/Qwen3.7-Plus` | 1,000,000 | 아니요 |
153-
| Qwen | `Qwen/Qwen3.7-Flash` | 1,000,000 | 아니요 |
154-
| Qwen | `Qwen/Qwen3.6-Max-Preview` | 200,000 | 아니요 |
155-
| Qwen | `Qwen/Qwen3.6-Plus` | 200,000 ||
156-
| StepFun | `stepfun/Step-3.7-Flash` | 256,000 | 아니요 |
157-
| StepFun | `stepfun/Step-3.5-Flash` | 1,000,000 | 아니요 |
158-
| Tencent | `tencent/hy3-paid` | 262,144 | 아니요 |
159-
| NVIDIA | `nvidia/nemotron-3-ultra-550b-a55b` | 1,000,000 | 아니요 |
160-
| Thinking Machines | `thinkingmachines/inkling` | 256,000 | 아니요 |
161-
| Thinking Machines | `thinkingmachines/inkling-small` | 1,000,000 | 아니요 |
162-
| Poolside | `poolside/laguna-s-2.1-free` | 256,000 | 아니요 |
163-
| Stealth | `stealth/ox-alpha` | 1,048,576 | 아니요 |
164-
| Anthropic | `claude-sonnet-5` | 1,000,000 | 아니요 |
165-
| Anthropic | `claude-sonnet-4-6` | 1,000,000 | 아니요 |
166-
| Anthropic | `claude-fable-5` | 1,000,000 | 아니요 |
167-
| Anthropic | `claude-opus-5` | 1,000,000 | 아니요 |
168-
| Anthropic | `claude-opus-4-8` | 1,000,000 | 아니요 |
169-
| Anthropic | `claude-opus-4-7` | 1,000,000 | 아니요 |
170-
| Anthropic | `claude-haiku-4-5-20251001` | 200,000 | 아니요 |
171-
| OpenAI | `gpt-5.6-sol` | 1,050,000 | 아니요 |
172-
| OpenAI | `gpt-5.6-terra` | 1,050,000 | 아니요 |
173-
| OpenAI | `gpt-5.6-luna` | 1,050,000 | 아니요 |
174-
| OpenAI | `gpt-5.5` | 400,000 | 아니요 |
175-
| OpenAI | `gpt-5.4` | 400,000 | 아니요 |
176-
| OpenAI | `gpt-5.3-codex` | 400,000 | 아니요 |
177-
| OpenAI | `gpt-5.4-mini` | 400,000 | 아니요 |
178-
| Google | `google/gemini-3.7-flash` | 1,048,576 | 아니요 |
179-
| Google | `google/gemini-3.6-flash` | 1,000,000 | 아니요 |
180-
| Google | `google/gemini-3.5-flash` | 1,000,000 | 아니요 |
181-
| Google | `google/gemini-3.5-flash-lite` | 1,000,000 | 아니요 |
182-
| Google | `google/gemini-3.1-flash-lite` | 1,000,000 | 아니요 |
183-
| Sakana | `sakana/fugu-ultra` | 1,000,000 | 아니요 |
184-
| Meta | `meta/muse-spark-1.1` | 1,048,576 | 아니요 |
185-
| Meta | `meta/muse-spark-1.2` | 1,048,576 | 아니요 |
186-
| Meta | `meta/muse-spark-1.2-contributor` | 1,048,576 | 아니요 |
187-
| xAI | `xai/grok-4.5` | 500,000 | 아니요 |
188-
| xAI | `xai/grok-4.6` | 500,000 | 아니요 |
128+
각 model object는 `id`, `object`, `created`, provider 기반 `owned_by`를 포함합니다. 알려진 context는 `context_window`, `context_length`, `max_context_length`에 동일하게 나옵니다. Provider API를 쓸 수 있을 때는 시작 시 live `GET /provider/v1/models`로 catalog를 갱신해 새로 추가된 model도 반영합니다. 아래 표는 배포되는 1.32.1 baseline이며 “기본 활성화”는 built-in enabled state입니다.
129+
130+
| Provider | Canonical model ID | Context | 기본 활성화 |
131+
| ----------------- | --------------------------------------- | --------: | :---------: |
132+
| DeepSeek | `deepseek/deepseek-v4-pro` | 1,000,000 ||
133+
| DeepSeek | `deepseek/deepseek-v4-flash` | 1,000,000 ||
134+
| DeepSeek | `deepseek/deepseek-v4-flash-vision-exp` | 1,000,000 | 아니요 |
135+
| Moonshot | `moonshotai/Kimi-K3` | 1,000,000 | 아니요 |
136+
| Moonshot | `moonshotai/Kimi-K2.7-Code` | 256,000 | 아니요 |
137+
| Moonshot | `moonshotai/Kimi-K2.7-Code-Highspeed` | 262,000 | 아니요 |
138+
| Moonshot | `moonshotai/Kimi-K2.6` | 256,000 ||
139+
| Moonshot | `moonshotai/Kimi-K2.5` | 256,000 | 아니요 |
140+
| Z.ai | `zai-org/GLM-5.3` | 1,000,000 | 아니요 |
141+
| Z.ai | `zai-org/GLM-5.2` | 1,000,000 | 아니요 |
142+
| Z.ai | `zai-org/GLM-5.2-Fast` | 1,000,000 | 아니요 |
143+
| Z.ai | `zai-org/GLM-5.1` | 200,000 ||
144+
| Z.ai | `zai-org/GLM-5` | 200,000 | 아니요 |
145+
| MiniMax | `MiniMaxAI/MiniMax-M3` | 1,000,000 | 아니요 |
146+
| MiniMax | `MiniMaxAI/MiniMax-M2.7` | 200,000 ||
147+
| MiniMax | `MiniMaxAI/MiniMax-M2.5` | 200,000 | 아니요 |
148+
| Xiaomi | `xiaomi/mimo-v2.5-pro` | 1,000,000 | 아니요 |
149+
| Xiaomi | `xiaomi/mimo-v2.5` | 1,000,000 | 아니요 |
150+
| Qwen | `Qwen/Qwen3.8-Max` | 1,000,000 | 아니요 |
151+
| Qwen | `Qwen/Qwen3.8-27B` | 262,144 | 아니요 |
152+
| Qwen | `Qwen/Qwen3.7-Max` | 1,000,000 | 아니요 |
153+
| Qwen | `Qwen/Qwen3.7-Plus` | 1,000,000 | 아니요 |
154+
| Qwen | `Qwen/Qwen3.7-Flash` | 1,000,000 | 아니요 |
155+
| Qwen | `Qwen/Qwen3.6-Max-Preview` | 200,000 | 아니요 |
156+
| Qwen | `Qwen/Qwen3.6-Plus` | 200,000 ||
157+
| StepFun | `stepfun/Step-3.7-Flash` | 256,000 | 아니요 |
158+
| StepFun | `stepfun/Step-3.5-Flash` | 1,000,000 | 아니요 |
159+
| Tencent | `tencent/hy3-paid` | 262,144 | 아니요 |
160+
| NVIDIA | `nvidia/nemotron-3-ultra-550b-a55b` | 1,000,000 | 아니요 |
161+
| Thinking Machines | `thinkingmachines/inkling` | 256,000 | 아니요 |
162+
| Thinking Machines | `thinkingmachines/inkling-small` | 1,000,000 | 아니요 |
163+
| Poolside | `poolside/laguna-s-2.1-free` | 256,000 | 아니요 |
164+
| Stealth | `stealth/ox-alpha` | 1,048,576 | 아니요 |
165+
| Anthropic | `claude-sonnet-5` | 1,000,000 | 아니요 |
166+
| Anthropic | `claude-sonnet-4-6` | 1,000,000 | 아니요 |
167+
| Anthropic | `claude-fable-5` | 1,000,000 | 아니요 |
168+
| Anthropic | `claude-opus-5` | 1,000,000 | 아니요 |
169+
| Anthropic | `claude-opus-4-8` | 1,000,000 | 아니요 |
170+
| Anthropic | `claude-opus-4-7` | 1,000,000 | 아니요 |
171+
| Anthropic | `claude-haiku-4-5-20251001` | 200,000 | 아니요 |
172+
| OpenAI | `gpt-5.6-sol` | 1,050,000 | 아니요 |
173+
| OpenAI | `gpt-5.6-terra` | 1,050,000 | 아니요 |
174+
| OpenAI | `gpt-5.6-luna` | 1,050,000 | 아니요 |
175+
| OpenAI | `gpt-5.5` | 400,000 | 아니요 |
176+
| OpenAI | `gpt-5.4` | 400,000 | 아니요 |
177+
| OpenAI | `gpt-5.3-codex` | 400,000 | 아니요 |
178+
| OpenAI | `gpt-5.4-mini` | 400,000 | 아니요 |
179+
| Google | `google/gemini-3.7-flash` | 1,048,576 | 아니요 |
180+
| Google | `google/gemini-3.6-flash` | 1,000,000 | 아니요 |
181+
| Google | `google/gemini-3.5-flash` | 1,000,000 | 아니요 |
182+
| Google | `google/gemini-3.5-flash-lite` | 1,000,000 | 아니요 |
183+
| Google | `google/gemini-3.1-flash-lite` | 1,000,000 | 아니요 |
184+
| Sakana | `sakana/fugu-ultra` | 1,000,000 | 아니요 |
185+
| Meta | `meta/muse-spark-1.1` | 1,048,576 | 아니요 |
186+
| Meta | `meta/muse-spark-1.2` | 1,048,576 | 아니요 |
187+
| Meta | `meta/muse-spark-1.2-contributor` | 1,048,576 | 아니요 |
188+
| xAI | `xai/grok-4.5` | 500,000 | 아니요 |
189+
| xAI | `xai/grok-4.6` | 500,000 | 아니요 |
189190

190191
### Dashboard와 credential routing
191192

0 commit comments

Comments
 (0)