模块路径:
src/proxy/生成时间: 2026-05-11
代理模块负责创建和管理 HTTP 反向代理实例,实现请求改写(Director)、后端认证头注入、流式响应转发和调试日志记录。
backends 数组,为每个后端创建独立的代理实例prefix 作为代理映射的键default: true 的后端)base_url + 原始路径X-Real-IP、X-Forwarded-For、X-Forwarded-Protorequire_api_key 和 api_key 注入或移除 Authorization 头require_api_key 为 true 时,注入 Authorization: Bearer <key>api_key 字段支持直接值或 ${env:VAR_NAME} 语法api_key 为空时回退使用 OPENAI_API_KEYrequire_api_key 为 false 时,移除请求中的 Authorization 头502 Bad GatewayContent-Type: text/event-stream 的响应selfHandleResponse: falseinitializeProxies(config: Config): ProxyInstances根据配置初始化所有代理实例,返回 proxyMap 和 defaultProxy。
createDirector(backend: BackendConfig): ProxyRequestCallback创建请求改写函数:设置请求目标 URL、注入/移除认证头、设置代理头。
| Go 版本 | TypeScript 版本 | 说明 |
|---|---|---|
httputil.ReverseProxy |
http-proxy-middleware |
代理库 |
makeDirector() |
createDirector() |
请求改写 |
debugTransport |
onProxyReq/onProxyRes 事件 | 调试日志 |
Proxies map[string]*ReverseProxy |
proxyMap: Map<string, RequestHandler> |
代理映射 |