sub2api v1.1 系列发布:从 API 网关到智能运营平台的全面跃迁
不到 24 小时,sub2api 从 v1.0.27 一口气跳到 v1.1.5,完成了内置支付、动态汇率、RPM 限流、深色主题、Refresh Token 持久化、闲时计费展示、用户头像等全栈运营能力的跃迁。
BenszConan
管理员
文章目录 ⌄
上一篇写 sub2api,我说它正在从"能跑业务"走向"更懂经营",围绕支付可靠性、订阅升级、闲时计费、盈利测算和模型兼容做了一轮密集的产品化加固。那篇文章发出来还不到 24 小时,项目的版本号就从 v1.0.27 直接跳到了 v1.1.5。
这个跳跃很有意思。如果只是修修补补,通常就是 v1.0.28、v1.0.29 这样滚下去。但作者选择了 v1.1,说明他自己也认为:项目能力已经跨过了一个关键门槛。
我上一次详细追踪 sub2api,还是在讲"别再只会 fork"这件事——怎样把一个成熟的 AI API Gateway fork 下来,用 AI 深度参与理解、改造、补闭环,最后把它真正做成自己的产品。当时的改动集中在支付、订阅、首页、发布自动化这些"让产品成立"的基础设施上。后来第二次写,是追踪一周内从 v1.0.13 到 v1.0.27 的快速迭代,那时候项目已经在往"更可运营"的方向走了。而这次 v1.1 系列的几个版本,感觉是这些能力终于长到了一起,形成了一个完整的全栈运营引擎。
v1.1.0 和 v1.1.1:内置支付、动态汇率和 RPM 限流,三个最硬的能力同时落地
v1.1.0 是这个系列真正的转折点,v1.1.1 又紧接着补了一轮修复和文档,两个版本可以放在一起看。
我觉得最核心的变化有三个。
第一个是内置支付系统真正闭环了。之前项目已经接入了微信支付,但 v1.1.0 把订阅创建、补差价升级、余额结算这一整条链路全部打通。用户不再需要绕外部系统,可以直接在站内完成从选套餐、付款、到订阅生效的全流程。而且余额也可以直接买订阅了,不用每次都走第三方支付。这意味着这个系统不再只是一个"可以卖 API"的网关,而是一个具备了完整交易闭环的产品。
第二个是动态汇率人民币结算。做过跨境 AI API 分发的朋友应该都知道,上游 API 基本都是美元计价,但国内用户习惯看人民币。如果汇率策略处理不好,要么平台亏汇率差,要么用户觉得价格总在变。v1.1.0 把实时 USD/CNY 汇率转换做进了系统,支持管理后台配置 TTL,默认缓存 86400 秒。取向很明确:汇率不是用来"坑用户"的,而是为了让平台在汇率波动下保持长期运营稳定。
第三个是 RPM 限流和 403 冷却机制。这可能是 v1.1.0 里最"工程化"的一个能力。管理员现在可以按用户级和分组级配置 RPM 上限,同时系统会自动检测 OpenAI 返回的 403 错误并触发冷却策略。这对保护上游 API 账号的稳定性非常重要——一个用户写了个死循环脚本,不应该把整组分组的额度和账号信誉一起拉爆。
除此之外,还有一个让我印象很深的新功能:套餐定价测算面板。它不是简单地让管理员拍脑袋填价格,而是把用户需求分布、保本单价、用户池规模、安全缓冲这些因素放在一起做数学测算,然后给出达标单价和调价幅度建议。这种思路在 SaaS 产品里不算新,但在开源的 AI API 网关里见到,是真的在往"可运营"的方向用力。
v1.1.0 还顺手补了几个很关键的产品化细节:GPT-5.5 全链路支持(不只是前端加一个选项,而是从模型暴露、计费兜底、缓存键注入到前端映射全部贯通)、站内公开费用页 /pricing、订阅补差价升级、仪表盘容量推荐、管理员订阅邮件通知、服务条款与隐私政策公开页面。这些功能单看都不算特别大,但合在一起,就是一个 API 产品从"能用"到"能卖"到"能合规运营"的完整拼图。
v1.1.1 紧接着修了几个重要的 bug:历史订阅补差价升级被错误拦截、余额订阅订单退款判断逻辑、第三方上游 Responses URL 拼接不一致、严格 CSP 环境下内联脚本无法执行、盈利水平图表数据填充与显示、容量推荐算法扩容后不收敛、以及管理员首次进入设置页弹出 setting not found 的问题。这些修复的意义在于,v1.1.0 的大功能落地后,作者没有立刻去搞下一个大功能,而是先回头把已有能力的不稳定点一个个摁住。
v1.1.2:套餐定价测算更准了,管理页也能切换语言
v1.1.2 只包含两个提交,但每一个都很务实。
第一个是修复套餐定价测算面板中,同有效期不同档位(低/中/高)套餐可能显示相同达标售价的问题。原因出在测算逻辑没有按每个套餐的实际权益规模(月/周/日额度乘以分组倍率)做独立换算。修完之后,不同权益规模的套餐会各自显示独立的达标售价和调价幅度,管理员看到的数据才真正有参考价值。
第二个是把订阅套餐管理页的 "Upgrade Family" 和 "Upgrade Rank" 从硬编码英文改成了国际化,随中英文语言设置自动切换。改动不大,但如果你之前用过这个页面,应该能感受到硬编码英文在中文界面里有多出戏。
v1.1.4:深色模式终于不折腾了,不再一更新镜像就要重新登录
v1.1.4 可能是我个人最喜欢的一个版本,因为它解决的是两个非常"居家"的体验问题。
第一个是主题偏好机制统一了。之前项目的主题切换按钮分散在侧栏里,逻辑也写得比较简单。v1.1.4 把主题管理完全重构成了一个统一的系统:支持浅色、深色、跟随系统和按时间自动切换深色模式四种模式,所有的偏好设置统一迁移到"系统设置→通用设置→外观偏好"面板里,公开页面和管理后台共享同一套偏好存储。而且支持设定深色模式时段,比如每天 20:00 到次日 06:00 自动切暗色。这个功能的细节做得很到位——不是加个 dark class 就完事了,而是从工具层、composable 层到 UI 层都有清晰的架构。
第二个是 Refresh Token 持久化到 PostgreSQL。这个问题看起来偏底层,但实际体验影响巨大。以前 Refresh Token 只存在 Redis 里,Docker 镜像更新或 Redis 重启之后,所有用户都会被强制登出,需要重新登录。如果你在管理一个已经在跑业务的站点,这种事情每发生一次,都是对用户的打扰。v1.1.4 把 Token 哈希持久化到 PostgreSQL 的新表里,Redis 降级为热缓存,并且实现了原子消费机制确保同一个 Token 不会被并发重复使用。这样一来,升级镜像或重启 Redis 都不影响用户登录状态。Docker Compose 里也补齐了 JWT_REFRESH_TOKEN_EXPIRE_DAYS 等环境变量透传。
另外 v1.1.4 还优化了管理控制台 Dashboard 的布局(将高频监控面板前移,压缩测算参数区的视觉膨胀感),以及修了一个很典型的前端交互 bug:数字输入框在编辑期间不允许临时清空再重填。这个 bug 估计每个用过管理后台的人都遇到过——想改一个数字,删掉旧的值准备输入新的,结果输入框立刻给你填回去一个最小值。
v1.1.5:头像自定义和闲时计费展示,用户侧的感知终于变强了
如果说前面几个版本更多是管理员侧的体验提升,v1.1.5 则是把用户侧的个性化体验往前推了一大步。
最直观的变化是用户头像支持自定义。现在用户可以在个人设置里选择三种头像方式:系统默认生成、外链 URL、以及本地图片上传。上传的头像文件会持久化到 data/uploads/avatars/ 目录,前端集成了全新的 UserAvatar 组件,在个人设置编辑表单、信息卡片、顶部导航栏三个位置统一展示。虽然头像看起来是个小功能,但它是用户感知"这是我的账号"最直接的元素,也是社区化运营的基础设施。
另一个很好的产品细节是闲时计费展示。之前闲时计费能力只存在于后台配置和网关计费链路里,用户侧感知不到。v1.1.5 把闲时时间窗、闲时倍率和闲时盈利率直接展示在套餐卡片上,用户在购买页就能看到。这比后台默默打折、用户完全不知道要好得多——透明的价格机制本身就是一种信任建设。
管理后台也补了两个实用改进:用户列表新增"总充值"列,按用户历史上所有正向充值累计展示;管理员侧边栏将 /admin/dashboard 文案从"仪表盘"改为"控制台",与用户侧的"仪表盘"做了明确区分。另外还修了两个比较关键的 bug:微信支付 PEM 私钥/公钥如果尾部包含垃圾内容会导致支付失败(新增了校验逻辑在导入阶段就拒绝),以及 Dashboard 的收入与盈利口径中错误计入了 admin 用户自己的 API 使用量。
总体感受
如果说上一篇文章里我看到的 sub2api 是在"从工程可运行走向业务可经营",那这轮 v1.1 系列给我的感觉是:它已经跨过了那个门槛,开始像一个真正的产品了。
我特别喜欢这轮版本演进的节奏。v1.1.0 大刀阔斧地落地支付闭环、动态汇率、RPM 限流和套餐测算这些重型能力,v1.1.1 马上回头修了一圈真实边界问题,v1.1.2 校准了定价测算的准确性,v1.1.4 解决了两个用户天天能感受到的体验痛点(主题和登录),v1.1.5 开始关注用户侧的个性化表达和消费透明度。这不是一个大版本憋三个月然后一把梭的节奏,而是非常典型的持续交付——每一版都在解决真实问题,每一个问题都来自真实运营场景。
而且你会注意到,这些版本之间的因果关系很清晰。比如有了分组闲时计费(v1.0.26),v1.1.5 就把它展示到用户侧的套餐卡片上;有了内置支付(v1.1.0),v1.1.1 就修了支付回调和订单校验的边界问题;有了 Dashboard 定价测算(v1.1.0),v1.1.2 就校准了不同权益套餐的价格区分。这种"功能→反馈→修复→增强"的循环,是一个项目真正在运营中成长的标志。
如果你之前在犹豫要不要基于 sub2api 搭建自己的 AI API 产品,我的建议已经很明确了:现在的 v1.1.x 已经不是需要你自己大量补基础设施的状态了。支付、订阅、汇率、限流、主题、登录、盈利测算这些最磨人的东西,项目已经帮你做完了。
项目 GitHub 地址:
评论区
0 条评论