OpenClaw 高级工具特性 - apply_patch、image、pdf 工具详解

作者:小学子 | 日期:2026-03-21


写在前面

大家好,我是小学子!👋 今天要给大家介绍 OpenClaw 的三个高级工具:apply_patchimagepdf。这三个工具虽然不如浏览器、文件读写那样频繁使用,但在特定场景下可是非常强大的存在。话不多说,让我们开始吧!


一、apply_patch:多文件补丁工具

1.1 什么是 apply_patch?

apply_patch 是 OpenClaw 提供的结构化补丁应用工具,专门用于在一个或多个文件上同时应用修改。它非常适合需要进行多块编辑的场景,比如一次性修改多个代码文件的相同部分。

1.2 如何启用?

这是一个实验性功能,默认是关闭的。需要在配置文件中手动启用:

{
  tools: {
    exec: {
      applyPatch: {
        enabled: true  // 启用补丁功能
      }
    }
  }
}

⚠️ 注意:目前仅支持 OpenAI 模型

1.3 安全控制

OpenClaw 非常注重安全性,apply_patch 有一个重要的安全参数:

{
  tools: {
    exec: {
      applyPatch: {
        workspaceOnly: true  // 默认为 true,只允许在工作区内操作
      }
    }
  }
}
  • workspaceOnly: true(默认):只能在工作区目录内写入/删除文件
  • workspaceOnly: false:允许写入工作区外的文件(⚠️ 谨慎使用!)

1.4 工具分组

在 OpenClaw 的工具权限管理中,apply_patch 属于 group:fs 文件系统工具组:

{
  tools: {
    allow: ["group:fs"]  // 包含 read、write、edit、apply_patch
  }
}

1.5 使用场景示例

假设你有一个项目,需要在多个文件的相同位置添加版权信息:

{
  "action": "apply_patch",
  "patches": [
    {
      "file": "/workspace/src/utils.js",
      "hunks": [
        {
          "oldText": "function init() {",
          "newText": "// Copyright 2026\nfunction init() {"
        }
      ]
    },
    {
      "file": "/workspace/src/helpers.js",
      "hunks": [
        {
          "oldText": "function init() {",
          "newText": "// Copyright 2026\nfunction init() {"
        }
      ]
    }
  ]
}

二、image:图像分析工具

2.1 能力介绍

image 工具可以让你使用配置好的图像模型来分析图片内容。无论是一张截图、照片还是设计稿,AI 都能"看"见并理解它!

2.2 核心参数

参数 类型 必需 说明
image string 图像路径或 URL
prompt string 分析提示词,默认为 “Describe the image.”
model string 模型覆盖
maxBytesMb number 文件大小限制(MB)

2.3 配置要求

image 工具不是你想用就能用的,需要先配置图像模型。有两种配置方式:

方式一:显式配置(推荐)

{
  agents: {
    defaults: {
      imageModel: {
        primary: "openai/gpt-5-vision",
        fallbacks: ["anthropic/claude-3-sonnet"]
      }
    }
  }
}

方式二:隐式推断

如果没有显式配置,OpenClaw 会尝试从你的默认模型 + 已配置的认证信息来推断可用的图像模型(最佳 effort)。

2.4 使用示例

示例一:分析本地图片

{
  "image": "/workspace/screenshots/dashboard.png",
  "prompt": "描述这个仪表盘的布局和主要功能"
}

示例二:分析远程图片

{
  "image": "https://example.com/architecture.png",
  "prompt": "这张架构图有哪些组件?它们之间的关系是什么?"
}

示例三:带大小限制

{
  "image": "/workspace/photos/vacation.jpg",
  "maxBytesMb": 5,
  "prompt": "描述照片中的场景"
}

2.5 实际应用场景

  • UI 验收:截图给 AI 看,让它检查是否符合设计稿
  • 日志分析:分析错误截图,快速定位问题
  • 文档理解:让 AI 看流程图、架构图并解释
  • 内容审核:检测图片是否符合规范

三、pdf:PDF 文档分析工具

3.1 能力介绍

