Skip to content

使用WebAI2API 希望未来能支持clawCode #97

@TomYule

Description

@TomYule

使用WebAI2API 支持clawCode尝试

clawCode 很强大 但是api 大部分需要付费,尝试使用web AI2API 但是存在一些问题 思考回复 过程中 命令交互存在问题

Image Image Image

deepseek 不太行

配置如下

# 日志等级: debug | info | warn | error
logLevel: info

server:
  # 监听端口
  port: 3000
  # 鉴权 API Token 至少为 10 个字符 (可使用 npm run genkey 生成)
  # 该配置会对 API 接口和 WebUI 生效
  auth: sk-lm-Ip4qYzgZ
  # 流式请求心跳设置 (自动对 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: 12000000

    # ========================================
    # 浏览器实例列表
    # ========================================
    # 每个 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 # 适配器类型

          - name: deepseek
            type: deepseek_text

          - name: chatgpt_text
            type: chatgpt_text

          - name: chatgpt_img
            type: chatgpt
      # ------------------------------------------------
      # 以下为多实例配置示例 (默认注释)
      # ------------------------------------------------

      # [实例 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
  # 浏览器额外启动参数(Camoufox/Firefox 参数)
  args:
    - "--lang=zh-CN"
    - "--accept-lang=zh-CN,zh;q=0.9,en;q=0.8"
  # 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

安装了clawCode 两个技能
`https://github.com/forrestchang/andrej-karpathy-skills/blob/main/README.zh.md
https://github.com/tanweai/pua

cat > ~/.config/claw/settings.json << 'EOF'
{
"permissionMode": "workspace-write",
"aliases": {
"deepseek": "openai/deepseek",
"deepseek-thinking": "openai/deepseek-thinking",
"chatgpt": "openai/gpt-instant",
"chatgpt-thinking": "openai/gpt-thinking",
"chatgpt-pro": "openai/gpt-pro"
}
}
EOF`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions