fawney19
1658925f52
Disable key circuit breaker for pool providers
2026-05-29 15:16:06 +08:00
fawney19
ffd8d273c4
Revert "Merge remote-tracking branch 'origin/pr/592'"
...
This reverts commit 3504875922 , reversing
changes made to 5c3a1aecbe .
2026-05-28 17:10:27 +08:00
Novick Yuan
6412294262
Use header-only usage server timing
2026-05-28 14:30:15 +08:00
Novick Yuan
8aca1f8b93
Add server time to usage responses
2026-05-28 14:30:15 +08:00
Mas0nShi
9ad9858ac2
Merge origin/main into fix/gemini-cli-v1internal
2026-05-28 11:58:00 +08:00
fawney19
6673ab6d4a
Add fast model directive service tier
2026-05-27 15:08:23 +08:00
fawney19
cf8372c8cb
fix(usage): record visible stream first byte timing
2026-05-27 02:48:01 +08:00
fawney19
5a710c4f5e
Merge remote-tracking branch 'origin/pr/578'
2026-05-27 02:07:52 +08:00
fawney19
bd71a46c25
Merge pull request #561 from Kayphoon/codex/s3-integrated-backup
2026-05-27 00:48:59 +08:00
AAEE86
e27ca671fd
feat(usage): show reasoning and fast badges in usage records
...
- extract provider reasoning effort from request body metadata
- extract priority service tier and expose it as service_tier
- show reasoning level and fast badges after model names
- include badges in active request updates and usage list payloads
- add targeted backend and frontend coverage
2026-05-27 00:36:52 +08:00
fawney19
614c999871
feat(admin): expose s3 backup as module
2026-05-27 00:30:37 +08:00
AAEE86
1793443b09
fix(admin): add User-Agent for Done-hub provider ops
...
- Done-hub Cookie 请求增加浏览器 User-Agent
- 覆盖认证验证和余额查询的共享请求头
- 补充请求头测试,确认 Cookie 与 User-Agent 同时发送
2026-05-26 16:07:02 +08:00
Kayphoon
84c8bc960e
feat(admin): add configurable S3 backups
2026-05-26 14:41:56 +08:00
fawney19
ae138ddb56
feat: update admin config import and runtime handling
2026-05-25 15:23:02 +08:00
MMEXA
480579a0d5
fix(gateway): expire provider key circuit cooldowns
2026-05-25 00:40:38 +08:00
fawney19
8087a98c9d
Merge remote-tracking branch 'origin/pr/475'
...
# Conflicts:
# apps/aether-gateway/src/handlers/admin/provider/oauth/dispatch/refresh/execution.rs
# apps/aether-gateway/src/handlers/admin/provider/oauth/dispatch/refresh/response.rs
# apps/aether-gateway/src/handlers/admin/provider/oauth/errors.rs
# apps/aether-gateway/src/handlers/admin/provider/oauth/quota/shared.rs
# apps/aether-gateway/src/state/oauth.rs
# apps/aether-gateway/src/tests/control/admin/oauth.rs
# crates/aether-admin/src/provider/quota.rs
2026-05-23 21:26:22 +08:00
fawney19
4b66cadf15
Merge remote-tracking branch 'origin/pr/544'
2026-05-23 18:41:52 +08:00
fawney19
ab048b8a03
fix monitoring trace lookup fallback
2026-05-23 01:22:24 +08:00
Mas0nShi
8b7643e150
Merge remote-tracking branch 'origin/main' into fix/gemini-cli-v1internal
...
# Conflicts:
# apps/aether-gateway/src/ai_serving/transport.rs
# apps/aether-gateway/src/handlers/admin/provider/oauth/dispatch/batch/parse.rs
# apps/aether-gateway/src/handlers/shared/catalog.rs
# crates/aether-admin/src/provider/quota.rs
# crates/aether-model-fetch/src/strategy.rs
# crates/aether-provider-pool/src/lib.rs
# crates/aether-provider-pool/src/service.rs
# crates/aether-provider-transport/src/provider_types.rs
# frontend/src/features/providers/components/ProviderDetailDrawer.vue
# frontend/src/utils/__tests__/providerKeyQuota.spec.ts
# frontend/src/utils/providerKeyQuota.ts
# frontend/src/views/admin/PoolManagement.vue
2026-05-22 17:13:57 +08:00
Mas0nShi
ce02f1ae8c
Add Gemini CLI v1internal quota support
2026-05-22 16:58:04 +08:00
zhiqicloud
a4a5f70a10
Merge upstream/main into feat/one-click-update
2026-05-22 15:28:27 +08:00
RWDai
ca341703bc
feat(usage): infer additional client families
2026-05-22 15:27:39 +08:00
zhiqicloud
b59c3a9e3b
feat: support admin online update and deploy flow
2026-05-22 15:15:17 +08:00
AAEE86
ce44d35eb6
feat(notification): add Bark push support
...
Add Bark as a notification-service delivery channel, including encrypted Device Key configuration, server URL/template settings, module status integration, and admin UI support.
2026-05-22 11:08:00 +08:00
fawney19
504c1ccb37
feat: restructure notification services
2026-05-22 01:45:46 +08:00
fawney19
d5e64d6ad9
Merge branch 'pr-503'
...
# Conflicts:
# apps/aether-gateway/src/handlers/admin/provider/summary/value.rs
# apps/aether-gateway/src/lib.rs
# apps/aether-gateway/src/maintenance/mod.rs
# apps/aether-gateway/src/maintenance/runtime/workers.rs
# frontend/src/api/endpoints/types/provider.ts
2026-05-22 00:19:23 +08:00
fawney19
0e6d7539ad
Merge remote-tracking branch 'origin/pr/538'
2026-05-21 23:12:42 +08:00
fawney19
97997685b5
Merge remote-tracking branch 'origin/pr/498'
2026-05-21 22:56:43 +08:00
Mas0nShi
e53d5f07e8
feat: support Gemini CLI v1internal quota
2026-05-21 15:38:10 +08:00
stabey and Claude Opus 4.7
3330b2ac4c
refactor(report-context): extract UPSTREAM_IS_STREAM_KEY constant
...
The "upstream_is_stream" JSON key flows from the AI execution report
context producer (aether-ai-serving::report_context) through several
consumers — usage runtime metadata copy/move, gateway watchdog, sync
execution decision, observability handlers, and the per-driver usage
repositories. Each site spelled the key as a bare string literal, so a
producer-side rename would silently degrade every consumer to its
fallback (typically assuming streaming) with no compile-time signal.
Introduce a single pub const UPSTREAM_IS_STREAM_KEY in
aether-ai-formats (the lowest crate every consumer already depends on),
re-export from the crate root, and route producer + all map-style
consumers through it. The change is purely a string-literal → constant
swap; behaviour is identical.
Sites left as literals (intentional):
- `json!({"upstream_is_stream": ...})` macro keys, which must be string
literals at the macro layer; these are also API-response payload
field names (an external contract that should not silently track
internal report-context renames).
- SQL column accessors (`try_get::<...>("upstream_is_stream")`), which
refer to the database schema column, not the JSON key.
- Test fixtures and assertions, which validate the on-the-wire contract
and should keep verifying the actual string.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-21 15:26:42 +08:00
fawney19
e7f8b259ac
Revert "Merge pull request #517 from zhiqicloud/feat/provider-balance-query"
...
This reverts commit 7e95e769d5 , reversing
changes made to 490306c242 .
2026-05-21 01:24:17 +08:00
Entropy.Xu
129c7c90c0
fix(provider): 修复 Windsurf 原生工具桥接
2026-05-21 01:02:02 +08:00
Entropy.Xu
0226e14251
feat(provider): 原生接入 Windsurf provider
2026-05-21 01:02:02 +08:00
fawney19
fa5d26ce38
Merge remote-tracking branch 'origin/main'
2026-05-20 16:14:09 +08:00
fawney19
f76bbaab52
feat: support api key ip restriction rules
2026-05-20 16:11:49 +08:00
zhiqicloud
122daf0f87
支持 Provider Key 余额查询与自动刷新
2026-05-20 12:33:31 +08:00
RWDai
316b1e3207
Merge remote-tracking branch 'upstream/main' into feat/500-api-key-ip-whitelist
2026-05-20 11:14:43 +08:00
fawney19
61bcbe826a
fix: tighten OAuth auto cleanup signals
2026-05-20 10:34:22 +08:00
RWDai
bdc848b19e
Merge upstream main into feat/500-api-key-ip-whitelist
2026-05-20 10:26:56 +08:00
fawney19
1b570daf72
Revert "Merge PR #504 "
...
This reverts commit d216a9e219 , reversing
changes made to 21e82abd54 .
2026-05-19 17:23:57 +08:00
beilo
75aa3dc0cc
fix: refine oauth auto-removal behavior
2026-05-19 13:41:18 +08:00
RWDai
95af482ffe
Update auth snapshot observability fixture
2026-05-19 10:23:54 +08:00
fawney19
d8a9d7eb5e
chore: format merged PR changes
2026-05-19 08:13:56 +08:00
fawney19
d216a9e219
Merge PR #504
2026-05-19 08:10:57 +08:00
fawney19
69af74b1e0
Merge PR #488 and #489
2026-05-19 03:16:35 +08:00
fawney19
5eed329916
Rootfix usage counter outbox
2026-05-19 00:44:37 +08:00
MMEXA
4317ff78b1
Expose local scheduling failures in usage UI
2026-05-18 16:28:37 +00:00
yangrs and Claude 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
RWDai
24129d7f12
Merge upstream/main into feat/356-usage-record-columns
2026-05-18 20:33:05 +08:00