Gortex: граф-движок анализа кода для ИИ-агентов

Высокопроизводительный движок анализа кода для ИИ-агентов и IDE

Индексирует код в граф и предоставляет доступ через CLI, MCP Server и веб-интерфейс. Поддержка нескольких репозиториев по умолчанию.

Единый статический бинарный файл для macOS, Linux и Windows — без цепочек зависимостей, простая установка и использование.

Высококачественный разбор 257 языков и грамматик выполняется через AST-анализ на базе tree-sitter, внутрипроцессные резолверы (in-process resolvers), дополненные разрешением на уровне компилятора для Python, TypeScript/JavaScript, PHP, C#, Go, C, C++, Java, Kotlin, Swift, Zig, Rust, Ruby, Elixir, OCaml, Haskell и других языков — в результате строится персистентный граф знаний с уровнями происхождения данных (provenance-tiered knowledge graph), охватывающий функции, классы, цепочки вызовов, HTTP-маршруты и межсервисные контракты с надёжной моделью достоверности. 175 (настраиваемых) MCP-инструментов — используйте только то, что нужно. Никаких внешних зависимостей. Работает «из коробки» с 19 агентами для написания кода. До 50× меньше токенов на ответ. Воспроизводимые бенчмарки.

Примечание

Поддерживается 19 ИИ-агентов для написания кода (Claude Code, Kiro, Cursor, Windsurf, VS Code / Copilot, Continue.dev, Cline, OpenCode, Antigravity, Codex CLI, Gemini CLI, Zed, Aider, Kilo Code, OpenClaw, Hermes, Oh My Pi, Pi, Kimi) прямо из коробки.

Одна установка настраивает все обнаруженные на машине агенты — см. docs/agents.md.

Веб-интерфейс Gortex — визуализация графа знаний с направленными связями

