OpenQodex CLI
OpenQodex проверяет ваши изменения перед пушем: сначала сканеры без модели, затем отдельный процесс Claude Code или Codex разбирает находки по вашему входу
- 796 ★ репозитория
- Последний коммит
- Apache-2.0
Широкий доступ
Почему такой уровень
- Команда init пишет глобальные инструкции агентов, настройки MCP, хук git pre-push и правила Cursor и Cline
- Изменения проекта уходят в модель вашего входа в Claude Code или Codex, а сканеры скачивают исполняемые файлы при первом запуске
- Подключенный вами сканер выполняет свою команду с вашими правами после команды trust
Установка
- Работает в
Ручная установка
npx openqodex initНужны Node.js 22 или новее и git. Команда находит Claude Code, Cursor, Codex CLI и Cline, показывает список файлов и спрашивает один раз. Затем скажите агенту: проверь изменения через openqodex.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Команда init пишет глобальные инструкции агентов, настройки MCP, хук git pre-push и правила Cursor и Cline
- Изменения проекта уходят в модель вашего входа в Claude Code или Codex, а сканеры скачивают исполняемые файлы при первом запуске
- Подключенный вами сканер выполняет свою команду с вашими правами после команды trust
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
OpenQodex ставится командой `npx openqodex init` и проверяет код до `git push`. Проверяемые изменения — это непушнутые коммиты и все незафиксированные правки. Команда `openqodex review` сначала запускает сканеры, подходящие к измененным файлам: встроено 22 сканера для секретов, уязвимостей в коде и зависимостях, линтеров, воркфлоу GitHub Actions, Dockerfile, Terraform, Kubernetes, SQL и миграций. Находки на измененных строках остаются, находки в тестовых данных и в отключенных правилах отбрасываются. Потом запускается ревьюер: отдельный процесс Claude Code или Codex на вашем собственном входе, без дополнительных ключей. По умолчанию агент, написавший код, его не проверяет. Ревьюер получает все измененные строки и обязан по каждой находке сканера подтвердить ее или снять с причиной, а скрипты проверяют, что ответ дан по всем находкам. Claude Code запускается без ваших настроек и только с инструментами чтения, поиска и просмотра, Codex в песочнице только на чтение. Итог команда печатает в виде квитанции: вердикт, строка на находку и путь к `report.html`. Рядом пишутся `report.md`, `report.json` и `report.sarif`. Навык просит агента показать квитанцию и спросить, какие находки исправлять. Режим `review --all` проверяет весь репозиторий, `review <ветка>` ветку, `review '#42'` пулл-реквест. `init` показывает список файлов, которые запишет, и один раз спрашивает согласие. Он создает глобальные инструкции агентов, ловушку на `git push` для Claude Code и Codex, правила для Cursor и Cline, хук `pre-push` в репозитории и MCP-сервер `openqodex`, который отвечает на вопросы по графу кода, например, кто вызывает функцию. Свой сканер подключают в `.openqodex/config.yaml` и утверждают командой `openqodex trust`.
Для кого. Для разработчиков и команд, которые пишут код в Claude Code, Codex, Cursor или Cline и хотят проверять изменения сканерами и независимым ревьюером до пуша, не заводя отдельный ключ для модели.
Подходит, если
- Перед пушем нужно проверить изменения сканерами секретов, уязвимостей и линтерами одной командой
- Агент написал функцию, и ее должен разобрать другой процесс, а не тот же агент
- В команде все агенты должны пройти проверку перед `git push`, а хук `pre-push` обязан ловить и ручные пуши
- Нужен отчет в формате SARIF, HTML и Markdown, который можно приложить к пулл-реквесту
- Надо добавить к проверке собственный сканер с GitHub и утвердить его вручную
Не подходит, если
- Вы работаете в Windows или WSL: проверки идут на macOS и Linux, на Windows и WSL тесты не запускаются
- Не установлены ни Claude Code, ни Codex со входом: полной проверки не будет, останутся только находки сканеров без проверки
- Нужна проверка на вашем API-ключе в терминале: ключ поддержан только в GitHub Action, в локальной проверке его нет
- Нужен разбор отдельных пулл-реквестов у модели Anthropic без локального процесса: такую задачу решает Claude Code Security Reviewer
Пример запроса к агенту
Проверь мои изменения через openqodex перед пушем и покажи находки, я скажу, какие исправлятьОграничения
- Лицензия Apache-2.0. Проект идет к версии 1.0: команды, ключи и файл настроек могут меняться между минорными релизами.
- Нужны Node.js 22 или новее и git. Пакет проверяется на macOS и Ubuntu, на Windows и WSL тестов нет. Часть сканеров требует среды выполнения, которую OpenQodex не ставит: brakeman и rubocop нужен Ruby, golangci-lint нужен Go, cargo-deny нужен Cargo.
- Ревьюером могут быть только Claude Code и Codex. Cursor на эту роль не годится. В песочнице Codex второй процесс Codex не запускается. Без ревьюера команда `review` печатает «Full review unavailable» и завершается с кодом 2.
- Хук в агенте проверяет наличие ревью текущей работы, а не содержимое пуша. Хук `pre-push` смотрит точные коммиты, но `git push --no-verify` его пропускает. По умолчанию обе проверки только предупреждают. Пуш они блокируют, когда в `.openqodex/config.yaml` задан `review.block_on_severity`.
- Автор приводит свой замер: на размеченных ошибках Claude Code нашел 129 из 153, Codex 115 из 153. Все проблемы не находит ни один режим, отчет называет этапы, которые не запустились.
- Локальной копии баз уязвимостей нет: osv-scanner обращается к osv.dev, а cargo-deny скачивает базу RustSec. Флаг `--offline` отключает такие сканеры, но ревьюер все равно отправляет изменения в модель вашего входа.
Как отключить. Команда `openqodex init --uninstall` убирает записанные `init` разделы и файлы, не трогая ваш текст рядом. Ключ `init --hook none` отключает хук `pre-push`, а `--no-mcp` пропускает регистрацию MCP-сервера. Папка `~/.openqodex` содержит сканеры, кэш и утвержденные записи, ее можно удалить вручную.
Частые вопросы
Нужен ли отдельный API-ключ для ревью?
Нет. Ревьюер работает на вашем входе в Claude Code или Codex, и OpenQodex ключей не просит. Исключение — GitHub Action: полное ревью пулл-реквеста он запускает, только если в воркфлоу задан `ANTHROPIC_API_KEY`. Без ключа Action проверяет одними сканерами, и хук pre-commit тоже.
Кто проверяет код, если установлены и Claude Code, и Codex?
Если вошли оба, проверяет тот агент, из которого вы запустили `review`: Codex из Codex, Claude Code из Claude Code. Из других мест по умолчанию Claude Code. Выбрать Codex можно ключом `--reviewer codex` или значением `reviewer: codex` в `~/.openqodex/config.yaml`.
Что отправляется во внешние сервисы?
Сам OpenQodex и встроенные сканеры код не отправляют и телеметрию не собирают. Исключение — сеть для загрузок и баз: osv-scanner отправляет в osv.dev названия и версии зависимостей из lock-файла, semgrep берет наборы правил из своего реестра. Ревьюер отправляет изменения в модель вашего входа и по умолчанию может искать в сети; параметр `reviewer_web: off` это отключает.
Как добавить собственный сканер?
Впишите его в `.openqodex/config.yaml` в разделе `scanners.custom` с командой запуска и целью. Затем выполните `npx openqodex trust`: команда скачает релиз в карантинную папку, покажет, что будет выполняться, и спросит согласие. Сканер должен писать SARIF или один JSON-документ, который превращает в находки блок `map`. Агенту навык запрещает запускать `trust` без вопроса.
Что делает пакет, если ревьюера нет?
Печатает «Full review unavailable», завершается с кодом 2 и сохраняет находки сканеров без проверки в `unchecked-candidates.json`. Он предлагает запасной путь, `review --agent`: агент, в котором вы работаете, проверяет изменения по выданному заданию. В отчете первой строкой после вердикта будет пометка, что проверял сам кодирующий агент.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыПроверяет diff и переписку с агентом: ловит ошибки в коде и расхождения между вашей просьбой и тем, что агент сделал. CLI, скилл и GitHub Action
Скилл состязательного аудита кода: Hunter ищет ошибки, Skeptic их оспаривает, Referee выносит вердикт, а правки без вашего разрешения не вносятся
Расширяемый агент код-ревью: читает диф, исследует кодовую базу инструментами разработчика и оставляет предметные комментарии к PR
Набор QA-агентов, скиллов и MCP-сервер: генерация тестов, поиск пробелов в покрытии, нестабильные тесты, безопасность и хаос-тестирование
Скилл проверки кода агента в настоящем браузере: читает ваши изменения, составляет план теста и прогоняет его через Playwright с вашими куки
Открытый ИИ-агент для ревью pull request: описание, замечания и предложения по улучшению в GitHub, GitLab и других
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| OpenQodex (эта запись) | нет | 796 | |
| review-loop | нет | 726 | плагин Claude Code: после задачи хук остановки запускает ревью в Codex, без сканеров и без пуш-гейта |
| open-code-review | нет | 48 062 | команда ocr читает git diff и пишет замечания по строкам, без сканеров, проверки ответов и хука на пуш |
| Claude Code Security Reviewer | нет | 6 490 | GitHub Action проверяет пулл-реквест Claude на уязвимости, работает в CI, не перед пушем с вашей машины |
Коротко о README
В репозитории лежат CLI одним файлом, навык, шаблоны для агентов, документация и демонстрация. Описание проекта разбирает установку, роли агентов, требования, ход проверки, ограничения и 22 встроенных сканера. Дополнительно есть замеры на размеченных ошибках, примеры отчетов, плагины для Claude Code и Cursor, действие GitHub Actions и хук pre-commit.