Skip to content

v0.9.1

Choose a tag to compare

@RobbsLuo RobbsLuo released this 22 Oct 04:13
· 85 commits to main since this release

v0.9.1 修复版:CodeArts 福利链路下线、模型列表按探活结论收敛、输出速度拆双口径,外加前端依赖瘦身与 CI 抗抖动。SCHEMA_VERSION 28 → 29(删除三列积分账),升级必须重启后端。

上游每日 1000 万免费 token 池已下线(活动落地页与官方文档均 404,客户端模型列表里已无福利模型),故全链路移除。积分账成为 CodeArts 唯一的额度来源,直接落在通用列(quota_remaining 等)上。

  • 对外形状变化:GET /v1/models 不再下发 benefit 字段;凭证页不再把 CodeArts 拆成「内置 / 福利」两组,一个真实渠道一个组,组头写「积分合计」;额度探测响应不再带 credits_remaining / credits_total。

  • DB:schema.sql 删掉 credentials 上的 quota_credits_remaining / quota_credits_total / quota_credits_expiry_ladder;migrate.py 新增 _MIGRATION_COLUMN_DROPS(ALTER TABLE DROP COLUMN,列不存在时忽略,要求 SQLite ≥ 3.35),SCHEMA_VERSION 升到 29。老库升级自动完成,无需手工迁移。

  • credit_events.ledger 与 ?ledger= 保留:账本由凭证渠道决定(codearts → credits,其余 → pool),每轮探测只记一条流水。

  • 白名单去掉福利网关三主机;删掉 units.py / backfill.py 与两个一次性折算脚本。

  • 模型列表摘掉探活判死的 (渠道, 模型):判死且仍被 blocked 负缓存锁着的条目才逐渠道抽掉(两个条件缺一不可——只看到期会让模型永久消失,只看判死不会自动恢复)。探活面板命中黑名单的行整条不返回;点名直连不受影响。

  • 成本口径修正:OfficeAce 的快照日代号 deepseek-v4.1-flash-0930 与 CodeBuddy 国际站的区域代号 deepseek-v4.1-flash-sg 在价表里查不到,cost_usd / cost_cny 恒为 NULL(实测两条渠道共 3600+ 条)。改为逐 id 登记「代号 → 基础模型」,不做通用剥尾(OpenRouter 的 -1017 是另一个价位的快照,通用剥尾会把两套价格混成一个)。历史明细需 scripts/backfill_cost.py --apply 补齐。

  • 模型名归一:CodeBuddy 的 Xiaomi MiMo-V2.6-Pro 归到 mimo-v2.6-pro,与 TRAE 的同名模型合并,不再多出一个 xiaomi-mimo-v2.6-pro。

  • OfficeAce 登录:新增「换账号」(浏览器里留着上个华为云会话时会直接放行,导致「新增凭证」变成「同一账号再登一遍」);凭证昵称改为取 principal_urn 末尾的用户名(此前退化成一串 32 位账号 ID);轮询失败透出上游可行动的原因(如「这个账号还没开通 OfficeAce 服务」),不再统一吞成「请重试」。

  • 渠道展示名统一为 OfficeAce / CodeBuddy 国际 / Kilo。

  • 输出速度拆「正文 / 总产出」双口径:tps_visible = (output_tokens − reasoning_tokens) ÷ 生成时长,tps = output_tokens ÷ 生成时长,两列同分母。思考 token 成批快吐,与正文混算会远高于屏幕刷新速度(实测占比 50–67% 时约 190 与 63 tok/s)。下沉到逐请求明细与实时流;主口径无样本时回落估算口径并前置 ≈。明细表顺带合并列:时间拆两行(时刻在上、日期在下),渠道 / 凭证合成一列。

  • 凭证页渠道组头显示模型数与倍率:折叠态即可读「数量 + 最低倍率」,hover 展开逐条「模型名 + 该渠道倍率」(按渠道取,不拿合并值冒充)。最低倍率只统计收费模型,整组免费时写「全免」;未给倍率显示 — 而非「免费」。浮层拆成两档表面:短提示走反色气泡,多行清单走 panel(描边 + 阴影、不出箭头)。

  • 前端依赖瘦身:@lobehub/icons 把 @lobehub/ui / antd 声明为 peer,自动安装会拖进 400+ 个用不到的包。.npmrc 加 auto-install-peers=false,lock 从 1023 个包降到 601 个;真正需要的 peer(@testing-library/dom)显式声明。副产品:pnpm audit --prod 从 1 条 low 变成 0 漏洞。纯删除,无版本漂移。

  • Dockerfile COPY web/.npmrc:否则容器内 pnpm 退回默认 autoInstallPeers=true,与 lockfile 的 settings.autoInstallPeers: false 不匹配,直接 ERR_PNPM_LOCKFILE_CONFIG_MISMATCH。

  • CI 抗 npm registry 抖动:pnpm audit 与 Dockerfile 里 corepack 取 pnpm 本体两处都加了显式重试(审计端点偶发 ERR_SOCKET_TIMEOUT,corepack 取 pnpm 偶发 503,且 corepack 自身不重试)。

README / README.en / TECHNICAL / PROPOSAL / AGENTS / SECURITY / design-system MASTER 全量对齐当前代码:schema 版本与表数、技术栈版本、热更设置数(60)、任务数(12)、环境变量表(覆盖 config.py 全部 96 个字段)、.npmrc 与 lockfile/Dockerfile 的耦合约束。