elky
5ac153a0bb
Fix gateway nextest stack limit
2026-06-03 01:32:25 +08:00
elky
c7a5155ce4
Fix sync CLI test stack overflow
2026-06-03 01:12:40 +08:00
Entropy.Xu
c2bcfab7d4
修复:Kiro 模拟缓存接入共享运行时
2026-05-31 22:13:45 +08:00
elky
49f952692b
Fix remaining sync chat stack overflows
2026-05-31 02:12:22 +08:00
elky
fde15c9b60
Fix sync chat test stack overflow
2026-05-31 01:13:09 +08:00
fawney19
b59c724455
Normalize endpoint API root handling
2026-05-29 02:29:33 +08:00
fawney19
2c28d9979c
Merge commit 'refs/pr/585'
...
# Conflicts:
# apps/aether-gateway/src/ai_serving/planner/passthrough/provider/family/request.rs
# apps/aether-gateway/src/tests/ai_execute/stream_provider_gemini/local_cli.rs
# apps/aether-gateway/src/tests/ai_execute/sync/gemini/cli.rs
# apps/aether-gateway/src/tests/control/admin/provider_query.rs
# crates/aether-provider-transport/src/gemini_cli/mod.rs
# crates/aether-provider-transport/src/gemini_cli/request.rs
# crates/aether-provider-transport/src/gemini_cli/url.rs
# crates/aether-provider-transport/src/lib.rs
2026-05-28 13:19:42 +08:00
Mas0nShi
9ad9858ac2
Merge origin/main into fix/gemini-cli-v1internal
2026-05-28 11:58:00 +08:00
MMEXA
adca142d1e
fix: adapt gemini cli to v1internal endpoint
2026-05-28 00:24:56 +08:00
fawney19
42e723ff7c
Clarify API key concurrency skip reasons
2026-05-27 17:00:09 +08:00
fawney19
433a4d3c7d
test(gateway): run claude pii redaction cases on large stack
2026-05-27 09:21:57 +08:00
fawney19
d24ead234d
Merge branch 'pr-575'
...
# Conflicts:
# apps/aether-gateway/src/ai_serving/planner/passthrough/provider/family/payload.rs
# apps/aether-gateway/src/ai_serving/planner/passthrough/provider/family/request.rs
# apps/aether-gateway/src/ai_serving/planner/standard/family/payload.rs
# apps/aether-gateway/src/ai_serving/planner/standard/family/request.rs
# apps/aether-gateway/src/ai_serving/planner/standard/openai/chat/decision/request.rs
# apps/aether-gateway/src/ai_serving/planner/standard/openai/responses/decision/payload.rs
# apps/aether-gateway/src/ai_serving/planner/standard/openai/responses/decision/request.rs
2026-05-27 01:34:19 +08:00
Kayphoon
7530bec7de
test(gateway): cover chat pii redaction formats
2026-05-26 22:29:45 +08:00
fawney19
d60b6e7454
test: run gemini image bridge case on larger stack
2026-05-26 01:52:01 +08:00
Mas0nShi
9533bd7043
fix: route Gemini CLI generateContent through stream
2026-05-22 09:30:55 +08:00
Mas0nShi
e53d5f07e8
feat: support Gemini CLI v1internal quota
2026-05-21 15:38:10 +08:00
fawney19
923515ab28
fix: align image generation checks
2026-05-21 00:45:02 +08:00
fawney19
052de6b96e
test: stabilize merged PR checks
2026-05-19 10:18:25 +08:00
fawney19
509bd30252
Redesign sensitive info protection settings
2026-05-14 11:14:20 +08:00
Kayphoon
2958041dc7
feat(gateway): add reversible chat pii redaction
2026-05-13 18:25:13 +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
ef4cc55c9a
Record per-candidate upstream error bodies
2026-05-11 02:30:45 +08:00
fawney19
a703acd1fe
feat(proxy): record tunnel stability metrics
2026-05-08 22:03:17 +08:00
fawney19
012f8bcdf7
feat: scope model mappings by endpoint
2026-05-07 00:48:15 +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
Entropy.Xu
4baee436ba
feat(image): 接入 ChatGPT Web 生图反代
2026-05-06 11:52:33 +08:00
fawney19
f959f02d40
Implement transport profile routing
2026-05-05 22:21:23 +08:00
fawney19
a24e4a793d
Refactor pool candidate scheduling
2026-05-03 20:14:29 +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
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
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
4c16b11cb4
Align runtime miss tests with skipped candidates
2026-04-27 18:09:56 +08:00
fawney19
3b542434a2
Unify candidate ranking pipeline
2026-04-27 17:24:31 +08:00
fawney19
488bd08f04
Stabilize Kiro Claude CLI sync tests
2026-04-27 00:45:48 +08:00
fawney19
ea3dc3257e
clean up legacy openai cli adapter names
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
Entropy.Xu
e8763b3bbd
fix(kiro): 放行可刷新 OAuth 调度候选 ( #340 )
2026-04-26 23:49:55 +08:00
Entropy.Xu
d784c540b6
fix(kiro): 隐藏 OAuth 刷新重试流程 ( #339 )
2026-04-25 21:29:45 +08:00
fawney19
429fdb47e6
fix(usage): 简化本地执行错误提示
2026-04-25 20:46:22 +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
fawney19
581bc03d4e
feat(ai-pipeline): 支持 reasoning signature 及媒体内容块的跨格式流式转换
...
- 在 CanonicalStreamEvent 中新增 ReasoningSignature 和 ContentPart 变体,CanonicalContentPart 枚举覆盖图片/文件/音频
- Gemini 流解析器提取 thoughtSignature,并对 inlineData/fileData 等非文本 part 生成 ContentPart 事件
- Claude 流聚合支持 thinking_delta / signature_delta,输出 thinking block 携带 signature 字段
- Gemini 同步响应聚合重写,支持媒体 part 和 reasoning signature 的完整还原
- 跨格式矩阵(gemini↔claude↔openai)补全图片块双向转换及 reasoning signature 传递
- 请求转换层(to/from openai_chat)补全 Claude/Gemini 的 thinking、图片、工具调用字段映射
- 新增/扩展测试:inline image 双向重写、thinking signature 聚合、跨格式 sync product 媒体字段
2026-04-24 02:18:34 +08:00
fawney19
342d4a268c
feat(stream-bridge): 支持上游 sync 响应转 SSE 流式输出,记录 client/upstream 流模式差异
...
- 新增 sync_to_stream 桥接模块,将非 SSE 上游响应转换为 SSE 格式回传给流式客户端
- stream_pump 检测非 SSE 响应头后缓冲整包并通过桥接逻辑重写为 SSE 帧
- proxy handler 同步支持 sync→stream 聚合与转换(覆盖 openai/claude/gemini 四种格式)
- sync_products 补全 openai:cli 的完整流式事件聚合(text delta、reasoning、tool call 等)
- usage runtime 写入 client_requested_stream / upstream_is_stream 到 request_metadata
- SQL 查询层将两个布尔字段从 request_metadata jsonb 中提取并回传给前端
- 前端 status.ts 新增 resolveUsageStreamLabelSegments,优先读取 client_requested_stream
- RequestDetailDrawer 在流式转换场景下显示"客户端→上游"两段 Badge
2026-04-23 21:53:50 +08:00
fawney19 and Entropy.Xu
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 <[email protected] >
2026-04-23 14:42:51 +08:00
Entropy.Xu
f55f22d2e8
feat(codex-image): 封装 GPT Image 2 图片接口并收紧错误处理
...
- 新增 openai:image 路由、planner 与 finalize,内部通过 Codex responses image_generation tool 执行生图
- 补充 Codex OAuth/header 兼容、图片 success report 本地处理与相关前后端/集成测试
- 禁止 chat/completions 使用 gpt-image-2,图片接口限制 n=1,并移除 Provider 模型页的图片能力开关
2026-04-22 22:46:28 +08:00
fawney19
226a6e58d5
refactor(gateway): 重构格式转换候选资格检查并优化测试基础设施
...
- 将 format_conversion_disabled 的过滤提前到候选遴选阶段,替代原来的 skip_reason 标记机制
- 为测试添加 execution_runtime_sync_override 直接注入支持,避免启动额外 HTTP 服务器
- 将 submit_terminal_event 改为 async record_terminal_event 确保失败用量事件可靠入库
- 新增 test_support 模块封装可重试的 loopback 端口绑定逻辑
- 前端:poolTrace 将 skipped 从隐藏状态移除,新增 buildPoolParticipatedCandidates 统一新旧链路逻辑,并将 skipped 状态色改为 foreground
2026-04-20 16:59:18 +08:00
fawney19
cb647d95f9
Hide format_conversion_disabled skips when exact-format candidate shares the same key
...
Also switch failover test to surface an auth failure instead of a 502 upstream error.
2026-04-17 18:24:36 +08:00