Skip to content

fix(global): 国际版账号的模型/费率接口路径与面板登录适配 - #20

Open
yanghuan wants to merge 2 commits into
rockswang:masterfrom
yanghuan:fix/global-region-support
Open

yanghuan wants to merge 2 commits into
rockswang:masterfrom
yanghuan:fix/global-region-support

Conversation

@yanghuan

Copy link
Copy Markdown

背景

按 README 以 region: "global"(国际版 WorkBuddy)部署后,发现两处 CN 硬编码导致国际版功能不完整:

  1. 模型列表 / 费率接口路径错误(上游返回 500)
  2. 面板「+ WorkBuddy」登录流程写死 CN 端点,无法添加国际版账号

改动

1. 模型 / 费率接口路径(internal/upstream/client.go

国际版网关下 GET https://www.workbuddy.ai/console/enterprises/personal/models 返回 HTTP 500,正确路径为 /v2/enterprises/personal/models(实测 200,返回含 credits 定价的完整模型表)。

  • 新增 modelsPath(a):按账号 region 选择路径,CN 保持 /console/... 不变
  • 影响 FetchModels(动态模型列表)与 FetchModelPricing(费率)

2. 面板登录流程(internal/login/login.gointernal/app/app.go

登录端点原本写死 CN(UpstreamBaseCN,注释标注 "CN only"),region: "global" 实例点「+ WorkBuddy」仍打开 www.codebuddy.cn/login/...;即便完成登录,保存的账号 domain 为 CN,也不会被国际版实例加载。

  • 新增 Endpoints / EndpointsForRegion(region):按 region 选择 API 基址与 Origin/Referer
  • Start / Poll / ResolveAuthURL 增加 Endpoints 参数,由 app.StartLoginFor 传入 cfg.Region
  • 国际版 token 响应若缺 domain 时按区域兜底为 www.workbuddy.ai,避免账号被判为 CN

验证(region: global 实例实测)

项目 修复前 修复后
模型列表 10 个(静态兜底) 18 个(动态拉取)
费率 空(上游 500) 16 条(含 credits 倍率)
面板登录链接 www.codebuddy.cn/login/... www.workbuddy.ai/login/...
国际版账号 无法通过面板添加 登录成功,domain=www.workbuddy.ai,被正确识别为 global

CN 实例回归:模型 42 个、登录链接仍为 www.codebuddy.cn,行为不变。

说明

  • 所有改动均为 region 条件分支,CN 行为零变化
  • TraeWork / Qoder 未涉及(目前仅国内端点)

yanghuan added 2 commits September 13, 2026 00:15
国际版网关下 GET /console/enterprises/personal/models 返回 500,
正确路径为 /v2/enterprises/personal/models(实测 200,含 credits 定价)。

新增按账号 region 选择路径的 modelsPath(),CN 保持原路径不变;
影响 FetchModels(动态模型列表)与 FetchModelPricing(费率)。
登录流程原本写死 CN 端点(copilot.tencent.com / codebuddy.cn),
region=global 的实例点「+ WorkBuddy」仍打开国内登录页,且保存的
账号 domain 为 CN,不会被国际版实例加载。

新增 Endpoints / EndpointsForRegion,按 region 选择 API 基址与
Origin/Referer,并透传到 Start / Poll / ResolveAuthURL;
国际版 token 响应若缺 domain 则按区域兜底,避免账号被判为 CN。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant