@mitchellh: Hunk 非常优秀。它已经完全取代了我使用的任何其他本地差异查看器。它界面美观,速度飞快,快捷键设计合理……

X AI KOLs Following 工具

摘要

Hunk 是一款以审查为优先的终端差异查看器,专为代理生成的变更集设计,提供多文件审查流、内联 AI 注释以及 Git/Jujutsu 支持等功能。

Hunk 非常优秀。它已经完全取代了我使用的任何其他本地差异查看器。界面美观,速度飞快,快捷键好用,鼠标支持也很完善,作为备用操作非常合适。太棒的软件了 @bentlegen。https://t.co/6HH5DPO5mO https://t.co/Dy2rl4NXBL
查看原文
查看缓存全文

缓存时间: 2026/05/11 00:31

Hunk 非常好用。它已经完全取代了我使用的任何其他本地 diff 查看器。界面美观、速度快、键盘快捷键好用,并且支持鼠标作为备选操作。很棒的软件 @bentlegen。 https://t.co/6HH5DPO5mO https://t.co/Dy2rl4NXBL — # modem-dev/hunk 源码:https://github.com/modem-dev/hunk # hunk Hunk 是一款面向 Agent 生成的代码变更集的、以审查为优先的终端 diff 查看器,基于 OpenTUI (https://github.com/anomalyco/opentui) 和 Pierre diffs (https://www.npmjs.com/package/@pierre/diffs) 构建。CI 状态 (https://github.com/modem-dev/hunk/actions/workflows/ci.yml?branch=main) 最新版本 (https://github.com/modem-dev/hunk/releases) MIT 许可证 - 带有侧边栏导航的多文件审查流 - 代码旁边的内联 AI 和 Agent 注释 - 分割、堆叠和响应式自动布局 - 支持自动重新加载文件及基于 Git 审查的监视模式 - 支持键盘、鼠标、分页器和 Git difftool 带有侧边栏和内联 AI 注释的分割视图 堆叠视图和可选菜单的鼠标支持 ## 安装 bash npm i -g hunkdiff 或者使用 Homebrew: bash brew install modem-dev/tap/hunk 要求: - Node.js 18+ - macOS 或 Linux - 大多数工作流推荐使用 Git ## 快速开始 bash hunk # 显示帮助信息 hunk --version # 打印安装的版本 ### 使用 Git Hunk 镜像了 Git 的 diff 风格命令,但会在审查 UI 中打开变更集,而不是纯文本。 bash hunk diff # 审查当前仓库的变更,包括未跟踪的文件 hunk diff --watch # 当工作树发生变化时自动重新加载 hunk show # 审查最新的提交 hunk show HEAD~1 # 审查较早的提交 ### 使用 Jujutsu Hunk 自动检测 Jujutsu 检出,因此 hunk diff [revset]hunk show [revset] 会在 jj 工作区内使用 jj revsets。要覆盖 VCS 检测,请在 配置 中设置 vcs = "git"vcs = "jj"。 ### 使用原始文件和补丁 bash hunk diff before.ts after.ts # 直接比较两个文件 hunk diff before.ts after.ts --watch # 当任一文件变化时自动重新加载 git diff --no-color | hunk patch - # 从 stdin 审查补丁 ### 使用 Agent 1. 在另一个终端中通过 hunk diffhunk show 打开 Hunk。 2. 让你的 Agent 添加由 hunk skill path 返回的技能文件。 3. 让你的 Agent 对活动的 Hunk 会话使用该技能。 一个通用的提示词是: text 加载 Hunk 技能并用于此次审查。 有关完整的实时会话和 --agent-context 工作流指南,请参阅 docs/agent-workflows.md。 ## 功能对比 | 能力 | hunk (https://github.com/modem-dev/hunk) | lumen (https://github.com/jnsahaj/lumen) | difftastic (https://github.com/Wilfred/difftastic) | delta (https://github.com/dandavison/delta) | diff-so-fancy (https://github.com/so-fancy/diff-so-fancy) | diff (https://www.gnu.org/software/diffutils/) | | ––––––––––––––––– | —————————————– | —————————————– | ————————————————— | –––––––––––––––––––––– | ––––––––––––––––––––––––––––– | ———————————————– | | 以审查为优先的交互式 UI | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | | 多文件审查流 + 侧边栏 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | | 内联 Agent / AI 注释 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | | 响应式自动分割/堆叠布局 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | | 查看器内的鼠标支持 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | | 运行时视图切换 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | | 语法高亮 | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | | 结构化 diff | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | | 兼容分页器的模式 | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | Hunk 专为交互式审查完整变更集而优化。 ## 高级用法 ### 配置 你可以将偏好设置持久化到配置文件中: - ~/.config/hunk/config.toml - .hunk/config.toml 示例: toml theme = "graphite" # graphite, midnight, paper, ember mode = "auto" # auto, split, stack vcs = "git" # git, jj exclude_untracked = false line_numbers = true wrap_lines = false agent_notes = false exclude_untracked 仅影响 Git 工作树 hunk diff 会话。 ### Git 集成 将 Hunk 设置为你的 Git 分页器,这样 git diffgit show 会自动在 Hunk 中打开: > [!NOTE] > 未跟踪的文件仅在 Hunk 自身的 hunk diff 工作树加载器中自动包含。如果你通过 hunk pager 打开 git diff,Git 仍然决定补丁内容,因此未跟踪的文件不会在那里出现。 bash git config --global core.pager "hunk pager" 或者在你的 Git 配置中: ini [core] pager = hunk pager 如果你想保留 Git 的默认分页器并添加可选别名: bash git config --global alias.hdiff "-c core.pager=\"hunk pager\" diff" git config --global alias.hshow "-c core.pager=\"hunk pager\" show" ### Jujutsu 分页器集成 要将 Hunk 用作 jj 的分页器,运行 jj config edit --user 并更新: toml [ui] pager = ["hunk", "pager"] diff-formatter = ":git" ### OpenTUI 组件 Hunk 还发布了 HunkDiffView 和来自 hunkdiff/opentui 的底层原语,以便在你的 OpenTUI 应用中嵌入相同的 diff 渲染器。有关安装、API 和可运行示例,请参阅 docs/opentui-component.md。 ## 示例 可直接运行的演示 diff 位于 examples/。每个示例都包含了从仓库根目录运行的确切命令。 ## 贡献 💬 在 Modem Discord 服务器 (https://discord.gg/WZFjaP6Gt8) 上与用户/贡献者聊天 有关源码设置、测试、打包检查和仓库架构,请参阅 CONTRIBUTING.md。 ## 赞助 由 Modem (https://modem.dev?utm_source=github&utm_medium=oss&utm_campaign=hunk) 赞助。 ## 许可证 MIT