pdf 工具可以让你使用 AI 分析 一个或多个 PDF 文档。无论是合同、报告、论文还是手册,AI 都能读取并理解其中的内容!

3.2 执行模式

PDF 工具支持两种模式:

模式一:原生提供者模式(Native Provider)

适用于 AnthropicGoogle 模型提供者。

  • 直接将 PDF 原始字节发送给提供者 API
  • ⚠️ 注意:不支持 pages 参数
模式二:提取回退模式(Extraction Fallback)

适用于其他提供者(如 OpenAI)。

处理流程:

  1. 从选定页面提取文本(最多 20 页,可配置)
  2. 如果提取文本 < 200 字符,将页面渲染为 PNG 图片
  3. 将提取的内容 + 提示词发送给模型

3.3 核心参数

参数 类型 必需 说明
pdf string ✅* 单个 PDF 路径或 URL
pdfs string[] ✅* 多个 PDF(最多 10 个)
prompt string 分析提示词,默认为 “Analyze this PDF document.”
pages string 页面筛选,如 “1-5” 或 “1,3,7-9”
model string 模型覆盖
maxBytesMb number 单个 PDF 大小限制(默认 10MB)

* pdfpdfs 会合并去重,至少需要提供一个。

3.4 配置示例

{
  agents: {
    defaults: {
      pdfModel: {
        primary: "anthropic/claude-opus-4-6",
        fallbacks: ["openai/gpt-5-mini"]
      },
      pdfMaxBytesMb: 10,      // 单个 PDF 最大 10MB
      pdfMaxPages: 20         // 最多分析 20 页
    }
  }
}

3.5 支持的 PDF 来源

类型 示例 备注
本地路径 /tmp/report.pdf 支持 ~ 展开
文件 URL file:///path/to/doc.pdf
HTTP http://example.com/doc.pdf ⚠️ 沙盒模式下不可用
HTTPS https://example.com/doc.pdf ⚠️ 沙盒模式下不可用

3.6 使用示例

示例一:单文档分析

{
  "pdf": "/tmp/report.pdf",
  "prompt": "用 5 个要点总结这份报告"
}

示例二:多文档对比

{
  "pdfs": ["/tmp/q1.pdf", "/tmp/q2.pdf"],
  "prompt": "比较这两份文档的风险和时间线变化"
}

示例三:指定页面

{
  "pdf": "https://example.com/report.pdf",
  "pages": "1-3,7",
  "model": "openai/gpt-5-mini",
  "prompt": "只提取影响客户的incident"
}

3.7 输出结构

{
  "content": [
    {
      "text": "这里是 AI 的分析结果..."
    }
  ],
  "details": {
    "model": "anthropic/claude-opus-4-6",
    "native": true,
    "pdf": "/tmp/report.pdf"
  }
}

3.8 错误处理

错误情况 错误信息
未提供 PDF pdf required: provide a path or URL to a PDF document
PDF 过多 details.error = "too_many_pdfs"
不支持的协议 details.error = "unsupported_pdf_reference"
原生模式使用 pages pages is not supported with native PDF providers

四、总结与对比

工具 用途 核心能力 配置要求
apply_patch 多文件批量修改 结构化补丁应用 实验性,需启用
image 图像理解 图片内容分析 需配置 imageModel
pdf 文档理解 PDF 内容提取分析 需配置 pdfModel

这三个工具各有特色:apply_patch 帮你批量修改代码,image 让你和 AI “看"图交流,pdf 则让 AI 能读懂文档。它们大大扩展了 OpenClaw 的能力边界,让 AI 不仅能"读代码”,还能"看图"“读文档”!


参考来源

  • OpenClaw 官方文档:https://docs.openclaw.ai/tools
  • OpenClaw PDF 工具文档:https://docs.openclaw.ai/tools/pdf

我是小学子,带你学 AI,用技术!下期再见~ 👋

「AI团队养成记」系列记录了我用AI Agent打造游戏开发团队的真实过程。目前已更新至第3篇,欢迎小红书搜索关注阅读完整图文版~
🔗 最新篇:AI团队养成记 · 三 · AI是怎么写代码的
http://xhslink.com/o/4GG7lzrQy4y

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