fawney19
|
7cb204f18a
|
chore: bump aether-hub version to 0.2.0
|
2026-03-17 22:15:07 +08:00 |
|
fawney19
|
0342f609d0
|
feat(tunnel): 请求体流式传输 & OpenAI CLI 请求 key 排序优化
Hub 端:
- open_local_stream 不再接收 body 参数,改为通过 push_local_request_body 分块推送
- 请求体按 32KB 分帧发送,避免大请求一次性压缩和传输
- local_relay 改为流式解析 envelope 和转发请求体
Proxy 端:
- stream_handler 改为流式传输请求体到上游,不再预先收集完整 body
- upstream_client 请求体类型从 Full<Bytes> 改为 UnsyncBoxBody 以支持流式传输
- dispatcher 将 StreamEnd/StreamError 事件转发给 stream handler
Python 端:
- hub_transport relay envelope 改为异步生成器流式发送
- 提取 reorder_openai_cli_request_prefix_keys 为公共函数
- Codex passthrough 路径也应用稳定的前缀 key 排序
|
2026-03-17 22:07:09 +08:00 |
|
fawney19
|
37eada9682
|
chore: bump aether-hub version to 0.1.9
|
2026-03-17 20:26:29 +08:00 |
|
fawney19
|
73a5325a38
|
refactor(hub): 用本地 HTTP relay 替代 Worker WebSocket 长连接
Hub 数据面改为 /local/relay/{node_id} HTTP 端点,Worker 通过本机
HTTP 请求转发 tunnel 帧,不再维护 /worker WebSocket 长连接。
Hub 侧:
- 新增 control_plane.rs: Hub 通过 HTTP 回调 Aether app 处理心跳 ACK 和节点状态变更
- 新增 local_relay.rs: 接收本地 HTTP 请求,在 Hub 内部打开 LocalStream 并透传到 proxy
- 移除 worker_conn.rs 及 Worker WebSocket 处理逻辑
- 简化 protocol.rs: 移除 NODE_STATUS 帧类型,抽取通用 encode_frame/decode_payload
Python 侧:
- 删除 tunnel_manager.py 及其 WebSocket 连接管理器 (HubConnectionManager)
- 简化 hub_transport.py 为 HTTP relay 调用
- 新增 src/api/internal/hub.py 接收 Hub 控制面回调 (heartbeat/node-status)
- hub_config.py 移除 WebSocket 相关配置,改为 HTTP relay URL
- service.py 新增 update_tunnel_status 方法
- 删除 src/api/admin/proxy_tunnel.py (旧管理接口)
- proxy_node 缓存 TTL 从 15s 降至 3s 加速状态感知
|
2026-03-17 20:22:12 +08:00 |
|
fawney19
|
8a21cb9a55
|
chore: bump aether-hub version to 0.1.8
|
2026-03-17 17:32:01 +08:00 |
|
fawney19
|
22093bed4d
|
chore: bump aether-hub version to 0.1.7
|
2026-03-12 15:21:47 +08:00 |
|
fawney19
|
fddfaecf5e
|
chore: bump aether-hub version to 0.1.6
|
2026-03-12 12:21:52 +08:00 |
|
fawney19
|
c4044ba0b1
|
chore: bump aether-hub version to 0.1.5
|
2026-03-12 10:20:42 +08:00 |
|
fawney19
|
f9ffb1cae5
|
chore: bump aether-hub version to 0.1.4
|
2026-03-08 23:06:06 +08:00 |
|
fawney19
|
9b29a65c68
|
chore: bump aether-hub version to 0.1.3
|
2026-03-07 04:02:02 +08:00 |
|
fawney19
|
8a2c3596ce
|
chore: bump aether-hub version to 0.1.2
|
2026-03-02 13:29:27 +08:00 |
|
fawney19
|
039a18c243
|
feat(tunnel): 引入 aether-hub 帧路由器,支持多 worker 共享 tunnel 连接
新增 Rust 实现的 aether-hub 服务,作为 Docker 容器内部 WebSocket 帧路由器,
解决多 Gunicorn worker 进程间 tunnel 连接隔离问题。
主要改动:
- 新增 aether-hub Rust 项目,实现 proxy/worker 双向帧路由与 stream_id 重映射
- 新增 HubConnectionManager/HubTunnelTransport,worker 通过 Hub 转发 tunnel 帧
- 新增 create_tunnel_transport 工厂函数,按运行环境自动选择 Hub 或直连模式
- 新增 NODE_STATUS 广播机制,Hub 实时通知所有 worker 节点连接状态变化
- CI/CD 新增 build-hub job,Dockerfile 集成 Hub 二进制,deploy.sh 适配 Hub 构建
- 默认 GUNICORN_WORKERS 从 4 降为 2
|
2026-03-02 02:43:14 +08:00 |
|