Repository navigation
v0.4.2
新增
- CodeBuddy 国际版渠道(Q76,第七个 provider):接入 www.codebuddy.ai。与国内站同协议(同一 Keycloak realm
copilot、同一组/v2//v3/billing路径),故src/provider/codebuddy/intl.py只是CodeBuddyProvider的数据类子类,协议解析 / 凭证规范化 / 事件分类 / 刷新全部复用国内站代码,零复制。两站凭证可同时在池里、各走各的端点与 pacer。为什么不是「改CODEBUDDY_API_ENDPOINT切站点」:endpoint 是进程级单值,切过去会让存量国内站凭证全部打到国际站(额度错配 / 403)。白名单互不含——两站 Token 由不同网关签发,把国内站地址填进国际站端点在启动时抛错而非悄悄发出去。新增配置:CODEBUDDY_INTL_API_ENDPOINT/CODEBUDDY_INTL_ALLOWED_ENDPOINTS/CODEBUDDY_INTL_CHAT_MIN_INTERVAL(热更、默认 5s、独立 pacer)。 - 模型能力排行(Artificial Analysis 指数):经 OpenRouter 公开接口抓取三项指数,在 Playground、模型列表页与
/v1/models展示能力分。
变更
- 模型目录改用 OpenRouter 单一数据源(Q55-Q57):把 models.dev 价格/元数据目录整体替换为 OpenRouter,一次抓取同时产出刊例价(成本估算)、明细元数据(「模型列表」页)与 Artificial Analysis 能力分,消除双数据源、双匹配口径、双后台任务。后台任务
price_catalog+benchmark_catalog合并为openrouter_catalog,配置price_catalog_minutes/benchmark_catalog_minutes/models_dev_url合并为openrouter_catalog_minutes(默认 1440、下限 60)。已知取舍:目录从 3536 条缩到 451 条;space-bunny/doubao-seed-2.1-turbo/qwen3.8-max失去刊例价(成本显示 —);family/open_weights/release_date上游不提供(接口保留但恒为null/false,页面不展示)。
修复
- 模型合并:渠道内重名导致国际站被挤出:
/v1/models曾冒出hy4-preview-codebuddy_intl/deepseek-v4.1-flash-codebuddy_intl后缀条目。根因不在国际站,是既有合并逻辑的缺陷——上游把多个模型共用一个展示名是常态(CB 的hy4-preview/hy4-preview-x都叫「Hy4 preview」),一遇渠道内重名就退回渠道限定键,代价是这些模型在本渠道内断了跨渠道合并。改判据为「重名时若本渠道存在某个 id 归一后等于该 label key 的模型,就用这个归一键当合并键」。实测/v1/models从 41 条收敛到 39 条,裸名同时挂两站;-x/-sg变体(真实不同的上游模型)仍各占一条。 - 上下文压缩按实际服务渠道取窗口(Q60 修订):压缩点从 API 层移到 executor 选号后。同名模型跨渠道窗口不同(qoder 180K vs codebuddy 1M),min 口径把大窗口渠道的会话反复误裁,前缀不稳定击穿上游前缀缓存(实测命中率 96%+ 跌到 7–16%)。
- OpenCode Zen 首次请求 503:
403 FreeTierError抖动在客户端内退避重试一次。 - 国际站首条 system 强制:国际站网关要求
messages[0]是 system prompt,否则整单 400 +11128。仅国际站装配时开require_leading_system,国内站出站 body 一个字节不变;判首条在developer→system归一之后,客户端自带 system 时不注入不覆盖。 - 国际站签到与成长中心按渠道关闭:签到是渠道侧就没有该活动(
active: false且活动字段全空),保留只会让后台任务每 10 分钟失败一次并触发噪音告警;成长中心无法验证(整个/v2/activity/*前缀挂在网关认证插件后)且含不可逆动作。活跃上报照常启用——它打的/v2/report与成长中心不是同一路径,实测可用。 - 管理台前端:Playground「当前选择」条渠道多时不再把右侧渠道指定控件挤下去;「请求量趋势」图例移到图表下方(与「按模型趋势」同口径);CodeBuddy 国际版凭证显示「活跃上报」入口(此前前端写死
provider === "codebuddy",后端能跑却看不到出口)。 - 模型列表页:去掉「提供方」列与「模型数」指标卡(前者恒为 id 前缀、信息重复)。
- 页头描述:去掉
max-w-4xl,与下方内容同宽同换行点。 - 默认黑名单:补录三条上游已下架模型(
hy4-preview-x/qwen3.8-flash/glyph-cluster)。
升级
docker compose pull && docker compose up -d无数据库 schema 变更(PRAGMA user_version 仍为 18)。新增渠道需在管理台「添加凭证」里登录 CodeBuddy 国际版账号(或粘贴 JSON);已有的国内站凭证不受影响。镜像:ghcr.io/robbsluo/coding2api:v0.4.2(同时更新 :latest)。