fawney19
887a58d639
Fix usage provider stats and performance analysis UI
2026-05-06 09:29:12 +08:00
fawney19
2eb4afbec4
Merge remote-tracking branch 'origin/pr/384' into codex/pr-376-377-383-384-combined
...
# Conflicts:
# frontend/src/views/admin/PerformanceAnalysis.vue
2026-05-06 02:39:53 +08:00
fawney19
cf27773582
feat: improve admin performance analysis
2026-05-06 02:01:32 +08:00
fawney19
3264857e4a
fix(usage): repair aggregate usage statistics
2026-05-06 01:13:23 +08:00
fawney19
6dd7464793
Merge remote-tracking branch 'origin/aether-rust-pioneer' into pr-375-session-scope
2026-05-05 22:34:47 +08:00
fawney19
f959f02d40
Implement transport profile routing
2026-05-05 22:21:23 +08:00
fawney19
aacab1a90c
Merge remote-tracking branch 'origin/aether-rust-pioneer' into aether-rust-pioneer
...
# Conflicts:
# crates/aether-data-contracts/src/repository/usage/mod.rs
# crates/aether-data/src/repository/global_models/postgres.rs
# crates/aether-data/src/repository/usage/postgres/mod.rs
2026-05-05 18:53:14 +08:00
fawney19
fce7e959e5
Add multi-database data layer
...
Introduce aether-data-schema and driver-specific schema generation for Postgres, MySQL, and SQLite.
Split data backends, lifecycle, repositories, and gateway runtime integration across database drivers.
Verified with cargo fmt --all --check, cargo clippy --workspace --all-targets -- -D warnings, and cargo test --workspace.
2026-05-05 18:27:36 +08:00
fawney19
825c1b496d
Merge pull request #374 from Entropy-Xu/codex/provider-performance-stats
...
feat(stats): 添加 Provider 性能统计分析
2026-05-05 13:16:06 +08:00
fawney19
ccde3d4045
style(gateway): format secret masking changes
2026-05-05 13:04:56 +08:00
fawney19
f7071967c0
fix(gateway): mask catalog secrets on char boundaries
2026-05-05 12:48:19 +08:00
Entropy.Xu
ff1ed8b57d
feat(stats): 添加 Provider 性能统计分析
2026-05-05 11:24:16 +08:00
RWDai
37da4e245a
feat: scope tunnel affinity by client session
2026-05-05 11:23:54 +08:00
fawney19
627eb4f335
Merge pull request #371 from Kayphoon/feature/embedding-model-support
...
feat: add embedding and rerank support
2026-05-04 12:56:11 +08:00
fawney19
099653f732
Cap Codex pool cooldowns and add key circuit breaker
2026-05-04 02:15:32 +08:00
fawney19
1d62722d47
Improve Codex model fetching
2026-05-04 01:16:56 +08:00
fawney19
fb642f7d62
feat: improve OAuth provider configuration
2026-05-04 00:18:05 +08:00
fawney19
cb5b8ee1ee
Use Rust build metadata for system version
2026-05-03 22:06:16 +08:00
Kayphoon
5abe664d65
feat: add embedding and rerank support
2026-05-03 17:32:41 +08:00
fawney19
c4ea042eb4
feat: add model directive management
2026-05-03 14:48:25 +08:00
Kayphoon
fe27fb17fb
feat: add provider-key concurrent limit ( #352 )
...
* feat: add provider-key concurrent limit
* Fix provider key concurrent limit checks
---------
Co-authored-by: fawney19 <elky0401@gmail.com >
2026-05-03 01:55:23 +08:00
fawney19
e3ea2d1451
feat: configure auth channel mismatch formats
2026-05-03 00:49:22 +08:00
fawney19
3a770306cc
refactor: separate request auth channel from route kind
...
Extract request_auth_channel as a distinct routing dimension to distinguish
between api_key and bearer_like authentication methods. This improves routing
clarity by decoupling authentication mechanism from route classification.
2026-05-02 21:23:33 +08:00
jiuwovo-ai
bfd1ea72b3
fix: codex free accounts incorrectly marked as quota exhausted ( #366 )
...
* fix: codex free accounts incorrectly marked as quota exhausted when skip_exhausted_accounts enabled
- Cross-validate stored exhausted flag against window used_ratio in snapshot reader
- Guard has_credits:false check with window data presence in upstream_metadata fallback
- Add windows.is_empty() precondition to exhausted_by_credits in snapshot builder
Free codex accounts have has_credits:false (they use window-based quotas, not credits),
but the old logic treated this as credits depleted, skipping actual window usage checks.
This caused all free accounts to be incorrectly marked exhausted.
* test: cover codex free quota windows
---------
Co-authored-by: root <root@ser488556369540.local >
Co-authored-by: fawney19 <elky0401@gmail.com >
2026-05-02 14:11:29 +08:00
fawney19
c130d0e2c9
refactor ai serving modules and crates
2026-05-02 13:23:54 +08:00
fawney19
4fc7cecf30
Fix OAuth token import and table filters
2026-05-01 02:14:49 +08:00
fawney19
33aa70c22b
fix scheduler affinity candidate selection
2026-04-30 16:27:24 +08:00
fawney19
7fcb9e6292
feat(usage): record request origin metadata ( #362 )
...
Record client IP and User-Agent in usage request_metadata for local execution requests without adding schema, API, or table fields.
References #357 and supersedes #358 .
Co-authored-by: RWDai <27391645+RWDai@users.noreply.github.com >
2026-04-30 11:26:56 +08:00
RWDai
2b5247b9a8
fix(data): repair request candidate epoch created_at ( #343 )
...
Co-authored-by: fawney19 <elky0401@gmail.com >
2026-04-30 09:23:21 +08:00
Entropy.Xu
4d59d518d1
fix: correct API key expiry and dashboard savings ( #361 )
2026-04-30 00:35:32 +08:00
fawney19
9e2faa7e5b
Tighten local auth allow-list matching
2026-04-30 00:26:33 +08:00
fawney19
a16550249b
fix: allow empty provider secrets to attempt requests
2026-04-29 18:55:52 +08:00
fawney19
e751289dfb
Support per-format provider key auth
2026-04-29 15:46:50 +08:00
fawney19
07a319259b
Normalize canonical API formats
2026-04-29 10:20:41 +08:00
fawney19
230e7d6259
Normalize management token prefixes
2026-04-28 19:46:38 +08:00
fawney19
3d20c05ef7
Fix OAuth refresh through tunnel proxy
2026-04-28 19:45:34 +08:00
fawney19
70f747d406
Add shared OAuth flows
2026-04-28 15:46:21 +08:00
fawney19
29fc0be121
Tighten OAuth refresh consistency
2026-04-28 09:36:42 +08:00
fawney19
ed17147281
fix: align provider oauth refresh redirects
2026-04-27 22:08:02 +08:00
fawney19
a7a3c9f023
Fix OAuth import proxy handling
2026-04-27 20:05:43 +08:00
fawney19
4c16b11cb4
Align runtime miss tests with skipped candidates
2026-04-27 18:09:56 +08:00
fawney19
17f09fc8c1
Expose ranking metadata in request trace
2026-04-27 17:24:32 +08:00
fawney19
3991d47166
Fix format checks and local error messages
2026-04-27 00:27:03 +08:00
fawney19
4ec591fbf2
centralize openai responses alias handling
2026-04-26 23:59:53 +08:00
fawney19
5b914aa78c
migrate ai format conversion to responses adapters
2026-04-26 23:59:53 +08:00
AAEE86
f3a9fd4c82
feat(gateway): 补齐号池主动探测后台任务 ( #342 )
...
- 解析 pool_advanced 主动探测开关与间隔配置
- 对齐 Python 版本的探测间隔默认值和范围限制
- 新增号池配额主动探测 worker
- 支持 codex、kiro、antigravity provider
- 使用 Redis 时间戳和 provider 级锁避免重复探测
- 接入 gateway 后台任务并补充测试
2026-04-26 23:48:31 +08:00
fawney19
baa0ddd787
Improve runtime miss usage diagnostics
2026-04-26 01:44:54 +08:00
fawney19
429fdb47e6
fix(usage): 简化本地执行错误提示
2026-04-25 20:46:22 +08:00
fawney19
912a92cd1a
refactor(rules): 规则引擎容错优化,无效规则条目跳过而非中止整个规则集
...
- header/body rules 的 _are_locally_supported 简化为仅检查是否为数组
- apply 逻辑中遇到格式错误/不支持的规则条目改为 continue 跳过,而非 return false
- 允许非字符串 header value,自动序列化为 JSON 字符串
- 宽松处理无效 regex flag,不再拒绝整条规则
fix(gateway): Claude CLI 路由仅检查 bearer 头,不排斥同时携带 x-api-key 的请求
feat(observability): 监控链路候选展示解密 auth_config 的账号标签和 OAuth 计划类型
2026-04-25 19:46:52 +08:00
Entropy.Xu
bc97e383d3
fix(gateway): 对齐号池调度预设行为 ( #332 )
...
- 保持 sticky session 优先于分配模式排序,并支持 sticky_session_ttl_seconds=0 禁用粘滞绑定
- 移除旧版 free_team_first 预设入口,统一使用 free_first / team_first 新模式
- 对齐 plus_first 对 Plus/Pro 账号的优先级处理
- 调整负载均衡排序种子,避免同一分钟内固定命中同一 Key
- multi-score 预设下记录延迟样本,并补充号池调度/配置/运行时测试
- 收敛 request candidate extra_data 构造入参,修复 clippy too_many_arguments
2026-04-25 16:41:51 +08:00