1899 字
5 分钟
Loomy 积分变 OpenAI 网关:loomy2api 的协议逆向与工程实践

Loomy 积分变 OpenAI 网关:loomy2api 的协议逆向与工程实践#

在 AI 工具链的生态中,桌面客户端往往承担着“流量入口”的角色。科大讯飞的 Loomy 桌面 AI 助理通过每日签到赠送积分,为用户提供了免费的大模型调用额度。然而,作为一款客户端软件,其界面臃肿、功能耦合度高,且 API 接口并未向第三方完全开放。开发者 Patrick130306 将这一痛点转化为工程实践,开源了 loomy2api 项目,成功将 Loomy 的积分体系封装为一个兼容 OpenAI 与 Anthropic 协议的自托管 API 网关 [S7][S8]。

本文将从协议逆向、架构设计、部署验证及工程边界四个维度,解析该项目的技术实现与取舍。

协议逆向:从桌面客户端到标准 API 的映射#

loomy2api 的核心价值在于“协议转换”。它并非简单的 HTTP 代理,而是对 Loomy 客户端的登录态与通信协议进行了深度逆向。

登录态与签名机制#

Loomy 的客户端通信并非标准的 RESTful API,而是基于自定义的加密协议。项目维护者在 GitHub 仓库的文档中明确指出,网关通过模拟登录态,实现了 RSA 与 HMAC 签名机制 [S8]。这意味着,开发者无需在本地安装臃肿的 Loomy 客户端,只需在网关端配置账号密码(或短信验证码),即可完成身份认证。

模型映射与倍率控制#

为了适配主流的 AI 工具链,loomy2api 实现了模型名称的映射与倍率控制。上游提供的模型包括 Spark-X、GLM-5.3-Flash、Qwen 系列等,网关直接透传模型 ID,但在实际调用时,根据模型类型应用了不同的倍率策略 [S7]。

根据项目文档,不同模型的倍率差异显著:Spark-X 的倍率仅为 0.1,而 Qwen-3.8-Max 的倍率高达 12.0。这种设计反映了上游不同模型组间的成本差异。在实际工程中,开发者需要根据业务对成本与质量的平衡,选择合适的模型 ID 进行调用。

设备标识隔离#

在多账号场景下,loomy2api 引入了“设备标识隔离”机制。每个账号在首次登录时会随机生成一套独立的设备标识(devid / 校园设备号)并绑定。后续续期时复用该标识,避免所有账号对外宣称属于同一台设备 [S7]。

工程结论:虽然设备标识隔离减少了账号间的关联风险,但项目作者在文档中明确警示,这并非防封保证。上游风控系统真正关注的通常是出口 IP,而非设备指纹。因此,多账号池的稳定性高度依赖于 IP 资源的多样性。

架构设计:零依赖与多账号池策略#

loomy2api 的另一个显著特点是“零依赖”。项目仅依赖 Python 3.9+ 的标准库,不依赖任何第三方 pip 包 [S7]。这一设计决策极大地简化了部署流程,降低了环境配置的复杂度。

多账号路由策略#

面对多个 Loomy 账号,网关需要智能地分配请求。loomy2api 提供了三种路由策略:

  1. 按积分余额:优先使用余额充足的账号,适合成本敏感型场景。
  2. 轮询:均匀分配请求,避免单一账号负载过高。
  3. LRU(最近最少使用):根据账号的活跃度动态调整,适合长期运行的 Agent 任务。

自动续期机制#

Loomy 的登录态有效期通常为 14 天。loomy2api 内置了自动续期逻辑,当检测到登录态即将过期时,会自动使用账号密码重新登录并刷新令牌。这一机制使得网关可以作为长期运行的微服务,无需人工干预 [S7]。

部署与验证:从 Docker 到 Anthropic 兼容#

loomy2api 支持多种部署方式,包括 systemd 服务、Windows 任务计划以及 Docker 容器化部署。对于大多数开发者而言,Docker 是最快捷的方案。

可复现的部署清单#

以下是基于 Docker 的标准部署流程,可直接复现 [S8]:

# 1. 克隆仓库并进入目录
git clone https://github.com/Patrick130306/loomy2api.git
cd loomy2api
# 2. 准备配置文件
cp accounts.example.json data/accounts.json
cp config.example.json data/config.json
# 3. 启动服务
docker compose up -d --build

验证与控制面板#

服务启动后,默认监听端口为 17890。开发者可以通过访问 http://127.0.0.1:17890/panel 打开 Web 控制面板。该面板提供了可视化的账号管理功能,包括查看每个账号的实时余额、登录态剩余天数、已用积分以及冷却状态 [S7]。

Anthropic 协议兼容#

