Lumen CLI

lumen

Lumen показывает git diff и пулл-реквесты GitHub в терминале, а по желанию пишет сообщения коммитов и объясняет правки через выбранную модель

  • 2 900 ★ репозитория
  • Последний коммит
  • MIT
CLI

Расширенный доступ

Почему такой уровень

  • В режиме с моделью текст ваших правок и вопросы уходят выбранному провайдеру
  • `lumen operate` запускает сгенерированную команду git после подтверждения, команда может менять историю
  • Ключ провайдера хранится в `lumen.config.json` открытым текстом
Все причины и проверки

jnsahaj/lumen

Установка

Работает в

Ручная установка

brew install jnsahaj/lumen/lumen

Homebrew на macOS и Linux. Нужен установленный git.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • В режиме с моделью текст ваших правок и вопросы уходят выбранному провайдеру
  • `lumen operate` запускает сгенерированную команду git после подтверждения, команда может менять историю
  • Ключ провайдера хранится в `lumen.config.json` открытым текстом

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Lumen — программа на Rust, один исполняемый файл. Команда `lumen diff` открывает в терминале двухколоночный просмотр правок с подсветкой синтаксиса через tree-sitter. Источником служат незакоммиченные изменения, коммит, диапазон веток, пулл-реквест GitHub по номеру или ссылке либо Jujutsu. В режиме `--stacked` коммиты листаются по одному, а режим `--watch` обновляет картинку при изменении файлов. Мышью или клавишей `i` к выделению, блоку правок или целому файлу добавляют комментарии. Для работы с агентом комментарии отправляются клавишей `s`: Lumen закрывает окно и выводит их текстом в стандартный вывод, так что Claude Code или Codex получают замечания следующим запросом. Для этого в агенте запускают `!lumen diff`, отдельный плагин не нужен. Необязательная часть подключает языковую модель. `lumen draft` пишет сообщение коммита по индексу git, `lumen explain` объясняет правки или отвечает на ваш вопрос о них, `lumen operate` превращает просьбу на естественном языке в команду git и спрашивает подтверждение перед запуском. Провайдер, ключ и модель задают командой `lumen configure`, флагами или переменными окружения.

Для кого. Для разработчиков, которые проверяют правки агента и пулл-реквесты, не выходя из терминала, и хотят получать сообщения коммитов от модели по своему выбору, в том числе локальной.

Подходит, если

  • Агент закончил ход, и нужно построчно разобрать его правки и вернуть замечания следующим запросом через `!lumen diff` и клавишу `s`
  • Пулл-реквест GitHub удобнее читать в терминале командой `lumen diff --pr 123`, чем открывать в браузере
  • Сообщения коммитов нужны в стиле conventional commits: `lumen draft` берет типы из настроек и принимает уточнение через `--context`
  • Серию коммитов нужно просмотреть по одному и отмечать файлы как просмотренные: для этого есть режим `--stacked`
  • Код нельзя отправлять внешним сервисам: Ollama в списке провайдеров работает локально и ключа не требует

Не подходит, если

  • Нужен просмотр правок в браузере в привычном виде GitHub: такое делает difit, а Lumen работает только в терминале
  • Нужен агент, который сам правит код и коммитит: Lumen показывает и описывает изменения, но код не пишет
  • Нужна замена `git` для систем, где его нет: git входит в обязательные требования, без него программа не работает
  • Не подходит, если нельзя ставить Rust-программы: поставка идет через Homebrew или `cargo install`, готовых пакетов для других менеджеров в источнике нет

Пример запроса к агенту

Покажи мне в Lumen правки, которые ты только что внес, я оставлю замечания, а ты их исправишь

Ограничения

  • Просмотр правок работает без модели. Команды `draft`, `explain` и `operate` требуют провайдера, и для всех, кроме Ollama, нужен ключ.
  • В режиме с моделью текст ваших правок уходит выбранному провайдеру. Ключ можно положить в `lumen.config.json` открытым текстом, поэтому такой файл не стоит добавлять в репозиторий.
  • `lumen operate` выполняет сгенерированную команду git после вашего ответа `y`. Команда может переписывать историю, прочтите ее до подтверждения.
  • Для `lumen explain --list` нужен fzf, для оформленного вывода нужен mdcat. Оба необязательны.
  • Названия моделей по умолчанию в таблице провайдеров привязаны к релизам провайдеров, актуальный список сверяйте у провайдера.

