受够了 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' ...>
//

<iframe height=498 width=510 src='https://player.youku.com/embed/XNjU2OTk4NTQ0MA' frameborder=0 'allowfullscreen'>

演示视频地址: https://player.youku.com/embed/XNjU2OTk4NTQ0MA==

拖拽就能开始对比

直接把文件或文件夹拖到窗口即可开始对比:第一次拖入放到左侧,第二次拖入放到右侧。一次拖多个也会按顺序分左右。文件走文件对比标签,目录走目录对比标签,自动切换对应视图。

2dir

文件对比:行级 + 字符级差异

两块并排的代码编辑器,均可编辑。

  • 行级差异:新增 / 删除 / 修改分别高亮
  • 行内字符级差异:精确高亮同一行中被修改的片段

不只能看到“哪一行变了”,还能看到“这一行里具体哪个字符变了”。

差异跳转与按块合并

  • 差异跳转:◀ / ▶
  • 可点击的紧凑差异列表,带合并方向按钮
  • 按差异块合并:把左侧改动复制到右侧 →,或反之 ←

看完差异后直接在工具里完成合并,不用来回复制粘贴。

2file

目录对比:递归 + 流式 + 过滤

递归遍历左右两棵目录树,将每个条目分类为相同、差异、仅左侧、仅右侧、二进制、类型不一致。支持 10 种过滤模式、通配符名称过滤(*.js、node_modules 等),
目前默认过滤 .git, .DS_Store, 以及一键把仅存在于一侧的文件复制到另一侧。

三路文件对比与目录对比(赞助解锁)

  • 三路文件对比:左 / 中 / 右三个可编辑编辑器,差异列表按「左↔中 / 中↔右 / 左↔右」分组,逐块双向复制合并,三栏各自保存
  • 三路目录对比:三个目录树三列镜像显示,灰 / 红 / 蓝着色,支持三侧同时对比

合并分支、解决冲突、对比三个版本时,这个功能非常关键。
3dir

终端支持(赞助解锁)

terminalmask

更多细节

  • 多标签页:目录对比标签常驻,文件对比可开多个标签,双击目录中的差异文件即在新标签打开
  • 集成终端(赞助解锁):目录对比中可直接打开终端,支持 zsh / PowerShell / bash
  • 外部变更检测:应用回到前台或每 5 秒轮询文件修改时间,磁盘文件被其他程序修改时会在状态栏提示
  • 智能路径栏:省略式显示 + 历史下拉 + 文件系统浏览
  • 三档布局切换:仅左 ◧ / 平分 ⧎ / 仅右 ◨
  • 可配置快捷键:工具栏 ⌨ 打开快捷键设置,查看 / 修改 / 恢复默认
  • 离线激活码授权:本地验证,无需联网

四、为什么需要赞助和收费?

坦白说,这个项目的 Token 消耗量不小。

Agent 型 AI Coding 工具的成本结构和聊天完全不同——每轮请求都要重复发送上下文,一次复杂的重构任务可能消耗数倍于预期的 Token。
如果你觉得它有用,可以通过赞助支持后续开发。
当前,主体功能免费开放。 包括:二路文件对比、二路目录对比、拖拽对比、多标签页、外部变更检测、智能路径栏、布局切换、可配置快捷键等。

以下高级功能需要赞助后解锁:

  • 三路文件对比:左 / 中 / 右三栏对齐 + 逐块合并
  • 三路目录对比:三个目录树三列镜像对比
  • 集成终端:在目录对比中直接打开终端

这些功能开发成本较高,也是 HCompare 区别于普通免费工具的核心能力。
如果你需要它们,可以通过赞助获取激活码。

如何获取激活码:
在授权窗口中获取机器码,将机器码和订单信息发送邮件到 lnuying@gmail.com,收到后会回复对应的激活码。在授权窗口中粘贴激活码即可解锁。

五、最后

欢迎试试 HCompare。

如果它对你有帮助,欢迎评论,赞助或提 issue。
你的使用场景和反馈,会决定下一步功能优先级。

posted on 2026-09-20 21:11  步天有术  阅读(18)  评论(0)    收藏  举报