受够了 Beyond Compare 收费、WinMerge 只支持 Windows?我用 AI Coding 做了一款跨平台 diff 工具
先说结论
日常开发中,对比代码、配置、日志、文档几乎是绕不开的需求。
试过市面上几乎所有主流的 diff 工具。它们有的很好用但收费不低,有的免费但只支持 Windows,有的跨平台但功能残缺。
在 AI Coding 能力已经足够强的今天,我决定自己做一款真正顺手、跨平台、功能完整的 diff 工具。
这个项目的代码主要通过 AI Coding 完成。
我负责定义需求、设计交互、选择合适的技术方案、调试验证和持续迭代;
AI 负责生成和补全大量实现代码。它不是“一句话生成一个 App”,更像是一种新的开发协作方式。
下面先聊聊我对现有工具的看法,再说说 HCompare 做了什么、为什么值得一试。
一、主流 diff 工具的现状:各有各的短板
先看一张对比表:
| 工具 | 平台支持 | 价格 | 核心短板 |
|---|---|---|---|
| Beyond Compare | Windows / macOS / Linux | 标准版 $35/人,专业版 $70/人 | 收费较高;大文件滚动性能偶有问题;不支持文本自动换行,长行文本分析体验差 |
| WinMerge | 仅 Windows | 免费开源 | 不支持 macOS / Linux,跨平台工作流断裂 |
| Meld | Windows / Linux(macOS 非官方) | 免费开源 | macOS 无官方支持,只提供半官方构建,安装麻烦且稳定性不保证 |
| Araxis Merge | Windows / macOS | 标准版 $129,专业版更高 | 价格最高;Linux 不支持;升级需额外续费 |
| KDiff3 | Windows / macOS / Linux | 免费开源 | 界面老旧,交互体验跟不上现代工具;三路对比存在数据丢失等已知 bug |
| IDE 内置 diff | 随 IDE | 随 IDE | 绑定项目环境,无法独立使用;跨文件/目录对比能力弱 |
简单总结几个核心痛点:
- 收费不低:Beyond Compare 专业版 $70/人,Araxis Merge 标准版 $129,对于个人开发者来说不是小数目。
- 跨平台不彻底:WinMerge 仅支持 Windows,Meld 在 macOS 上没有官方支持。如果你在 macOS 和 Windows 之间切换工作,很难找到一款两边都顺手的工具。
- 功能有缺失:要么缺少三路对比,要么目录对比不够流畅,要么大目录会卡顿。三路文件对比(左/基准/右)在合并分支、解决冲突时非常关键,但很多免费工具要么没有,要么实现得很粗糙。
- 交互细节不到位:不能拖拽打开、没有差异跳转、没有按块合并、不能编辑、不支持外部文件变更检测……这些小问题累积起来,日常使用体验很差。
- 无法按需定制:每个开发者的工作流不同,但现有工具的功能和界面都是固定的。想要的交互细节不在,不想要的功能一大堆。
这些痛点催生了一个想法:既然 AI Coding 已经足够强,为什么不自己做一个?
二、AI Coding 在这个项目里扮演什么角色?
AI Coding 最容易被误解成“一句话生成一个 App”。
实际做下来,它更像是一种新的协作方式:
- 我负责定义产品:要解决什么问题、交互怎么走、哪些细节不能妥协
- 我负责选择合适的技术方案,确保跨平台、性能和编辑体验
- AI 负责生成和补全大量代码
- 我负责运行、调试、验证、取舍和持续提需求
跨平台文件路径处理、桌面端权限配置、编辑器状态同步、目录递归对比的流式加载、三路差异对齐算法、未保存修改确认、外部文件变更检测……
这些都不是一句 prompt 就能稳定解决的。最后能跑起来、能日常使用,靠的是反复调试和迭代。
所以它不是“AI 一键生成”,更像是:我负责判断,AI 负责实现。
关于 Token 成本:AI Coding 的消耗结构和聊天完全不同。
Agent 型工具每一轮请求都要把之前的上下文重新发一遍,一次十几轮的重构任务,前面的内容会被重复计费十几次。
这也是为什么这个项目最终需要赞助机制——它确实消耗了大量 Token。
三、HCompare 做了什么?
一句话:一款跨平台的代码与文本对比工具,支持二路/三路文件对比和目录对比,既能看差异,也能直接编辑、合并、保存、在任意目录打开多终端能力。
// <iframe src='https://player.youku.com/embed/XNjU2OTk4NTQ0MA' ...>
//
演示视频地址: https://player.youku.com/embed/XNjU2OTk4NTQ0MA==
拖拽就能开始对比
直接把文件或文件夹拖到窗口即可开始对比:第一次拖入放到左侧,第二次拖入放到右侧。一次拖多个也会按顺序分左右。文件走文件对比标签,目录走目录对比标签,自动切换对应视图。

