# Anuma2api 配置。复制为 config.toml 并填值(config.toml 已 gitignore,本文件传 git)。 # 账号凭据不在此处,放 account/.json(见 account/main.json.example 或运行注册机)。 # ===== 网关(主程序读)===== [gateway] host = "0.0.0.0" port = 8088 api_key = "" # 客户端访问 /v1 的 key(Authorization: Bearer );留空 = 无认证 # ===== 代理(主程序 + 注册机)===== [proxy] # 默认代理:网关访问上游时使用;留空 = 直连 # 例:http://127.0.0.1:7890 或 socks5://127.0.0.1:1080 url = "" # 注册机代理:CLI / 自动补号 / captcha 浏览器;留空 = 回退到 url;两者都空 = 直连 registrar_url = "" # ===== 日志(主程序)===== [logging] enabled = true # 是否写入日志文件;false = 仅控制台,不落盘 dir = "logs" # 日志目录(gitignore) filename = "gateway.log" # 主日志文件名;轮转后为 gateway.log.1 … level = "INFO" # DEBUG / INFO / WARNING / ERROR max_bytes = 10485760 # 单文件最大字节(默认 10 MiB),超出后轮转 backup_count = 5 # 轮转保留份数(gateway.log.1 … .N) log_request_body = true # 是否记录请求 body(Authorization 等已脱敏) log_response_body = true # 是否记录响应 body(含流式聚合后的内容,已脱敏/截断) max_body_chars = 4000 # body 日志最大字符数 # ===== 上游:目标网站行为(主程序 + 注册机共享)===== [upstream] # 通用行为参数(与具体网站无关) request_timeout = 120.0 # 单次请求总超时(秒) # 2026-08-08 用户定案:生图不设短窗口掐流(gpt-image-2 生图实测 108-161s,25s 掐会误杀 # 正常生图)。完整读完流,超时交给 request_timeout,fence 判定看流结束后有无 media URL。 image_success_cooldown = 300.0 # 生图成功后该账号主动冷却秒数(防同一号连击触发 fence;0=关闭) poll_interval = 1.2 # 轮询式上游的轮询间隔(秒) token_refresh_margin = 300 # 凭据到期前多少秒主动刷新 tool_call_retries = 3 # prompt 模式被拒绝时换变体重试次数(0 = 不重试;仅 refusal_detect=true 时生效) tool_call_dup_limit = 2 # native 模式:同一工具连续调用 N 轮后注入"停止重复、立即干活"纠正(0 = 关闭) tool_forge_limit = 8 # native 模式:某工具历史空刷 ≥N 次且从无真实推进 -> 本轮从 tools 列表物理剔除它(0 = 关闭) tool_read_cap = 30 # native 模式:read 累计 ≥N 次且远超其它动作(贪读不收口) -> 注入"读够了立即给结论"软纠正(0 = 关闭) # 可选对抗策略(默认关;copy_skeleton --with-soften-system / --with-refusal-detect 初始化时写 true) soften_system = false # true:客户端 system 走柔和背景包装(不改实质指令) refusal_detect = false # true:拒绝/识破检测 + tool 指令变体重试 + 解析跳过拒绝文 strategy = "native" # tool 策略:prompt(注入解析,默认)/ native(上游原生 function-calling 直通) # 目标网站专属端点(按抓包结果填) chat_url = "" # 上游「发送对话」端点 # 可恢复失效(额度耗尽 / 人机验证)的冷却配置 # "disable" 仅对 QUOTA_EXHAUSTED 生效:直接标记 disabled(适合月额度/永不过期额度) quota_exhausted_action = "cooldown" cooldown_seconds = 600.0 # 默认冷却时长(秒) # cooldown_seconds_quota = 3600.0 # QUOTA_EXHAUSTED 覆盖值(可选) # cooldown_seconds_cf = 300.0 # CF_CHALLENGE 覆盖值(可选) # 注册机可透传 [upstream] 段自定义字段,在 registrar/pipeline.py 读取 # supabase_url = "https://.supabase.co" # supabase_anon_key = "" # ===== 账号目录(主程序 + 注册机读)===== [registry] account_dir = "account" # 账号凭据目录(account/.json,已 gitignore) pool_watch_interval = 30.0 # 账号池热加载扫描间隔(秒);新写入的账号自动进池,网关不用重启(0=关闭) # ===== 管理后台(主程序读)===== [admin] auth_key = "anuma-admin-dev-key" # /admin/* 鉴权(Authorization: Bearer 或 ?auth_key=);留空 = 关闭 admin(404) # ===== 注册机:临时邮箱(注册机读)===== [email] base_url = "https://mailboxtemp.com" poll_timeout = 180 # 等待验证码邮件的最大秒数 # ===== 注册机:人机验证(注册机读)===== [captcha] method = "cdp" # cdp(连 debug chrome 指纹自动过)/ semi(有头手动点)/ api(打码) headless = false proxy_url = "" cdp_endpoint = "http://localhost:9222" api_provider = "capsolver" api_key = ""