Почему это важно

  • 50× меньше токенов на ответ — граф-нативные запросы превосходят наивное чтение файлов. Агенты читают только то, что нужно, а не весь файл и не 500 строк вокруг нужного места.

  • Полный цикл разработки — никакого «прочитай файл перед правкой». Агенты запрашивают исходники, сообщают, что изменить, и не тратят контекст на чтение лишнего.

  • 257 языков и грамматик — каждый файл в репозитории доступен; никакой смеси инструментов и раздувающихся/галлюцинирующих агентов. Три уровня (специализированный tree-sitter, regex, сигнатуры на основе forest) плюс ноутбуки Jupyter и Databricks → docs/languages.md.

  • Кросс-репозиторная работа по умолчанию — N репозиториев в одном графе; контракты, ссылки и цепочки вызовов пересекают границы репозиториев с разрешением через верификацию свидетельств (evidence-gated resolution), сопоставлением контрактов, анализом влияния изменений, изоляцией по сессиям → docs/multi-repo.md.

  • Крайне быстрый анализ — предвычисленный индекс достижимости глубины 3 превращает запросы о радиусе поражения (blast-radius) в поиск по хеш-таблице за O(seeds × reach). Безопасно спрашивать «что сломается, если изменить это?» при каждой правке — без десятков вызовов инструментов для понимания контекста.

  • Ноль внешних зависимостей — единый бинарный файл, всё работает внутри процесса. Ни сети, ни загрузки моделей для старта. Установил — запустил демон — используй.

  • Интеграции с агентами (20) — gortex init настраивает каждый обнаруженный на машине ассистент для написания кода → docs/agents.md.

  • 100+ MCP-инструментов, 16 ресурсов, 3 промпта — поиск символов, цепочки вызовов, радиус поражения, потоки данных, обнаружение дублей, рефакторинг, действия с кодом → docs/mcp.md.

  • Семантический поиск включён по умолчанию — встроенный GloVe-50d (3,8 МБ), нативный для хранилища FTS5/BM25 + векторный поиск с адаптивным alpha-слиянием, без зависимостей; опциональная поддержка MiniLM / Ollama / OpenAI → docs/semantic-search.md.

  • Спекулятивное выполнение — preview_edit / simulate_chain отвечают на вопрос «что изменилось бы, если бы я применил этот WorkspaceEdit?» без записи на диск.

  • Живые оверлеи редактора — передавайте несохранённые буферы как теневой граф; инструменты читают сквозь него. Ветвление для параллельных спекулятивных сессий.

  • Формат GCX1 — опубликован, поддерживает обратное преобразование (round-trippable). Дополнительно −27% токенов по сравнению с JSON при той же точности → docs/wire-format.md.

  • Долгоживущий демон — один процесс обслуживает каждое окно IDE; живой fsnotify, хранилище графа на диске в SQLite, инкрементальный перезапуск, управление жизненным циклом средствами ОС.

  • 10 провайдеров LLM (опционально) — локальный llama.cpp, Anthropic, OpenAI, Ollama, Claude / Codex CLI subprocess, Gemini, Bedrock, DeepSeek, Requesty → docs/llm.md.

  • Составная безопасность — verify_change, check_guards, audit_agent_config обнаруживают сломанных вызывающих, нарушения охранных условий и устаревшую документацию до попадания в продакшн.

  • Ревью пул-реквестов — от и до — gortex prs сортирует открытые PR (радиус поражения для каждого PR, конфликты порядка слияния через общие сообщества, очередь по приоритету от ИИ, предложения ревьюеров); gortex review выдаёт замечания с привязкой к строкам и вердикт BLOCK/REVIEW/APPROVE на основе пакета правил, подкреплённого графом; MCP-инструменты (pr_risk, get_pr_impact, review, review_pack, post_review и др.) раскрывают это агентам → docs/cli.md.

  • HTTP-сервер + веб-интерфейс — версионированный API /v1/* + MCP 2026 Streamable HTTP; автономный Next.js 15 UI с пятью режимами 3D-графа → docs/server.md.

  • Телеметрия отключена по умолчанию — опциональные анонимные счётчики инструментов/команд (без кода, путей, имён и точных значений); ничего не передаётся, пока вы не настроите эндпоинт. gortex telemetry on|off|status; соблюдает DO_NOT_TRACK → docs/telemetry.md.

Полный каталог функций: docs/features.md. Полный справочник CLI: docs/cli.md.

Установка

# macOS / Linux
curl -fsSL https://get.gortex.dev | sh

# Windows (PowerShell)
irm https://get.gortex.dev/install.ps1 | iex

Автоматически определяет ОС и архитектуру, проверяет SHA256 + cosign, устанавливает в PATH. Повторный запуск выполняет обновление. Homebrew, .deb / .rpm / .apk, scoop, подписанные бинарные файлы и сборка из исходников: docs/installation.md.

Быстрый старт

gortex install                          # однократная настройка машины (MCP, навыки, slash-команды)
gortex daemon start --detach            # фоновый демон
gortex track ~/projects/myapp           # добавить репозиторий
cd ~/projects/myapp && gortex init      # для репозитория: .mcp.json, хуки, маршрутизация по сообществам

Теперь ваш ИИ-ассистент использует граф-запросы. Полное пошаговое руководство на 15 минут: docs/onboarding.md.

Кросс-репозиторные API-контракты

Gortex автоматически обнаруживает API-контракты между репозиториями и сопоставляет провайдеров с потребителями — через MCP-инструмент contracts и страницу Contracts в веб-интерфейсе.

Тип контракта Обнаружение Провайдер Потребитель

HTTP-маршруты

Аннотации фреймворков (gin, Express, FastAPI, Spring, …)

Обработчик маршрута

Вызовы HTTP-клиента (fetch, http.Get)

gRPC

Определения сервисов в proto-файлах

Service RPC

Вызовы клиентских стабов

GraphQL

Определения типов/полей схемы

Схема

Строки запросов/мутаций

Message topics

Kafka / RabbitMQ / NATS / Redis pub/sub

Вызовы публикации

Вызовы подписки

WebSocket

Паттерны emit/listen событий

emit()

on()

Переменные окружения

os.Getenv, process.env, файлы .env

Setenv / .env

Getenv / process.env

OpenAPI

Файлы спецификаций Swagger / OpenAPI

Пути спецификации

(связаны с HTTP-маршрутами)

Temporal workflows

Аннотации Go / Java SDK

Activity / функция workflow

ExecuteActivity / ExecuteChildWorkflow

Контракты нормализуются до канонических идентификаторов (например, http::GET::/api/users/{id}) и сопоставляются между репозиториями для выявления осиротевших провайдеров/потребителей и несоответствий. См. docs/contracts.md.

Масштаб — испытано на крупных репозиториях

Измерено на ноутбуке с Apple Silicon при сборке CGO по умолчанию.

Репозиторий Файлы Узлы Рёбра Время индексации Пропускная способность Пиковая куча

torvalds/linux

70 333

1 690 174

6 239 570

~3 мин

300 файл/с

5,07 ГБ

microsoft/vscode

10 762

204 501

808 902

~1 мин

143 файл/с

580 МБ

zzet/gortex (сам)

430

5 583

53 830

3,4 с

127 файл/с

52 МБ

Разбор (парсинг) занимает 65–80 % стенового времени; разрешение ссылок и построение поискового индекса масштабируются сублинейно.

Дашборд экономии токенов

gortex savings сообщает о сэкономленных токенах по сравнению с наивным чтением файлов — на каждый вызов, на сессию и в совокупности с учётом перезапусков, с пересчётом в доллары по цене заголовочной модели.

Gortex Token Savings
====================
Cost avoided:   $168.69 (claude-opus-4) across 1,878 calls · 11,246,094 tokens saved

Today       ████████░░░░░░░░   50.0%  saved 9,200 / 18,400 tokens   $0.14
Last 7 days ██████████░░░░░░   62.5%  saved 60,100 / 96,200 tokens  $0.90
All time    ███████████████░   93.3%  saved 11,246,094 / 12,050,716 tokens  $168.69

--verbose добавляет разбивку по инструментам; --json выдаёт машиночитаемый формат. Полный справочник: docs/savings.md.

Архитектура

gortex binary
  CLI (cobra)    ──> MultiIndexer ──> Graph store (SQLite, shared, per-repo indexed)
  MCP (stdio)    ──────────────────> Query Engine (repo/project/ref scoping)
  HTTP /v1/*     ──────────────────> same tools + /v1/graph + /v1/events (SSE)
  Daemon (unix)  ──────────────────> shared graph for every MCP client, session isolation
                  MultiWatcher    <── filesystem events (fsnotify, per-repo)
                  CrossRepoResolver ──> cross-repo edge creation (type-aware)
                  Persistence     ──> the same SQLite store, written as it indexes

Потоки данных, схема графа (типы узлов и рёбер, поля для нескольких репозиториев, таксономия тестов), модель персистентности: docs/architecture.md.

Документация

Тема Ссылка

Пошаговое введение

onboarding.md

Установка и верификация цепочки поставок

installation.md

Полный каталог функций

features.md

Справочник CLI

cli.md

MCP-инструменты, ресурсы, промпты

mcp.md

Рабочие пространства из нескольких репозиториев

multi-repo.md

HTTP-сервер + веб-интерфейс + транспорт MCP 2026

server.md

Кросс-репозиторные API-контракты

contracts.md

Семантический поиск

semantic-search.md

Опциональные функции LLM

llm.md

Интеграция с LSP

lsp.md

Навыки по сообществам и использование агентами

skills.md

Адаптеры ИИ-агентов (20)

agents.md

Поддерживаемые языки (257)

languages.md

Экономия токенов

savings.md

Формат GCX1

wire-format.md

Архитектура и схема графа

architecture.md

Методология оценки

04-evaluation/

Телеметрия и конфиденциальность

telemetry.md

Политика версионирования

versioning.md

Сборка из исходников

make build          # бинарный файл с проставлением версии
make test           # go test -race ./...
make lint           # golangci-lint

Требуется Go 1.26+ и CGO (для C-привязок tree-sitter).

Лицензия

Apache License 2.0. См. LICENSE.md. Copyright 2024–2026 Andrey Kumanyaev <me@zzet.org>.

Участие в разработке

Руководство по добавлению функций, экстракторов языков и отправке PR: CONTRIBUTING.md.

Новым участникам здесь рады — присоединяйтесь на Discord и представьтесь. Это самое удобное место, чтобы задать вопросы, проверить, не работает ли уже кто-то над задачей, и получить обратную связь по дизайну до написания кода.

© 2026 meganuke