Высокопроизводительный движок анализа кода для ИИ-агентов и 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. |
Почему это важно
-
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-клиента ( |
gRPC |
Определения сервисов в proto-файлах |
Service RPC |
Вызовы клиентских стабов |
GraphQL |
Определения типов/полей схемы |
Схема |
Строки запросов/мутаций |
Message topics |
Kafka / RabbitMQ / NATS / Redis pub/sub |
Вызовы публикации |
Вызовы подписки |
WebSocket |
Паттерны emit/listen событий |
|
|
Переменные окружения |
|
|
|
OpenAPI |
Файлы спецификаций Swagger / OpenAPI |
Пути спецификации |
(связаны с HTTP-маршрутами) |
Temporal workflows |
Аннотации Go / Java SDK |
Activity / функция workflow |
|
Контракты нормализуются до канонических идентификаторов (например, http::GET::/api/users/{id}) и сопоставляются между репозиториями для выявления осиротевших провайдеров/потребителей и несоответствий. См. docs/contracts.md.
Масштаб — испытано на крупных репозиториях
Измерено на ноутбуке с Apple Silicon при сборке CGO по умолчанию.
| Репозиторий | Файлы | Узлы | Рёбра | Время индексации | Пропускная способность | Пиковая куча |
|---|---|---|---|---|---|---|
70 333 |
1 690 174 |
6 239 570 |
~3 мин |
300 файл/с |
5,07 ГБ |
|
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.
Документация
| Тема | Ссылка |
|---|---|
Пошаговое введение |
|
Установка и верификация цепочки поставок |
|
Полный каталог функций |
|
Справочник CLI |
|
MCP-инструменты, ресурсы, промпты |
|
Рабочие пространства из нескольких репозиториев |
|
HTTP-сервер + веб-интерфейс + транспорт MCP 2026 |
|
Кросс-репозиторные API-контракты |
|
Семантический поиск |
|
Опциональные функции LLM |
|
Интеграция с LSP |
|
Навыки по сообществам и использование агентами |
|
Адаптеры ИИ-агентов (20) |
|
Поддерживаемые языки (257) |
|
Экономия токенов |
|
Формат GCX1 |
|
Архитектура и схема графа |
|
Методология оценки |
|
Телеметрия и конфиденциальность |
|
Политика версионирования |
Сборка из исходников
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 и представьтесь. Это самое удобное место, чтобы задать вопросы, проверить, не работает ли уже кто-то над задачей, и получить обратную связь по дизайну до написания кода.