| # ==================== 访问控制 ==================== | |
| [app] | |
| # 管理后台密码 | |
| app_key = "grok2api" | |
| # 应用访问地址 | |
| app_url = "" | |
| # API 调用密钥 | |
| api_key = "" | |
| # 启用 WebUI | |
| webui_enabled = false | |
| # WebUI 访问密码 | |
| webui_key = "" | |
| # ==================== 日志配置 ==================== | |
| [logging] | |
| # 写入文件等级 | |
| file_level = "INFO" | |
| # 日志文件最大保留数量(按天轮转) | |
| max_files = 7 | |
| # ==================== 应用功能 ==================== | |
| [features] | |
| # 是否启用临时对话 | |
| temporary = true | |
| # 是否启用会话记忆 | |
| memory = false | |
| # 是否启用流式响应 | |
| stream = true | |
| # 是否输出思考过程 | |
| thinking = true | |
| # 聊天类 AUTO 模型在 auto 额度耗尽时,是否自动降级到 fast/expert | |
| auto_chat_mode_fallback = true | |
| # 思考精简输出(false=完整原始推理过程,true=提炼结构化摘要) | |
| thinking_summary = false | |
| # 是否动态生成 Statsig 指纹 | |
| dynamic_statsig = true | |
| # 是否允许生成 NSFW 图片 | |
| enable_nsfw = true | |
| # 搜索信源始终以 search_sources 结构化字段输出(无需此开关)。 | |
| # 此选项仅控制是否同时在响应正文末尾追加 ## Sources 纯文本段落(兼容文本解析客户端)。 | |
| show_search_sources = false | |
| # 全局附加指令 | |
| custom_instruction = "" | |
| # 图片返回格式 | |
| # grok_url — 直接返回 Grok CDN URL | |
| # local_url — 下载后存本地,返回本地代理 URL | |
| # grok_md — Markdown 内嵌 Grok CDN URL | |
| # local_md — Markdown 内嵌本地代理 URL | |
| # base64 — Markdown 内嵌 Base64 Data URI | |
| image_format = "grok_url" | |
| # Imagine WebSocket 返回的 imagine-public 图片默认直返;开启后下载到本地并返回本地代理 URL | |
| imagine_public_image_proxy = false | |
| # 视频返回格式 | |
| # grok_url — 直接返回 Grok CDN URL | |
| # local_url — 下载后存本地,返回本地代理 URL | |
| # grok_html — HTML <video> 标签,src 为 Grok CDN URL | |
| # local_html — HTML <video> 标签,src 为本地代理 URL | |
| video_format = "grok_url" | |
| # ==================== 本地缓存 ==================== | |
| [cache.local] | |
| # 图片缓存上限(MB),0 = 不限制;超限后按最旧文件优先清理,并回落到上限的 60% | |
| image_max_mb = 0 | |
| # 视频缓存上限(MB),0 = 不限制;超限后按最旧文件优先清理,并回落到上限的 60% | |
| video_max_mb = 0 | |
| # ==================== 代理配置 ==================== | |
| [proxy.egress] | |
| # 出口模式:direct | single_proxy | proxy_pool | |
| mode = "direct" | |
| # 基础代理 URL(API 流量,single_proxy 模式必填) | |
| proxy_url = "" | |
| # 基础代理池(API 流量,proxy_pool 模式必填) | |
| proxy_pool = [] | |
| # 资源代理 URL(图片/视频下载,未配置则回落到 proxy_url) | |
| resource_proxy_url = "" | |
| # 资源代理池(图片/视频下载,未配置则回落到 proxy_pool) | |
| resource_proxy_pool = [] | |
| # 跳过代理 SSL 证书验证(代理使用自签名证书时启用) | |
| skip_ssl_verify = false | |
| [proxy.clearance] | |
| # Cloudflare clearance 模式:none | manual | flaresolverr | |
| mode = "none" | |
| # 手动模式:Cloudflare Cookie 字符串 | |
| cf_cookies = "" | |
| # User-Agent(需与 cf_cookies 匹配) | |
| user_agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36" | |
| # curl_cffi 浏览器指纹 | |
| browser = "chrome136" | |
| # FlareSolverr 服务地址 | |
| flaresolverr_url = "" | |
| # 挑战等待超时(秒) | |
| timeout_sec = 60 | |
| # Clearance 刷新间隔(秒) | |
| refresh_interval = 3600 | |
| # ==================== 重试策略 ==================== | |
| [retry] | |
| # [Transport 层] 触发重建代理 Session 的 HTTP 状态码 | |
| reset_session_status_codes = [403] | |
| # [App 层] 换账号重试最大次数(0 = 不重试) | |
| max_retries = 1 | |
| # [App 层] 触发换账号重试的 HTTP 状态码,英文逗号分隔 | |
| on_codes = "429,401,503" | |
| [account.refresh] | |
| # 总开关:true=配额刷新模式(主动探测,选号评分);false=自动重试模式(随机选号,零探测) | |
| enabled = true | |
| basic_interval_sec = 86400 # basic 号池周期(秒):quota 模式用于后台刷新,random 模式用于 429 冷却;默认 86400s | |
| super_interval_sec = 7200 # super 号池周期(秒):quota 模式用于后台刷新,random 模式用于 429 冷却;默认 7200s | |
| heavy_interval_sec = 7200 # heavy 号池周期(秒):quota 模式用于后台刷新,random 模式用于 429 冷却;默认 7200s | |
| usage_concurrency = 50 | |
| on_demand_min_interval_sec = 300 | |
| [account.selection] | |
| # 单号并发上限(两模式共用) | |
| max_inflight = 8 | |
| # ==================== 对话配置 ==================== | |
| [chat] | |
| timeout = 60 | |
| # ==================== 图像配置 ==================== | |
| [image] | |
| timeout = 60 | |
| stream_timeout = 60 | |
| # ==================== 视频配置 ==================== | |
| [video] | |
| timeout = 60 | |
| # ==================== 语音配置 ==================== | |
| [voice] | |
| timeout = 60 | |
| # ==================== 资产配置 ==================== | |
| [asset] | |
| upload_timeout = 60 | |
| download_timeout = 60 | |
| list_timeout = 60 | |
| delete_timeout = 60 | |
| # ==================== NSFW 操作 ==================== | |
| [nsfw] | |
| timeout = 60 | |
| # ==================== 批量操作 ==================== | |
| [batch] | |
| # 开启 NSFW 并发数(token 级,每个 token 需三步网络请求) | |
| nsfw_concurrency = 50 | |
| # 刷新 Usage 并发数(token 级) | |
| refresh_concurrency = 50 | |
| # 上传 Asset 并发数(全局,API 收到附件时触发,跨所有并发请求共享) | |
| asset_upload_concurrency = 10 | |
| # 查询 Asset 并发数(全局,跨所有并发请求共享) | |
| asset_list_concurrency = 50 | |
| # 删除 Asset 并发数(全局,跨所有并发请求共享;也作为管理后台批量清理的 token 级默认值) | |
| asset_delete_concurrency = 50 | |