mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 09:20:22 +08:00
feat: ProxyNode 代理节点管理系统与 OpenAI Responses API 解析增强
ProxyNode 系统:新增 aether-proxy(Rust)海外 VPS 代理组件,后端实现节点注册/心跳/ HMAC 认证/健康检测调度器/模块化集成,前端新增代理节点管理页面。ProxyConfig 支持 node_id 模式,http_client 支持 HMAC 签名代理 URL 构建与 TTL 缓存。 OpenAI CLI 解析器:适配 Responses API 格式,支持 input_tokens/output_tokens 提取、 output[].content[].text 文本解析、response.completed 流式事件 usage 嵌套结构。
This commit is contained in:
@@ -3,6 +3,8 @@
|
||||
从环境变量或 .env 文件加载配置
|
||||
"""
|
||||
|
||||
import hashlib
|
||||
import hmac
|
||||
import os
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
@@ -46,6 +48,13 @@ class Config:
|
||||
# 加密密钥配置(独立于JWT密钥,用于敏感数据加密)
|
||||
self.encryption_key = os.getenv("ENCRYPTION_KEY", None)
|
||||
|
||||
# 代理节点 HMAC 密钥(用于 aether-proxy 认证)
|
||||
proxy_hmac_key_env = os.getenv("PROXY_HMAC_KEY")
|
||||
if proxy_hmac_key_env and proxy_hmac_key_env.strip():
|
||||
self.proxy_hmac_key = proxy_hmac_key_env.strip()
|
||||
else:
|
||||
self.proxy_hmac_key = self._derive_proxy_hmac_key()
|
||||
|
||||
# 环境配置 - 智能检测
|
||||
# Docker 部署默认为生产环境,本地开发默认为开发环境
|
||||
is_docker = (
|
||||
@@ -307,6 +316,20 @@ class Config:
|
||||
# 验证连接池配置
|
||||
self._validate_pool_config()
|
||||
|
||||
def _derive_proxy_hmac_key(self) -> str:
|
||||
"""
|
||||
从 ENCRYPTION_KEY 派生 PROXY_HMAC_KEY
|
||||
|
||||
目的:避免把 ENCRYPTION_KEY 直接下发到 VPS(aether-proxy)。
|
||||
"""
|
||||
if not self.encryption_key:
|
||||
return ""
|
||||
return hmac.new(
|
||||
self.encryption_key.encode("utf-8"),
|
||||
b"aether-proxy-hmac-key-v1",
|
||||
hashlib.sha256,
|
||||
).hexdigest()
|
||||
|
||||
def _auto_pool_size(self) -> int:
|
||||
"""
|
||||
智能计算连接池大小 - 根据 Worker 数量和 PostgreSQL 限制计算
|
||||
|
||||
Reference in New Issue
Block a user