# 🚀 Claude Relay Service Configuration # 🌐 服务器配置 PORT=3000 HOST=0.0.0.0 NODE_ENV=production # 🔐 安全配置 JWT_SECRET=your-jwt-secret-here ADMIN_SESSION_TIMEOUT=86400000 API_KEY_PREFIX=cr_ ENCRYPTION_KEY=your-encryption-key-here # 👤 管理员凭据(可选,不设置则自动生成) # ADMIN_USERNAME=cr_admin_custom # ADMIN_PASSWORD=your-secure-password # 📊 Redis 配置 REDIS_HOST=localhost REDIS_PORT=6379 REDIS_PASSWORD= REDIS_DB=0 REDIS_ENABLE_TLS= # 🔗 会话管理配置 # 粘性会话TTL配置(小时),默认1小时 STICKY_SESSION_TTL_HOURS=1 # 续期阈值(分钟),默认0分钟(不续期) STICKY_SESSION_RENEWAL_THRESHOLD_MINUTES=15 # 🎯 Claude API 配置 CLAUDE_API_URL=https://api.anthropic.com/v1/messages CLAUDE_API_VERSION=2023-06-01 CLAUDE_BETA_HEADER=claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14 # 🤖 Gemini OAuth / Antigravity 配置(可选) # 不配置时使用内置默认值;如需自定义或避免在代码中出现 client secret,可在此覆盖 # GEMINI_OAUTH_CLIENT_ID= # GEMINI_OAUTH_CLIENT_SECRET= # Gemini CLI OAuth redirect_uri(可选,默认 https://codeassist.google.com/authcode) # GEMINI_OAUTH_REDIRECT_URI= # ANTIGRAVITY_OAUTH_CLIENT_ID= # ANTIGRAVITY_OAUTH_CLIENT_SECRET= # Antigravity OAuth redirect_uri(可选,默认 http://localhost:45462;用于避免 redirect_uri_mismatch) # ANTIGRAVITY_OAUTH_REDIRECT_URI=http://localhost:45462 # Antigravity 上游地址(可选,默认 sandbox) # ANTIGRAVITY_API_URL=https://daily-cloudcode-pa.sandbox.googleapis.com # Antigravity User-Agent(可选) # ANTIGRAVITY_USER_AGENT=antigravity/1.11.3 windows/amd64 # Claude Code(Anthropic Messages API)路由分流(无需额外环境变量): # - /api -> Claude 账号池(默认) # - /antigravity/api -> Antigravity OAuth # - /gemini-cli/api -> Gemini CLI OAuth # ============================================================================ # 🐛 调试 Dump 配置(可选) # ============================================================================ # 以下开启后会在项目根目录写入 .jsonl 调试文件,便于排查问题。 # ⚠️ 生产环境建议关闭,避免磁盘占用。 # # 📄 输出文件列表: # - anthropic-requests-dump.jsonl (客户端请求) # - anthropic-responses-dump.jsonl (返回给客户端的响应) # - anthropic-tools-dump.jsonl (工具定义快照) # - antigravity-upstream-requests-dump.jsonl (发往上游的请求) # - antigravity-upstream-responses-dump.jsonl (上游 SSE 响应) # # 📌 开关配置: # ANTHROPIC_DEBUG_REQUEST_DUMP=true # ANTHROPIC_DEBUG_RESPONSE_DUMP=true # ANTHROPIC_DEBUG_TOOLS_DUMP=true # ANTIGRAVITY_DEBUG_UPSTREAM_REQUEST_DUMP=true # ANTIGRAVITY_DEBUG_UPSTREAM_RESPONSE_DUMP=true # # 📏 单条记录大小上限(字节),默认 2MB: # ANTHROPIC_DEBUG_REQUEST_DUMP_MAX_BYTES=2097152 # ANTHROPIC_DEBUG_RESPONSE_DUMP_MAX_BYTES=2097152 # ANTIGRAVITY_DEBUG_UPSTREAM_REQUEST_DUMP_MAX_BYTES=2097152 # # 📦 整个 Dump 文件大小上限(字节),超过后自动轮转为 .bak 文件,默认 10MB: # DUMP_MAX_FILE_SIZE_BYTES=10485760 # # 🔧 工具失败继续:当 tool_result 标记 is_error=true 时,提示模型不要中断任务 # (仅 /antigravity/api 分流生效) # ANTHROPIC_TOOL_ERROR_CONTINUE=true # 🚫 529错误处理配置 # 启用529错误处理,0表示禁用,>0表示过载状态持续时间(分钟) CLAUDE_OVERLOAD_HANDLING_MINUTES=0 # 400错误处理:0表示禁用,>0表示临时禁用时间(分钟) # 只有匹配特定错误模式的 400 才会触发临时禁用 # - organization has been disabled # - account has been disabled # - account is disabled # - no account supporting # - account not found # - invalid account # - Too many active sessions CLAUDE_CONSOLE_BLOCKED_HANDLING_MINUTES=10 # 🌐 代理配置 DEFAULT_PROXY_TIMEOUT=600000 MAX_PROXY_RETRIES=3 # IP协议族配置:true=IPv4, false=IPv6, 默认IPv4(兼容性更好) PROXY_USE_IPV4=true # 代理连接池 / Keep-Alive 配置(默认关闭,如需启用请取消注释) # PROXY_KEEP_ALIVE=true # PROXY_MAX_SOCKETS=50 # PROXY_MAX_FREE_SOCKETS=10 # ⏱️ 请求超时配置 REQUEST_TIMEOUT=600000 # 请求超时设置(毫秒),默认10分钟 # 🔧 请求体大小配置 REQUEST_MAX_SIZE_MB=60 # 📈 使用限制 DEFAULT_TOKEN_LIMIT=1000000 # 📝 日志配置 LOG_LEVEL=info LOG_MAX_SIZE=10m LOG_MAX_FILES=5 # 🔧 系统配置 CLEANUP_INTERVAL=3600000 TOKEN_USAGE_RETENTION=2592000000 HEALTH_CHECK_INTERVAL=60000 TIMEZONE_OFFSET=8 # UTC偏移小时数,默认+8(中国时区) METRICS_WINDOW=5 # 实时指标统计窗口(分钟),可选1-60,默认5分钟 # 启动时清理残留的并发排队计数器(默认true,多实例部署时建议设为false) CLEAR_CONCURRENCY_QUEUES_ON_STARTUP=true # 🎨 Web 界面配置 WEB_TITLE=Claude Relay Service WEB_DESCRIPTION=Multi-account Claude API relay service with beautiful management interface WEB_LOGO_URL=/assets/logo.png # 🛠️ 开发配置 DEBUG=false DEBUG_HTTP_TRAFFIC=false # 启用HTTP请求/响应调试日志(仅开发环境) ENABLE_CORS=true TRUST_PROXY=true # 🔒 客户端限制(可选) # ALLOW_CUSTOM_CLIENTS=false # 🔐 LDAP 认证配置 LDAP_ENABLED=false LDAP_URL=ldaps://ldap-1.test1.bj.yxops.net:636 LDAP_BIND_DN=cn=admin,dc=example,dc=com LDAP_BIND_PASSWORD=admin_password LDAP_SEARCH_BASE=dc=example,dc=com LDAP_SEARCH_FILTER=(uid={{username}}) LDAP_SEARCH_ATTRIBUTES=dn,uid,cn,mail,givenName,sn LDAP_TIMEOUT=5000 LDAP_CONNECT_TIMEOUT=10000 # 🔒 LDAP TLS/SSL 配置 (用于 ldaps:// URL) # 是否忽略证书验证错误 (设置为false可忽略自签名证书错误) LDAP_TLS_REJECT_UNAUTHORIZED=true # CA 证书文件路径 (可选,用于自定义CA证书) # LDAP_TLS_CA_FILE=/path/to/ca-cert.pem # 客户端证书文件路径 (可选,用于双向认证) # LDAP_TLS_CERT_FILE=/path/to/client-cert.pem # 客户端私钥文件路径 (可选,用于双向认证) # LDAP_TLS_KEY_FILE=/path/to/client-key.pem # 服务器名称 (可选,用于 SNI) # LDAP_TLS_SERVERNAME=ldap.example.com # 🗺️ LDAP 用户属性映射 LDAP_USER_ATTR_USERNAME=uid LDAP_USER_ATTR_DISPLAY_NAME=cn LDAP_USER_ATTR_EMAIL=mail LDAP_USER_ATTR_FIRST_NAME=givenName LDAP_USER_ATTR_LAST_NAME=sn # 👥 用户管理配置 USER_MANAGEMENT_ENABLED=false DEFAULT_USER_ROLE=user USER_SESSION_TIMEOUT=86400000 MAX_API_KEYS_PER_USER=1 ALLOW_USER_DELETE_API_KEYS=false