@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 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
- routecodex init
72
- routecodex start
83
+ rcc init --providers deepseek-web,tab,qwen --default-provider deepseek-web --camoufox --force
73
84
  ```
74
85
 
75
- 或使用 release CLI:
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
- `routecodex init` / `rcc init` 会在 `~/.routecodex/` 生成默认 `config.json`,并把常用文档复制到 `~/.routecodex/docs`。
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
- routecodex init --force
92
- #
93
- rcc init --force
253
+ rcc init
254
+ rcc init --config ~/.routecodex/config.json --force
94
255
  ```
95
256
 
96
- 它会先备份旧配置为 `config.json.bak`(或 `config.json.bak.N`),再生成新模板。
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
- ### 2) 调用 API(示例)
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
  ## 相关链接