恢复会话中...

loomy2api正式发布!

P
patrick0306
发布于 3 days ago· 最后编辑于 yesterday
4 0 20

TL;DR:科大讯飞的桌面 AI 助理 Loomy 每天送不少额度(积分制),但客户端挺臃肿、也不想被绑在它的界面里。我把它的额度封装成了一个自托管 API 网关,OpenAI / Anthropic 双协议兼容,多账号池,带网页控制面板,纯 Python 标准库零依赖,已经开源。

项目地址:https://github.com/Patrick130306/loomy2api


它能干什么

能力 说明
OpenAI 兼容 /v1/chat/completions(流式 + 非流式)、/v1/models、/v1/embeddings、/v1/images/generations
Anthropic 兼容 /v1/messages,thinking 块、tool_use / tool_result 都做了翻译,Claude Code 可以直接接
多账号池 一条命令加账号,按积分余额 / 轮询 / LRU 三种策略路由,登录态失效自动换号重试
网页控制面板 每个账号的余额、登录态剩余天数、已用积分、冷却状态一目了然;加号 / 删号 / 禁用 / 强制续期 / 换设备标识都是点一下
全自动续期 登录态 14 天有效,到期前自动用账密重登,挂后台就不用管
零依赖 Python 3.9+,不需要 pip 装任何东西
不用装客户端 纯服务端登录(RSA + HMAC 签名那套都在网关里实现了),Loomy 客户端装不装、卸不卸都不影响

5 分钟上手

git clone https://github.com/Patrick130306/loomy2api.git
cd loomy2api

cp accounts.example.json accounts.json
python -m loomy2api add main --phone 你的手机号 --password '账号中心设的密码'
python -m loomy2api accounts      # 看额度和登录态剩余天数
python -m loomy2api serve         # http://127.0.0.1:17890

然后打开 http://127.0.0.1:17890/panel 就是控制面板。

密码要在讯飞账号中心(网页或手机端)设一次 —— Loomy 客户端里没有设密码的入口,
这是我在客户端源码里翻遍了确认过的。没有密码也能用短信验证码登录。

接客户端

客户端 填法
Cherry Studio / LobeChat / NextChat / Open WebUI 选「OpenAI 兼容」,Base URL 填 http://127.0.0.1:17890/v1,Key 随便填
沉浸式翻译 自定义 OpenAI 接口,同一个 Base URL
Claude Code ANTHROPIC_BASE_URL=http://127.0.0.1:17890
OpenAI SDK base_url="http://127.0.0.1:17890/v1"

模型清单直接从上游拉(11 个),名字原样使用,网关不做映射。倍率越低越省:spark-x 是 x0.1、GLM-5.3-Flash / qwen3.8-flash 是 x0.8、deepseek-v4-flash-0731 是 x3.0、最高的 qwen-3.8-max 是 x12.0。

有个实测出来的细节值得一提:上游自己对不认识的模型名会静默回落到默认模型(我传 gpt-4o-mini,它 200 返回,但回包里 model 是 deepseek-v4-flash-0731)。所以别指望写个 gpt-4o 就能自动映射 —— 要用哪个模型就写哪个 id,怀疑没生效时看回包的 model 字段。

关于「设备标识隔离」

多账号时,每个账号在首次登录会随机生成一套自己的设备标识(devid / 校园设备号)并绑定,
之后每次续期都复用,不会所有号都对外宣布自己是同一台设备。

但说实话,这也是我写在文档里的原话:这不是防封保证。协议里涉及设备的字段就四个,
而且上游真正看重的通常还是出口 IP。想看细节可以翻仓库里的 docs/PROTOCOL.md —— 整条协议的
逆向记录(端点、签名串、错误指纹、积分账本)都在里面。这个项目是按「账号隔离」做的,没打算吹成防封。

部署

README 里有完整部署教程(中英双语):Linux systemd 服务、Windows 任务计划 / NSSM 注册服务、
Docker 和 docker-compose,连「对外开放前必须先设 API Key」这类坑都写了。

