Lumen CLI
lumen
Lumen показывает git diff и пулл-реквесты GitHub в терминале, а по желанию пишет сообщения коммитов и объясняет правки через выбранную модель
- 2 900 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- В режиме с моделью текст ваших правок и вопросы уходят выбранному провайдеру
- `lumen operate` запускает сгенерированную команду git после подтверждения, команда может менять историю
- Ключ провайдера хранится в `lumen.config.json` открытым текстом
Установка
- Работает в
Ручная установка
brew install jnsahaj/lumen/lumenHomebrew на 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` для текущей ветки.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыЛокальный шлюз перед git push: ревью, тесты, документация и линтер проходят в отдельной копии, и только после этого ветка уходит в удаленный репозиторий
Драйвер слияния Git и MCP-сервер: сравнивает функции и классы и снимает ложные конфликты от параллельных правок агентов
Сенсор качества кода на Rust: считает сигнал качества до и после сессии агента, подключается как плагин Claude Code или MCP
Нативный терминал для macOS на базе Ghostty с вертикальными вкладками и уведомлениями, когда агенту нужен ответ
CLI для git worktree, заточенный под параллельные сессии Claude Code и Codex: команда wt, плагин и хуки автоматизации
CLI-трассировка сессий Claude Code, Cursor и Codex через OpenTelemetry: что агент реально делал и сколько это стоило
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| Lumen (эта запись) | нет | 2 900 | |
| difit | нет | 3 275 | открывает дифф в браузере в виде GitHub, комментарии копируются промптом; Lumen работает в терминале и пишет сообщения коммитов |
| open-code-review | нет | 48 149 | агент сам читает дифф и пишет замечания по строкам; в Lumen замечания оставляете вы |
Коротко о README
В репозитории лежат исходники на Rust, файл `Cargo.toml`, конфигурация Nix и сценарий релиза. Документация описывает установку, команды просмотра правок со списком клавиш и таблицей тем оформления, AI-команды с примерами, таблицу провайдеров с моделями по умолчанию и раздел об интеграции с кодирующими агентами. В конце приведены формат файла настроек и порядок приоритета источников.