爱意满满的作品展示区。
murongxdb

只是和几个同事分个订阅,何必背着一套臃肿的 sub2api

  •  
  •   murongxdb ·
    PRO
    · Sep 29 · 4843 views

    我们组 4 个人凑钱买的订阅,之前一直用 sub2api 。用了小半年,功能没得说,但每次服务器要迁移我就头疼——除了它自己,还得把 Postgres 和 Redis 一起搬过去。有次 Redis 挂了,整个网关直接不工作,排查了半天发现是内存超了。

    后来想想我们其实就 4 个人,用不着这么重的东西。就自己写了一个,叫 SubLane ,一个轻量级的,专供于小团队的订阅 / API 共享的 API 网关。

    它是干嘛的

    把订阅账号接进来,给每个人发一把自己的 key ,大家拿 key 去用,我在后台能看到谁用了多少。

    就这样。没有别的。

    装完是一个 Docker 容器,数据库直接跑在进程里,没有 Redis ,前端编译进同一个二进制文件。备份就是备份那个数据卷。

    技术上是 Go + chi + sqlc ,SQLite 存数据,前端 React 19 编译进二进制。上游用了 CLIProxyAPI 的 executor ,但 OAuth 、凭据加密、账号选择这些都是自己写的,凭据不放进 SDK 的管理器。

    开源地址: https://github.com/murongg/SubLane

    大家有什么痛点或者需求都可以提 issue ,合理的我会尽可能的满足

    软件截图

    54 replies  •  2026-10-13 09:22:22 +08:00
    Yasuke
        1
    Yasuke  
       Sep 29
    cpa 不就可以
    dododook
        2
    dododook  
       Sep 29
    来个 demo 登入试试呀
    murongxdb
        3
    murongxdb  
    OP
    PRO
       Sep 29
    @Yasuke SubLane 更明确的特点是:

    围绕团队工作空间组织资源:每个空间管理自己的账号池、成员、权限、用量分配和审计。
    一体化部署:Go 单进程 + SQLite + 内置网页,把团队管理和网关放在一个应用里。
    murongxdb
        4
    murongxdb  
    OP
    PRO
       Sep 29
    @dododook 确实这个还差,这两天就搞
    xubeiyou
        5
    xubeiyou  
       Sep 29
    那你这个对比 sub2api 除了解决重的问题 还有啥呢 对于小团队来说?我其实也就 3-4 个人一起用 不过我是本地 我分给其他人是 key
    murongxdb
        6
    murongxdb  
    OP
    PRO
       Sep 29
    @xubeiyou sub2api 配置起来太复杂,对于小团队来说冗余功能太多
    murongxdb
        7
    murongxdb  
    OP
    PRO
       Sep 29
    @xubeiyou 如果想用大而全功能的就用 sub2api ,如果想体验一下只是分一下订阅,并且有团队管理,不需要任何其他功能的,可以考虑一下 sublane
    ZGame
        8
    ZGame  
       Sep 29
    为什么不直接授权登录呢... 官方也能用吧
    murongxdb
        9
    murongxdb  
    OP
    PRO
       Sep 29
    @ZGame 同一个账号,被多人授权登录使用,容易封号吧,尤其是 claude
    ZGame
        10
    ZGame  
       Sep 29
    @murongxdb #9 claude 没用过 codex 目前好像没封
    stringwind
        11
    stringwind  
       Sep 29
    类似的轻量网关有很多,cpa ,gpt-load ,功能还多一点,整体会完善点。看 README 看上去也没有特别的功能。
    murongxdb
        12
    murongxdb  
    OP
    PRO
       Sep 29
    @stringwind 怎么说呢,主要是针对团队场景进行功能优化,以及没有那么复杂的技术栈
    Dream4U
        13
    Dream4U  
       Sep 29
    审美在线,不过从 sub2api 迁移有点麻烦了,三四个人,key 太多了。
    还有就是维护呢?新模型,新特性,都要等你更新才行,sub2api 更新还挺勤快的
    JZen
        14
    JZen  
       Sep 29
    麻烦楼主有 demo 也踢一下我
    dododook
        15
    dododook  
       Sep 29
    @murongxdb 好的,谢谢,挺支持这种简单的,希望支持 grok 呀也。。
    murongxdb
        16
    murongxdb  
    OP
    PRO
       Sep 29
    @Dream4U 新模型是在线更新的,新特性估计得出了才能单独支持,这个项目维护起来很方便,就是一个 go 程序+一个 sqlite 数据库,我个人更新也挺勤快,只要有 bug 和合理需求,基本两天内就能搞定,可以看看我 GitHub 主页的提交量
    murongxdb
        17
    murongxdb  
    OP
    PRO
       Sep 29
    @JZen 在做了,今天上午差不多就有
    Alejandr0
        18
    Alejandr0  
       Sep 29
    会不会导致封号呢?记得 Tibo 说过要打击 sub2api
    murongxdb
        19
    murongxdb  
    OP
    PRO
       Sep 29
    @dododook #15 还在做,未来版本肯定会支持,感谢
    murongxdb
        20
    murongxdb  
    OP
    PRO
       Sep 29
    @Alejandr0 tibo 说打击 sub2api ,但是支持 cliproxyapi ,这个项目就是基于 cliproxyapi 做的,并且内部支持单独为某个账号分配网络代理
    pabno
        21
    pabno  
       Sep 29
    我排查问题和迁移也都是直接交给 ai 做的,机器权限直接给他自己整。
    murongxdb
        22
    murongxdb  
    OP
    PRO
       Sep 29
    @pabno 这也没问题,但是会有心智负担,迁移起来也没有 sqlite 那么方便
    ufan0
        23
    ufan0  
       Sep 29
    很棒的工具,本地尝试中。

    好奇:OP 在 Github 提交两为何能如此浮夸?没有在大陆享受福报吗?

    建议:上 BT 或者 1Panel 平台商店,能获得非常多的关注。
    DigitalG
        24
    DigitalG  
       Sep 29
    star 支持下。

    我目前有多台设备用,倒不担心封号,主要是会话记录会混在一起。
    之前用 CliProxyApi+keeper 可视化,主要痛点是上游同时支持多个不同协议端点的时候 cpa 目前只能每个端点配置一次。现在开始用 axonhub ,小规模团队用其实蛮好的,有请求审计和多端点配置。小痛点是可视化美观性差一些。
    murongxdb
        25
    murongxdb  
    OP
    PRO
       Sep 29
    @ufan0 热爱开源,享受开源,感谢建议,等项目稳定后会考虑上那两个平台
    murongxdb
        26
    murongxdb  
    OP
    PRO
       Sep 29
    @DigitalG 可以再详细聊聊你自己使用过程中的痛点,我会参考您的需求
    tommyshelbyV2
        27
    tommyshelbyV2  
       Sep 29
    小团队确实有需要,持续关注一下
    tommyshelbyV2
        28
    tommyshelbyV2  
       Sep 29
    另外有没有账号渠道分享一下,能用海外模型的就最好了
    murongxdb
        29
    murongxdb  
    OP
    PRO
       Sep 29
    @tommyshelbyV2 #28 我现在都是自己充值的
    lekai63
        30
    lekai63  
       Sep 29
    小规模团队的话 axonhub 我觉得成熟度够用了
    envooy
        31
    envooy  
       Sep 29
    让 ai 帮忙写个 docker compose 自动搭建 sub2api 就好了吧。迁移的时候 docker-compose 目录迁移。
    murongxdb
        32
    murongxdb  
    OP
    PRO
       Sep 29
    @ftfunjth 还有个问题是 sub2api 太重,功能太臃肿,几个人订阅一个号,功能太冗余
    jucelin
        33
    jucelin  
       Sep 29
    OP 是否考虑增加这些功能:
    1. 记录每次请求的上下文,可能会产生大量的日志;
    2. 关键字(或正则)的替换、或预警、或者拒绝服务,防止某些 key 传到外网。
    lifei6671
        34
    lifei6671  
       Sep 29
    @murongxdb #9 CPA 更容易被封号吧。
    murongxdb
        35
    murongxdb  
    OP
    PRO
       Sep 29
    @jucelin 第一个我理解,第二个我没太 get 到
    murongxdb
        36
    murongxdb  
    OP
    PRO
       Sep 29
    @lifei6671 Tibo 在 X 上公开说过支持 CPA ,但是具体怎么执行不知道
    aurorajamesgirl
        37
    aurorajamesgirl  
       Sep 29   ❤️ 1
    四人小团队的一体化部署很有吸引力。建议 README 里补一段实际的备份与恢复演练,尤其是 SQLite 数据卷迁移、升级失败回滚、上游凭据轮换这三步;这会比单说“一个容器”更让人放心。
    dummyx
        38
    dummyx  
       Sep 29
    @murongxdb #35 就是 guardrails
    JohnSwit
        39
    JohnSwit  
       Sep 29
    @murongxdb #9 我感觉还好,我们 10 多个人都是授权登录,一直用的挺稳定
    murongxdb
        40
    murongxdb  
    OP
    PRO
       Sep 29
    @JohnSwit 这么多人~~
    murongxdb
        41
    murongxdb  
    OP
    PRO
       Sep 29
    @JohnSwit 怎么做计量分配
    jucelin
        42
    jucelin  
       Sep 29   ❤️ 1
    @murongxdb #35 主要是古老代码中有密钥/密码硬编码,如果接入 AI ,就可能被丢到外网;
    如果是替换,那么指定 sk-123123123 就统一替换为 sk-111111 ,对大模型理解没影响;
    如果是预警,那么只在日志中高亮提醒;
    如果是拒绝服务,接口直接返回错误码,避免流出;
    murongxdb
        43
    murongxdb  
    OP
    PRO
       Sep 29
    murongxdb
        44
    murongxdb  
    OP
    PRO
       Sep 29
    @JZen @dododook
    https://demo.sublane.dev/
    Username: demo · Password: sublane-demo
    adminpro
        45
    adminpro  
       2 days ago
    3 个人在用,经常出现“已拒绝 账号正在冷却” 啥原因啊? gtp pro200 的
    murongxdb
        46
    murongxdb  
    OP
    PRO
       2 days ago
    @adminpro 麻烦问一下是按什么模式进行分配额度的
    murongxdb
        47
    murongxdb  
    OP
    PRO
       2 days ago
    @adminpro 一般来说,上游返回 429 会立即触发,网络异常、5xx 或流中断累计失败可能触发
    murongxdb
        48
    murongxdb  
    OP
    PRO
       2 days ago
    @adminpro 可以打开「管理 → 全部请求」,找到该账号开始冷却前的失败记录:
    - 显示「上游限流」:查看账号额度和当时请求量。
    - 显示「上游暂不可用 / 超时 / 流中断」:排查代理、网络和上游服务。
    murongxdb
        49
    murongxdb  
    OP
    PRO
       2 days ago
    @adminpro 如果使用的是旧版本,旧版本有个 bug ,账号的使用量如果刷新失败,也可能会出现这个问题,可以更新一下版本: https://www.sublane.dev/docs/zh/deployment
    adminpro
        50
    adminpro  
       2 days ago
    @murongxdb 1 、用量分配里没设置,就给每个人分配 key ,
    adminpro
        51
    adminpro  
       2 days ago
    错误有: 请求超时 · 200 ,上游暂不可用 · 503 ,上游拒绝请求 · 400
    adminpro
        52
    adminpro  
       2 days ago
    用的 0.3.0
    murongxdb
        53
    murongxdb  
    OP
    PRO
       2 days ago
    @adminpro #52 好的,我再 debug 一下
    murongxdb
        54
    murongxdb  
    OP
    PRO
       1 day ago
    @adminpro #52 已更新到 0.6.0 ,麻烦更新一下试试
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3358 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 84ms · UTC 11:10 · PVG 19:10 · LAX 04:10 · JFK 07:10
    ♥ Do have faith in what you're doing.