# Docker 一句话
mkdir -p data && cp accounts.example.json data/accounts.json
docker compose up -d --build

质量情况

  • 109 个测试,全部离线:本地假上游 + 假账号服务,跑测试不碰真实账号、不消耗一个积分
  • CI 全绿:Ubuntu / Windows × Python 3.9 / 3.11 / 3.13 六个组合
  • 真实账号实跑过:OpenAI 流式/非流式、Anthropic 流式/非流式、生图 / embeddings 透传

顺便说个有意思的事:CI 帮我抓出了一个真 bug —— 刷额度的函数只捕获了自定义异常,
socket / DNS 层异常没接住,结果断网的用户敲 loomy2api accounts 会直接崩。
本机有网永远复现不出来,是 CI 环境连不上上游才把它逼出来的,已经修了并加了回归测试。

免责声明

  • 仅供研究和自用,请使用你自己的账号,别滥用、别转售、别做成公开服务压垮上游
  • 项目与科大讯飞官方无关,签名常量是官方客户端每个安装包里都会带的客户端常量,只用于和账号服务通信
  • MIT 协议,代码随便看

觉得有用的话,给个 Star 就是最大的支持 ⭐
https://github.com/Patrick130306/loomy2api


loomy2api — turn the Loomy (iFlytek desktop AI assistant) quota into a
self-hosted OpenAI- and Anthropic-compatible API gateway: multi-account pool
with balance/round-robin/LRU routing and automatic session renewal, a web control
panel (per-account quota, add/remove/renew, device identity), zero dependencies
(pure Python 3.9+ stdlib), 109 hermetic tests, CI green on Ubuntu/Windows ×
Python 3.9/3.11/3.13. No desktop client required. MIT licensed:
https://github.com/Patrick130306/loomy2api

特别感谢 @user80 提供想法

20 条评论

U
user80
user80走地鸡#1F3 days ago

哪个模型最性价比啊,能力还不错的? xhj001

W
wangdd70
wangdd70鸡腿#2F3 days ago

感谢🙏

U
user80
user80走地鸡#3F3 days ago

本地假上游 + 假账号服务?
xhj32

P
patrick0306
patrick0306鸡翅3 days ago

?没有啊?需要你自己提供账号啊?

M
MengYYY369
MengYYY369鸡腿#4F3 days ago

牛,已经吃上了

C
Codev
Codev鸡爪#5F3 days ago

来合一手 PR,面板增加了登录入口

S
SolarJaguar96
SolarJaguar96鸡爪#6F3 days ago

有什么模型可以用?

A
azhaoyihao
azhaoyihao凤凰#7F3 days ago

感谢分享

J
James
James凤凰#8F3 days ago

牛哦,可以的。

P
patrick0306
patrick0306鸡翅3 days ago

wow,老詹回复我了!!!,你用一下看看?他每天有送5000积分的

J
Jisucloud
Jisucloud鸡翅#9F3 days ago

感谢分享

C
cpp
cpp鸡腿#10F3 days ago

感谢分享

U
user80
user80走地鸡#11F3 days ago

话说生图扣积分吗?
扣多少啊

S
Simon_The_Ween
Simon_The_Ween鸡爪#12F3 days ago

有没有大佬试过的?模型能力怎么样的?

T
TANGFAN
TANGFAN鸡肉#13F3 days ago

牛啊,社区真是大神云集

A
Arvin_Leung
Arvin_Leung凤凰#14F3 days ago

大佬牛啊,晚上去试试

P
pnq
pnq鸡爪#15F3 days ago

看起来不错,只是不知道送的积分相当于多少token

W
wangdd70
wangdd70鸡腿#16F3 days ago

Claudecode 里面老是说没法调用工具

F
frank1
frank1鸡腿#17F3 days ago

感谢分享,这个有啥好模型吗?

S
SolarJaguar96
SolarJaguar96鸡爪#18F2 days ago

流式调用经常会出错,不知道是什么问题

A
aii556
aii556鸡爪#19Fyesterday

注册地址给一个

G
gxy
gxy鸡爪#20Fyesterday

赞