文件对比:行级 + 字符级差异
两块并排的代码编辑器,均可编辑。
- 行级差异:新增 / 删除 / 修改分别高亮
- 行内字符级差异:精确高亮同一行中被修改的片段
不只能看到“哪一行变了”,还能看到“这一行里具体哪个字符变了”。
差异跳转与按块合并
- 差异跳转:
◀/▶ - 可点击的紧凑差异列表,带合并方向按钮
- 按差异块合并:把左侧改动复制到右侧
→,或反之←
看完差异后直接在工具里完成合并,不用来回复制粘贴。

目录对比:递归 + 流式 + 过滤
递归遍历左右两棵目录树,将每个条目分类为相同、差异、仅左侧、仅右侧、二进制、类型不一致。支持 10 种过滤模式、通配符名称过滤(*.js、node_modules 等),
目前默认过滤 .git, .DS_Store, 以及一键把仅存在于一侧的文件复制到另一侧。
三路文件对比与目录对比(赞助解锁)
- 三路文件对比:左 / 中 / 右三个可编辑编辑器,差异列表按「左↔中 / 中↔右 / 左↔右」分组,逐块双向复制合并,三栏各自保存
- 三路目录对比:三个目录树三列镜像显示,灰 / 红 / 蓝着色,支持三侧同时对比
合并分支、解决冲突、对比三个版本时,这个功能非常关键。

终端支持(赞助解锁)

更多细节
- 多标签页:目录对比标签常驻,文件对比可开多个标签,双击目录中的差异文件即在新标签打开
- 集成终端(赞助解锁):目录对比中可直接打开终端,支持 zsh / PowerShell / bash
- 外部变更检测:应用回到前台或每 5 秒轮询文件修改时间,磁盘文件被其他程序修改时会在状态栏提示
- 智能路径栏:省略式显示 + 历史下拉 + 文件系统浏览
- 三档布局切换:仅左
◧/ 平分⧎/ 仅右◨ - 可配置快捷键:工具栏 ⌨ 打开快捷键设置,查看 / 修改 / 恢复默认
- 离线激活码授权:本地验证,无需联网
四、为什么需要赞助和收费?
坦白说,这个项目的 Token 消耗量不小。
Agent 型 AI Coding 工具的成本结构和聊天完全不同——每轮请求都要重复发送上下文,一次复杂的重构任务可能消耗数倍于预期的 Token。
如果你觉得它有用,可以通过赞助支持后续开发。
当前,主体功能免费开放。 包括:二路文件对比、二路目录对比、拖拽对比、多标签页、外部变更检测、智能路径栏、布局切换、可配置快捷键等。
以下高级功能需要赞助后解锁:
- 三路文件对比:左 / 中 / 右三栏对齐 + 逐块合并
- 三路目录对比:三个目录树三列镜像对比
- 集成终端:在目录对比中直接打开终端
这些功能开发成本较高,也是 HCompare 区别于普通免费工具的核心能力。
如果你需要它们,可以通过赞助获取激活码。
如何获取激活码:
在授权窗口中获取机器码,将机器码和订单信息发送邮件到 lnuying@gmail.com,收到后会回复对应的激活码。在授权窗口中粘贴激活码即可解锁。
五、最后
欢迎试试 HCompare。
- 下载地址:网盘地址
如果它对你有帮助,欢迎评论,赞助或提 issue。
你的使用场景和反馈,会决定下一步功能优先级。
浙公网安备 33010602011771号