五个免费 AI 反代服务,五套后台、五个端口、五次登录。API-free 没有改它们一行代码,只在外面加了一层:一个页面看状态、用量和密钥。

之前开源的五个白嫖服务集合到了一起:五套独立进程、五个端口,每个页面还得单独登录一次。所以整合到了一起。如果想看看今天一共用了多少额度,得挨个打开五个页面;想改一个配置,得先想起来它到底在哪个端口上。所以最近花了点时间,在外面加了一层,把它们收进同一个面板里。
先说清楚:它没有动那五个项目,一行代码都没改。收进一个面板的是管理,不是功能。
把那五个服务摆出来:
| 服务 | 端口 |
|---|---|
| Qoder | 8210 |
| WorkBuddy | 7863 |
| Cline | 8787 |
| Command Code | 8014 |
| OpenCode Zen | 8020 |
| 统一面板 | 9000 |
每个都有自己的一套账号池、自己的登录流程、自己的用量统计,还有一个风格各异的网页后台。单个看都没问题,问题在于它们是五件事,不是一件事。

需要的东西其实特别朴素:一个页面里能看见五家谁在跑、谁挂着、账号还剩几个、今天用了多少 token;能在一个地方点启停;能在一个地方把密钥复制出来贴进客户端。就这三件事,是 API-free 全部的设计目标。
它自己是个 Go 写的后端加一个 React 前端,跑起来在 127.0.0.1:9000 上开一个页面。不碰上游——那五个项目各自的接口形状不一样,而且会变。如果去改它们的代码,等于把这个最不稳定的部分焊死在自己的面板里。所以这一层只做聚合:统一读它们的原生接口,把差异在服务端吸收掉。
总览页:五家的账,终于能一起看
打开面板第一屏是总览。每个服务一张细线卡,卡片上排着状态、账号数、积分、模型数、今日用量,还有一条 30 天的迷你趋势线。屏幕够宽的时候,五张卡正好一行排满。
下面是一张跨服务的用量趋势图,图例就是五个服务的 logo,点一下只看那一家,可以多选,表头会跟着换成这家的输入、输出和请求数。合计的时候按输入输出分层画,选中某一家就单独一条线。

统计是按天落本地 SQLite 的。用的是纯 Go 的 sqlite 驱动,不需要 CGO。所以编译出来就是一个可执行文件,不用为了一个数据库再去配环境。

除了用量,总览上还有时段分布、模型和账号排行、服务质量,以及一条面板事件流——什么时候哪个服务崩了、被拉起来了,都在里面。
开关是真的进程启停。停止是杀进程树,不是把页面上的按钮变灰。服务崩了,面板会按 30 秒起步的指数退避把它重新拉起来,最长退到 10 分钟一次。
面板还会收编——如果某个服务是自己在命令行里先起好的,面板启动时不会打架,会把这个实例接管过来,照样显示状态、用量和日志,只是标记成不是面板拉起的。等它掉线了,面板再按自己的规矩把它拉起来。
接入页签:密钥只待在一个地方
每个服务的详情页里有一个「接入」页签,里面是四块东西。
第一块是连接信息。地址可以在「经面板」和「直连服务」之间切换,各带一个复制按钮。下面是 API Key,默认是脱敏的,点显示才看全文,点复制直接进剪贴板。

看明文这个接口只对本机开放,非本机来源会直接返回 403。这条是刻意的——面板的代理会注入各个服务的真实密钥,所以它整站都不该被放到公网上。
第二块是模型下拉框,列表来自那个服务自己的 /v1/models,不另存一份。

第三块是可以直接粘贴运行的代码,分了 cURL、Python、Node、Anthropic、环境变量五个标签页,按上面选的地址和模型实时生成。其中 Anthropic 那页只有 Cline 有,因为它同时提供 OpenAI 和 Anthropic 两种协议,能直接接 Claude Code。
第四块是接入须知和一键自检。自检会真的发一条最小请求出去,max_tokens 给 64,然后把 HTTP 状态、耗时、返回内容,或者上游报的原文错误,直接显示在页面上。
代理入口设计
最省事的是代理入口:http://127.0.0.1:9000/api/svc/{服务}/v1。走这个地址的时候,客户端的 API Key 随便填,面板会把它覆盖成那家服务的真实密钥,然后转发出去。
如果不这么做,得在四五个客户端的配置文件里各存一份真钥。哪天换一个,就得挨个改一遍。这个设计的好处很直接:电脑上装的 Cline、Continue、Cherry Studio、ChatBox,甚至 Cursor,每一个里面填的都是同一句废话。真密钥只在面板里存着一份,不会散落在四五个软件的配置文件里。
顺带说一句,服务没在跑的时候,这个页签照样能用。地址和密钥还在,只有模型列表会写明服务未运行。所以什么时候想配客户端都行,不用先把它拉起来。
总结
单纯就是想做一个汇总管理。那五个服务该有的能力都有,问题是它们是五个。五个端口、五次登录、五个页面,每次想看一眼总量都要开一圈。不过一开始想做成 API 中转,把自用的所有平台一起全部走一个接口,但是做了 3 版发现中转不是想要的效果。
有些工具的价值不在于它能做什么新事情,而在于它把你已经在做的事情,从五件变成了一件。