Skip to content

Sub2API 0.2.15

Choose a tag to compare

@github-actions github-actions released this 09 Oct 11:11
· 2330 commits to main since this release
2845970

AI API Gateway Platform - 将 AI 订阅配额分发和管理

Important

本版本为 0.2.15:在完整保留 Fork 自有功能的前提下同时追平两条主线 ——
上游 Wei-Shaw/sub2api 的 main(v0.2.15,provider profile 平台清单重构)与
ranxi2001/sub2api 的 production(批次十四),版本号沿用上游编号 0.2.15。
latest 与 0.2.15 均指向本版本。

0.2.15 大于此前的 0.2.14 / 0.2.13 / 0.2.12,应用内「检查更新」可正常提示升级。

Note

本次为 0.2.15(2026-10-09):在 0.2.14 的基础上,合并上游 main 的 20 个非合并提交
(5fc0e486c → 3a6fd1c9d)与 ranxi 批次十四(17c88b012 → 11be58950,v2.10.1)。
发布产物为 Docker 镜像(GHCR + Docker Hub 双 registry),Release 零附件。

移植来源

  • 来源一:上游 Wei-Shaw/sub2api 分支 main
    • 来源提交:3a6fd1c9d(v0.2.15,2026-10-09);上次移植基准 5fc0e486c
    • 本次增量:20 个非合并提交,140 个文件(+13575 / −1054)
  • 来源二:ranxi2001/sub2api 分支 production
    • 批次十四:11be58950(ranxi release v2.10.1,2026-10-09);上次移植基准 17c88b012
    • 本次增量:5 个非合并提交,19 个文件(+1019 / −4)
  • 新增迁移:无
  • 版本号:backend/cmd/server/VERSION 为 0.2.15

上游增量(v0.2.15,平台清单重构)

这是上游一次较大的架构收敛:把分散在各处的平台判断收敛为「平台清单 + provider profile」。

  • 平台清单(internal/domain/platforms.go):平台白名单由数据库约束改为应用层校验;
    后端平台列表、多协议供应商默认端点表、转发与探测判断统一改由 profile 驱动
  • 协议分流收敛:三个入站入口(/v1/responses、/v1/chat/completions、/v1/messages)的
    上游协议判定合并为 resolveUpstreamProtocol 单一入口
  • 新增平台:接入 Cline 与 Command Code
  • 安全:Go 升级到 1.27.2、golang.org/x/net 升到 0.60.0(修复安全扫描)
  • OpenAI:Responses Lite 与 OAuth 历史回放时声明 web_search;Claude 计费与钱包冷却修复;
    模型目录缓存隔离;/v1/responses 转 Anthropic 时统一以去空白的请求模型兜底映射
  • 前端:模型同步入口按平台能力展示;平台列表与多协议账号表单改由平台清单驱动

ranxi 批次十四增量(v2.10.1)

  • Excel BPS OAuth 登录复用密码 TOTP worker:BPS OAuth 账号的登录流程复用既有密码 TOTP worker
  • OpenAI 搜索历史兼容:OAuth 历史回放 web_search_call 时声明 web_search
  • 修复搜索历史兼容代码的类型断言 lint 问题
  • 文档:说明旧 Codex 凭据转换边界与 Excel 重新授权方式

本次合并的冲突处理(16 个文件)

  • backend/go.mod:采纳上游依赖(含 x/net 0.60.0 安全修复),go mod tidy 收敛
  • .github/workflows/release.yml:保留 Fork 发布流水线,Go 版本校验跟上 1.27.2
  • openai_gateway_chat_completions.go / openai_gateway_messages.go:采纳上游统一分流
    (Fork 原有的 OpenCode Go 硬编码分流已被 resolveUpstreamProtocolFor + profile 覆盖)
  • openai_gateway_forward.go:保留 Fork 的 DeepSeek native-compaction 快捷判定,其余采纳上游
  • composite_platform.go、account_test_service.go、credentialsBuilder.ts、
    EditAccountModal.vue、SettingsView.vue、Makefile 与各 spec:并集

⚠️ 修复:平台重构对 Fork 协议覆盖的两处回归

上游把协议判定收敛到 resolveUpstreamProtocol 时,未包含 Fork(#46) 的
「OpenAI API Key 可显式配置 api_protocol + api_base_urls(分协议端点)」能力,
导致 12 处真实路由回归(Chat Completions 入站被错误改道到 Responses)。
本次修复:

  • upstream_protocol_routing.go 的 adaptive 分支补回 Fork 语义:
    显式 chat_completions → CC;CC 入站 → 同协议直通;/v1/messages 入站 →
    配了原生 Anthropic 端点则直通,否则转 CC;其余按 Responses 端点是否存在决定
    (与 shouldForwardOpenAIResponsesViaChatCompletions 同口径)
  • nativeAnthropicMessagesURL:Fork 的 OpenAI 协议账号同样走版本感知拼接,
    避免 base 自带 /v1 时拼出 /v1/messages/v1/messages

修复后以「合并前 main」为基准逐用例比对 63600 个路由矩阵用例:OpenAI 平台
0 处行为差异;其余仅剩 768 处错误文案差异(无上游请求、无 URL/协议变化)。
上游新增的路由基准守卫改为 Fork 感知:只放行 OpenCode Go(按模型分流)与
OpenAI(Fork #46)两类,且强制 transport 集合、状态码、panic、客户端错误码一致,
数量仍精确断言,一旦扩张即失败。

Fork 自有功能(完整保留)

  • Codex 292 门票(x-codex-turn-state)打票与注入、上游剩余额度探测、账号代理车道
  • 管理员请求采集、凭证守护、账号质量运维、Excel / BPS 协议
  • Mihomo 托管 / 动态代理区域、Pelican 定时演练、图片创作 / 画布 / Studio Bridge
  • 邮件广播、模型广场、Claude 重置额度查询、网站工单、账号运维告警、受控渠道实验
  • 发布流水线:双 registry 推送;latest 只由 Release 写;二进制归档停发

升级说明

  • 升级方式:管理后台左上角「检查更新」一键升级;或
    curl -sSL https://raw.githubusercontent.com/ziyue67/sub2api/v0.2.15/deploy/install.sh | sudo bash -s -- upgrade
  • 回滚方式:install.sh rollback <version>
  • Docker:docker pull ghcr.io/ziyue67/sub2api:0.2.15
  • 镜像只提供 linux/amd64 单架构,标签 0.2.15 / 0.2.15-amd64 / latest
  • 数据库迁移:本版本不含新增迁移;升级前请备份数据库
  • 安装脚本与在线更新服务的默认仓库为 ziyue67/sub2api

验证

  • 本地校验(Linux,Go 1.27.2 / Node 22 / pnpm 9.15.9):
    • 后端:go build ./...、gofmt -l、go test -tags=unit ./... 全部通过
    • 前端:pnpm install --frozen-lockfile 通过、vue-tsc --noEmit 通过、eslint . 0 error / 0 warning、
      关键清单 vitest 76 个文件 / 1322 个用例全部通过
    • 路由一致性:以合并前 main 为基准,63600 用例逐条比对,OpenAI 平台零行为差异
  • 工作树检查:无残留冲突标记,git status 干净

📥 Installation

Docker:

# Docker Hub
docker pull ziyue67/sub2api:0.2.15

# GitHub Container Registry
docker pull ghcr.io/ziyue67/sub2api:0.2.15

本版本起不再发布 tar.gz / zip 二进制包与 checksums.txt,请使用上方镜像部署。

📚 Documentation