Open Code Review
spencermarx/open-code-reviewAI-инструмент для командного ревью кода: несколько агентов-рецензентов независимо анализируют код, спорят о находках и выдают единый приоритизированный отчёт. Поддержка 28 персон, требований, GitHub PR и дашборда.
Установка
git clone https://github.com/spencermarx/open-code-review.gitREADME
Быстрый старт
Требования: Node.js >= 20, Git и AI-ассистент для разработки.
# 1. Установите CLI глобально
npm install -g @open-code-review/cli
# 2. Инициализируйте OCR в вашем проекте
cd your-project
ocr init
# 3. Запустите дашборд и выполните первое ревью
ocr dashboardВ браузере откроется дашборд OCR — можно запускать первое ревью.
ocr init определяет установленные AI-инструменты (Claude Code, Cursor, Windsurf и ещё 11) и автоматически настраивает каждый из них. Затем откройте дашборд, чтобы запустить ревью, просмотреть результаты и управлять рабочим процессом прямо из браузера.
Или запускайте ревью напрямую из AI-ассистента:
/ocr:review # Claude Code / Cursor
/ocr-review # Windsurf / другие инструменты
/ocr-review Review against openspec/spec.md # С требованиями
Зачем Open Code Review?
Когда вы просите AI «проверить мой код», вы получаете единственную точку зрения — один проход, один набор приоритетов. OCR меняет это принципиально:
- Мультиагентное дублирование — несколько экземпляров рецензентов независимо изучают ваш код. Разные паттерны внимания выявляют разные проблемы. То, что пропустит один рецензент, найдёт другой.
- Дискуссия перед синтезом — рецензенты не просто формируют находки, они их обсуждают. Оспаривают допущения, проверяют опасения и поднимают вопросы, которые ни один рецензент не задал бы в одиночку.
- Полностью настраиваемые команды — выбирайте из 28 персон рецензентов (включая известных инженеров: Martin Fowler, Kent Beck, Sandi Metz), создавайте собственных постоянных рецензентов или описывайте разовых рецензентов прямо в запросе.
- Учёт требований — передайте спецификацию, предложение или критерии приёмки. Каждый рецензент оценивает код относительно ваших требований, а не только общих практик.
- Контекст проекта — OCR извлекает ваши стандарты из
CLAUDE.md,.cursorrules, конфигов OpenSpec и других распространённых источников. Рецензенты применяют ваши соглашения.
┌─────────────┐
│ Tech Lead │ ← Оркестрирует ревью
└──────┬──────┘
│
┌─────────────────┼─────────────────┐
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────┐ ┌─────────────────┐
│ Ваша команда │ │ Ваша команда│ │ Ваша команда │
│ рецензентов │ │ рецензентов │ │ рецензентов │
└─────────────────┘ └─────────────┘ └─────────────────┘
│ │ │
└─────────────────┼─────────────────┘
│
┌──────▼──────┐
│ Дискуссия │ ← Рецензенты обсуждают находки
└──────┬──────┘
│
┌──────▼──────┐
│ Синтез │ ← Единая приоритизированная обратная связь
└─────────────┘
Примечание: OCR не заменяет ревью кода человеком. Цель — снизить нагрузку на людей-рецензентов, выявляя проблемы раньше, чтобы человеческое ревью было быстрее и сосредоточено на том, что машины не могут поймать.
Содержание
- Дашборд
- Рабочие процессы в IDE и CLI
- Возможности
- Конфигурация
- Справочник команд
- Обновление OCR
- Поддерживаемые AI-инструменты
- Требования
Дашборд
Дашборд — рекомендуемый способ запускать ревью, просматривать результаты и управлять рабочим процессом. Запустите его командой ocr dashboard.
Запуск ревью и карт
Command Center позволяет запускать мультиагентные ревью кода и карты ревью прямо из дашборда. Укажите цели, добавьте требования, включите режим чистого старта — и наблюдайте за выводом терминала в реальном времени по мере работы агентов.
Просмотр и триаж ревью
Просматривайте баннеры вердиктов, карточки отдельных рецензентов, таблицы находок и межрецензентские дискуссии для каждого раунда ревью. Устанавливайте статус триажа для находок (требует ревью, в работе, изменения внесены, принято к сведению, отклонено) с фильтрацией и сортировкой.
Изучение карт ревью кода
Навигация по большим наборам изменений с разбивкой по секциям, отрисованными графами зависимостей Mermaid и отслеживанием прогресса на уровне файлов.
Публикация в GitHub
Два режима публикации со страницы раунда ревью:
- Публикация командного ревью — публикует полный синтезированный отчёт команды как один комментарий к PR.
- Публикация отдельных рецензентов — публикует отдельные комментарии от каждого рецензента, сохраняя индивидуальные голоса и перспективы.
Рабочие процессы в IDE и CLI
Все возможности OCR доступны напрямую из вашего AI-ассистента или терминала.
Команды AI-ассистента
/ocr:review # Базовое ревью
/ocr:review src/api/ # Конкретная директория
/ocr:review Review against docs/requirements.md # С требованиями
/ocr:map # Карта ревью кода
/ocr:map src/ # Карта конкретной директории
Команды CLI
ocr review # Ревью изменений в рабочей директории
ocr review src/api/ # Ревью конкретной директории
ocr review --fresh # Начать новую сессию
ocr map # Сгенерировать карту ревью кода
ocr dashboard # Запустить веб-дашборд
ocr init # Инициализировать OCR в проекте
ocr config # Управление конфигурациейВозможности
Мультиагентное ревью
Одновременно запускает несколько агентов-рецензентов, каждый из которых независимо анализирует ваш код. Агенты работают параллельно, затем их находки синтезируются в единый приоритизированный отчёт.
Каждый рецензент:
- Независимо изучает весь набор изменений
- Применяет собственную экспертизу и приоритеты
- Формирует структурированные находки с уровнями серьёзности
- Участвует в дискуссии с другими рецензентами
Карты ревью кода
Для больших наборов изменений карты ревью кода дают структурированный обзор перед детальным ревью:
- Разбивка по логическим секциям с описаниями
- Граф зависимостей между компонентами (Mermaid)
- Оценка сложности и риска по секциям
- Рекомендуемый порядок ревью
- Отслеживание прогресса по файлам
ocr map # Карта текущих изменений
ocr map src/ # Карта конкретной директории
/ocr:map # Из AI-ассистентаРевью с учётом требований
Передайте спецификацию или требования — каждый рецензент будет оценивать код относительно них:
ocr review --requirements docs/spec.md
ocr review --requirements "Реализовать аутентификацию через JWT с истечением через 24 часа"
/ocr:review Review against docs/api-spec.mdРецензенты явно проверяют:
- Соответствие функциональным требованиям
- Корректность реализации
- Пропущенные или неполные требования
- Пограничные случаи из спецификации
Дискуссия рецензентов
После того как каждый рецензент завершает независимый анализ, они участвуют в структурированной дискуссии:
- Оспаривают или подтверждают находки друг друга
- Выявляют противоречия в оценках
- Поднимают вопросы, которые возникают только при сравнении перспектив
- Достигают консенсуса по приоритетам
Дискуссия отображается в дашборде и включается в финальный синтез.
Публикация в GitHub PR
Публикуйте результаты ревью прямо в GitHub PR:
ocr review --post-to-github
Или используйте кнопки публикации в дашборде. Поддерживаются два режима:
- Командный отчёт — один синтезированный комментарий
- Отдельные рецензенты — отдельные комментарии от каждого рецензента
Требуется переменная окружения GITHUB_TOKEN с правами на запись в PR.
Многораундовые ревью
OCR отслеживает историю ревью в рамках сессии:
- Каждый запуск
ocr reviewсоздаёт новый раунд - Рецензенты видят предыдущие находки и могут ссылаться на них
- Дашборд показывает все раунды с навигацией
- Используйте
--freshдля начала новой сессии
Пользовательские рецензенты
Создавайте постоянных рецензентов, адаптированных под ваш проект:
# .ocr/reviewers/security-reviewer.yaml
name: Security Reviewer
description: Специализируется на уязвимостях безопасности и OWASP Top 10
focus_areas:
- Аутентификация и авторизация
- Валидация входных данных
- SQL-инъекции и XSS
- Управление секретами
personality: Методичный, ориентированный на детали, скептичныйПерсоны известных инженеров
OCR включает 28 встроенных персон, основанных на известных инженерах и архетипах:
- Martin Fowler — рефакторинг, паттерны проектирования, чистый код
- Kent Beck — TDD, простой дизайн, экстремальное программирование
- Sandi Metz — объектно-ориентированный дизайн, SOLID-принципы
- И многие другие — специалисты по безопасности, производительности, доступности и т.д.
Выбирайте персоны в конфигурации или через дашборд.
Разовые рецензенты
Описывайте специализированных рецензентов прямо в запросе без сохранения конфигурации:
/ocr:review with a database performance expert and a junior developer perspective
Разовые рецензенты существуют только для текущего запуска.
Прогресс в реальном времени
Наблюдайте за работой агентов в реальном времени:
- Вывод терминала в дашборде
- Статус каждого рецензента (в работе / завершено)
- Прогресс фазы дискуссии
- Уведомление о завершении
Работа с замечаниями
Отслеживайте прогресс по находкам ревью:
- Устанавливайте статус триажа для каждой находки
- Фильтруйте по серьёзности, рецензенту, статусу
- Экспортируйте находки для интеграции с системами задач
- Отслеживайте прогресс между раундами
Заметки сессии и чат
Добавляйте контекст к сессиям ревью:
- Заметки сессии для документирования решений
- Чат с AI для уточнения находок
- История сохраняется между раундами
Конфигурация
OCR хранит конфигурацию в .ocr/ в корне вашего проекта.
Основная конфигурация
# .ocr/config.yaml
reviewers:
count: 3 # Количество рецензентов (по умолчанию: 3)
personas: # Конкретные персоны (опционально)
- martin-fowler
- kent-beck
- security-specialist
review:
scope: git-diff # git-diff | staged | directory
include_patterns: # Паттерны файлов для включения
- "src/**"
- "lib/**"
exclude_patterns: # Паттерны файлов для исключения
- "**/*.test.ts"
- "**/node_modules/**"
github:
auto_post: false # Автоматически публиковать в PR
post_mode: team # team | individualКонфигурация рецензентов
Создавайте пользовательских рецензентов в .ocr/reviewers/:
# .ocr/reviewers/my-reviewer.yaml
name: API Design Reviewer
description: Фокусируется на согласованности REST API и соответствии OpenAPI
focus_areas:
- Соглашения об именовании эндпоинтов
- Структуры запросов/ответов
- Коды статусов HTTP
- Документация API
personality: Педантичный по стандартам, практичный по реализацииКонтекст проекта
OCR автоматически обнаруживает и использует:
CLAUDE.md— инструкции для Claude Code.cursorrules— правила Cursor.ocr/context.md— явный контекст OCRopenspec/— конфигурации OpenSpec
Справочник команд
ocr init
Инициализирует OCR в текущем проекте. Определяет установленные AI-инструменты и настраивает интеграции.
ocr init
ocr init --force # Переинициализировать существующую конфигурациюocr review
Запускает мультиагентное ревью кода.
ocr review # Ревью текущих изменений
ocr review src/ # Ревью конкретной директории
ocr review --requirements spec.md # С файлом требований
ocr review --requirements "текст" # С инлайн-требованиями
ocr review --fresh # Начать новую сессию
ocr review --reviewers 5 # Переопределить количество рецензентов
ocr review --post-to-github # Публиковать результаты в GitHub PRocr map
Генерирует карту ревью кода для навигации по большим наборам изменений.
ocr map # Карта текущих изменений
ocr map src/ # Карта конкретной директории
ocr map --fresh # Начать новую сессиюocr dashboard
Запускает веб-дашборд.
ocr dashboard # Запустить на порту по умолчанию (4000)
ocr dashboard --port 8080 # Запустить на конкретном портуocr config
Управление конфигурацией OCR.
ocr config show # Показать текущую конфигурацию
ocr config set reviewers.count 5
ocr config reset # Сбросить до значений по умолчаниюОбновление OCR
npm update -g @open-code-review/cli
После обновления CLI переинициализируйте интеграции с AI-инструментами:
ocr init --force
Поддерживаемые AI-инструменты
OCR интегрируется с ведущими AI-ассистентами для разработки:
| Инструмент | Тип интеграции |
|---|---|
| Claude Code | Нативные команды (/ocr:review) |
| Cursor | Команды курсора (/ocr:review) |
| Windsurf | Команды (/ocr-review) |
| GitHub Copilot | Команды чата |
| Cline | Команды |
| Aider | Команды |
| Continue | Команды |
| Zed AI | Команды |
| Neovim AI | Команды |
| Emacs AI | Команды |
| JetBrains AI | Команды |
| VS Code AI | Команды |
| Другие | CLI (ocr review) |
Требования
- Node.js >= 20
- Git (для определения области ревью на основе diff)
- AI-ассистент с доступом к API Anthropic (Claude) или совместимому
- Переменная окружения
ANTHROPIC_API_KEY(если не настроена через AI-инструмент) GITHUB_TOKEN(опционально, для публикации в GitHub PR)