@chenpu17/cc-gw 0.3.11 → 0.3.13
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 +26 -1
- package/package.json +1 -1
- package/src/cli/dist/index.js +1 -0
- package/src/server/dist/index.js +2451 -208
- package/src/web/dist/assets/{About-DmfYXdTi.js → About-AtNnIQdC.js} +2 -2
- package/src/web/dist/assets/{ApiKeys-Bq84uD5O.js → ApiKeys-C0HThTh3.js} +1 -1
- package/src/web/dist/assets/{Button-B4UYWk6z.js → Button-BILWXCdK.js} +1 -1
- package/src/web/dist/assets/{Dashboard-CJmps0fW.js → Dashboard-MoDWKsK7.js} +1 -1
- package/src/web/dist/assets/{FormField-DKIC96zy.js → FormField-CQdheUGn.js} +1 -1
- package/src/web/dist/assets/{Help-C7fFCpNH.js → Help-_WE0-0d_.js} +1 -1
- package/src/web/dist/assets/{Input-Cr1GbVY7.js → Input-BNPjbXjl.js} +1 -1
- package/src/web/dist/assets/{Login-f_-O93Uo.js → Login-fnBtj3Wf.js} +1 -1
- package/src/web/dist/assets/{Logs-CyN3g8z0.js → Logs-u8JddAMA.js} +1 -1
- package/src/web/dist/assets/ModelManagement-B5GXkgZG.js +1 -0
- package/src/web/dist/assets/{PageSection-eOpSKdGw.js → PageSection-BSlxJLSp.js} +1 -1
- package/src/web/dist/assets/Settings-B7l_r0Os.js +1 -0
- package/src/web/dist/assets/{StatusBadge-CFXAJ2QF.js → StatusBadge-C2HAoly7.js} +1 -1
- package/src/web/dist/assets/{copy-Br9n1n5X.js → copy-29mhVWV7.js} +1 -1
- package/src/web/dist/assets/index-BfK_4zVV.css +1 -0
- package/src/web/dist/assets/{index-DtOsr5xX.js → index-C9B4ue7v.js} +1 -1
- package/src/web/dist/assets/{index-ChT0XT-w.js → index-jumaCK3B.js} +4 -4
- package/src/web/dist/assets/{info-Cnwm2-vh.js → info-m01xBxq8.js} +1 -1
- package/src/web/dist/assets/{useApiQuery-mBT5M_Q6.js → useApiQuery-Ckrkcu4L.js} +1 -1
- package/src/web/dist/index.html +2 -2
- package/src/web/dist/assets/ModelManagement-B11a4hW3.js +0 -1
- package/src/web/dist/assets/Settings-BUNwIquC.js +0 -1
- package/src/web/dist/assets/index-BOv43c_r.css +0 -1
package/README.md
CHANGED
|
@@ -8,6 +8,9 @@ cc-gw 是一个面向 Claude Code 与同类客户端的本地多模型网关,
|
|
|
8
8
|
- 复刻 Claude API 的流式与工具调用语义
|
|
9
9
|
- 记录请求日志、Token(含缓存命中)、TTFT/TPOT 等运行指标
|
|
10
10
|
- 提供可视化 Web 管理台与守护进程 CLI
|
|
11
|
+
- 在同一个 OpenAI 接入点聚合多 Provider / 多模型,兼容 Responses 与 Chat Completions 双协议
|
|
12
|
+
|
|
13
|
+
> **提示(2025-10)**:OpenAI 接入点仍为实验特性,我们会尝试将请求转换为 Anthropic `/v1/messages` 并推断所需 beta 头,但部分专为 Claude Code 适配的代理可能仍返回“暂不支持”。此类模型请直接使用 `/anthropic/v1/messages` 端点。
|
|
11
14
|
|
|
12
15
|
核心组件:
|
|
13
16
|
|
|
@@ -51,6 +54,7 @@ pnpm --filter @cc-gw/cli exec tsx index.ts start --daemon --port 4100
|
|
|
51
54
|
API Key: sk-ant-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
52
55
|
默认模型: claude-3-5-sonnet-20241022
|
|
53
56
|
```
|
|
57
|
+
Roo Code / Claude CLI 可通过 OpenAI 接入点访问 Anthropic 模型,但部分第三方代理可能拒绝该路径;若收到“暂不支持”或类似错误,请改用 `/anthropic/v1/messages`。
|
|
54
58
|
- **Moonshot Kimi**:
|
|
55
59
|
```
|
|
56
60
|
Base URL: https://api.moonshot.cn/v1
|
|
@@ -82,10 +86,14 @@ pnpm --filter @cc-gw/cli exec tsx index.ts start --daemon --port 4100
|
|
|
82
86
|
export ANTHROPIC_BASE_URL=http://127.0.0.1:4100/anthropic
|
|
83
87
|
export ANTHROPIC_API_KEY=sk-gw-ide-xxxxxxxxxxxxxxxx
|
|
84
88
|
|
|
85
|
-
# Codex CLI
|
|
89
|
+
# Codex CLI(Responses API)
|
|
86
90
|
export OPENAI_BASE_URL=http://127.0.0.1:4100/openai/v1
|
|
87
91
|
export OPENAI_API_KEY=sk-gw-codex-xxxxxxxxxxxxxxxx
|
|
88
92
|
export CC_GW_KEY=sk-gw-codex-xxxxxxxxxxxxxxxx
|
|
93
|
+
|
|
94
|
+
# Roo Code / 旧式 OpenAI Chat Completions
|
|
95
|
+
export OPENAI_CHAT_BASE_URL=http://127.0.0.1:4100/openai/v1
|
|
96
|
+
export OPENAI_CHAT_PATH=/chat/completions
|
|
89
97
|
```
|
|
90
98
|
|
|
91
99
|
更新完毕后执行 `source ~/.bashrc`(或 `source ~/.zshrc`)让环境变量立即生效。完成后可以马上做一次快速连通性测试:
|
|
@@ -117,6 +125,14 @@ codex ask "你好,请介绍一下自己"
|
|
|
117
125
|
|
|
118
126
|
配置完成后,建议运行 `codex status` 或 `codex chat "测试"` 再确认一次终端输出。
|
|
119
127
|
|
|
128
|
+
##### 5.1 OpenAI 接入点接入说明
|
|
129
|
+
|
|
130
|
+
- **Responses API**:推荐给支持新版 OpenAI Responses(例如 Codex CLI、最新 Agent 工具)的客户端,直接指向 `http://127.0.0.1:4100/openai/v1/responses`,即可自动在下游 Provider 间路由并返回标准 `response` 结构。
|
|
131
|
+
- **Chat Completions API**:针对 Roo Code、OpenAI CLI 等仍使用传统 `POST /v1/chat/completions` 的客户端,现可通过 `http://127.0.0.1:4100/openai/v1/chat/completions` 接入;工具仅需设置 Base URL(例如 Roo Code 的 “OpenAI Compatible” 配置)和 API Key 即可。
|
|
132
|
+
- **注意兼容性**:OpenAI 入口为实验性最佳实践。若下游服务只支持 Claude Code 专用头部,可能仍返回“暂不支持”,此时改用 `/anthropic/v1/messages`。
|
|
133
|
+
- **Anthropic Beta Header**:若上游模型需要 beta 头(例如 Claude 4.5 预览),可设置环境变量 `CC_GW_ANTHROPIC_BETA_<MODEL>`(如 `CC_GW_ANTHROPIC_BETA_CLAUDE_SONNET_4_5_20250929`)或全局 `CC_GW_ANTHROPIC_BETA_ALL`;网关会在转发至 Anthropic 时尝试附加,也会针对 4.5 系列模型进行默认推断。
|
|
134
|
+
- **多模型聚合**:无论使用 Responses 还是 Chat Completions,两种接口都会按配置聚合所有 Provider 模型,`GET /openai/v1/models` 将返回当前可用模型列表及默认 Provider。
|
|
135
|
+
|
|
120
136
|
#### 步骤 6: 高级配置(可选)
|
|
121
137
|
|
|
122
138
|
##### 6.1 模型路由配置
|
|
@@ -139,10 +155,19 @@ export ANTHROPIC_API_KEY=sk-gw-ide-xxxxxxxxxxxxxxxx
|
|
|
139
155
|
export OPENAI_BASE_URL=http://127.0.0.1:4100/openai/v1
|
|
140
156
|
export OPENAI_API_KEY=sk-gw-codex-xxxxxxxxxxxxxxxx
|
|
141
157
|
export CC_GW_KEY=sk-gw-codex-xxxxxxxxxxxxxxxx
|
|
158
|
+
# 若需兼容旧版 Chat Completions,可继续暴露聊天端点
|
|
159
|
+
export OPENAI_CHAT_BASE_URL=http://127.0.0.1:4100/openai/v1
|
|
160
|
+
export OPENAI_CHAT_PATH=/chat/completions
|
|
161
|
+
# 针对 Anthropic 新模型可设置 Beta Header(示例)
|
|
162
|
+
export CC_GW_ANTHROPIC_BETA_CLAUDE_SONNET_4_5_20250929=claude-code-20250219,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14
|
|
163
|
+
export CC_GW_ANTHROPIC_BETA_ALL=claude-code-20250219,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14
|
|
164
|
+
|
|
142
165
|
```
|
|
143
166
|
|
|
144
167
|
然后运行 `direnv allow` 自动加载。
|
|
145
168
|
|
|
169
|
+
> ⚠️ 如果 OpenAI 接入点仍返回“暂不支持”,请将客户端改用 `/anthropic/v1/messages` 端点并直接配置 Anthropic Provider。
|
|
170
|
+
|
|
146
171
|
#### 常见问题排查
|
|
147
172
|
|
|
148
173
|
1. **连接失败**:
|
package/package.json
CHANGED
package/src/cli/dist/index.js
CHANGED