fawney19
|
c130d0e2c9
|
refactor ai serving modules and crates
|
2026-05-02 13:23:54 +08:00 |
|
fawney19
|
33aa70c22b
|
fix scheduler affinity candidate selection
|
2026-04-30 16:27:24 +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 |
|
fawney19
|
9e2faa7e5b
|
Tighten local auth allow-list matching
|
2026-04-30 00:26:33 +08:00 |
|
fawney19
|
07a319259b
|
Normalize canonical API formats
|
2026-04-29 10:20:41 +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
|
51c3beb614
|
Narrow core ranking public surface
|
2026-04-27 17:24:32 +08:00 |
|
fawney19
|
e9f03d8d29
|
Remove ranked minimal selection compatibility helper
|
2026-04-27 17:24:32 +08:00 |
|
fawney19
|
44930532dc
|
Align ranked candidate selection test names
|
2026-04-27 17:24:32 +08:00 |
|
fawney19
|
f10f5f071d
|
Clarify ranked minimal candidate selection
|
2026-04-27 17:24:32 +08:00 |
|
fawney19
|
2101a4ecc7
|
Drop legacy candidate ordering helpers
|
2026-04-27 17:24:31 +08:00 |
|
fawney19
|
a23758808d
|
Isolate core candidate selection helpers
|
2026-04-27 17:24:31 +08:00 |
|
fawney19
|
91db4eefd0
|
Persist ranking metadata through request traces
|
2026-04-27 17:24:31 +08:00 |
|
fawney19
|
3b542434a2
|
Unify candidate ranking pipeline
|
2026-04-27 17:24:31 +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 |
|
fawney19
|
00744c0ce5
|
feat(observability): 引入错误链路 error_flow 元数据并区分上游/客户端错误
- 网关在本地 failover 时构建 error_flow 元数据(分类/决策/传播策略),写入 report_context
- scheduler-core 解析并透传 error_flow 至候选 extra_data
- admin usage 详情拆分 request/upstream/client/failure_summary 错误域,敏感上游错误标记为 suppressed
- 前端 RequestDetailDrawer 拆出"返回客户端"与"上游响应"双错误卡片
- HorizontalRequestTimeline 节点详情展示真实请求错误及 error_flow 标签
|
2026-04-25 17:01:07 +08:00 |
|
Entropy.Xu
|
bb7fe9fe37
|
fix(kiro): 修复 Kiro OAuth 过期懒刷新 (#334)
* fix(kiro): 修复 OAuth 过期懒刷新
* fix(kiro): 修复 OAuth 过期懒刷新
* fix(scheduler): 修复 candidate extra data clippy 告警
|
2026-04-25 16:40:45 +08:00 |
|
fawney19
|
61e12e2c17
|
feat(scheduler): candidate report 携带 header_rules 与 body_rules
各 planner 在构造 report context 时附带端点的 header/body 改写规则,scheduler 解析后写入 candidate extra_data,便于追踪请求实际应用的透传规则
|
2026-04-25 11:43:53 +08:00 |
|
fawney19
|
f3c9835759
|
feat(pool): 引入 pro_first 调度预设、Pool 候选持久化跳过与诊断信息优化
- 新增 pro_first 调度预设(Pro 优先),更新 plus_first 仅针对 Plus 计划,移除 free_team_first
- Pool 内部候选(pool_key_index 不为空)跳过 DB 持久化(available/skipped/unused 均适用)
- LRU 排序新增 catalog_lru_score 回退:runtime 无记录时使用 last_used_at_unix_secs
- 执行路径 miss 诊断消息细化为中文,按 reason 分类输出可读说明
- build_local_request_candidate_status_record 补充 extra_data 和 created_at_unix_ms 字段
- OpenAI CLI 计划构建流程补充候选评估进度跟踪与 terminal reason 设置
- 前端 PoolSchedulingDialog 增加 pro_first 预设展示,修复 LRU 默认预设检测逻辑
|
2026-04-24 13:29:05 +08:00 |
|
Entropy.Xu
|
0f94f92c37
|
fix(provider): 将rust分支的gemini cli端点行为对齐到python分支 (#321)
* fix(provider): 对齐 Vertex/Gemini 上游发包与 Python master
- provider-transport: 为 custom+aiplatform 推断 Vertex API key 上下文并统一 URL 构建顺序,复用共享 request_url 构建最终上游地址
- ai-pipeline/gateway: Vertex Gemini 路径改为仅使用 URL query key,不再向上游附带 x-goog-api-key header;同步对齐 standard/admin/test-connection/runtime miss 摘要中的最终 URL
- gemini conversion: 按 Python master 输出 Gemini 请求体,补齐 system_instruction / generation_config / tool_config / function_declarations 形态,并移植 Gemini schema 清洗逻辑
- scheduler/executor: 将最终 upstream_url、mapped_model、key_name 写入候选 extra_data,运行时 miss 诊断优先展示真实展开后的上游 URL 便于服务器排障
* fix(provider): 修复 Vertex provider 测试与本地调度链路
* fix(provider): 对齐 Vertex 本地执行与 Rust CI
|
2026-04-23 23:01:06 +08:00 |
|
fawney19
|
25a2b417be
|
refactor: 优化调度候选排序与用量写入链路并改进 Fernet 缓存与前端批量列表
|
2026-04-21 16:19:07 +08:00 |
|
fawney19
|
c1b9d94c84
|
feat(adaptive): 完善自适应 RPM 学习并将 Pool 调度状态与健康分解耦
- orchestration 新增 AdaptiveSuccess 效果,在成功回报路径上根据利用率窗口扩张 learned_rpm_limit
- 429 路径改用 429_observation/adjustment 记录以及基于历史的置信度评估,新增 last_rpm_peak 边界字段
- Pool 调度状态不再因 health_score 低或熔断而降级/拦截,前端同步移除相关按钮与文案兜底
- 新增前端 poolTrace 工具(附测试)承接原 HorizontalRequestTimeline 内的候选合并逻辑
|
2026-04-20 00:27:48 +08:00 |
|
fawney19
|
77aac74590
|
feat(oauth): 完善账号异常识别并在调度/展示层拦截失效 OAuth 密钥
- 新增 aether-admin provider status 模块,统一解析账号状态(禁用/工作区停用等)
- 调度器 runtime 增加 oauth_invalid 判定,跳过刷新失败或已撤销的 OAuth 密钥(REQUEST_FAILED 保留可选)
- gateway state 在 local oauth 刷新返回 4xx 时持久化失败原因并同步状态快照
- admin pool 列表/详情回填 account 状态与 scheduling 阻塞原因(account_blocked)
- 共享 catalog 的 status_snapshot payload 附加 account 字段
|
2026-04-19 20:50:31 +08:00 |
|
fawney19
|
0ce61bc91c
|
fix(gateway): align provider restrictions with provider catalog
|
2026-04-17 18:59:13 +08:00 |
|
Entropy.Xu
|
ac1a126756
|
fix(kiro,pool,model): 对齐 Kiro 管理链路并修复全局模型删除行为 (#305)
* feat(pool): 号池支持跳过额度耗尽账号
- 新增 pool_advanced.skip_exhausted_accounts 开关及高级设置 UI, 默认关闭并兼容旧配置
- 为 Codex/Kiro 增加额度耗尽判定, 接入请求侧候选跳过并新增 account_quota_exhausted skip reason
- 号池列表将额度耗尽账号标记为 blocked/额度耗尽, 并补充前后端相关测试
* fix(kiro): 对齐账号管理与 provider-query 的 Rust 行为
- 修复 Kiro 单条导入误走 import-refresh-token 的前端分流, 并为误用路径返回明确错误提示
- 为 Kiro 导入与本地请求链补齐 bearer 兼容, 同步放开账号启停等 Key 更新操作的 auth_type 校验
- 实现 Kiro provider-query 本地模型测试与 failover 执行链, 并修复结果弹窗在无 trace 时无法展示 attempts/响应体的问题
* fix(model): 删除全局模型时级联清理关联提供商模型
- 对齐 Python 版本删除逻辑, GlobalModel 删除前先在事务内清理关联的 Provider Model 记录
- 修复已绑定 Provider 的模型在 Rust SQL 仓库下会被外键约束拦住、无法正常删除的问题
- 增加管理端回归测试, 覆盖绑定 Provider Model 的 GlobalModel 删除场景
* fix(kiro,ci): 恢复 Kiro OAuth 持久化并修复 Rust CI
* Fix oauth-managed provider key semantics
---------
Co-authored-by: fawney19 <elky0401@gmail.com>
|
2026-04-17 12:57:06 +08:00 |
|
fawney19
|
d805a28c9a
|
feat: 请求候选追踪添加 proxy 元数据, 修复 usage 状态回退, 优化前端轮询
- 在各 planner decision payload 中注入 proxy trace 信息 (node_id, node_name, url, source)
- request_candidate 报告上下文支持 proxy 字段, extra_data 合并逻辑改为 merge 而非覆盖
- SQL/内存仓库防止 usage status 从 streaming 回退到 pending
- 前端移除活跃请求完成时的全表刷新, active discovery 尊重 globalAutoRefresh 开关
|
2026-04-16 11:57:42 +08:00 |
|
AAEE86
|
fb31928e44
|
fix(mapping): 对齐全局模型映射的正则匹配行为与范围 (#296)
- scheduler_core: `matches_model_mapping` 改为大小写不敏感且整串匹配,并补充单测
- global model routing 预览:
- Key 过滤增加 `allowed_models + model_mappings` 校验
- `all_keys_whitelist` 改为收集全站活跃 Provider 的活跃 Key 白名单
- provider mapping-preview:
- 优先使用 admin 全量 GlobalModel(含非激活)参与映射
- admin 数据为空时回退 public 模型,保持兼容
- public models 匹配逻辑统一复用 scheduler_core 实现,避免行为分叉
- 更新网关测试,覆盖未关联 Provider 的 Key 也进入 whitelist 的场景
|
2026-04-14 21:58:52 +08:00 |
|
fawney19
|
593640ac19
|
feat(gateway): 增强候选路由策略与可观测信息
|
2026-04-14 11:50:52 +08:00 |
|
AAEE86
|
82c3c33610
|
fix(build): 修复网关构建失败并收口候选选择与 finalize 回归
- 补齐 DecisionTraceCandidate 新增字段,修复审计测试构造
- 修正 usage 内存仓库的 created_at_unix_ms 字段引用与秒/毫秒换算
- 将 build_minimal_candidate_selection 重构为输入对象,消除 clippy 参数过多问题
- 修复 admin global model created_at 旧字段残留引用
- 修复 openai:cli 与 openai:compact 同家族 finalize 在 needs_conversion=true 时的成功回落逻辑
- 清理 aether-gateway 中的 derive/default 与 needless borrow 等 clippy 问题
|
2026-04-10 17:23:40 +08:00 |
|
fawney19
|
5014e2f5fd
|
refactor: 抽离 AI pipeline 与调度共享能力逻辑
|
2026-04-10 01:46:14 +08:00 |
|
fawney19
|
b0b40c16ff
|
feat: 全栈功能增强 - 扩展 provider/pool 管理、完善调度与数据层、重构前端 Pool 页面
后端:
- 扩展 pool_admin payloads 和 provider query models,增强 endpoint key 管理
- 完善 scheduler-core 候选排序与请求候选逻辑
- 增强 usage-runtime 写入、provider-transport 网络层与 OAuth 刷新
- 改进 AI pipeline 响应转换与流式处理
- 扩展 global_models/provider_catalog 数据层查询能力
- 增强 video-tasks-core 多 provider 支持
- 新增大量集成测试覆盖 pool/keys/provider_query/frontdoor
前端:
- 重构 PoolManagement 页面,拆分状态管理/对话框逻辑到独立模块
- 新增 poolAdvancedDialog/poolSchedulingDialog/poolManagementState/poolMobilePresentation 工具函数及测试
- 改进 Dialog 组件与 provider tabs 显示
部署:
- 更新 Rust CI workflow 和 Dockerfile 构建配置
Closes #275
Co-authored-by: AAEE86 <ppk0227@hotmail.com>
|
2026-04-09 13:51:50 +08:00 |
|
fawney19
|
5d96d6673b
|
refactor: 大规模模块拆分与代码精简,新增 ai-pipeline/data-contracts 独立 crate
- 新增 aether-ai-pipeline 和 aether-data-contracts crate,将 pipeline 逻辑与数据契约从 gateway 中解耦
- 重构 admin handlers:拆分单体模块为 auth/billing/endpoint/features/model/observability/provider/system 等独立子模块
- 合并 chat/cli 重复代码路径:精简 conversion、finalize、planner 中的 sync/chat/cli 分支
- 重构 scheduler/executor/data 层,引入 facade 模式降低模块间耦合
- 移除冗余的 intent 模块,将 plan_fallback/policy/stream_path/sync_path 迁移至 executor
- 前端适配:调整 admin API 调用和 provider 模型测试对话框
|
2026-04-07 02:50:19 +08:00 |
|
fawney19
|
763ff03a7b
|
refactor: 拆分 gateway 单体为独立 crate,新增 systemd 部署方案
将 gateway 内部的 model-fetch、provider-transport、scheduler-core、
usage-runtime、video-tasks-core 模块提取为独立 crate;重构 gateway
内部模块结构(state/router/cache/data/query 等);移除大量遗留模块
文件;新增 systemd 二进制部署骨架及相关文档;更新前端 usage 相关
API 和组件。
|
2026-04-05 20:23:16 +08:00 |
|