inspect CLI
inspect ранжирует изменения в Git по структурной опасности на уровне функций и классов и отдает результат агентам через JSON и MCP
- 214 ★ репозитория
- Последний коммит
Минимальный доступ
Почему такой уровень
- Триаж читает дифф и исходники репозитория, а `inspect review` отправляет опасные сущности выбранной модели
Установка
- Работает в
Ручная установка
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. Для локальной работы он не нужен.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыCode Buster находит циклы зависимостей, мертвый и дублирующийся код и рост сложности по всему репозиторию, локально и без LLM
rust-analyzer MCP — навигация по коду Rust для агента
r3bl-rust-analyzer-mcp-server
MCP-сервер на потоках Rust: агент получает подсказки, переходы к определениям, ссылки, форматирование и диагностику компилятора от rust-analyzer
Три скилла и конфиг clippy: агент пишет, проверяет и переносит код на идиоматичный Rust, а правила проходят в CI
Локальный индекс кодовой базы с десятью MCP-инструментами: граф зависимостей, история git, здоровье кода и архитектурные решения без повторного grep на каждом ш
MCP-сервер индексирует код через tree-sitter: агент читает отдельные символы вместо файлов, находит пути, оценивает влияние правок
CLI с виртуальным советом ИИ-экспертов проверяет PR или локальный diff и выдает общий балл, уровень угрозы и доказательства.
Коротко о 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