Commit Graph
2044 Commits
Author SHA1 Message Date
yangrsandClaude Opus 4.7 6c16f399d4 feat: 重要通知模块、Server 酱独立配置与额度提醒
- 新增重要通知统一模块(邮件 + Server 酱)作为后台任务通知出口
- 拆出独立的 Server 酱 配置页(SendKey + Markdown 模板,支持 {title}/{body} 变量替换),通过仪表盘内置工具入口进入
- 新增提供商额度提醒后台 worker:余额低于阈值时通过重要通知推送,提供商配置页加入额度提醒开关与阈值
- 重要通知页加入配置可用性守卫:未配置任一通道时禁用总开关,未配置邮件/SendKey 时禁用对应通道开关
- 测试通知端点支持 channel 过滤(all/email/server_chan),并绕过总开关与通道开关,便于配置阶段先验证通道
- 修复:测试通知路由未在 buffered-body 白名单导致 channel 参数丢失、测试时邮件分支被误触发
- 修复:sub2api 验证响应中 username 为 null 时正确回退到 email,避免误报"验证响应缺少: 用户信息"

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 23:51:14 +08:00
MMEXA b480f3aaff fix(gateway): normalize Gemini Vertex embedding transport 2026-05-18 15:39:29 +00:00
MMEXA 84f312fa4c fix(gateway): close dropped sync attempts 2026-05-18 14:15:22 +00:00
ZheFox 61d5fdb0ec fix(frontend): preserve fixed provider model test key inheritance 2026-05-18 22:06:27 +08:00
ZheFox 995ab302be Merge remote-tracking branch 'upstream/main'
# Conflicts:
#	apps/aether-gateway/src/handlers/admin/provider/endpoints_admin/payloads.rs
#	apps/aether-gateway/src/handlers/admin/provider/endpoints_admin/reads.rs
#	apps/aether-gateway/src/handlers/admin/provider/endpoints_admin/update.rs
#	apps/aether-gateway/src/tests/control/admin/endpoints/routes.rs
#	frontend/src/features/models/components/GlobalModelFormDialog.vue
#	frontend/src/features/providers/components/ProviderModelFormDialog.vue
#	frontend/src/features/providers/components/provider-tabs/__tests__/model-test-request.spec.ts
#	frontend/src/features/providers/components/provider-tabs/model-test-request.ts
2026-05-18 22:02:31 +08:00
RWDai c6ee558180 Add admin user key IP whitelist UI 2026-05-18 20:48:28 +08:00
RWDai 460cd63d3a Add user API key IP whitelist UI 2026-05-18 20:48:21 +08:00
RWDai 2a3593d9c5 Update planner auth snapshot fixtures 2026-05-18 20:48:14 +08:00
RWDai bcca8d295a Update auth context test fixtures 2026-05-18 20:48:05 +08:00
RWDai d8f68c1d9a Preserve allowed IP defaults in admin key imports 2026-05-18 20:47:57 +08:00
RWDai ab53326865 Support allowed IPs in admin user key endpoints 2026-05-18 20:47:46 +08:00
RWDai 96b857f642 Support allowed IPs in user API key endpoints 2026-05-18 20:47:37 +08:00
RWDai fc12cc8a36 Enforce API key IP restrictions in proxy auth 2026-05-18 20:47:28 +08:00
RWDai 276d19b63c Persist allowed IPs in auth repositories 2026-05-18 20:47:17 +08:00
RWDai 437024cdb1 Add API key allowed IP data types 2026-05-18 20:47:03 +08:00
RWDai 64b41434ce Add API key allowed IP migrations 2026-05-18 20:46:53 +08:00
RWDai 24129d7f12 Merge upstream/main into feat/356-usage-record-columns 2026-05-18 20:33:05 +08:00
fawney19 d51b44d642 Merge remote-tracking branch 'origin/pr-485'
# Conflicts:
#	crates/aether-data/src/repository/provider_catalog/sqlite.rs
2026-05-18 19:44:18 +08:00
RWDai e8c55e8f1f Label OpenAI JS SDK in cache monitoring 2026-05-18 19:30:39 +08:00
RWDai 9179516b19 Label OpenAI JS SDK in usage records 2026-05-18 19:30:19 +08:00
RWDai 37abfe66f0 Label OpenAI JS SDK in user usage 2026-05-18 19:29:59 +08:00
RWDai ae9d4038b1 Prefer typed admin usage client family 2026-05-18 19:29:36 +08:00
RWDai b6f558d10b Project usage client family in Postgres reads 2026-05-18 19:29:10 +08:00
RWDai 6d994917a0 Add usage client family read model field 2026-05-18 19:28:36 +08:00
fawney19 b99f43783c Merge remote-tracking branch 'origin/pr-482'
# Conflicts:
#	.github/workflows/release.yml
2026-05-18 18:55:11 +08:00
fawney19 7f76eff827 Merge remote-tracking branch 'origin/pr-484' 2026-05-18 18:01:57 +08:00
fawney19 be939f7e63 Merge remote-tracking branch 'origin/pr-493' 2026-05-18 18:01:43 +08:00
fawney19 a8a87d2b41 Merge remote-tracking branch 'origin/pr-494' 2026-05-18 18:00:47 +08:00
RWDai 0a26accca4 Merge remote-tracking branch 'upstream/main' into feat/356-usage-record-columns 2026-05-18 17:49:35 +08:00
fawney19 40e925680c Merge remote-tracking branch 'origin/pr-480' 2026-05-18 16:46:35 +08:00
fawney19 f2cdb74ed8 Merge remote-tracking branch 'origin/pr-473'
# Conflicts:
#	frontend/src/features/providers/components/ProviderModelFormDialog.vue
2026-05-18 16:46:22 +08:00
Codex 7ac8159728 fix: use Vertex Model Garden models endpoint 2026-05-18 08:17:09 +00:00
fawney19 3f0fd15395 Merge remote-tracking branch 'origin/pr-491' 2026-05-18 16:14:07 +08:00
fawney19 90dbc279fd Merge remote-tracking branch 'origin/pr-476' 2026-05-18 16:13:45 +08:00
fawney19 3723f165bc Merge remote-tracking branch 'origin/pr-496' 2026-05-18 16:13:03 +08:00
fawney19 3bffecddf2 fix: route access log sanitizer through gateway api 2026-05-18 15:47:02 +08:00
fawney19 a818af7833 Merge remote-tracking branch 'origin/pr-492' 2026-05-18 14:52:29 +08:00
fawney19 187b3a08fb Merge remote-tracking branch 'origin/pr-495' 2026-05-18 14:51:50 +08:00
fawney19 2405ccc0f2 Merge remote-tracking branch 'origin/pr-490' 2026-05-18 14:51:14 +08:00
fawney19 0fcfcae9c8 Merge remote-tracking branch 'origin/pr-486' 2026-05-18 14:50:48 +08:00
ZheFox 2de0cbbafc Merge branch 'fawney19:main' into main 2026-05-18 13:13:37 +08:00
ZheFox a4012ad353 Merge upstream/main 2026-05-18 13:11:11 +08:00
fawney19 e4315fbbf0 fix: refine frontend admin and auth UI 2026-05-18 12:41:57 +08:00
ZheFox a10c02ef63 feat(billing): add image output range pricing support 2026-05-18 11:52:01 +08:00
MMEXA 66f154a251 fix(gateway): avoid low OpenAI-compatible test token cap 2026-05-18 03:06:46 +00:00
fawney19 92813e6122 feat: add routing profile scheduling policies 2026-05-18 11:03:49 +08:00
MMEXA f50f26e599 fix(gateway): cover Google OpenAI-compatible roots 2026-05-18 02:15:23 +00:00
ZheFox a3094fda53 fix(gateway): ignore OpenAI tools for image intent routing 2026-05-18 09:54:10 +08:00
MMEXA b004a02e4a fix(gateway): harden Gemini endpoint routing 2026-05-18 00:53:34 +00:00
MMEXA 9586f5158e Fix fixed-provider endpoint key counts 2026-05-17 20:55:36 +00:00