乐于分享
好东西不私藏

Hunk,专为 AI Agent 时代打造的代码审查工具|与 Claude Code 协作审查|Github Daily

Hunk,专为 AI Agent 时代打造的代码审查工具|与 Claude Code 协作审查|Github Daily

GitHub Daily 

Review-First 终端差异查看器

2026年5月8日 · 星期五

当 AI Agent 生成的代码越来越复杂,传统的 diff 工具已经无法满足审查需求。今天要介绍的这个开源项目,正是为解决这一痛点而生——Hunk,一款专为 AI Agent 编码时代设计的审查优先终端差异查看器。

📦 项目速览

项目名称

modem-dev/hunk

GitHub Stars

2,519 ⭐ (+713 今日)

编程语言

TypeScript

开源协议

MIT License

技术栈

OpenTUI + Pierre diffs

开发组织

modem-dev

💡它能解决什么问题?

🤯 AI Agent 代码审查的困境

  • AI 生成的代码变更量巨大,逐行审查效率极低

  • 传统 diff 工具缺乏上下文导航,在海量变更中迷失

  • 无法快速定位 AI 生成的关键代码逻辑

  • 审查结果难以与 AI Agent 共享形成闭环

  • 缺乏针对代码变更的 AI 辅助注释和解释

✨ Hunk 的解决方案

  • 审查优先设计:先看变更全貌,再深入细节

  • 多文件流式导航:侧边栏快速跳转,无需来回切换

  • 内联 AI 注释:直接在代码旁展示 AI 生成的解释

  • 多种布局模式:分屏、堆叠、响应式自适应

  • 实时监控模式:文件变更自动刷新,无需重复操作

  • Git 深度集成:支持 difftool、工作树、历史提交

🚀核心亮点

🔍

审查优先理念

Hunk 颠覆传统 diff 工具的交互逻辑,采用"先概览后细节"的审查优先设计。侧边栏展示文件树和变更概览,让你在海量代码变更中始终保持方向感。

💬

内联 AI 注释

支持在代码行旁直接显示 AI Agent 生成的注释和解释。Hunk 提供专门的 hunk-review Skill,让 AI Agent 能够以 CLI 方式与审查会话交互,实现人机协同闭环。

📐

多种布局模式

支持分屏(Split)、堆叠(Stack)和响应式自动布局三种模式。用户可根据屏幕尺寸和审查习惯自由切换,获得最佳的视觉体验。

🔄

实时监控模式

开启 Watch 模式后,Hunk 会自动监视工作区或指定文件的变化,实时刷新差异视图。特别适合与 AI Agent 配合使用——Agent 改代码,你实时审。

🎨

基于 OpenTUI

Hunk 基于 OpenTUI 框架构建,这是一个用 Zig 编写的原生终端 UI 核心。OpenTUI 提供 Flexbox 布局、Tree-sitter 语法高亮、Timeline 动画等现代特性。

⌨️

丰富的交互方式

支持键盘导航、鼠标操作、分页器模式和 Git difftool 集成。无论你是键盘流还是鼠标流,都能找到顺手的使用方式。

💡 OpenTUI 技术揭秘

OpenTUI 是 OpenCode(拥有 151k Stars 的 AI 编程代理)的底层 TUI 框架,采用 Zig 原生编写并暴露 C ABI,支持 TypeScript 绑定和 React/Solid.js 集成。这意味着 Hunk 继承了工业级 TUI 应用的技术基因。

🎯实战场景展示

🤖 场景一:与 Claude Code 协作审查

当你让 Claude Code 完成一个复杂的功能重构后,使用 Hunk 进行最终审查。

1

Claude Code 完成代码变更:claude-code implement payment feature

2

启动 Hunk 审查会话:hunk diff --watch

3

在侧边栏快速浏览变更文件列表

4

通过键盘/鼠标深入审查关键变更

5

加载 hunk-review Skill,让 Claude Code 理解你的反馈

📝 场景二:PR 代码评审工作流

作为 Tech Lead 审查团队成员的 Pull Request,结合 Git 使用 Hunk。

1

合并代码到 feature 分支:git checkout -b feature/payment && git merge pr/123

2

审查最新提交:hunk show

3

对比历史提交:hunk show HEAD~3

4

使用 Split 布局左右对比新旧实现

🔬 场景三:配置文件变更追踪

监控配置文件变更,配合 AI Agent 优化配置。

1

启动监控模式:hunk diff config.yaml config.dev.yaml --watch

2

让 Claude Code 根据变更解释差异:claude-code explain config diff

3

实时查看变更,AI 实时提供建议

📖上手指南

# 安装 Hunk

Bash

# 使用 npm 全局安装

npm i -g hunkdiff

# 验证安装

hunk --version

# Git 集成命令

Bash

# 审查当前仓库所有变更(含未跟踪文件)

hunk diff

# 实时监视工作区变更,Agent 改代码你实时审

hunk diff --watch

# 审查最新提交

hunk show

# 审查指定历史提交

hunk show HEAD~1

# 审查特定提交范围

hunk show HEAD~5..HEAD~1

# 文件对比命令

Bash

# 对比两个文件的差异

hunk diff before.ts after.ts

# 监视文件变更(实时刷新)

hunk diff before.ts after.ts --watch

# 从 stdin 读取补丁

git diff --no-color | hunk patch -

# 配置 Git 为 Hunk

Bash

# 将 Hunk 设为 Git 分页器

git config --global core.pager "hunk pager"

# 使用别名(保留原生 Git 分页器)

git config --global alias.hdiff "-c core.pager=\"hunk pager\" diff"

git config --global alias.hshow "-c core.pager=\"hunk pager\" show"

# 之后直接使用

git hdiffgit hshow

# 配置文件 (~/.config/hunk/config.toml)

TOML

# 主题配置:graphite, midnight, paper, ember

theme = "graphite"

# 布局模式:auto, split, stack

mode = "auto"

# 其他选项

exclude_untracked = false

line_numbers = true

wrap_lines = false

agent_notes = false

💡 与 AI Agent 协作

要让 AI Agent(如 Claude Code)能够与 Hunk 审查会话交互,只需加载项目内置的 skills/hunk-review/SKILL.md Skill。这个 Skill 定义了 Agent 如何检查审查焦点、导航文件和代码块、添加内联评论。

🏗️技术架构

Hunk 的技术架构建立在两个强大的开源项目之上:

🎨

OpenTUI 框架

用 Zig 编写的原生终端 UI 核心,暴露 C ABI。提供 Flexbox 布局(基于 Yoga)、Tree-sitter 语法高亮、Timeline 动画、键盘/焦点管理。支持 React/Solid.js 一等公民集成。

📊

Pierre diffs

高性能差异计算引擎,专门优化了大型代码库的 diff 性能。提供精确的变更检测和语义感知的代码块识别。

核心依赖:

React ^19.2.4 | @opentui/core ^0.1.88 | @opentui/react ^0.1.88 | @pierre/diffs ^1.1.0 | bun ^1.3.10 | commander ^14.0.3 | zod ^4.3.6

📝 今日总结

🎯 定位

专为 AI Agent 时代设计的审查优先终端 diff 工具

✨ 亮点

审查优先设计 + 内联 AI 注释 + 实时监控 + 多布局

🔧 技术

基于 OpenTUI (Zig) + Pierre diffs,性能优异

📈 趋势

今日 +713 Stars,GitHub Trending 热门项目

🌟 开始探索 Hunk

立即体验专为 AI Agent 时代打造的代码审查工具