inspect CLI

inspect ранжирует изменения в Git по структурной опасности на уровне функций и классов и отдает результат агентам через JSON и MCP

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

Минимальный доступ

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

  • Триаж читает дифф и исходники репозитория, а `inspect review` отправляет опасные сущности выбранной модели
Все причины и проверки

ataraxy-labs/inspect

Установка

Работает в

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

cargo install --git https://github.com/Ataraxy-Labs/inspect inspect-cli

Нужен Rust. MCP-сервер собирается отдельно: `cargo build -p inspect-mcp`.

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

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

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

  • Триаж читает дифф и исходники репозитория, а `inspect review` отправляет опасные сущности выбранной модели

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

Что делает

inspect — утилита на Rust для ревью на уровне сущностей. Она разбирает дифф через tree-sitter, определяет, какие функции, классы и методы изменились, и относит каждое изменение к текстовому, синтаксическому или функциональному. Затем считает оценку опасности от 0,0 до 1,0 по классу изменения, числу зависимых сущностей и открытости API. Косметические правки получают скидку 70 процентов. Радиус поражения строится по графу зависимостей всего репозитория, а несвязанные правки одного коммита разделяются на группы. Команды: `inspect diff <ref>`, `inspect pr <number>`, `inspect file <path>` для триажа без модели и `inspect review <ref>` с LLM-проверкой самых опасных сущностей. Для модели подходят Anthropic, OpenAI и любой совместимый сервер, включая Ollama. В репозитории есть MCP-сервер `inspect-mcp` с шестью инструментами: `inspect_triage`, `inspect_entity`, `inspect_group`, `inspect_file`, `inspect_stats` и `inspect_risk_map`. В корне лежит `SKILL.md`.

Для кого. Рецензентам pull request и агентам, которые проверяют большие диффы и хотят сначала увидеть, какие функции реально опасны, до чтения каждой строки.

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

  • Pull request на 12 файлов, и нужно понять, какие изменения затрагивают открытый API
  • Агент написал много кода, и ревьюеру нужен список изменений по убыванию опасности
  • В одном коммите перемешаны несвязанные правки, и их надо разделить на группы
  • Claude Code или Cursor должен получить вердикт ревью как вызов MCP-инструмента `inspect_triage`

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

  • Нужна проверка стиля или форматирования: `inspect` оценивает структуру кода, оформление он не смотрит
  • Язык проекта не входит в список поддерживаемых tree-sitter грамматик
  • Ревью без передачи кода во внешнюю модель: `inspect review` отправляет самые опасные сущности в LLM

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

Запусти inspect по последнему коммиту и покажи сущности с опасностью выше средней

Ограничения

  • Установка идет через `cargo install --git`, поэтому нужен Rust. MCP-сервер собирается отдельной командой `cargo build -p inspect-mcp`, готового пакета в README нет.
  • `inspect review` отправляет самые опасные сущности выбранной модели: для Anthropic или OpenAI нужен ключ API, для Ollama код остается локальным.
  • Метрики полноты и F1 в README авторы получили на тестах Greptile и Martian сами, независимого подтверждения в репозитории нет.
  • Граф зависимостей строится по поддерживаемым языкам, для остальных оценка опирается только на сам дифф.

Как отключить. Удалите бинарные файлы командой `cargo uninstall inspect-cli` и уберите блок `inspect` из `mcpServers` в настройках агента. Каталог собранного репозитория удаляется как обычная папка.

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

Как поставить inspect?

Командой `cargo install --git https://github.com/Ataraxy-Labs/inspect inspect-cli`. Нужен Rust. Сборка из исходников описана в README отдельным блоком.

Как подключить inspect к Claude Code как MCP?

Соберите `cargo build -p inspect-mcp` и добавьте в конфиг блок `mcpServers` с ключом `inspect` и путем к бинарному файлу `inspect-mcp`. Появятся шесть инструментов, главный из них `inspect_triage`.

