fawney19
509bd30252
Redesign sensitive info protection settings
2026-05-14 11:14:20 +08:00
fawney19
b41a4a000f
Merge remote-tracking branch 'origin/pr/435' into aether-rust-pioneer
2026-05-14 02:02:26 +08:00
RWDai
a99546b390
Disable user policy during auth resolution
2026-05-13 17:56:17 +08:00
Kayphoon
15800d7a80
feat(admin): manual request-records cleanup with typed confirmation
2026-05-13 00:36:43 +08:00
fawney19
b9e62d1667
Implement generic pool member scoring and probing
2026-05-12 01:46:22 +08:00
fawney19
fed676f54f
fix: exempt admins from default user group limits
2026-05-11 18:20:01 +08:00
fawney19
9bed5e9f83
fix: use intersection for user group policies
2026-05-11 17:00:07 +08:00
AAEE86
67ca47afd4
fix(gateway): 修复正则模型映射未生效到出站请求
...
修复 key allowed_models 通过 global_model_mappings 正则命中时,
候选选择仍使用 provider model mapping 作为出站模型的问题。
正则命中后将 allowed model 写入 selected_provider_model_name,
确保最终 execution runtime 请求体中的 model 使用映射后的模型。
补充三层回归测试:
- scheduler-core 正则映射解析
- gateway candidate/data 候选选择输出
- gateway ai_execute 出站请求 model 捕获
2026-05-11 15:58:13 +08:00
fawney19
7b81c77424
Fix regex model mapping direction
2026-05-11 01:43:14 +08:00
fawney19
d246f6b42c
fix: align user group access controls
2026-05-10 17:28:23 +08:00
fawney19
a8ac944959
Merge remote-tracking branch 'entropy-xu/codex/user-groups-default-permissions' into aether-rust-pioneer
2026-05-10 11:26:29 +08:00
fawney19
391c2fbe5d
Merge remote-tracking branch 'origin/aether-rust-pioneer' into codex/async-cleanup-records
...
# Conflicts:
# apps/aether-gateway/src/maintenance/mod.rs
# apps/aether-gateway/src/maintenance/runtime/runners.rs
2026-05-10 00:28:39 +08:00
Entropy.Xu
a68c690874
Merge remote-tracking branch 'upstream/aether-rust-pioneer' into codex/user-groups-default-permissions
2026-05-09 22:04:09 +08:00
Entropy.Xu
3a814f3d1f
feat: add user groups and inherited access policies
2026-05-09 21:47:33 +08:00
fawney19
209322b499
feat(gateway): unify background task runtime and storage
2026-05-09 21:19:29 +08:00
fawney19
e21fb58479
chore(proxy): guard metrics retention cleanup
2026-05-08 22:57:00 +08:00
fawney19
a703acd1fe
feat(proxy): record tunnel stability metrics
2026-05-08 22:03:17 +08:00
Entropy.Xu
3f29335fd6
Add async request body cleanup records
2026-05-08 13:50:18 +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
6247ac3edc
refactor: extract runtime state backends
2026-05-08 00:18:12 +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
738031696b
fix(users): thread rate limit presence through gateway
2026-05-07 19:16:49 +08:00
fawney19
2a124318b9
Merge branch 'pr-390' into aether-rust-pioneer
2026-05-07 01:34:38 +08:00
fawney19
df9d30340d
Revert "feat: combine usage quota and pool stats updates"
...
This reverts commit 1f5b294bd0 .
2026-05-07 01:33:40 +08:00
fawney19
1f5b294bd0
feat: combine usage quota and pool stats updates
2026-05-07 01:26:42 +08:00
fawney19
012f8bcdf7
feat: scope model mappings by endpoint
2026-05-07 00:48:15 +08:00
Kayphoon
79cb9b502a
feat(pool): add codex cycle stats mode
2026-05-07 00:07:32 +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
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
Entropy.Xu
ff1ed8b57d
feat(stats): 添加 Provider 性能统计分析
2026-05-05 11:24:16 +08:00
fawney19
53a5e18b20
Merge pull request #370 from yao177/aether-rust-pioneer
...
fix(proxy): record manual proxy node traffic
2026-05-03 21:40:20 +08:00
fawney19
6f00cabe96
Lazy load requested model candidates
2026-05-03 20:56:31 +08:00
fawney19
a24e4a793d
Refactor pool candidate scheduling
2026-05-03 20:14:29 +08:00
Yao177
c3d97b8c16
fix(proxy): record manual proxy node traffic
...
- add manual proxy traffic mutations to the data layer
- record sync and stream outcomes for manual proxy requests
- prevent tunnel proxy nodes from receiving manual traffic updates
2026-05-03 18:38:04 +08:00
jiuwovo-ai
3e2eca4fd0
fix: 修复手动代理节点请求不计数及延迟/心跳不显示的问题 ( #368 )
...
* fix: 修复手动代理节点请求不计数及延迟/心跳不显示的问题
问题描述:
- 手动添加的代理节点请求数始终为0,不会递增
- 手动代理节点的延迟和最后心跳时间不显示
根因:
Rust 重写版中缺失了 Python 版的手动代理节点请求计数逻辑。
隧道节点通过心跳上报计数,但手动节点没有心跳机制,
需要在 usage recording 路径中递增计数并更新延迟信息。
修复方案:
1. 在 ExecutionPlan 中提取 proxy 信息,注入到 request_metadata
2. 在 request_metadata 白名单中添加 proxy 字段
3. 新增 INCREMENT_MANUAL_PROXY_NODE_REQUESTS_SQL,
递增 total_requests/failed_requests,
同时更新 avg_latency_ms 和 last_heartbeat_at
4. 在 ProxyNodeWriteRepository trait 新增 increment_manual_node_requests 方法
5. 在 write_event_record 中解析 request_metadata 中的 proxy 信息,
对非隧道模式的手动节点调用递增方法
6. 为 GatewayDataState 实现 ManualProxyNodeCounter trait
影响范围:
- 仅影响手动代理节点的统计数据
- 隧道节点不受影响(继续通过心跳计数)
- 不影响请求转发逻辑
* style: cargo fmt
---------
Co-authored-by: root <root@ser406777952330.local >
2026-05-03 14:50:36 +08:00
fawney19
c4ea042eb4
feat: add model directive management
2026-05-03 14:48:25 +08:00
AAEE86
712b484bc8
fix(scheduler): 恢复正则模型映射作为上游模型 ( #355 )
...
保留 provider_model_mappings 的优先级选择逻辑,但恢复
GlobalModel model_mappings 正则命中后的行为:使用命中的
allowed_model 作为实际上游 mapped_model。
修复了 #354 请求绕过基于正则表达式的模型映射的问题
2026-04-28 10:36:50 +08:00
Kayphoon
5311eb0da1
Fix provider model mapping selection ( #354 )
2026-04-28 09:23:39 +08:00
fawney19
032dcf40e7
fix: filter candidate rows to resolved global model name only
2026-04-28 01:12:27 +08:00
fawney19
e9f03d8d29
Remove ranked minimal selection compatibility helper
2026-04-27 17:24:32 +08:00
fawney19
e5e09b49f4
Remove ranked candidate data read wrappers
2026-04-27 17:24:32 +08:00
fawney19
dda6f34a07
Rename ranked minimal candidate reads
2026-04-27 17:24:32 +08:00
fawney19
f10f5f071d
Clarify ranked minimal candidate selection
2026-04-27 17:24:32 +08:00
fawney19
3b542434a2
Unify candidate ranking pipeline
2026-04-27 17:24:31 +08:00
fawney19
ea3dc3257e
clean up legacy openai cli adapter names
2026-04-26 23:59:53 +08:00
fawney19
780f09c1a2
feat(billing): 引入 model_id 精确计费查找路径,传播模型 ID 至用量事件与 report context
...
- UsageEventData 新增 model_id / global_model_id 字段,write.rs seed 结构体同步补充
- report_context 新增 model_id / global_model_id / global_model_name,各 payload 构建时从 candidate 传入
- event_enrichment 优先按 model_id 精确查找计费上下文,回退为按名称多轮查找(保留 NoRule 结果降级逻辑)
- BillingReadRepository 新增 find_model_context_by_model_id,memory/sql 分别实现;SQL 查询重构支持按 provider_model_name 和 mappings 匹配并按优先级排序
- pricing.rs 修复:model_tiered_pricing 为空 tiers 时回退到 default_tiered_pricing
- request_metadata 允许字段列表补充 model_id / global_model_id / global_model_name
- admin usage 路由信息输出及脱敏字段列表同步新增三个 model 相关字段
2026-04-24 14:40:28 +08:00
fawney19
fa328e18a1
feat: provider api_formats 可空继承、OpenAI 图片 edit/variation 与用量配额多项补强
...
- 鉴权: provider_api_keys.api_formats 改为可空,OAuth 托管 key 自动继承 provider endpoints 激活格式,相关 handler/测试同步更新
- 图片 planner: OpenAI 图片路由新增 edit/variation 操作并完善参数校验、响应合并与流式处理
- 用量: user me usage 返回区分 client_requested_stream/upstream_is_stream,前端 usage 列表筛选与展示增强
- 统计: stats_daily_model 新增 cache_creation_ephemeral_5m/1h tokens 字段与回填链路
- 配额/observability: quota repository 新增内存与 SQL 扩展,admin observability usage 字段扩充
- 其它: OAuth 导入/轮询收敛、provider 汇总与 pool admin 读写链路小修、新增 system_config 缓存与 provider template handler
Closes #318
Co-authored-by: Entropy.Xu <53283266+Entropy-Xu@users.noreply.github.com >
2026-04-23 14:42:51 +08:00
fawney19
cf6228f525
feat(stats,rules): api_key 用量统计(total_tokens 字段 + 回填)与 body rules 新增 append/insert/regex_replace/name_style 操作
...
- 新增迁移 20260422120000_add_api_key_usage_stats.sql,为 api_keys 表添加 total_tokens 列
- 新增回填 20260422120000_backfill_api_key_usage_stats.sql,按历史 usage 重建 api_key 维度汇总
- 在 UsageWriteRepository trait 中添加 rebuild_api_key_usage_stats,补齐 SQL/内存实现及上层调用链
- 内存实现中新增 apply_usage_stats_delta,支持增量更新 api_key 统计快照
- dev.sh:改进临时日志目录管理,并在网关异常退出时输出错误提示
- frontend EndpointFormDialog:将 append 操作从 insert 分支拆分,提供独立 path/value 输入 UI
- rules.rs:扩展 body rules 支持,新增 append/insert/regex_replace/name_style 操作及 WildcardSlice 路径段
2026-04-22 20:16:57 +08:00