TwKit
正在载入
TwKit

让 agent 改完一段代码,git diff 一拉,红一大片绿一大片,仔细看其实就挪了个变量、换了个函数名。PDF 或者字体文件改了更惨,只给一句 Bin… · @Curingieul · TwKit

@Curingieul

让 agent 改完一段代码,git diff 一拉,红一大片绿一大片,仔细看其实就挪了个变量、换了个函数名。PDF 或者字体文件改了更惨,只给一句 Binary files differ。 OmniDiff 是个 Rust 写的 diff 工具,按文件内容来比。代码用 tree-sitter 解析成结构再比,只标出真正改了的那一小段,挪位置的代码会标成移动,不算删了重写。图片、压缩包、PDF、字体这些二进制文件也能看出具体哪里变了。 GitHub 872 星,前两天 Show HN 上拿了 300 多分。 README 里我觉得比较有用的: 1. 结构化解析支持 25 种语言,Python、TS、Go、Rust、Java、YAML、JSON 都在里面,不认识的后缀就退回按行比 2. 压缩包按里面的文件逐个比,Office 文档、jar、EPUB 也算,包里套包也能拆开 3. omnidiff git configure 一条命令接进 git difftool,jj 也有对应的配置 4. 有 --headless 纯文本输出和 JSON 输出,能放进脚本和 CI brew、apt、cargo install 都能装,也有 Linux、macOS、Windows 的预编译包。VS Code 插件有了,但 VS Code 还没开放替换自带 diff 视图的接口,暂时顶替不了默认那个。 协议是 AGPL-3.0。 https://github.com/ivankovic/omnidiff

曝光 27 · 评论 0 · 点赞 1 · 书签 0

查看原帖