Repository navigation
Sub2API 0.2.17
AI API Gateway Platform - 将 AI 订阅配额分发和管理
Important
本版本为 0.2.17:在完整保留 Fork 自有功能的前提下追平上游 Wei-Shaw/sub2api 的 main
(v0.2.17,Antigravity Gemini 4 Argon + 支付链路加固),版本号沿用上游编号 0.2.17。
latest 与 0.2.17 均指向本版本。
0.2.17 大于此前的 0.2.16 / 0.2.15 / 0.2.14,应用内「检查更新」可正常提示升级。
Note
本次为 0.2.17(2026-10-16):在 0.2.16 的基础上,合并上游 main 的 48 个提交
(4d9ac3e48 → b0a02a330)。发布产物为 Docker 镜像(GHCR + Docker Hub 双 registry),
Release 零附件。
移植来源
- 来源一:上游
Wei-Shaw/sub2api分支main- 来源提交:
b0a02a330(v0.2.17,2026-10-16);上次移植基准4d9ac3e48 - 本次增量:48 个提交(含合并提交),153 个文件(+7035 / −808)
- 来源提交:
- 新增迁移:无
- 版本号:
backend/cmd/server/VERSION为0.2.17
上游增量(v0.2.17)
Antigravity / Gemini
- 支持 Gemini 4 Argon(含
low/medium/high档位)与准确的上游模型目录;补齐 Argon 计费 - 保留
tool_result图片、原生 GeminifunctionCall与thoughtSignature,以及 composite/v1beta路由 - 保留旧默认透传,Claude 5.5 tier ID 按基础价计费
- Gemini 兼容入口转发思考档位并流式返回思考摘要
- Vertex 共享容量不足的 429 不再冷却账号,改为同号退避重试;服务账号已不存在时账号置为 error 并换号
- 每个上游错误响应只检查一次错误策略
网关与协议
- 拒绝含 OpenAI 网关 OAuth 的 composite 歧义路由,防止凭据误入 Anthropic 管线
- 网关照 Anthropic 协议的 base URL 生效
- Responses 对象一律带
created_at(修复 grok-build 反序列化失败) - 结构化输入最小输出 token 下限可配置(
gateway.min_output_tokens,最小 16,默认 128) - 智谱 GLM Coding Plan 5h / weekly 用量窗口修正
- 模型退役判定改在公开别名投影之后评估;GPT-5.5 在 ChatGPT 上游按退役处理
OpenAI / Codex
/v1/messages对 OpenAI API Key 账号模拟web_search;OAuth 账号排除该模拟- Codex 导入按 workspace 隔离
支付
- EasyPay:下单查询与到账前确认通知修复
- 支付宝:退款状态查询、不支持订单类型的关闭、待处理退款原子收尾、退款查询错误按待处理处理
- Stripe:client secret 从本地订单快照读取
- 订单类型校验,待处理期间保留退款扣减
前端
- 恢复内联账号筛选(revert
#7853)
Fork 侧保留与合并处理(14 个冲突文件)
| 文件 | 处理 |
|---|---|
service/account.go |
上游把 IsModelSupported 拆成 isModelMappingSupported;保留 Fork 的 Excel/BPS 与 Astra 凭据边界前置守卫,再委托上游的 supportsOpenAIRequestModel |
service/openai_models_list.go |
上游把投影拆成两层;保留 Fork 的分组感知实现(projectAccountModelAliases),出口接上游的退役模型过滤 |
service/gateway_service.go |
保留 Fork 的 groupID 补全 + 采纳上游的退役模型过滤与空目录语义 |
service/openai_codex_models_service.go |
保留 Fork 的 BPS 能力限制(catalog),叠加上游的退役模型过滤 |
service/openai_ws_forwarder_support.go |
保留 Fork 的 IsModelSupportedInGroup(同时校验分组约束),不降级为仅账号判定 |
handler/admin/account_codex_import.go |
保留 Fork 的 client/workspace 身份作用域,与上游的 composite 身份键共存 |
service/openai_gateway_passthrough.go |
超时分支的 buildOpenAIResponseFailedSSE 补上上游新增的 createdAt 参数 |
apicompat/chatcompletions_to_responses.go |
采纳上游的 WithMinOutputTokens 变体,并保留 Fork 的 EffectiveReasoningEffort() 语义 |
config/config.go、deploy/config.example.yaml |
并集:Fork 的 upstream_routing / Prism / Codex Pin 与上游的 min_output_tokens |
frontend/.../AccountTableFilters.vue |
保留 Fork 的无障碍 aria-label(上游本次是 revert),layout 取上游的响应式改进 |
composables/useModelWhitelist.ts |
取上游超集(新增 Gemini 4 Argon 系列) |
其余(routes 测试、AccountTableFilters.spec.ts) |
保留 Fork 侧;上游 revert 删掉的组件测试按仓库现状保留 |
验证
- 本地校验(Linux,Go 1.27.2 / Node 22):
- 后端:
go build ./...、go vet ./...、gofmt -l全部通过;go test -tags=unit ./...全绿 - 前端:
vue-tsc --noEmit0 错误、eslint . --max-warnings 00 problem
- 后端:
- 工作树检查:无残留冲突标记
- 未包含:
backend/config/config.yaml(上游/ranxi 误提交的线上部署配置,含明文凭据,本仓无任何引用)
升级说明
- 升级方式:管理后台左上角「检查更新」一键升级;或
curl -sSL https://raw.githubusercontent.com/ziyue67/sub2api/v0.2.17/deploy/install.sh | sudo bash -s -- upgrade - 回滚方式:
install.sh rollback <version> - Docker:
docker pull ghcr.io/ziyue67/sub2api:0.2.17 - 镜像只提供
linux/amd64单架构,标签0.2.17/0.2.17-amd64/latest - 数据库迁移:本版本不含新增迁移;升级前请备份数据库
- 安装脚本与在线更新服务的默认仓库为
ziyue67/sub2api
Fork 自有功能
- Codex 292 门票(x-codex-turn-state)打票与注入、上游剩余额度探测、账号代理车道
- 管理员请求采集、凭证守护、账号质量运维、Excel / BPS 协议
- Mihomo 托管 / 动态代理区域、Pelican 定时演练、图片创作 / 画布 / Studio Bridge
- 邮件广播、模型广场、Claude 重置额度查询、网站工单、账号运维告警、受控渠道实验
- 发布流水线:双 registry 推送;
latest只由 Release 写;二进制归档停发
Docker 镜像(ziyue67/sub2api)
ziyue67/sub2api:latest
ziyue67/sub2api:0.2.17
ghcr.io/ziyue67/sub2api:latest
ghcr.io/ziyue67/sub2api:0.2.17
拉取示例:
docker pull ziyue67/sub2api:0.2.17
docker pull ghcr.io/ziyue67/sub2api:0.2.17