文本差异对比

LOCAL TEXT DIFF提示词与输出比对

改了一版提示词、换了一个模型,想知道输出到底哪里不一样?贴两份文本,按行给出增删差异,并可导出补丁。全部在浏览器本地比对。

纯本地行级差异可导出补丁忽略空格/大小写
INPUT

两份文本

左边是原文(旧),右边是新文(新)。

等待输入。
RESULT

差异结果

行号列分别是「原文行号」与「新文行号」。

相同行0两侧完全一致
新增行0只在右侧出现
删除行0只在左侧出现
相似度—相同行 ÷ 总行数
填入两份文本后开始对比。
新增删除
HOW IT WORKS

怎么对比

  1. 贴两份文本左边放旧版本(原文),右边放新版本;提示词、模型输出、配置文件都可以。
  2. 设比较口径按需要打开「忽略首尾空格 / 忽略大小写 / 忽略空行」,结果会立即重算。
  3. 切视图统一视图适合逐行核对,并排视图适合看同一处改成了什么,「只看差异」用来排除大段未变内容。
  4. 导出需要留档时下载 unified diff 补丁,或用「复制差异」把带 +/- 前缀的文本贴到工单里。
FAQ

文本对比常见问题

提示词里多改了一个空格,为什么显示成整行改动?

行级对比把整行视为一个单位,空格变化会让该行判定为不同。打开「忽略首尾空格」可以过滤掉行首行尾的格式差异;行中间的空格变化仍会被认为有差异,这是刻意的,因为对 token 计费与模型理解可能有影响。

能比较两个文件吗?

当前版本是粘贴对比,没有做文件选择与拖拽上传。需要比文件时,用编辑器打开后全选粘贴即可;超大文件的逐行对比受浏览器内存限制,行数上限为 3000 行。

相似度是怎么算的?

相似度 = 相同行数 ÷ 两侧行数的较大值。它是粗略指标,用于快速判断「这次改动大不大」,不代表语义相似度。

导出的 unified diff 可以直接 git apply 吗?

可以,但注意路径:文件头写的是「原文 / 新文」,git apply 前请把 --- / +++ 两行改成真实文件路径。补丁按行上下文 3 行生成,与标准 diff 的默认口径一致。

超过 3000 行会怎样?

页面只对比前 3000 行,并在状态栏明确提示已截断(不做静默降级)。行级 LCS 的时间复杂度是 O(n×m),无上限会让浏览器卡死。

内容会上传吗?

不会。差异计算全部在浏览器本地完成,不请求本站接口,也不写入本地存储。

RELATED

差异比对与补丁导出在浏览器本地完成,两份文本都不上传。