mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 01:10:23 +08:00
- 将工具/tool_choice/web_search/custom tool 的双向转换函数提取到 constants.py,
openai.py 和 openai_cli.py 共享,消除两端逻辑不一致
- 新增 Chat <-> Responses 的 passthrough 字段白名单,支持 metadata/user/
service_tier/prompt_cache_key 等字段跨格式透传
- 支持 text config (response_format + verbosity) 在 Chat/Responses 间互转
- 修复 Gemini json_schema 解包:OpenAI 的 {name, schema, strict} 包装层
不再被整体传入 Gemini responseSchema
- 修复 reasoning_effort 优先级:显式 effort 优先于 budget_tokens 反推,
避免 Claude output_config.effort 被覆盖
- Gemini 格式输出增加 web_search_options -> googleSearch 工具映射
- Claude schema validator 增加 web_search 类型工具的宽松校验
- 新增覆盖测试:custom tool/tool_choice、allowed_tools、web_search 双向转换、
text config 映射、passthrough 字段保留、跨格式 schema 校验
aether-hub
aether-hub 是 Tunnel Hub 服务,负责在 proxy 与 worker 之间路由帧。
已集成在Docker镜像中, 无需单独部署。
部署端指定 Hub 版本并构建
cd /path/to/Aether
./deploy.sh --hub-tag hub-v0.1.0
不指定 --hub-tag 时,./deploy.sh 会自动解析最新 hub-v* release,并在构建 app 镜像时从 GitHub Release 下载对应架构的 Hub 二进制。
build.sh 模式说明
- 默认是
binary模式(cross构建二进制)。 --upload <hub-vX.Y.Z>会把构建产物上传到 GitHub Release。- 加
--image后进入镜像模式(docker buildx,可选)。
常用参数:
--tag <tag>: 镜像 tag--image-name <name>: 镜像名(默认ghcr.io/fawney19/aether-hub)--platforms <list>: 例如linux/amd64,linux/arm64--push: 推送镜像--load: 加载到本地 Docker(单平台)--latest: 额外打latesttag
运行时参数
TUNNEL_HUB_WORKER_IDLE_TIMEOUT:worker 心跳空闲超时,默认60秒TUNNEL_HUB_OUTBOUND_QUEUE_CAPACITY:单连接出站队列容量,默认128;队列打满时会把连接视为拥塞并主动关闭,避免 Hub 内存无限增长
与部署脚本关系
./deploy.sh: 本地构建部署(会本地构建 app/base,并在构建 app 时从 GitHub Release 下载 Hub,可用--hub-tag固定版本)。