-
Notifications
You must be signed in to change notification settings - Fork 210
International
Sliverkiss edited this page Sep 14, 2026
·
1 revision
网关同时适配**国内版(CN)与国际版(Global)**账号。账号按 realm 归属,realm 判定优先级如下(internal/auth):
- 凭证文件显式带
realm字段 → 直接采用; - 凭证
domain以.workbuddy.ai结尾 →global; - 其余 →
cn。
「出入口」同一规则:请求模型名带 [realm:] 前缀时路由到对应域;裸模型名 → 默认 CN。global.enabled: false(默认 true)为逃生门——关闭后所有账号(含 domain 为 workbuddy.ai)一律按 CN 处理,纯 CN 部署锁死一切 global 行为。
./login.sh --realm=global- 交互式选择登录域;传
--realm=cn|global直接指定,非交互(非 tty)时默认 CN; - global 分支流程自动完成:注册激活 + region(地区)完善 + trial 领取;
- region 完善无需开网页:终端内交互选择地区后直接提交(
scripts/global_region.py); - trial 领取幂等:
14051 already claimed视为已领过,不算失败;
- region 完善无需开网页:终端内交互选择地区后直接提交(
- 凭证落盘
auths/workbuddy-<uid>.json,含realm键; -
cmd/login支持子命令:url(取登录 URL)、poll(轮询 token)、realm(查询/切换域);/tmp/wb2api-login-state.json记录 realm,poll校验与取 URL 同域。
请求 model 支持 [realm:]model 前缀协议:
| 模型名 | 路由 |
|---|---|
deepseek-r1 |
CN(裸名默认 CN) |
global:gpt-5.4 |
Global(www.workbuddy.ai) |
cn:deepseek-r1 |
CN(显式前缀) |
-
resolveModel剥离cn:/global:前缀后再做模型归一; - 粘性按「前缀剥离后的模型名」记账,
global:与裸名不会互相误绑。
-
CN:chat →
https://copilot.tencent.com;billing(签到 / 查询 / 活跃上报 / trial)→https://www.codebuddy.cn; -
Global:chat →
https://www.workbuddy.ai,接口路径优先/console/chat/completions,404/405 自动回退同基地址的 chat 路径;billing →https://www.workbuddy.ai(可被global.chat_base/global.billing_base覆盖); -
Global 出站头部:UA 第二段为
WorkBuddy AI(CN 为WorkBuddy),注入X-No-Enterprise-Id: 1与X-Domain: www.workbuddy.ai;X-Refresh-Token仅在刷新端点注入,chat 请求永不携带。
-
/v1/models返回cn:前缀的 CN 模型列表 +global:前缀的 Global 模型列表; - CN 列表:动态探测,失败回退静态表;1h 正缓存 / 5min 负缓存;
- Global 列表:
FetchGlobalModels探测enterprises/personal/models(优先/2xx家族、回退/console/...),1h TTL + 5min 负缓存;无 global 账号时不发起探测; - 两者均为模型名(无倍率信息)。
| 配置 | 默认 | 含义 |
|---|---|---|
global.enabled |
true |
global 总开关;false = 全员按 CN |
global.chat_base |
"" |
global chat 地址覆盖 |
global.billing_base |
"" |
global billing 地址覆盖 |
schedule.travel_enabled |
true |
travel 排程(对 global 本就按门控跳过,可保留) |
| 行为 | CN | Global |
|---|---|---|
| 签到(daily-checkin) | ✅ 参与 | ⛔ 跳过(无签到体系;不发起任何上游调用避免风控) |
| 猫猫旅行(buddy/travel) | ✅ 参与 | ⛔ 跳过(无该体系) |
| 活跃上报(report 接口) | ✅ 上报 | ✅ 同样上报(实测可用,点亮连登) |
| token 保活(keepalive) | ✅ 刷新 | ✅ 刷新 |
trial 加油包(/billing/ide/trial) |
⛔ N/A | ✅ 一次性领取(幂等) |
| 模型前缀 | 裸名 / cn:
|
global: |
| 池 / 健康查询 | realm_totals.cn |
realm_totals.global、realm_servable.global
|
注:上述「跳过」均在
IsGlobal()判定后直接结束该账号处理,不发起任何上游调用,属刻意风控规避。
-
11140 request illegal→ 账号 hard 禁用(disabled_reason=account banned by upstream (11140 request illegal), re-login required),需重登 + 手工复活; -
14017 trial not activated等账号故障 → 短冷却轮换(见 Error-Handling)。