Нужна ли модель для работы?

Нет, для триажа достаточно `inspect diff`: он не использует LLM и отвечает за секунды. Для `inspect review` нужен Anthropic, OpenAI или совместимый сервер.

Что значит вердикт `requires_careful_review`?

Среди изменений есть сущности критической опасности. Остальные вердикты: `likely_approvable` для косметических правок, `standard_review` и `requires_review` при высокой опасности.

Есть ли размещенный сервис?

Да, в README есть описание API с методами для ревью и триажа сущностей по адресу inspect.ataraxy-labs.com. Для локальной работы он не нужен.

Обсуждение

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

Code Buster находит циклы зависимостей, мертвый и дублирующийся код и рост сложности по всему репозиторию, локально и без LLM

CLIМинимальный доступ87Звезды репозитория

MCP-сервер на потоках Rust: агент получает подсказки, переходы к определениям, ссылки, форматирование и диагностику компилятора от rust-analyzer

MCP-серверРасширенный доступ487Звезды репозитория

Три скилла и конфиг clippy: агент пишет, проверяет и переносит код на идиоматичный Rust, а правила проходят в CI

ПлагинРасширенный доступ1,8 тыс.Звезды репозитория
Официальный

Локальный индекс кодовой базы с десятью MCP-инструментами: граф зависимостей, история git, здоровье кода и архитектурные решения без повторного grep на каждом ш

MCP-серверРасширенный доступ8,1 тыс.Звезды репозитория

MCP-сервер индексирует код через tree-sitter: агент читает отдельные символы вместо файлов, находит пути, оценивает влияние правок

MCP-серверМинимальный доступ76Звезды репозитория

CLI с виртуальным советом ИИ-экспертов проверяет PR или локальный diff и выдает общий балл, уровень угрозы и доказательства.

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

Коротко о README

README объясняет проблему построчных диффов и описывает, как inspect считает класс изменения, оценку опасности, радиус поражения и группы. Затем идут установка, команды, настройка LLM, MCP-сервер с таблицей из шести инструментов, результаты на тестах Greptile и Martian, размещенный API и список языков.

Бейдж для README

Исходный SKILL.md

# inspect

Entity-level code review for Git. Scores changes by risk and groups them by logical dependency.

## Structure

Cargo workspace at repo root:
- `inspect-core` — analysis engine, LLM integration, risk scoring
- `inspect-cli` — CLI (`inspect diff`, `inspect pr`, `inspect review`, `inspect predict`)
- `inspect-mcp` — MCP server (6 tools)
- `inspect-api` — REST API (Axum, JWT auth, deployed via Docker)

Separate Next.js website in `docs/` (deployed to inspect.ataraxy-labs.com via Vercel "site" project).

## Build & Test

```bash
cargo build --release -p inspect-cli     # binary at target/release/inspect
cargo build --release -p inspect-mcp     # binary at target/release/inspect-mcp
cargo test --workspace                   # 12 tests
```

## Key Paths

- Risk scoring: `crates/inspect-core/src/`
- CLI commands: `crates/inspect-cli/src/commands/`
- MCP tools: `crates/inspect-mcp/src/`
- API routes: `crates/inspect-api/src/`
- Website: `docs/` (Next.js 15, Clerk auth, Supabase, Stripe billing)
- Benchmarks: `benchmarks/`

## Website (docs/)

The `docs/` directory is the live website. Vercel project name is "site" (root dir set to `docs/`).
- Auth: Clerk
- DB: Supabase
- Billing: Stripe (raw fetch, not SDK)
- Env vars are on the Vercel "site" project, NOT the "docs" project

## How Review Works

1. sem-core extracts entities from diff
2. Score each entity by risk (change classification, blast radius, dependency depth)
3. Group related entities by dependency graph
4. For LLM review: triage first (cut 100 entities to 10), then point LLM at high-risk set

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