# ================================================ # 服务 # ================================================ PORT=3080 HOST=0.0.0.0 # HTTP_PROXY=http://127.0.0.1:7890 # HTTPS_PROXY=http://127.0.0.1:7890 # LOG_LEVEL=INFO # ================================================ # 会话 # ================================================ # 生产环境必填,请使用足够长的随机值。 JWT_SECRET= JWT_EXPIRES_IN=8h # SESSION_COOKIE_DOMAIN=.example.com # COOKIE_DOMAIN=.example.com # DASHBOARD_CORS_ORIGINS=https://admin.example.com,https://api.example.com # ================================================ # 数据库 # ================================================ DB_DIALECT=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_USER= DB_PASSWORD= DB_NAME=claude_api_proxy # ================================================ # 认证 # ================================================ # 未配置 LDAP 或 LDAP 不可达时使用本地账号登录。 LOCAL_ADMIN_USER=admin LOCAL_ADMIN_PASSWORD=changeme123 # 只有 LDAP 必要变量都已设置且 LDAP 服务可达时,启动时才会启用 LDAP 登录。 # LDAP_SERVER=ldap://ldap.example.com:389 # LDAP_BIND_DN= # LDAP_BIND_PASSWORD= # LDAP_BASE_DN=DC=example,DC=com # LDAP_FILTER=(sAMAccountName={userNo}) # LDAP_PROBE_TIMEOUT_MS=3000 # 默认保留 Relay API 鉴权。 LDAP_RELAY_ENABLED=true # ================================================ # CodeBuddy # ================================================ # 可选 cn 或 intl。 # CODEBUDDY_REGION=cn # CODEBUDDY_DEFAULT_BASE_URL=https://codebuddy.example.com # 控制台中非官方/自定义 CodeBuddy 上游的显示标签,按 host 或完整 URL 映射。 # CODEBUDDY_CUSTOM_SITE_LABELS={"ai-coding.example.com":"自定义站"} # 控制台中额外展示的上游 base URL,多个值用英文逗号分隔。 # CODEBUDDY_EXTRA_BASE_URLS=https://codebuddy.example.com,https://ai-coding.example.com # 可选:按 host 或完整 URL 覆盖模型列表。 # 每个模型可配置 maxOutputTokens(官方推荐输出上限,来自 CodeBuddy 云端模型规格)。 # glm-5.2 等 onlyReasoning 模型要求 max_tokens 必填,缺失会触发上游 400,故建议在此补全。 # CODEBUDDY_MODEL_OVERRIDES={"ai-coding.example.com":[{"id":"glm-5.2","name":"GLM-5.2","tools":true,"vision":false,"maxOutputTokens":48000},{"id":"glm-5.1","name":"GLM-5.1","tools":true,"vision":false,"maxOutputTokens":48000}]} # 各模型官方推荐 maxOutputTokens 参考: # auto=32000 glm-5v-turbo=38000 glm-5.2=48000 glm-5.1=48000 glm-5.0-turbo=48000 glm-5.0=48000 # glm-4.7=48000 minimax-m3=48000 minimax-m2.7=48000 kimi-k2.7=32000 kimi-k2.6=32000 kimi-k2.5=32000 # deepseek-v4-pro-exclusive=50000 deepseek-v4-pro=50000 deepseek-v4-flash=50000 deepseek-v3-2-volc=32000 # hy3-preview-agent=64000 hunyuan-2.0-instruct=16000 # CODEBUDDY_DEFAULT_USER_ID=unknown # ================================================ # Relay # ================================================ # Responses/WS 转 Chat/Anthropic 时用于补全上下文的内存会话状态。 # 默认保留 24 小时,并每 5 分钟清理一次。 # # 服务器内存推荐(按机器内存复制其中一组到 .env 并取消注释): # - 2GB / 省内存:TTL=3600000,清理=60000,Chat=80,Canonical=80,ResponsesInput=160, # MaxConversations=200,MaxPerTenant=20,MaxConversationBytes=1048576,MaxTotalBytes=134217728 # - 4GB / 均衡:TTL=7200000,清理=120000,Chat=120,Canonical=120,ResponsesInput=240, # MaxConversations=500,MaxPerTenant=40,MaxConversationBytes=2097152,MaxTotalBytes=268435456 # - 8GB+ / 长任务:TTL=14400000,清理=300000,Chat=200,Canonical=200,ResponsesInput=500, # MaxConversations=1000,MaxPerTenant=80,MaxConversationBytes=4194304,MaxTotalBytes=536870912 # # Node.js 堆限制不会从 .env 生效,请在 ecosystem.config.cjs 或启动命令里设置: # - 2GB 保守:NODE_OPTIONS=--max-old-space-size=768,PM2 max_memory_restart=1000M # - 4GB 均衡:NODE_OPTIONS=--max-old-space-size=1536,PM2 max_memory_restart=2200M # - 8GB+ 宽松:NODE_OPTIONS=--max-old-space-size=3072,PM2 max_memory_restart=4200M # RELAY_CONVERSATION_STATE_TTL_MS=86400000 # RELAY_CONVERSATION_STATE_CLEANUP_INTERVAL_MS=300000 # RELAY_CONVERSATION_STATE_MAX_CHAT_MESSAGES=200 # RELAY_CONVERSATION_STATE_MAX_CANONICAL_TURNS=200 # RELAY_CONVERSATION_STATE_MAX_CONVERSATIONS=0 # RELAY_CONVERSATION_STATE_MAX_CONVERSATIONS_PER_TENANT=0 # RELAY_CONVERSATION_STATE_MAX_CONVERSATION_BYTES=0 # RELAY_CONVERSATION_STATE_MAX_TOTAL_BYTES=0 # RELAY_RESPONSES_INPUT_ITEMS_LIMIT=500 # RELAY_UPSTREAM_TEST_TIMEOUT_MS=30000 # RESPONSES_WS_MODE=ctx_pool # RELAY_RESPONSES_WS_MODE=ctx_pool # Responses/WS 转 Chat/Anthropic 链路会按模型名自动识别上下文窗口并压缩,无需配置。 # ================================================ # 反馈 # ================================================ # FEEDBACK_MAIL_FROM=your-email@example.com # FEEDBACK_MAIL_TO=ops@example.com # FEEDBACK_ATTACHMENTS_DIR=data/feedback-attachments # FEEDBACK_ATTACHMENT_MAX_SIZE=5242880 # FEEDBACK_MAX_ATTACHMENTS=5 # ================================================ # 部署辅助脚本 # ================================================ # DEPLOY_HOST=deploy.example.com # DEPLOY_PORT=22 # DEPLOY_USER=deploy # DEPLOY_PASSWORD= # DEPLOY_PATH=/home/claude-api-proxy # DEPLOY_PM2_NAME=ClaudeApiProxy # DEPLOY_HEALTH_URL=http://localhost:3080/health # ================================================ # 调试请求体拦截器 # ================================================ # 默认关闭。除非你清楚隐私和磁盘占用影响,否则不要在生产环境开启。 # PAYLOAD_INTERCEPT_ENABLED=false # PAYLOAD_INTERCEPT_DIR=.debug-payloads # PAYLOAD_INTERCEPT_MAX_FILES=500 # PAYLOAD_INTERCEPT_PREFIX_CHARS=3000