@jsonstudio/rcc 0.89.1959 → 0.89.1968
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 +187 -15
- package/configsamples/config.v1.quickstart.sanitized.json +1147 -0
- package/dist/build-info.js +2 -2
- package/dist/cli/commands/init.js +35 -2
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/config/bundled-default-config.d.ts +18 -0
- package/dist/cli/config/bundled-default-config.js +62 -0
- package/dist/cli/config/bundled-default-config.js.map +1 -0
- package/dist/configsamples/config.v1.quickstart.sanitized.json +1147 -0
- package/dist/providers/core/runtime/deepseek-session-pow.js +21 -9
- package/dist/providers/core/runtime/deepseek-session-pow.js.map +1 -1
- package/dist/server/runtime/http-server/index.d.ts +2 -0
- package/dist/server/runtime/http-server/index.js +41 -1
- package/dist/server/runtime/http-server/index.js.map +1 -1
- package/package.json +1 -1
- package/scripts/copy-modules-config.mjs +18 -0
package/README.md
CHANGED
|
@@ -65,37 +65,208 @@ npm uninstall -g @jsonstudio/rcc
|
|
|
65
65
|
|
|
66
66
|
## 使用
|
|
67
67
|
|
|
68
|
-
### 1)
|
|
68
|
+
### 1) 初始化(推荐用 `rcc`)
|
|
69
|
+
|
|
70
|
+
默认配置路径:
|
|
71
|
+
- macOS / Linux:`~/.routecodex/config.json`
|
|
72
|
+
- Windows:`%USERPROFILE%\\.routecodex\\config.json`
|
|
73
|
+
|
|
74
|
+
默认初始化(会把内置脱敏 quickstart 配置复制到目标路径):
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
rcc init
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
按 provider 模板直接生成 v2(覆盖默认复制流程):
|
|
69
81
|
|
|
70
82
|
```bash
|
|
71
|
-
|
|
72
|
-
routecodex start
|
|
83
|
+
rcc init --providers deepseek-web,tab,qwen --default-provider deepseek-web --camoufox --force
|
|
73
84
|
```
|
|
74
85
|
|
|
75
|
-
|
|
86
|
+
说明:
|
|
87
|
+
- `--providers` 使用 init 内置 provider id(见下文鉴权表)。
|
|
88
|
+
- `--camoufox` 会显式触发 Camoufox 环境准备(即使当前 provider 不强依赖)。
|
|
89
|
+
- `--force` 会先备份旧配置到 `config.json.bak*` 再重写。
|
|
90
|
+
|
|
91
|
+
如果你使用 dev CLI,把 `rcc` 替换成 `routecodex` 即可。
|
|
92
|
+
|
|
93
|
+
#### 1.1 推荐顺序(先 `--camoufox`,再 provider 化)
|
|
94
|
+
|
|
95
|
+
推荐按这 3 步执行:
|
|
96
|
+
|
|
97
|
+
1. 先跑 `rcc init --camoufox`
|
|
98
|
+
2. 再用 `rcc init --config ... --force` 把默认/v1 配置转换为 provider 分文件(v2)
|
|
99
|
+
3. 最后配置 key/token 并启动
|
|
100
|
+
|
|
101
|
+
示例:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# Step 1: 先做 camoufox 环境检查/准备
|
|
105
|
+
rcc init --camoufox
|
|
106
|
+
|
|
107
|
+
# Step 2: rcc init 已自动写入默认 quickstart;这里执行 v1 -> v2 转换
|
|
108
|
+
rcc init --config ~/.routecodex/config.json --force
|
|
109
|
+
|
|
110
|
+
# Step 3: 配置密钥与 token 后启动
|
|
111
|
+
rcc init --list-current-providers
|
|
112
|
+
rcc start --config ~/.routecodex/config.json
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Step 2 完成后,provider 会拆分到:
|
|
116
|
+
- `~/.routecodex/provider/<providerId>/config.v2.json`
|
|
117
|
+
|
|
118
|
+
Step 3(配置密钥/token)的最小动作:
|
|
119
|
+
- API Key 类:设置环境变量(如 `OPENAI_API_KEY` / `TAB_API_KEY` / `GLM_API_KEY`)
|
|
120
|
+
- OAuth 类:执行 `rcc oauth qwen-auto qwen`、`rcc oauth gemini-auto gemini-cli`、`rcc oauth antigravity-auto antigravity`
|
|
121
|
+
- DeepSeek:在 `~/.routecodex/auth/deepseek-account-1.json` 写入 `mobile/password`,启动后自动回填 `access_token`
|
|
122
|
+
|
|
123
|
+
Windows PowerShell 对应写法:
|
|
124
|
+
|
|
125
|
+
```powershell
|
|
126
|
+
rcc init --camoufox
|
|
127
|
+
rcc init --config "$env:USERPROFILE\.routecodex\config.json" --force
|
|
128
|
+
rcc init --list-current-providers
|
|
129
|
+
rcc start --config "$env:USERPROFILE\.routecodex\config.json"
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### 2) Camoufox 初始化(macOS / Windows)
|
|
133
|
+
|
|
134
|
+
`rcc init --camoufox` 会自动检查/安装 Camoufox。你也可以先手工准备:
|
|
135
|
+
|
|
136
|
+
macOS:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
python3 -m pip install --user -U camoufox
|
|
140
|
+
python3 -m camoufox path
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Windows (PowerShell):
|
|
144
|
+
|
|
145
|
+
```powershell
|
|
146
|
+
py -3 -m pip install --user -U camoufox
|
|
147
|
+
py -3 -m camoufox path
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
可选环境变量(当 Python 不在默认命令路径时):
|
|
151
|
+
- `ROUTECODEX_PYTHON` / `RCC_PYTHON`:指定 Python 可执行文件路径
|
|
152
|
+
- `ROUTECODEX_CAMOUFOX_AUTO_INSTALL=0`:关闭自动安装(默认开启)
|
|
153
|
+
|
|
154
|
+
验证 Camoufox profile + 指纹是否可打开:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
rcc camoufox antigravity-oauth-1-alias1.json
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### 3) macOS / Windows 环境变量写法
|
|
161
|
+
|
|
162
|
+
macOS/Linux (zsh/bash):
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
export OPENAI_API_KEY="your_openai_key"
|
|
166
|
+
export TAB_API_KEY="your_tab_key"
|
|
167
|
+
export GLM_API_KEY="your_glm_key"
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Windows PowerShell(当前会话):
|
|
171
|
+
|
|
172
|
+
```powershell
|
|
173
|
+
$env:OPENAI_API_KEY="your_openai_key"
|
|
174
|
+
$env:TAB_API_KEY="your_tab_key"
|
|
175
|
+
$env:GLM_API_KEY="your_glm_key"
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Windows PowerShell(持久化):
|
|
179
|
+
|
|
180
|
+
```powershell
|
|
181
|
+
setx OPENAI_API_KEY "your_openai_key"
|
|
182
|
+
setx TAB_API_KEY "your_tab_key"
|
|
183
|
+
setx GLM_API_KEY "your_glm_key"
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
API key 类 provider 的常用环境变量(按 init 模板):
|
|
187
|
+
- `OPENAI_API_KEY`
|
|
188
|
+
- `TAB_API_KEY`
|
|
189
|
+
- `GLM_API_KEY`
|
|
190
|
+
- `KIMI_API_KEY`
|
|
191
|
+
- `MODELSCOPE_API_KEY`
|
|
192
|
+
- `MIMO_API_KEY`
|
|
193
|
+
|
|
194
|
+
### 4) 按 init 内置 provider 配置鉴权
|
|
195
|
+
|
|
196
|
+
下表对应 `rcc init --list-providers` 的内置模板:
|
|
197
|
+
|
|
198
|
+
| Provider ID | 默认 auth 类型 | 你需要做什么 |
|
|
199
|
+
|------|------|------|
|
|
200
|
+
| `openai` | `apikey` | 设置 `OPENAI_API_KEY` |
|
|
201
|
+
| `tab` | `apikey` (responses) | 设置 `TAB_API_KEY` |
|
|
202
|
+
| `deepseek-web` | `deepseek-account` (`tokenFile` entries) | 准备 `~/.routecodex/auth/deepseek-account-*.json` |
|
|
203
|
+
| `glm` | `apikey` | 设置 `GLM_API_KEY` |
|
|
204
|
+
| `glm-anthropic` | `apikey` (`/v1/messages`) | 设置 `GLM_API_KEY` |
|
|
205
|
+
| `kimi` | `apikey` | 设置 `KIMI_API_KEY` |
|
|
206
|
+
| `modelscope` | `apikey` | 设置 `MODELSCOPE_API_KEY` |
|
|
207
|
+
| `lmstudio` | `apikey` (本地) | 通常可留空或填本地网关 key |
|
|
208
|
+
| `qwen` | `qwen-oauth` (`tokenFile=default`) | 先跑 OAuth 生成 token |
|
|
209
|
+
| `iflow` | `iflow-cookie` | 准备 `~/.routecodex/auth/iflow-work.cookie` |
|
|
210
|
+
| `mimo` | `apikey` | 设置 `MIMO_API_KEY` |
|
|
211
|
+
| `gemini-cli` | `gemini-cli-oauth` (`entries[].tokenFile`) | 先跑 OAuth 生成 token |
|
|
212
|
+
| `antigravity` | `antigravity-oauth` (`entries[].tokenFile`) | 先跑 OAuth 生成 token |
|
|
213
|
+
|
|
214
|
+
OAuth 认证命令(常用):
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
rcc oauth qwen-auto qwen
|
|
218
|
+
rcc oauth gemini-auto gemini-cli
|
|
219
|
+
rcc oauth antigravity-auto antigravity
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
DeepSeek 单文件凭据 + token(同一文件)示例:
|
|
223
|
+
|
|
224
|
+
```json
|
|
225
|
+
{
|
|
226
|
+
"mobile": "13800000000",
|
|
227
|
+
"password": "your_password",
|
|
228
|
+
"access_token": ""
|
|
229
|
+
}
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
放在 `~/.routecodex/auth/deepseek-account-1.json` 后,启动时会自动登录并回填 `access_token`。
|
|
233
|
+
|
|
234
|
+
### 5) 脱敏快速配置(来自当前线上配置)
|
|
235
|
+
|
|
236
|
+
已提供脱敏模板:
|
|
237
|
+
- `configsamples/config.v1.quickstart.sanitized.json`
|
|
238
|
+
|
|
239
|
+
快速使用:
|
|
76
240
|
|
|
77
241
|
```bash
|
|
78
242
|
rcc init
|
|
79
|
-
rcc start
|
|
243
|
+
rcc start --config ~/.routecodex/config.json
|
|
80
244
|
```
|
|
81
245
|
|
|
82
|
-
|
|
83
|
-
- macOS / Linux:`~/.routecodex/config.json`
|
|
84
|
-
- Windows:`%USERPROFILE%\\.routecodex\\config.json`
|
|
246
|
+
此模板已经脱敏(API key、token、账号别名),保留了可直接复用的路由结构和 provider 组合。
|
|
85
247
|
|
|
86
|
-
|
|
248
|
+
#### 5.1) 用 `rcc init` 把本地 v1 配置转换为 v2
|
|
87
249
|
|
|
88
|
-
|
|
250
|
+
如果你要把 `configsamples/config.v1.quickstart.sanitized.json` 本地化成 v2(provider 分文件 + `virtualrouterMode: v2`),推荐直接用:
|
|
89
251
|
|
|
90
252
|
```bash
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
rcc init --force
|
|
253
|
+
rcc init
|
|
254
|
+
rcc init --config ~/.routecodex/config.json --force
|
|
94
255
|
```
|
|
95
256
|
|
|
96
|
-
|
|
257
|
+
说明:
|
|
258
|
+
- `rcc init` 会检测到这是 v1 配置并执行迁移。
|
|
259
|
+
- `--force` 会跳过交互确认,适合脚本化/CI。
|
|
260
|
+
- 迁移后会生成 `~/.routecodex/provider/<providerId>/config.v2.json`,并备份原始 v1 文件为 `config.json.bak*`。
|
|
261
|
+
|
|
262
|
+
可选检查:
|
|
263
|
+
|
|
264
|
+
```bash
|
|
265
|
+
rcc init --list-current-providers
|
|
266
|
+
rcc start --config ~/.routecodex/config.json
|
|
267
|
+
```
|
|
97
268
|
|
|
98
|
-
###
|
|
269
|
+
### 6) 调用 API(示例)
|
|
99
270
|
|
|
100
271
|
健康检查:
|
|
101
272
|
|
|
@@ -173,6 +344,7 @@ curl http://127.0.0.1:5555/v1/messages \
|
|
|
173
344
|
## 参考配置
|
|
174
345
|
|
|
175
346
|
- `configsamples/config.reference.json`
|
|
347
|
+
- `configsamples/config.v1.quickstart.sanitized.json`
|
|
176
348
|
- `configsamples/provider/*/config.v1.json`
|
|
177
349
|
|
|
178
350
|
## 相关链接
|