READMESource: main@f06215e7
dsh-doc-compare · 文档比对
两份 Word / Markdown / 文本,按段落比对成「改前 → 改后」的人能读报告。
不装会怎样
用 Word 自带的「比较」要先把合同传到别人服务器;用 git diff 看到的是行号补丁,
改了一句价款要自己从一片 -/+ 里找。签合同前想确认「对方到底动了哪几条」,
这两条路都不顺手。
它做什么
- 段落级三类差异:新增 / 删除 / 修改。修改给出「改前 → 改后」,并把改动的词句标出来。
- 结构风险单独提示:标题被改名、被删除、层级从 H2 掉到 H3 —— 合同里这通常比错别字严重。
- 表格按行比对:提示每个表格的行数变化(如 3 → 4 行),以及哪一行新增/删除/修改。
- 两种输出:默认 Markdown 报告(可
--out另存),--json给机器读。 - 本机完成:不联网、不上传、不调第三方接口;docx 用纯 JS(mammoth)在本进程解。
安装
dsh plugin --profile web add @deepwhale-cn/dsh-doc-compare
用法(命令行)
# 出 Markdown 报告到终端
dsh-doc-compare 合同-旧.docx 合同-新.docx
# 另存报告 + 机器可读 JSON
dsh-doc-compare 旧.md 新.md --out 比对报告.md
dsh-doc-compare 旧.txt 新.txt --json
支持 .docx / .md / .txt(单文件上限 40MB)。
| 退出码 | 含义 |
|---|---|
| 0 | 无差异 |
| 1 | 有差异 |
| 2 | 解析失败(文件不存在、格式不支持、docx 损坏) |
限流:默认只比对前 2000 段(叙述段落,含标题),超出会在报告里明确提示;
需要完整比对时用 --max-paragraphs 调大(硬上限 5000)。
面板
侧栏「文档比对」:左右各贴一段文本,本机比对后在面板里看修改/新增/删除, 标题结构变化用红色风险条单独列出。文件比对走命令行(面板不读本地路径)。
边界
- 只读文件,不修改原文档;
--out才会写报告,且写到指定路径。 - 数据不出本机。
- docx 解析依赖
mammoth(^1.13.0,安装体积约 1.9MB,纯 JS、离线可用); 其余为 Node 内置模块。
powered by dwh · deepwhale.org.cn
No comments yet. Be the first to write one.