概述

diffs 是一个可选插件工具,将代码或文本变更转换为只读 diff 制品,供 Agent 展示。接受 before/after 文本或统一 patch 格式,可输出 Gateway 查看器 URL(用于 canvas 展示)或渲染文件(PNG/PDF,用于消息附件)。

核心功能

  • 三种输出模式:
    • view:返回 canvas 查看器 URL
    • file:渲染为 PNG 或 PDF 文件
    • both:同时返回两种输出
  • 两种输入格式:before/after 文本对,或统一 diff patch 字符串
  • 安全设计:
    • 查看器默认仅 loopback 访问(security.allowRemoteViewer 默认 false)
    • 查看器 CSP:default-src 'none',无外部 connect-src
    • 制品 TTL 默认 30 分钟,最长 6 小时
  • 制品存储:$TMPDIR/openclaw-diffs,含随机 artifact ID 和 token
  • 内置系统提示注入:插件启用时自动向 Agent 注入使用指导(可通过 hooks.allowPromptInjection: false 禁用)

配置/权限

安装与启用:

openclaw plugins install diffs
{
  plugins: {
    entries: {
      diffs: {
        enabled: true,
        config: {
          defaults: {
            layout: "unified",
            theme: "dark",
            fileFormat: "png",
            mode: "both",
            ttlSeconds: 21600
          }
        }
      }
    }
  }
}

文件渲染要求:mode: "file" 或 mode: "both" 需要 Chromium 兼容浏览器(Chrome/Edge/Brave)。

输入限制:

  • before/after 各最大 512 KiB
  • patch 最大 2 MiB,最多 128 个文件,120000 行

相关页面