Как отключить. Lumen не встраивается в агента: пока вы не запустили `lumen`, он ничего не делает. Удалите программу тем же менеджером, которым ставили, `brew uninstall lumen` или `cargo uninstall lumen`, и при желании файл `~/.config/lumen/lumen.config.json` с ключом провайдера.

Частые вопросы

Нужен ли ключ, чтобы просто смотреть правки?

Нет. Просмотр `lumen diff` работает без провайдера, ключ нужен только командам `draft`, `explain` и `operate`. Для Ollama ключа нет и там.

Как вернуть замечания агенту?

Запустите `!lumen diff` в Claude Code или Codex, оставьте комментарии клавишей `i`, нажмите `s` и подтвердите Enter. Lumen выведет замечания текстом в стандартный вывод, и агент получит их как следующий запрос. Клавиша `y` копирует тот же текст в буфер.

Какие модели можно подключить?

В таблице провайдеров указаны OpenAI (по умолчанию), Claude, Gemini, Groq, DeepSeek, xAI, OpenCode Zen, Ollama, OpenRouter и Vercel AI Gateway. Выбор делают флагом `-p`, переменной `LUMEN_AI_PROVIDER` или командой `lumen configure`.

Откуда Lumen берет настройки, если они заданы в нескольких местах?

Сильнее всего аргументы командной строки, затем файл из `--config`, затем `lumen.config.json` в корне проекта и в последнюю очередь глобальный файл в `~/.config/lumen`. Для темы порядок другой: флаг, файл, переменная `LUMEN_THEME`, автоопределение.

Работает ли Lumen не только с git?

Да, в исходниках есть отдельные модули для git и Jujutsu, а выбор системы контроля версий определяется автоматически. Пулл-реквесты GitHub открываются по номеру, по ссылке или флагом `--detect-pr` для текущей ветки.

Обсуждение

Вопросов и отзывов пока нет.

Локальный шлюз перед git push: ревью, тесты, документация и линтер проходят в отдельной копии, и только после этого ветка уходит в удаленный репозиторий

CLIШирокий доступ8,9 тыс.Звезды репозитория

Драйвер слияния Git и MCP-сервер: сравнивает функции и классы и снимает ложные конфликты от параллельных правок агентов

CLIШирокий доступ1,3 тыс.Звезды репозитория

Сенсор качества кода на Rust: считает сигнал качества до и после сессии агента, подключается как плагин Claude Code или MCP

CLIРасширенный доступ3,3 тыс.Звезды репозитория

Нативный терминал для macOS на базе Ghostty с вертикальными вкладками и уведомлениями, когда агенту нужен ответ

CLIШирокий доступ28,4 тыс.Звезды репозитория

CLI для git worktree, заточенный под параллельные сессии Claude Code и Codex: команда wt, плагин и хуки автоматизации

CLIРасширенный доступ9,4 тыс.Звезды репозитория

CLI-трассировка сессий Claude Code, Cursor и Codex через OpenTelemetry: что агент реально делал и сколько это стоило

CLIРасширенный доступ2,9 тыс.Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйЗвезды репозиторияГлавное отличие
Lumen (эта запись)нет2 900
difitнет3 275открывает дифф в браузере в виде GitHub, комментарии копируются промптом; Lumen работает в терминале и пишет сообщения коммитов
open-code-reviewнет48 149агент сам читает дифф и пишет замечания по строкам; в Lumen замечания оставляете вы

Коротко о README

В репозитории лежат исходники на Rust, файл `Cargo.toml`, конфигурация Nix и сценарий релиза. Документация описывает установку, команды просмотра правок со списком клавиш и таблицей тем оформления, AI-команды с примерами, таблицу провайдеров с моделями по умолчанию и раздел об интеграции с кодирующими агентами. В конце приведены формат файла настроек и порядок приоритета источников.

Бейдж для README

Сообщить о проблеме

Foxx AILumen
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.