Entropy.Xu
bb22978574
Merge remote-tracking branch 'upstream/aether-rust-pioneer' into fix-management-token-oauth-jsonb
...
# Conflicts:
# crates/aether-data/src/lifecycle/bootstrap/postgres.rs
# crates/aether-data/src/lifecycle/migrate/tests.rs
2026-05-10 18:36:53 +08:00
fawney19
d246f6b42c
fix: align user group access controls
2026-05-10 17:28:23 +08:00
Entropy.Xu
545299fc62
fix: align management token oauth permissions and jsonb schema
2026-05-10 01:47:48 +08:00
Entropy.Xu
3a814f3d1f
feat: add user groups and inherited access policies
2026-05-09 21:47:33 +08:00
fawney19
a703acd1fe
feat(proxy): record tunnel stability metrics
2026-05-08 22:03:17 +08:00
fawney19
84a84e3f31
Merge pull request #404 from RWDai/fix/python-v063-user-import-compat
...
Preserve Python user import compatibility
2026-05-08 14:20:08 +08:00
RWDai
141a81d4a3
Preserve Python user import compatibility
2026-05-08 13:37:32 +08:00
fawney19
fa22384f24
Merge remote-tracking branch 'origin/pr/399' into aether-rust-pioneer
...
# Conflicts:
# crates/aether-data/src/lifecycle/bootstrap/postgres.rs
# crates/aether-data/src/lifecycle/migrate/tests.rs
2026-05-08 02:52:13 +08:00
fawney19
2a603fa1e4
Merge remote-tracking branch 'origin/pr/397' into aether-rust-pioneer
2026-05-08 02:47:13 +08:00
fawney19
31d142effc
Merge remote-tracking branch 'origin/pr/395' into aether-rust-pioneer
2026-05-08 02:47:07 +08:00
fawney19
66d8e90647
Merge remote-tracking branch 'origin/pr/394' into aether-rust-pioneer
2026-05-08 02:46:35 +08:00
fawney19
c52ef1993f
Improve provider OAuth device flow
2026-05-08 01:33:23 +08:00
fawney19
6247ac3edc
refactor: extract runtime state backends
2026-05-08 00:18:12 +08:00
Entropy.Xu
cc5cb3475e
feat: add management token permissions
2026-05-07 23:48:29 +08:00
RWDai
71742d5ad2
Fix pool cycle usage display
2026-05-07 22:25:52 +08:00
RWDai
1e2ff26e86
fix(users): harden batch role and quota updates
2026-05-07 22:22:55 +08:00
Entropy.Xu
dd8c2ebec6
fix(admin): repair system maintenance controls
...
Implement server-side searchable user filtering for usage records, including backend search parameters and a shared frontend selector with loading, empty, and pinned-selected states.
Fix announcement deletion by cascading announcement read rows through a Postgres migration and defensive repository cleanup across supported backends.
Wire admin system purge and cleanup endpoints to real data deletion/maintenance flows, improve DataManagement messages, rebuild stats after stats purge, and add runtime OAuth token refresh maintenance when enabled.
Verified with rust-ci equivalent checks: cargo fmt, split clippy, split cargo tests, SQLite/Postgres/MySQL smoke tests, plus frontend npm ci, build, pages build, type-check, and targeted usage selector tests.
2026-05-07 21:26:40 +08:00
RWDai
18b247de4c
test(users): cover batch admin endpoints
2026-05-07 19:16:49 +08:00
fawney19
64af7b1d8a
fix: preserve selected keys for quota refresh
2026-05-07 12:55:39 +08:00
fawney19
fd44906bb7
fix provider pool quota status handling
2026-05-07 11:28:44 +08:00
fawney19
10e679bb2f
Add provider key cycle stats reset handling
2026-05-07 03:23:20 +08:00
Kayphoon
79cb9b502a
feat(pool): add codex cycle stats mode
2026-05-07 00:07:32 +08:00
fawney19
33ed7c0737
Fix admin import export version checks
2026-05-06 16:06:45 +08:00
fawney19
621eb55ae1
Merge pull request #387 from wendaochangsheng/codex/chatgpt-web-access-token-import
...
feat: 支持 ChatGPT Web Access Token 导入
2026-05-06 15:02:32 +08:00
Codex
7eaf3e7d03
feat: support chatgpt web access token import
2026-05-06 14:45:39 +08:00
fawney19
68216bf868
Clean up transport fingerprint configuration
...
Remove legacy tls_profile handling, keep header fingerprint under transport profiles, and drop the duplicate auth_modules migration.
2026-05-06 13:54:33 +08:00
fawney19
6fbb867f5f
Exclude unknown providers from usage aggregations
2026-05-06 13:40:18 +08:00
Entropy.Xu
4baee436ba
feat(image): 接入 ChatGPT Web 生图反代
2026-05-06 11:52:33 +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
be580c35bb
chore: resolve pr 377 checks
2026-05-06 02:22:32 +08:00
fawney19
cf27773582
feat: improve admin performance analysis
2026-05-06 02:01:32 +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
mayrain
6b6d32b4a3
feat(usage): 新增输出速度统计与请求详情性能分析
...
- 把 upstream_is_stream 物化到 usage 与 billing facts,避免 Provider 聚合回连 public.usage
- 统一前端标准/流式 TPS 计算与显示,流式按首字后生成耗时计算
- 新增请求详情抽屉展示单请求输出速度与 Provider 聚合 TPS
2026-05-05 17:34:12 +08:00
mayrain
53fa33b0c5
fix(dashboard): 修复仪表盘与明细统计数值不一致并重建 cost_savings 聚合
...
- 统一 dashboard 聚合与 raw 查询的 token 计算,拆分今日节省和周期节省
- cache savings 改用 input price 估算未命中成本,修复历史 cost_savings 偏高
- raw 查询 total_tokens 改用 effective_input + output + cache_creation + cache_read 公式
- 新增独立 backfill 重建历史 cost_savings 聚合表,保留已发布 backfill 不变
2026-05-05 17:33:16 +08:00
Entropy.Xu
ff1ed8b57d
feat(stats): 添加 Provider 性能统计分析
2026-05-05 11:24:16 +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
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
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
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
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
Entropy.Xu
4d59d518d1
fix: correct API key expiry and dashboard savings ( #361 )
2026-04-30 00:35:32 +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