相似文章

Show HN: Codiff,本地差异审查工具

Hacker News Top

Codiff 是一款轻量级本地 diff 查看器,用于审查 Git 暂存和未暂存的更改,支持基于 LLM 的逐步讲解和内联审查评论。

@laogui: 经过几天使用,我可以毫不夸张地说:Rebased 就是目前最强的 Git 图形化客户端。 用过 JetBrains 系列 IDE 的朋友都知道,它的 Git 功能体验非常好——尤其是 Diff 功能。但这几年 JetBrains 在 AI…

X AI KOLs Timeline

Rebased 是一款基于 JetBrains IntelliJ 社区版构建的开源 Git 图形化客户端,砍掉了所有语言相关功能,只保留并优化了 Git 工具,提供了顶级的 Diff、Review、交互式 Rebase 和冲突解决体验,免费使用且零学习成本。

Show HN:面向AI代理的Git

Hacker News Top

re_gent 是一个开源的版本控制系统,专为AI代理活动设计,记录每一次工具调用及其相关提示,使开发者能够审查和回滚代理的变更。

Show HN:Epiq – 基于Git的分布式问题追踪器TUI

Hacker News Top

Epiq 是一款终端原生、基于Git的问题追踪器,具有 ASCII 看板、不可变事件日志,并支持 MCP 以实现代理工作流。它允许以本地优先的方式进行分布式协作,无需中心服务。