除了 OpenAI 兼容接口,loomy2api 还实现了 Anthropic 的 /v1/messages 接口。这意味着,像 Claude Code 这样的工具可以直接通过设置 ANTHROPIC_BASE_URL 来调用 Loomy 的积分额度,无需额外的适配层 [S7]。

工程边界与风险提示#

尽管 loomy2api 提供了强大的功能,但在实际应用中,必须明确其工程边界与潜在风险。

上游的静默回退#

在测试中发现,上游服务对不认识的模型名称会进行静默回退。例如,当请求 gpt-4o-mini 时,上游返回 200 状态码,但实际响应中的 model 字段被替换为 deepseek-v4-flash-0731 [S7]。这表明,网关不能简单地通过模型名称进行映射,必须严格使用上游支持的模型 ID,并在响应中检查 model 字段以确认实际调用的模型。

网络异常处理#

项目在 CI 环境中发现了一个关键 Bug:刷额度的函数仅捕获了自定义异常,未能处理底层的 socket 或 DNS 异常。这导致在断网环境下,执行 loomy2api accounts 命令会直接崩溃 [S7]。虽然该 Bug 已修复,但这提示用户在部署网关时,必须确保网络连接的稳定性,否则服务可能无法正常恢复。

合规与免责#

项目明确声明仅供研究与自用,严禁滥用、转售或公开服务压垮上游 [S7]。由于该网关涉及对官方客户端协议的逆向工程,存在一定的合规风险。开发者应仅将其用于个人学习与测试,切勿用于商业用途。

总结#

loomy2api 是一个典型的“小而美”的开源项目。它通过协议逆向技术,将封闭的桌面客户端积分转化为开放的 API 网关,解决了用户在特定场景下的工具链割裂问题。其零依赖的设计、多账号池策略以及自动续期机制,展现了优秀的工程实践能力。然而,开发者在使用时,必须充分理解上游的风控逻辑(如 IP 依赖)与协议的静默回退行为,才能构建出稳定可靠的 AI 服务链路。

参考资料#

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Loomy 积分变 OpenAI 网关:loomy2api 的协议逆向与工程实践
https://blog.katelya.top/posts/loomy2api-openai-anthropic-gateway/
作者
Katelya
发布于
2026-09-27
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

相关文章 智能推荐
1
把网页 AI 变成 API 之前:从 Creen-2API 拆解逆向网关的证据链与失效边界
开源 社区里常把“网页端 AI 接成 API”描述成一次简单的接口转发,但真正困难的是证据采集、会话认证、模型映射、账号轮换与上游变化治理。本文以 Creen-2API 仓库公开的目录和 README 声明为边界,重建一套可审计的逆向网关分析方法:哪些结论可以从源码和抓取证据推出,哪些只是项目自述,如何用命令建立验证链,以及为什么“能调用”远远不等于“可稳定运营”。
2
反向代理不是魔法接口:从 Freebuff-2API 仓库拆解多账户、高并发与信任边界
开源 Freebuff-2API 的价值不只是把某个客户端改造成兼容 API,而是暴露了一类常见工程问题:多账户如何调度、高并发如何限流、桌面端与容器端如何共享能力,以及用户凭据和请求数据究竟经过了哪些边界。本文依据仓库公开结构与社区样本,建立一套可复现的代码审查、部署前检查和失效边界清单。
3
把 WorkBuddy 接成 API 之前,先看懂 WkBdy2api 的协议边界与本地信任模型
AI前沿 WkBdy2api 把 WorkBuddy AI 暴露为 OpenAI 兼容与 Anthropic 兼容的 HTTP 接口,但它首先是一个 loopback-only 本地网关,而不是天然适合公网部署的 API 服务。本文从官方仓库的目录、依赖和验证命令出发,拆解协议适配、请求边界、可验证性、失败模式与部署取舍。
4
把社区积分接进 AI 网关:TokenTokenBond 的计费账本、协议适配与故障边界
工程札记 TokenTokenBond 把 NodeLoc 社区能量、账号体系与多模型 API 接入放进同一条链路。本文从公开页面与社区文档出发,拆解它可能采用的身份、余额、路由和协议适配边界,并给出可复现的调用检查、计费核对方法,以及积分支付在精度、滥用、故障转移和信任模型上的工程取舍。
5
免费 AI API 中转能不能用:从 BT-API 样本拆解兼容接口的信任边界
AI前沿 社区里常见的“免费多模型 API”看起来只是换一个 Base URL,实际上却把模型供应商、网关运营者、调用者和检测平台放进了同一条信任链。本文以 BT-API 样本为入口,不把社区宣传当作事实,拆解 OpenAI 兼容中转的请求路径、证据等级、凭证风险、可复现检查方法与上线前清单,说明免费额度真正需要交换的是什么。

目录