Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
db73d49
feat(sidebar): 主侧栏「设置」新增可折叠分类子项
sunny-00001 Oct 14, 2026
93f20d2
feat(accounts): 账号页新增「模型调度」作用域视图(只读)
sunny-00001 Oct 14, 2026
b644fe1
feat(accounts): 作用域选择器改为厂商分组 + 浮层搜索
sunny-00001 Oct 14, 2026
1802fb7
refactor(accounts): 作用域选择器从工具条下拉改为常驻左栏「作用域树」
sunny-00001 Oct 14, 2026
a1d7e3c
fix(accounts): 模型作用域并回同一张账号表 + 表头排序
sunny-00001 Oct 14, 2026
b7fac56
账号表新增「最近到期 / 最近到期积分」两列
sunny-00001 Oct 14, 2026
b135eda
账号表:「最近到期积分」列补上排序按钮
sunny-00001 Oct 14, 2026
fe2285b
「最近到期」对日额度包兜底:没有一次性包时显示今日剩余
sunny-00001 Oct 14, 2026
029c8a1
feat(accounts): 表头排序写回调度队列(所见即所得)
sunny-00001 Oct 15, 2026
cba661f
fix(accounts): 切排序粒度档也写回队列 + 「顺序」列撤掉排序按钮
sunny-00001 Oct 15, 2026
b5b69d5
账号页作用域左栏改常驻:撤掉自动收窄与悬浮展开
sunny-00001 Oct 15, 2026
9ce8e5d
Merge upstream/main (v3.0.3 → v3.0.5) into dev
sunny-00001 Oct 15, 2026
25ca567
账号表排序:并列时加 (addedAt, id) 稳定尾键(收口审查第 4 项发现)
sunny-00001 Oct 15, 2026
0a41092
1. 修复:Loomy 图片适配改为按模型是否支持图片识别判断,避免能识图的模型被错误转换导致上下文体积翻倍、费用上涨
aimod-cc Oct 16, 2026
73e29b6
1. 更新說明文件,補充 Windows、macOS、Docker、Linux 四種安裝方式的選擇指引
aimod-cc Oct 16, 2026
4f0040f
优化
aimod-cc Oct 16, 2026
b160fd3
Merge upstream/main (v3.0.5 → v3.0.8) into dev
sunny-00001 Oct 16, 2026
902bee3
移除:发版流程说明
aimod-cc Oct 17, 2026
e148cb0
更新
aimod-cc Oct 17, 2026
43eb9d3
1. 新增:Windows / Linux 服务端形态(无界面、可注册成系统服务,开机自启)
aimod-cc Oct 17, 2026
513b332
账号页:修收起态厂商图标语义 + 排序比较器加 now 快照 + aria 对称
sunny-00001 Oct 17, 2026
adaef5c
修复:v3.0.9-beta.1 的构建失败(Linux 服务端包 / Docker 镜像 / Windows 服务端包三个作业)
aimod-cc Oct 17, 2026
cf7a296
1. 新增:Windows / Linux 服务端形态(无界面、可注册成系统服务,开机自启)
aimod-cc Oct 17, 2026
4d68f11
「最近到期」修两处取值错误:误信后端顺序 + 被已花光的包遮住
sunny-00001 Oct 17, 2026
c8ab7d6
修复:发版脚本的两个坑(Linux 桌面端包扫不到、附件整批上传会中断)
aimod-cc Oct 17, 2026
82c5c60
优化:发版脚本的 Linux 包回显列全(Git Bash 的 basename 只认第一个操作数)
aimod-cc Oct 17, 2026
1ffb907
「最近到期」两列共用同一时刻 + 到期时间戳兼容秒/毫秒
sunny-00001 Oct 17, 2026
e028f4f
文档:安装说明从各语言 README 搬到 docs/install*.md,六语各一份
aimod-cc Oct 17, 2026
29322eb
优化:韩文安装文档的 systemd 小节标题改用半角括号(与正文风格一致,锚点同步更新)
aimod-cc Oct 17, 2026
fca4b04
新增「试炼场」页面:直接打客户端那条接口,验证真实可用性
sunny-00001 Oct 17, 2026
9ea191b
新增「账号健康」页面:一眼看清账号池整体状况
sunny-00001 Oct 17, 2026
fa94b21
报表页新增「用量与额度」视角:回答「额度还能撑多久」
sunny-00001 Oct 17, 2026
e2ef4b3
新增「通知与告警」:出事了主动推给你(Webhook)
sunny-00001 Oct 17, 2026
272fdd2
修复试炼场:改为面板面接口,不再依赖 CORS 开关
sunny-00001 Oct 18, 2026
25bf430
删除「试炼场」:与 AI 助手重复,用户裁定完全多余
sunny-00001 Oct 18, 2026
4db8a60
修复账号导入导出:OfficeAce / OrcaTerm「导得出去、导不回来」
sunny-00001 Oct 18, 2026
4c53f1f
复查账号导入导出:同款缺口再修四家(Accio / Loomy / MonkeyCode / Antigravity)
sunny-00001 Oct 18, 2026
1c7ab44
迁移:GitHub 仓库从 aimod-cc 换到 Agent2API
aimod-cc Oct 18, 2026
3612a09
1. 新增:「Agent」页 —— 接管本机 AI 客户端配置,写前备份、可预览可还原
aimod-cc Oct 18, 2026
322b5bb
修复:mobile 的 package-lock.json 里 @rollup/rollup-openbsd-x64 缺 version,…
aimod-cc Oct 18, 2026
6cc8f06
修复:APK 的 versionCode / versionName 取 mobile/package.json,不再停在模板默认的 1 …
aimod-cc Oct 18, 2026
d3ad61f
feat(web): 本地 headless 形态 —— 默认回环监听 + 桌面登录态导入解锁
sunny-00001 Oct 18, 2026
252b364
feat(web): Windows 本地包附双击启动器 + Release 收尾挂上新产物
sunny-00001 Oct 18, 2026
0bb77ba
新增:接入「AtomCode」(AtomGit / GitCode)—— OpenAI 同方言直通转发 + 滚动次数额度 + 轮换续期,账…
shadyrispy Oct 17, 2026
26c03a1
新增:AtomCode 接入「服务端中介的轮询」网页登录 —— 授权回调由代理终结、不回到本机,网关轮询取令牌
shadyrispy Oct 17, 2026
a34b683
新增:接入「LobsterAI」(网易有道「有道龙虾」)—— OpenAI 原生直通转发 + loopback 网页登录 + 每日活动签到
shadyrispy Oct 17, 2026
0ecb7df
新增:AtomCode 的「签到」= 按需领取免费 CodingPlan(挂进签到链,逐账号每天一次)
shadyrispy Oct 17, 2026
0bbb945
修复:LobsterAI 的 chat 请求漏发 Content-Type —— 上游按「鉴权之后」的 HTTP 500 拒绝
shadyrispy Oct 17, 2026
c83983c
修复:AtomCode 读不到额度窗口时不再回 `available: 0` —— 那会被限额判定当成「余额为 0」,账号被标成余额不足/已跳过
shadyrispy Oct 17, 2026
a031ec5
修复:LobsterAI 签到稳定 404 —— 活动上下文 URL 漏了 /context 一段
shadyrispy Oct 17, 2026
9575f9f
修复:AtomCode 配额耗尽被当成正常答复 —— 按正文标记识别并罚账号
shadyrispy Oct 18, 2026
95a30e9
优化:网页登录的「粘贴回调地址」框改成**兜底**,不再一上来就弹
shadyrispy Oct 17, 2026
15b7fbc
补齐:前端产物按 v3.1.0 基线重建
shadyrispy Oct 17, 2026
10d5afc
补齐:LobsterAI 的「粘贴回调地址」兜底两端
shadyrispy Oct 17, 2026
7328aa4
修复:配额拒答回 429 + Retry-After,而不是沿用内容拒答的 502
shadyrispy Oct 18, 2026
cc99770
补齐:前端产物按 v3.1.0 基线重建
shadyrispy Oct 18, 2026
1576330
1. 新增:ModelScope(魔搭)渠道 —— 两个站点各一家 provider(`modelscope` 国内版 / `models…
coulsontl Oct 16, 2026
8901e99
修复:安装器「安装前卸载」读不到旧版安装目录 —— publisher 改名后 $4 为空,vendored NSIS 模板加三级回退
aimod-cc Oct 18, 2026
6d9166f
新增:.github/secret_scanning.yml 按路径排除 antigravity / orcaterm 两个文件 —— 内…
aimod-cc Oct 18, 2026
072e3c7
1. 新增:「Agent」页 —— 接管本机 AI 客户端配置,写前备份、可预览可还原
aimod-cc Oct 18, 2026
0da8af7
Merge upstream/main (v3.0.8 → v3.1.0) into dev
sunny-00001 Oct 18, 2026
a779271
feat(web): 本地 headless 默认回环监听 + 启动自动开面板(下游改动)
sunny-00001 Oct 18, 2026
8bfe0d1
feat(ci): Windows 包里补一个双击启动器(start-windows.bat)
sunny-00001 Oct 18, 2026
ed38deb
fix(web): 复查修正 —— 平台条件编译期收敛 + shim 装配缓存 + systemd 兜底
sunny-00001 Oct 18, 2026
9795195
Merge pull request #6 from coulsontl/feat/modelscope-channel-clean
Agent2API Oct 18, 2026
07157e9
Merge pull request #3 from shadyrispy/pr/atomcode
Agent2API Oct 18, 2026
ef9fdce
Merge pull request #2 from shadyrispy/pr/lobsterai-clean
Agent2API Oct 18, 2026
cae827c
更新:五份译文 README 补 ModelScope / AtomCode / LobsterAI 三家 —— 支持表补行、内置家数 1…
Agent2API Oct 18, 2026
6ab845b
更新:README 支持表补 AtomCode / LobsterAI,AtomCode 计入「领取类」;内置家数 17 → 22;使用声…
Agent2API Oct 18, 2026
52cdfd0
修复模型调度的三处缺陷 + 移除「账号健康」页
sunny-00001 Oct 18, 2026
3a42fb1
清理 page-accounts-rail.css 文件头的内部文档引用
sunny-00001 Oct 18, 2026
daf3c0b
更新:智谱清言访客账号移出每日签到范围,签到中心「不参与每日签到」如实说明原因(访客没有积分体系,相关接口一律 401)
Agent2API Oct 18, 2026
6e2b1b1
优化
Agent2API Oct 18, 2026
a432b0a
1. 更新多语言文案,补全账号、助手、签到、设置、文档等页面缺失的翻译
Agent2API Oct 18, 2026
12f15ce
feat(checkin): 成长任务每日排程 + 三条通知事件源
sunny-00001 Oct 18, 2026
eb5cca8
fix(settings): 桌面端补上机器人校验设置 —— 修「假成功」的静默失效
sunny-00001 Oct 18, 2026
c566150
优化
Agent2API Oct 19, 2026
65f5244
修复BUG
Agent2API Oct 19, 2026
f53ff2b
1. 更新:网页端(含 Docker / LAN 面板)现支持整库备份与恢复,备份文件通过浏览器下载 / 上传
Agent2API Oct 19, 2026
3680255
修复:sw.js 版本号随行尾漂移导致产物校验恒红
Agent2API Oct 19, 2026
c9914a2
更新
Agent2API Oct 19, 2026
6a1bcf0
增加手机端图标
Agent2API Oct 19, 2026
07cf1bd
更新 Antigravity 登录授权,支持通过粘贴回调地址完成登录
Agent2API Oct 19, 2026
58cddb2
更新
Agent2API Oct 19, 2026
e77f6ed
更新
Agent2API Oct 19, 2026
74caca7
新增:
Agent2API Oct 19, 2026
abe5cd9
修复:CI 的 android job 退错目录 —— `cd ../..` 退到 desktop-tauri 而非 mobile,报 M…
Agent2API Oct 19, 2026
cc53cb8
优化
Agent2API Oct 19, 2026
49c654e
优化修改密码弹窗的输入提示
Agent2API Oct 19, 2026
19a130f
feat(providers): 接入千问办公(QwenWork)与 QClaw
sunny-00001 Oct 20, 2026
4672594
Merge upstream/beta into sync/upstream-beta-20261020(接入 AtomCode / Lo…
sunny-00001 Oct 20, 2026
e55c6e3
更新签到中心:QClaw 分组改为「只读余额(已停运)」
sunny-00001 Oct 20, 2026
14f090c
修复合并引入的重复 match 臂(login.rs 20 个 unreachable pattern)
sunny-00001 Oct 20, 2026
1ed3da0
签到中心 QClaw 注释措辞与停运口径对齐(并重建产物)
sunny-00001 Oct 20, 2026
b3abc0a
统一 QClaw 停运口径:后端文案与前端对齐
sunny-00001 Oct 20, 2026
9dae0e5
侧栏:设置页 13 个二级分类提升为「系统」组下的一级菜单
sunny-00001 Oct 20, 2026
0ce103e
修复 QClaw 测试依赖本机环境:隔离 ~/.qclaw,补反向用例
sunny-00001 Oct 20, 2026
7a6a863
撤掉设置页内的分类导航列(分类已平铺到主侧栏)
sunny-00001 Oct 20, 2026
fce080a
接入 Coze / 马维斯 / MiniMax Code(含国际版),并修四处账号链路缺陷
sunny-00001 Oct 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
304 changes: 304 additions & 0 deletions .agents/skills/provider-adaptation/SKILL.md

Large diffs are not rendered by default.

218 changes: 218 additions & 0 deletions .agents/skills/release-flow/SKILL.md

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# 钩子脚本必须以 LF 检出。
#
# Windows 上 core.autocrlf=true 会把文本文件检出成 CRLF,而 CRLF 的
# `#!/bin/sh` 会让 Git Bash 报 "bad interpreter",钩子直接失效(还不会
# 报错提示,只是静默不跑)。只约束 .githooks/ 下的文件,仓库其余部分
# 维持现状,不做全仓库行尾规范化。
.githooks/** text eol=lf
89 changes: 89 additions & 0 deletions .githooks/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
#!/bin/sh
#
# pre-commit:本次提交若动了前端源码,就自动重建入库产物并一起提交。
#
# ── 为什么需要它 ──────────────────────────────────────────────
# 本仓库把前端构建产物**入库**(ui/islands/ui.js、ui/islands/ui.css、
# ui/i18n/**、ui/m/**、ui/sw.js),Tauri 打包(tauri.conf.json 的
# frontendDist 指向 ui/)与 Docker 镜像(Dockerfile COPY ui/)都直接取
# 这些字节 —— 仓库里那几份就是用户拿到的界面,没有任何构建兜底。
#
# 于是「改了源码忘了重建」会一路进分支,而 review 看不出 1 MB 压缩产物
# 里少了什么。CI 的 frontend-artifacts 闸能在推送后拦住,但那时代码已经
# 进了远端;这道钩子把拦截提前到本地提交前 —— 忘了也交不上去。
#
# ── 行为 ──────────────────────────────────────────────────────
# 检测暂存区里是否含前端源码改动,有则重建对应产物并 git add:
# ui-islands / ui-kit → desktop-tauri/ui/islands/{ui.js,ui.css}
# mobile → desktop-tauri/ui/m/** 与 desktop-tauri/ui/sw.js
# i18n → desktop-tauri/ui/i18n/**
# 任何一步构建失败都会中止提交(产物没更新,提交出去就与源码不同源)。
#
# ── 逃生门 ────────────────────────────────────────────────────
# 刻意想分开提交(例如先提源码再提产物)时:
# git commit --no-verify
# 关掉钩子(本机生效):
# git config --unset core.hooksPath

set -e

# 暂存区名单落到临时文件:管道里的 while 跑在子 shell 里,变量传不出来
staged="$(mktemp)"
trap 'rm -f "$staged"' EXIT
git diff --cached --name-only --diff-filter=ACMR > "$staged"

need_islands=0
need_mobile=0
need_i18n=0

while IFS= read -r f; do
[ -n "$f" ] || continue
case "$f" in
# ui-kit 以源码方式被两端引用:岛走 vite alias,手机端引它的样式
desktop-tauri/ui-kit/* | desktop-tauri/ui-islands/*)
need_islands=1
need_mobile=1
;;
desktop-tauri/i18n/*)
need_i18n=1
;;
# 手机端原生工程不参与 Web 产物,改了不用重建
desktop-tauri/mobile/android/* | desktop-tauri/mobile/ios/* | desktop-tauri/mobile/android-www/*)
;;
desktop-tauri/mobile/*)
need_mobile=1
;;
esac
done < "$staged"

if [ "$need_islands" = 0 ] && [ "$need_mobile" = 0 ] && [ "$need_i18n" = 0 ]; then
exit 0
fi

if ! command -v npm > /dev/null 2>&1; then
echo "pre-commit: 检测到前端源码改动,但找不到 npm,无法重建产物。" >&2
echo " 装好 Node 后重试,或用 git commit --no-verify 跳过(不推荐)。" >&2
exit 1
fi

echo "pre-commit: 检测到前端源码改动,重建入库产物……"

if [ "$need_islands" = 1 ]; then
npm --prefix desktop-tauri/ui-islands run build
fi
if [ "$need_mobile" = 1 ]; then
npm --prefix desktop-tauri/mobile run build
fi
if [ "$need_i18n" = 1 ]; then
npm --prefix desktop-tauri/i18n run build
fi

# 只 add 产物所在目录:ui/ 根下的 app.js、css/ 等是手写文件,不归钩子管
[ "$need_islands" = 1 ] && git add desktop-tauri/ui/islands
[ "$need_mobile" = 1 ] && git add desktop-tauri/ui/m desktop-tauri/ui/sw.js
[ "$need_i18n" = 1 ] && git add desktop-tauri/ui/i18n

# 产物更新后可能在暂存区留下差异(也可能没有 —— 那说明本来就同源),
# 两种情况都放行;真正的把关交给构建是否成功
echo "pre-commit: 产物已重建并加入本次提交"
exit 0
2 changes: 1 addition & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@
# 注意:链接固定指向默认分支(main),文档合并到 main 之后按钮才可用。
# 将来接入其它平台(爱发电 / Buy Me a Coffee / GitHub Sponsors 等)时,
# 在这里追加对应的键(如 buy_me_a_coffee)或往 custom 数组里再加链接即可(最多 4 条)。
custom: ["https://github.com/aimod-cc/agent2api/blob/main/docs/SPONSOR.md"]
custom: ["https://github.com/Agent2API/agent2api/blob/main/docs/SPONSOR.md"]
21 changes: 21 additions & 0 deletions .github/secret_scanning.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# secret scanning / push protection 路径排除清单(GitHub 官方机制:
# 「Excluding folders and files from secret scanning」,键为 paths-ignore)。
#
# 下列文件含有**第三方官方客户端自带**的公开凭证 —— 不是本仓库的机密,
# 也不能改写(改了对应提供商的登录链路就断了),因此按整文件排除,
# 避免历史告警反复出现、push protection 拦截触碰这些值的推送:
#
# 1. providers/antigravity/endpoints.rs —— Google 官方 Antigravity 客户端
# 随安装包分发的公开 OAuth client_id / client_secret(全网开源实现原样
# 公开;本仓文件头注释也写明「公开客户端凭证,不是用户机密」)。
# 用于 Antigravity 提供商的 Google 账号网页登录(oauth.rs)。
# 2. providers/orcaterm/login.rs —— 腾讯 OrcaTerm 官方自己的微信开放平台
# AppID(其登录页 302 跳转 URL 里明文可见的公开标识符;微信的机密是
# AppSecret,本仓没有)。该值在文件里仅出现在注释中。
#
# 注意:此配置按仓库默认分支(main)读取,改动合入 main 后才生效;
# 命中的已有告警会被自动关闭(理由:ignored by configuration)。
# 不要往本文件写入任何密钥明文 —— 本文件自身不在排除清单里,写了反而会触发告警。
paths-ignore:
- "desktop-tauri/src-tauri/server/src/server/core/providers/antigravity/endpoints.rs"
- "desktop-tauri/src-tauri/server/src/server/core/providers/orcaterm/login.rs"
Loading