Hunk CLI
Терминальный просмотрщик диффов: все файлы одним потоком, а агент через скилл hunk-review ведет по изменениям и оставляет комментарии к строкам
- 9 667 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Hunk загружает расширения на TypeScript из `~/.config/hunk/extensions/` и из репозитория после явного доверия, а `hunk extension install` ставит их из Git по адресу
- Агент через `hunk session` перезагружает окно на другие диффы и пишет комментарии в сессию: для этого работает локальный фоновый процесс
- Команда `hunk gh` обращается к API GitHub, а для приватных репозиториев читает токен из `GH_TOKEN` или `GITHUB_TOKEN`
Установка
В терминале, через SkillFoxx CLI
npx skillfoxx add cli/hunkОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Hunk загружает расширения на TypeScript из `~/.config/hunk/extensions/` и из репозитория после явного доверия, а `hunk extension install` ставит их из Git по адресу
- Агент через `hunk session` перезагружает окно на другие диффы и пишет комментарии в сессию: для этого работает локальный фоновый процесс
- Команда `hunk gh` обращается к API GitHub, а для приватных репозиториев читает токен из `GH_TOKEN` или `GITHUB_TOKEN`
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Hunk — программа для чтения изменений в терминале на основе `OpenTUI`. Команда `hunk diff` показывает правки рабочей копии вместе с неотслеживаемыми файлами, `hunk show` открывает коммит, `hunk log` дает интерактивную историю с графом веток, `hunk status` выводит состояние рабочих деревьев, а `git diff | hunk patch -` читает патч из стандартного ввода. Файлы идут одним потоком с боковой панелью, раскладка бывает разделенной, объединенной или автоматической: порог ширины для разделенного вида задает параметр `auto_split_min_width` в конфиге. Репозитории Git, Jujutsu и Sapling определяются сами, а `hunk gh pr` открывает пулреквест без GitHub CLI. К агентам Hunk подключается через скилл `hunk-review`. Запущенное окно регистрируется у локального фонового процесса, и агент командами `hunk session` читает структуру ревью, переходит к нужному файлу и куску, перезагружает окно на другой дифф и ставит комментарии к строкам. Комментарии агента скрыты, пока вы не нажмете `a`. Сам файл `SKILL.md` в репозитории — указатель: настоящие инструкции агент получает командой `hunk skill show hunk-review`, поэтому они совпадают с установленной версией. Есть режим наблюдения `--watch`, который перечитывает дифф при изменении файлов, и подключение Hunk как пейджера Git, Jujutsu и Sapling. Расширения на TypeScript добавляют команды, темы, боковые панели и поддержку других систем контроля версий.
Для кого. Для разработчиков, которые читают правки агента в терминале и хотят видеть комментарии модели рядом с кодом, не выходя из репозитория.
Подходит, если
- Агент внес правки в десять файлов, и их надо просмотреть потоком с боковой панелью, а не листая вывод `git diff`
- Нужно, чтобы агент сам провел по изменениям, остановился на нужных кусках и оставил комментарии к строкам
- Требуется открыть пулреквест или сравнение веток из терминала командой `hunk gh pr`
- Репозиторий ведется в Jujutsu или Sapling, а интерактивный просмотр нужен как в Git
- Изменения приходят патчем из конвейера: `git diff --no-color | hunk patch -`
Не подходит, если
- Нужен структурный дифф, который сравнивает синтаксические деревья: в таблице сравнения самого проекта эта возможность отмечена как отсутствующая
- Работа идет на Windows arm64 или в Linux на musl вроде Alpine: готовых бинарников для них нет
- Репозиторий на GitHub Enterprise: `hunk gh` его пока не поддерживает
- Ревью должно идти в браузере с комментариями для команды: Hunk работает только в терминале, а для разметки в браузере в каталоге есть Plannotator
Пример запроса к агенту
Загрузи скилл hunk-review, пройди по открытому в Hunk диффу и оставь комментарии к спорным местам в src/App.tsxОграничения
Hunk в бете: в репозитории версия пакета 0.24.0-beta.1, последний выпуск на GitHub — 0.23.0. Программный интерфейс расширений автор называет экспериментальным и предупреждает о несовместимых изменениях между минорными версиями.
Бинарники есть для macOS (arm64, x64), Linux (arm64, x64, glibc) и Windows (x64). На x86-64 нужен процессор с SSE4.2, для установки через npm нужен Node.js 22 или новее, а на Windows установка через mise требует версии 2026.8.6 и выше.
Обновление командой `hunk update` работает с версии 0.20 для установок через скрипт, npm и Homebrew; более старую версию сначала обновляют тем способом, которым ставили.
Неотслеживаемые файлы автоматически попадают только в `hunk diff`: если открыть `git diff` через `hunk pager`, состав патча определяет сам Git. Анонимные запросы `hunk gh` к публичным репозиториям упираются в лимиты GitHub API.
Лицензия MIT.
Как отключить. Удалите Hunk тем способом, которым ставили: `npm uninstall -g hunkdiff`, `brew uninstall hunk` или через mise. Если вы подключали его как пейджер, верните значение `core.pager` в настройках Git. Скилл удаляется вместе с папкой из каталога скиллов агента, а конфиг лежит в `~/.config/hunk/config.toml`.
Частые вопросы
Как агент находит открытое окно Hunk?
При запуске интерфейс регистрируется у локального фонового процесса на петлевом адресе, и `hunk session list` показывает активные окна. Если список пуст при работающем Hunk, песочница агента, вероятно, блокирует петлевой адрес, и команду нужно запустить с повышенными правами. Подбирать запросы к `/session-api` через `curl` бесполезно: доступ требует автоматически найденного приватного ключа владельца.
Чем `--agent-context` отличается от живой сессии?
Это запасной путь: агент заранее готовит файл с заметками, и Hunk показывает их рядом с кодом. Рекомендуемый путь другой: агент управляет открытым окном через `hunk session`, переходит между кусками и ставит комментарии в реальном времени.
Как открыть пулреквест в Hunk?
Команда `hunk gh pr` определяет пулреквест текущей ветки, а `hunk gh pr 123` берет репозиторий из `origin`. Для приватных репозиториев задайте `GH_TOKEN` или `GITHUB_TOKEN`, публичные открываются анонимно.
Как сделать Hunk просмотрщиком по умолчанию для git diff?
Выполните `git config --global core.pager "hunk pager"`. Если хотите сохранить обычный пейджер, заведите псевдонимы `hdiff` и `hshow`, которые включают `hunk pager` только для вызова. Для Jujutsu пейджер задают в `[ui]`, для Sapling — в `[pager]`.
Что делать, если у агента нет системы скиллов?
Попросите агента выполнить `hunk skill show` и следовать выводу, а путь к файлу скилла выдает `hunk skill path`.
Можно ли скрыть лишние файлы из ревью?
Да, через расширение. Пример из описания проекта убирает из набора изменений файлы с суффиксом `.lock` и показывает уведомление о числе скрытых файлов. Расширения из репозиториев ставит `hunk extension install`, а `--no-extensions` отключает их на один запуск.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыCLI открывает локальный git diff в браузере как просмотр правок в пулл-реквесте GitHub; комментарии копируются промптом для агента
Плагин herdr: дифф кода агента в панели терминала рядом с чатом, комментарии к строкам и отправка замечаний обратно в Claude Code, Codex или OpenCode
CLI и плагин для ревью кода агентом: читает git diff и пишет замечания по строкам с учетом контекста
Crit открывает планы, диффы и запущенные приложения от кодинг-агента в браузере: кликнули строку, оставили замечание, и агент его получил
agnix — линтер для CLAUDE.md, AGENTS.md, SKILL.md, хуков и MCP-конфигов: 702 правила, автофикс и редакторские расширения для VS Code и JetBrains
CLI и три скилла, которые разбирают комментарии ревью-ботов в PR: оценивают находки, правят код, отвечают и ждут проверок
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| Hunk (эта запись) | нет | 9 667 | |
| Plannotator | нет | 9 579 | локальный интерфейс в браузере для разметки планов агента и ревью диффов |
| open-code-review | нет | 48 149 | CLI и плагин, в которых агент сам читает git diff и пишет замечания по строкам |
Коротко о README
Репозиторий содержит исходники на TypeScript в пакетах `packages/`, документацию по агентам, расширениям, клавишам, темам и режимам `open` и `status`, журнал изменений, два скилла для агентов (`hunk-review` и `hunk-extensions`) и примеры расширений и демонстрационных диффов. Описание проекта приводит команды для Git, GitHub, Jujutsu и Sapling, настройки через `config.toml`, таблицу сравнения с lumen, difftastic, delta, diff-so-fancy и обычным diff, а также способы встроить отрисовку диффа в собственное приложение на OpenTUI. Тесты и проверки запускаются в GitHub Actions.