# 日志等级: debug | info | warn | error logLevel: info server: # 监听端口 port: 3000 # 鉴权 API Token 至少为 10 个字符 (可使用 npm run genkey 生成) # 该配置会对 API 接口和 WebUI 生效 auth: sk-change-me-to-your-secure-key # 流式请求心跳设置 (自动对 stream: true 的请求发送心跳防止超时) keepalive: # 心跳模式 # "comment": (推荐) 发送 :keepalive 注释,不污染数据 # "content": (备用) 发送空 delta,仅当客户端必须收到 JSON 包才重置超时时使用 mode: "comment" # 图片生成结果返回 Markdown 格式 imageMarkdown: false backend: # ======================================== # Pool 配置 # ======================================== pool: # 全局调度策略: # - least_busy (推荐): 优先分配给当前任务最少的 Worker # - round_robin: 轮询分配 (A -> B -> C -> A) # - random: 随机分配 # 任务分发时,会把所有 Instance 下的所有 Worker 扁平化看待 strategy: least_busy # ======================================== # 故障转移配置 # ======================================== # 当适配器返回网络错误时,自动尝试其他支持相同模型的 Worker failover: enabled: true # 启用故障转移 maxRetries: 2 # 最多重试次数 (0=无限制) imgDlRetry: false # 图片下载器重试,为图片生成结果单独提供重试机会 imgDlRetryMaxRetries: 2 # 图片下载器重试次数 # ======================================== # 生成等待时间 # ======================================== # 程序等待生成结果返回的最大超时时间,单位毫秒 waitTimeout: 120000 # ======================================== # 浏览器实例列表 # ======================================== # 每个 Instance 代表一个独立的浏览器进程 (Context + UserData + Proxy) # 登录模式: # npm start -- -login 启动第一个 Worker 进行登录 # npm start -- -login=workerName 启动指定名称的 Worker 进行登录 # 注意: Worker 名称在全局必须唯一 # ======================================== instances: # ------------------------------------------------ # [实例 1] 默认浏览器实例 # ------------------------------------------------ - name: "browser_default" # 实例 ID (用于日志显示和Cookie获取) # userDataMark 不设置时,数据存放在 data/camoufoxUserData # 同一实例下的所有 Worker 共享浏览器数据和登录状态 # 使用 Google OAuth 等统一登录时,只需登录一次即可用于所有 Worker # 该浏览器实例具备的能力 (适配器列表) # 相当于在这个浏览器里打开了不同的标签页 workers: - name: "default" # 唯一标识 (用于登录模式和日志显示) # 适配器类型列表: # lmarena (LMArena 图片生成) # lmarena_text (LMArena 文本生成) # gemini_biz (Gemini Business 图片、视频生成) # gemini_biz_text (Gemini Business 文本生成) # gemini (Google Gemini 图片、视频生成) # gemini_text (Google Gemini 文本生成) # zai_is (zAI 图片生成) # zai_is_text (zAI 文本生成) # nanobananafree_ai (NanoBananaFree 图片生成) # zenmux_ai_text (ZenMux 文本生成) # chatgpt (ChatGPT 图片生成) # chatgpt_text (ChatGPT 文本生成) # sora (Sora 视频生成) # deepseek_text (DeepSeek 文本生成) # doubao (豆包 图片生成) # doubao_text (豆包 文本生成) # test (浏览器检测,仅供调试使用) type: lmarena # 适配器类型 # ------------------------------------------------ # 以下为多实例配置示例 (默认注释) # ------------------------------------------------ # [实例 2] 独立数据目录 + 专属代理 # - name: "browser_us_01" # userDataMark: "us_01" # 数据目录: data/camoufoxUserData_us_01 # # # 实例级代理 (该实例下所有 Worker 共享此代理) # proxy: # enable: true # type: socks5 # host: 192.168.1.10 # port: 1080 # user: myuser # 可选认证 # passwd: mypassword # # workers: # - name: "us_lmarena" # type: lmarena # # - name: "us_zai" # type: zai_is # # # 聚合类型 Worker (单标签多后端) # - name: "us_merged" # type: merge # mergeTypes: [gemini_biz, nanobananafree_ai] # mergeMonitor: gemini_biz # 空闲时挂机监控的后端 (可选,留空则不启用) # [实例 3] 强制直连 (不使用代理) # - name: "browser_direct" # userDataMark: "direct" # proxy: # enable: false # 即使有全局代理也不使用 # # workers: # - name: "direct_gemini" # type: gemini_biz # ======================================== # 适配器专属配置 (按需填写) # ======================================== adapter: # Gemini Business 设置 gemini_biz: # 入口URL # 示例: "https://business.gemini.google/home/cid/8888a888-b6e0-88be-86e1-888cf3ee8cf4" entryUrl: "" # Lmarena 配置 lmarena: # 开启后直接返回图片 URL (但其他不支持该选项的适配器仍然会返回 Base64) returnUrl: false # 该适配器的模型黑白名单 (每个适配器都可以使用该功能,配置上级为适配器ID,推荐使用 WebUI 修改) # modelFilter: # mode: whitelist # 白名单whitelist 黑名单blacklist # list: # 仅启用和仅禁用的模型列表 # - gemini-3-pro-image-preview # - gemini-3-pro-image-preview-2k # - gemini-2.5-flash-image-preview queue: # 队列缓冲区大小(非流式请求的额外排队数) # 实际队列上限 = Workers数量 + queueBuffer # 设为 0 则不限制非流式请求数量 queueBuffer: 2 # 图片数量上限 # 网页最多支持10个附件,如果设置大于10则直接丢弃超出10的图片 imageLimit: 5 browser: # 浏览器可执行文件路径 (留空则使用默认的) # 非必要不建议修改,否则你要处理很多额外依赖 # Windows系统示例 "C:\\camoufox\\camoufox.exe" # Linux系统示例 "/opt/camoufox/camoufox" path: "" # 是否启用无头模式 headless: false # 拟人鼠标轨迹模式 # - false: 禁用拟人轨迹,使用 Playwright 原生点击(性能最好,但会被自动化检测) # - true: 使用项目优化的 ghost-cursor(更拟人化,如不会点击正中心,但性能稍差) # - "camou": 使用 Camoufox 内置轨迹(性能与拟人化的平衡) humanizeCursor: true # 站点隔离 (fission.autostart) # 开启保持 Firefox 默认开启状态 # 关闭此项可显著降低内存占用,防止低配服务器崩溃 # ⚠️ 风险提示: 正常 Firefox 用户默认开启 Fission,虽然关闭它不会泄露常规指纹, # 但极高阶的反爬系统可能会通过检测“单进程模型”或“跨进程通信延迟”来识别自动化特征! fission: true # CSS 性能优化注入 # 通过禁用网页特效在无显卡环境下降低 CPU 压力 cssInject: # 禁用网页动画 # 作用:移除 transition 和 animation # 收益:显著降低 CPU 持续占用 # 风险:低。几乎不影响浏览器指纹,但可能导致部分网页布局异常 animation: false # 禁用滤镜和阴影 # 作用:移除 blur(模糊)、box-shadow(阴影) 等复杂渲染 # 收益:在无显卡环境下,能避免 CPU 占用 100% 导致卡顿 # 风险:中。界面会变得难看,少数反爬可能会检测样式计算结果 filter: false # 降低字体渲染质量 # 作用:关闭字体抗锯齿,强制使用极速渲染模式 # 收益:微量减少 CPU 绘图压力 # ⚠️ 风险:高。会导致文字边缘有锯齿,且可能导致字体指纹与标准浏览器不符(易被高级反爬识别) font: false # [全局代理] 如果 Instance 没有独立配置代理,将使用此配置 proxy: # 是否启用代理 enable: false # 代理类型: http 或 socks5 type: http # 代理主机 host: 127.0.0.1 # 代理端口 port: 7890 # 代理认证 (可选) # user: username # passwd: password