elky
|
8616fe6ee2
|
refactor(workspace): enforce layered crate boundaries
|
2026-07-15 23:47:19 +08:00 |
|
elky
|
e58621a735
|
Merge PR #669: align GPT-5.6 and Codex request protocols
|
2026-07-12 21:50:20 +08:00 |
|
elky
|
7f61bb43c7
|
feat(security): harden gateway request and runtime controls
|
2026-07-12 14:10:54 +08:00 |
|
MMEXA
|
2316df5c9a
|
feat(codex): align Search and execution protocol
|
2026-07-12 03:04:15 +08:00 |
|
elky
|
6c2a57f237
|
fix rust ci failures
|
2026-06-01 02:42:10 +08:00 |
|
elky
|
37413c0211
|
Refactor tunnel stability protocol
|
2026-06-01 01:36:49 +08:00 |
|
elky
|
f8b5651883
|
Support encoded tunnel node names
|
2026-05-31 16:33:06 +08:00 |
|
fawney19
|
d3249485fa
|
Fix stream timeout semantics
|
2026-05-25 20:09:37 +08:00 |
|
fawney19
|
6447fda852
|
fix: harden tunnel security and timeout handling
|
2026-05-23 14:17:04 +08:00 |
|
RWDai
|
33633637e5
|
Fix secure tunnel session handling
|
2026-05-22 14:35:43 +08:00 |
|
RWDai
|
b05f2a270a
|
Fix gateway secure tunnel Clippy warning
|
2026-05-22 10:13:06 +08:00 |
|
RWDai
|
2e701a90c9
|
Complete secure tunnel encryption support
|
2026-05-22 09:47:28 +08:00 |
|
fawney19
|
94760dbc14
|
refactor(tunnel): rename aether-proxy to aether-tunnel
|
2026-05-20 01:02:01 +08:00 |
|
fawney19
|
f5deed8709
|
refactor(proxy): improve tunnel throughput and observability
|
2026-05-19 23:49:36 +08:00 |
|
fawney19
|
87e44479cc
|
Add proxy tunnel diagnostics and default logging
|
2026-05-15 19:43:59 +08:00 |
|
fawney19
|
63149fe281
|
Add tunnel overload protection
|
2026-05-12 18:36:41 +08:00 |
|
fawney19
|
6247ac3edc
|
refactor: extract runtime state backends
|
2026-05-08 00:18:12 +08:00 |
|
fawney19
|
f959f02d40
|
Implement transport profile routing
|
2026-05-05 22:21:23 +08:00 |
|
fawney19
|
c8d7dbd8d6
|
refactor(gateway): 将 CF 头剥离中间件下移至各 router 构建函数并重构为前缀匹配
|
2026-04-22 21:10:16 +08:00 |
|
fawney19
|
0dce667019
|
feat(tunnel/usage): proxy writer 双优先级队列、hub 连接压力感知选择、usage 请求记录级别控制及 trace 页面 proxy timing 增强
|
2026-04-16 20:14:50 +08:00 |
|
fawney19
|
28a489acbe
|
fix(tunnel): writer 退出时立即标记连接关闭, 防止后续请求堵塞
- ws_tx.send 添加 15s 超时, 防止 TCP 背压导致 writer 无限阻塞
- writer 退出时立即 request_close(), 不等 reader 结束即从路由表摘除连接
- ws_tx.close 添加 5s 超时, 防止 close 握手阻塞
|
2026-04-16 02:29:36 +08:00 |
|
fawney19
|
586d2cc42b
|
fix(tunnel): 为 hub reader body 推送添加超时, 防止流间 head-of-line blocking
push_body_chunk 原先使用无超时的 channel send, 当消费端慢时会阻塞
整条 proxy 连接的 reader, 导致同连接上其他 stream 的帧无法路由。
添加 5 秒超时后, 单个 stream 的背压不再影响其他 stream。
|
2026-04-16 02:11:32 +08:00 |
|
fawney19
|
e4be1d6b56
|
Revert "refactor(tunnel): 移除 proxy 连接 idle timeout 机制"
This reverts commit b004551fe5.
|
2026-04-16 00:53:40 +08:00 |
|
fawney19
|
5f0fba1807
|
diag(tunnel): writer/reader 帧计数诊断日志
- writer task 记录发送帧数、Binary 帧大小、send 失败原因
- reader 记录接收帧总数,disconnect 时输出
- 用于定位 gateway→proxy 数据流是否正常
|
2026-04-16 00:31:10 +08:00 |
|
fawney19
|
205f78b39c
|
style: cargo fmt
|
2026-04-15 23:54:14 +08:00 |
|
fawney19
|
5aa8883865
|
fix(tunnel): gateway 回复 WebSocket Pong 防止 proxy stale 断连
gateway reader 之前用 `_ => {}` 忽略了 proxy 发来的 WebSocket Ping,
导致 proxy 的 stale_timeout (5s) 持续触发断连重连循环,
所有隧道请求都因等待 response headers 超时而失败。
同时补充 hub 诊断日志和连续请求集成测试。
|
2026-04-15 23:45:22 +08:00 |
|
fawney19
|
b004551fe5
|
refactor(tunnel): 移除 proxy 连接 idle timeout 机制
idle timeout 在实际使用中容易误断活跃连接,移除该逻辑并简化 reader 循环。
|
2026-04-15 22:10:30 +08:00 |
|
fawney19
|
704858390d
|
feat(gateway): 流式执行支持 local tunnel 传输并改进 SSE 错误通知
- 流式执行优先尝试 local tunnel 路径,不可用时降级到直连
- stream_pump 适配 Reqwest 和 LocalTunnel 双响应类型
- SSE passthrough 流中断时向下游发送 aether.error 终端事件
- 提取 frame 编码辅助函数消除重复代码
- 新增本地隧道流式场景的集成测试
|
2026-04-15 21:10:16 +08:00 |
|
fawney19
|
fbb8249c0d
|
fix(gateway): 改进流式传输稳定性
- stream_pump 读取错误时记录完整错误链并输出 warn 日志
- hub body 转发从 try_send 改为 async send,支持背压避免丢帧
- tunnel_stale_timeout 默认值从 900ms 提升到 10s,减少误判过期
|
2026-04-15 14:26:57 +08:00 |
|
fawney19
|
a4e7ac1df6
|
feat(proxy): 重构 Proxy 节点管理与隧道系统
- 重构 proxy_nodes 管理端,支持节点注册、心跳、隧道生命周期管理
- 增强 tunnel 嵌入式 hub 和隧道协议
- 重构 aether-proxy 配置、隧道客户端、心跳和调度机制
- 调整 admin OAuth/配额/导入等处理器的参数传递
- 扩展数据迁移模块
- 补充 proxy nodes、OAuth、配额、系统导入等测试
- 更新前端 proxy nodes 视图和 API
|
2026-04-14 22:51:02 +08:00 |
|
fawney19
|
9703840a36
|
feat(proxy): 实现代理节点批量升级回滚、隧道重定向跟随及远程配置管理
核心功能:
- 新增代理节点批量升级回滚工作流,支持分批升级、健康探针、跳过/重试/取消等操作
- proxy 隧道流处理器支持 HTTP 重定向跟随(最多 10 跳),区分 307/308 可重播与不可重播请求体
- proxy 协议新增 follow_redirects / http1_only 字段,网关侧同步支持
- 新增代理节点远端配置变更接口(名称、允许端口、调度状态、升级目标等)
- 新增代理节点注册/反注册/心跳的 Admin API,及节点过期清理维护任务
- gateway 隧道 owner-relay 支持流式代理大请求体,新增 5 MiB 默认限制
- 新增 ProxyNodeRegistrationMutation / ProxyNodeRemoteConfigMutation 数据类型
- proxy 配置新增重定向重播预算、心跳间隔等参数,TUI 安装向导同步更新
- 前端 ProxyNodes 页面新增批量升级操作面板及滚动进度展示
|
2026-04-12 16:02:38 +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 |
|
fawney19
|
cbc811f6ce
|
refactor: 移除 Python upstream 依赖,清理全部 legacy/Python 兼容层
- 移除 upstream_base_url 参数及 AETHER_GATEWAY_UPSTREAM 环境变量,gateway 不再需要指向 Python 宿主
- 删除所有 LEGACY_*/PYTHON_* 常量、路由组、header 定义及 sunset/phaseout 机制
- 将 legacy_gateway_bridge 重命名为 internal_gateway,executor 相关命名统一为 execution_runtime
- dev.sh 新增 Postgres/Redis 预检查,移除 upstream 相关启动参数和提示
- 新增 ai_public 路由处理器
- 全量适配 handler、test、state、control 等模块的命名和接口变更
|
2026-04-04 01:40:24 +08:00 |
|
fawney19
|
8f26e1a31f
|
refactor: 移除独立 hub/proxy/executor/gateway crate,统一为 gateway tunnel 架构
- 删除 aether-hub、aether-proxy 独立项目及其 Dockerfile/配置
- 删除 crates/aether-executor 和 crates/aether-gateway 全部模块
- 新增 apps/ 目录作为应用入口
- 将 hub 概念重构为 gateway tunnel transport
- 将 executor 重构为 execution runtime
- 新增 tunnel.rs 合约定义和 testkit tunnel/execution_runtime 模块
- 更新 Python 服务层和测试适配新架构命名
|
2026-04-03 14:59:58 +08:00 |
|