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]>
This commit is contained in:
fawney19
2026-04-23 14:42:51 +08:00
co-authored by Entropy.Xu
parent f55f22d2e8
commit fa328e18a1
128 changed files with 5583 additions and 690 deletions
+3 -10
View File
@@ -249,7 +249,7 @@ wait_for_startup() {
# - ./dev.sh 不再启动 Python 宿主;本地默认只验证 Rust-owned 路径
export APP_PORT=${APP_PORT:-8084}
export RUST_LOG=${RUST_LOG:-aether_gateway=info}
RUST_SERVICE_STARTUP_TIMEOUT_SECONDS=${RUST_SERVICE_STARTUP_TIMEOUT_SECONDS:-120}
RUST_SERVICE_STARTUP_TIMEOUT_SECONDS=${RUST_SERVICE_STARTUP_TIMEOUT_SECONDS:-180}
GATEWAY_STARTUP_TIMEOUT_SECONDS=${GATEWAY_STARTUP_TIMEOUT_SECONDS:-${RUST_SERVICE_STARTUP_TIMEOUT_SECONDS}}
if ! command -v cargo >/dev/null 2>&1; then
@@ -299,15 +299,8 @@ GATEWAY_ARGS=(--app-port "${APP_PORT}")
create_gateway_log_file
echo "=> 启动 aether-gateway (Rust frontdoor: 0.0.0.0:${APP_PORT})..."
echo "=> 日志过滤: ${RUST_LOG} (需要更详细日志可用: RUST_LOG=aether_gateway=debug ./dev.sh)"
if command -v script >/dev/null 2>&1; then
script -q /dev/null cargo run -q -p aether-gateway -- "${GATEWAY_ARGS[@]}" \
> >(tee -a "${GATEWAY_LOG_FILE}") \
2> >(tee -a "${GATEWAY_LOG_FILE}" >&2) &
else
cargo run -q -p aether-gateway -- "${GATEWAY_ARGS[@]}" \
> >(tee -a "${GATEWAY_LOG_FILE}") \
2> >(tee -a "${GATEWAY_LOG_FILE}" >&2) &
fi
echo "=> 执行命令: cargo run -p aether-gateway -- ${GATEWAY_ARGS[*]}"
cargo run -p aether-gateway -- "${GATEWAY_ARGS[@]}" > >(tee -a "${GATEWAY_LOG_FILE}") 2>&1 &
GATEWAY_PID=$!
if ! wait_for_startup "${GATEWAY_PID}" "${GATEWAY_STARTUP_TIMEOUT_SECONDS}" "aether-gateway" curl -sf "http://127.0.0.1:${APP_PORT}/_gateway/health"; then