Gortex: что изменилось и как сравнивать с альтернативами
За неделю произошло многое. Когда я писал первую статью про Gortex, было 33 языка и 48 MCP-инструментов. Сейчас — 92 языка и 44 инструмента (некоторые объединили), плюс режим демона, компактный формат передачи данных, уровни точности рёбер через LSP и трекер стоимости, который показывает, сколько долларов вы сэкономили на AI API.
Эта статья — о том, что изменилось, и о честном сравнении с другими инструментами.
Что нового #
92 языка #
Было 33. За несколько дней парсерной работы стало 92. Добавились движки шаблонов (Blade, EJS, Jinja, Twig, ERB, Liquid, Pug, Handlebars), блокчейн-языки (Solidity, Move, Cairo, Noir), научные вычисления (Julia, R, MATLAB, Fortran, COBOL, Ada, Pascal), новые языки (Mojo, Odin, V, Carbon, Gleam), шелл-варианты (PowerShell, Zsh, Fish) и всё остальное.
При 92 языках вопрос «поддерживает ли мой стек» практически снимается для любого неэзотерического проекта.
Режим демона #
Раньше каждое окно редактора запускало свой процесс Gortex. Если у вас одновременно открыты Claude Code и Cursor на одном репозитории — два отдельных индекса. Теперь есть демон:
gortex daemon start --detach
gortex daemon install-service # LaunchAgent на macOS, systemd --user на Linux
Все редакторы подключаются как тонкие stdio-прокси. Один граф — общий для всех инструментов. Демон остаётся запущенным при перезапуске редакторов и следит за изменениями файлов через fsnotify. Переключение веток тоже обрабатывается умно — вместо переиндексации всего при git checkout запускается git diff --name-status и патчатся только изменившиеся файлы.
gortex install и gortex init #
Настройка разделена на два шага. gortex install — один раз на машину, пишет артефакты уровня пользователя: MCP-конфиг, скиллы, слэш-команды, хуки. gortex init — один раз на репозиторий, пишет то, что относится к конкретному проекту: .mcp.json, CLAUDE.md, скилл-файлы по сообществам, блоки маршрутизации во всех обнаруженных файлах инструкций агентов.
Инструкции по использованию инструментов больше не дублируются в каждый репозиторий. Один экземпляр на пользователя.
Формат GCX1 #
MCP-инструменты теперь поддерживают опциональный компактный формат. Передайте format: "gcx" любому из 13 поддерживаемых инструментов — ответ придёт в более компактном виде. Измерено на 20-кейсовом бенчмарке: медиана −27,4% экономии tiktoken по сравнению с JSON, лучший случай −38,3%. Это поверх уже существующего снижения на ~94% от отказа читать файлы целиком. TypeScript-декодер есть на npm: @gortex/wire.
Уровни точности рёбер LSP #
Каждое ребро в графе вызовов теперь несёт поле origin с уровнем уверенности: lsp_resolved, lsp_dispatch, ast_resolved, ast_inferred, text_matched. Только tree-sitter — 70–85% точности разрешения вызовов. LSP-провайдеры (go/types, SCIP) поднимают до 95–100%.
Инструменты get_callers и find_implementations теперь принимают параметр min_tier. Если вы делаете высокорисковый рефакторинг, где пропущенный вызов означает ошибку в рантайме — укажите min_tier: "lsp_resolved" и получите только вызовы, подтверждённые компилятором.
Накопительный учёт стоимости #
gortex savings
Команда показывает, сколько токенов сэкономил Gortex за все сессии, переведённых в реальные доллары по стоимости конкретных моделей (Claude Opus, Sonnet, Haiku, GPT-4o, GPT-4o mini). Данные читаются из ~/.cache/gortex/savings.json, который сохраняется между перезапусками. Токены теперь считаются через tiktoken (cl100k_base) — тот же токенизатор, что используют Claude и GPT-4.
15 IDE-интеграций #
С прошлой статьи добавились шесть агентов: Codex CLI, Gemini CLI, Zed, Aider, Kilo Code, OpenClaw. gortex install и gortex init автоматически определяют все 15 и настраивают только те, что есть на машине.
Безопасность дистрибуции #
Готовые бинарники для linux/amd64, linux/arm64, darwin/amd64, darwin/arm64. Каждый релиз подписан cosign, имеет провенанс SLSA-3 и прошёл проверку VirusTotal. Homebrew-тап: brew install zzet/tap/gortex. Есть пакеты для Debian, RPM и Alpine.
Производительность на больших репозиториях #
Измерения на Apple Silicon:
| Репозиторий | Файлы | Время индексации | Пиковая память |
|---|---|---|---|
| torvalds/linux | 70 333 | ~3 мин | 5,07 GB |
| microsoft/vscode | 10 762 | ~1 мин | 580 MB |
| zzet/gortex | 430 | 3,4 с | 52 MB |
Ядро Linux работает. Большинство проектов значительно меньше.
Как сравнивать с альтернативами #
Есть несколько подходов к тому, как дать AI-агенту контекст о кодовой базе. Честный взгляд на каждый.
repomix #
repomix упаковывает репозиторий в один текстовый файл и помещает его в контекстное окно. Просто, работает с любым AI-инструментом, нулевая настройка.
Хорошо работает для небольших репозиториев и разовых задач. Агент видит всё сразу и может отвечать на вопросы без инструментальных вызовов. Для репозиториев до нескольких тысяч файлов это нередко правильный выбор.
Проблемы появляются с ростом кодовой базы. Упаковать 50 000 файлов в контекст невозможно — вы выйдете за пределы любого контекстного окна и потратите много токенов. Нет помощи для длительных сессий — каждый новый разговор начинается с полной упаковки. Нет графа, нет межрепозиторных запросов, нет обнаружения контрактов, нет режима наблюдения.
repomix для небольших проектов и быстрых задач. Для больших кодовых баз и длительных сессий нужно что-то графовое.
Встроенная индексация Cursor (@codebase) #
Cursor индексирует репозиторий в фоне. Вы задаёте вопросы через @codebase, он достаёт релевантный код. Нулевая настройка, автоматически.
Для обычной повседневной работы этого достаточно. Агент неплохо ориентируется в кодовой базе без дополнительного инструментария.
Ограничения: агент получает результаты поиска, а не запрашиваемый граф с MCP-поверхностью. Он не может делать анализ радиуса взрыва, обнаружение контрактов или анализ мёртвого кода как структурированные вызовы. Нет межрепозиторной поддержки. Нет guard-правил. Нет возможности передать агенту кастомные графовые запросы. Непрозрачно — нельзя увидеть уровень уверенности рёбер или узнать, когда индекс устарел.
Если вы работаете с однообразным однорепозиторным проектом средней сложности — встроенная индексация Cursor может быть достаточной. Если нужна межрепозиторная работа, полиглотный стек или микросервисы с проверкой контрактов — нужно что-то структурированнее.
GitNexus #
GitNexus — инструмент, в ответ на который появился Gortex. Подробности в первой статье.
Коротко: TypeScript, 8 языков, 16 MCP-инструментов, персистентное хранилище LadybugDB, хостируемый веб-проводник. Хостируемый проводник на gitnexus.vercel.app — настоящее преимущество: поделиться графом можно без какой-либо локальной настройки.
| GitNexus | Gortex | |
|---|---|---|
| Языки | 8 | 92 |
| MCP-инструменты | 16 | 44 |
| Хранилище | Персистентное (LadybugDB) | In-memory + снимок на диске |
| IDE-интеграции | — | 15 |
| Встроенное редактирование | — | Есть |
| Обнаружение контрактов | — | Есть |
| Точность рёбер LSP | — | Есть |
| Режим демона | — | Есть |
| Хостируемый проводник | Есть | — |
| Только self-hosted | — | Да |
GitNexus проще запустить, если не хочется разворачивать инфраструктуру. Если нужно языковое покрытие, поверхность инструментов или мультирепозиторная поддержка — Gortex покрывает больше.
Sourcegraph / Cody #
Sourcegraph проверен в продакшене на корпоративном масштабе — крупные организации со сотнями репозиториев, сложным управлением доступом, выделенной поисковой инфраструктурой. Cody — их AI-ассистент поверх.
Философия разная. Sourcegraph создан для людей, просматривающих код. Поиск, веб-интерфейс, навигация — всё оптимизировано под разработчика, читающего код в браузере. Эффективность токенов для агентов — не основная цель.
Gortex создан специально для AI-агентов: MCP-поверхность для инструментов, ответы оптимизированы по количеству токенов, guard-правила для предотвращения ошибок агента, анализ радиуса взрыва. SaaS-варианта у Gortex нет — вы запускаете его сами, всё остаётся локально, код не покидает машину.
В крупной организации с нуждой в хостируемой инфраструктуре, SSO и корпоративном поиске для людей — Sourcegraph правильный выбор. Для разработчика, которому нужен оптимизированный для агентов граф кода на ноутбуке — Gortex.
Честная оценка #
Когда Gortex не подходит:
- Маленький проект. До нескольких тысяч файлов repomix или встроенная индексация Cursor обычно достаточна.
- Хотите нулевую настройку.
gortex installиgortex initзанимают около десяти минут — это всё равно десять минут. - Нужен hosted-вариант. Gortex сейчас только self-hosted — но поддержка hosted-режима стоит в приоритетном роадмапе. Проверьте актуальный статус на github.com/zzet/gortex, когда будете читать эту статью.
- Крупная корпорация с требованиями compliance. Gortex серьёзно относится к безопасности цепочки поставок — каждый релиз подписан cosign с провенансом SLSA-3, и вы можете убедиться, что бинарник не был подменён. Но управление доступом, аудит-логи и коммерческие контракты поддержки пока отсутствуют. Если это стоппер при оценке Gortex для вашей организации — пишите напрямую на [email protected].
Когда Gortex стоит потраченного времени на настройку:
Экономия токенов реальна. Вот вывод
gortex savingsиз моего использования за одну неделю — и не самую отлаженную: первые сессии ещё настраивались:Calls counted: 599 Tokens returned: 219,720 Tokens saved: 2,979,097 Efficiency: 14.6x Cost avoided (tokens saved × input-price, USD): claude-haiku-4.5 $2.98 claude-opus-4 $44.69 claude-sonnet-4 $8.94 gpt-4o $7.45 gpt-4o-mini $0.45599 вызовов инструментов. 2,9 млн сэкономленных токенов. По ценам Opus — это $44 за одну неделю. И не самую оптимальную неделю: первые сессии ещё настраивались. С нормально отлаженной конфигурацией текущая экономия у меня составляет не меньше $50–60 в неделю — что на фоне $200 в месяц за подписку Claude является заметным вкладом. И это ещё без учёта сохранения контекстного окна: меньше потраченных токенов за сессию означает более длинные и связные сессии до достижения лимита. Для тех, кто работает на плане с ограничениями использования, это важно в том смысле, в котором деньги не помогут — подписку можно улучшить, но час ожидания, пока лимит сбросится, не купишь ни за какие деньги.
Полиглотный стек. 92 языка означают, что весь проект виден — Go-сервисы, Ruby-скрипты, HCL-инфраструктура, Protobuf-схемы — всё в одном графе. Большинство инструментов покрывают восемь языков и игнорируют остальное.
Несколько репозиториев. Вы работаете над бэкендом, фронтендом и общей библиотекой. В мультирепо-режиме анализ радиуса взрыва охватывает все три. Обнаружение контрактов находит места, где маршруты Go API не совпадают с тем, что ожидает TypeScript-клиент — через границы репозиториев.
Большие кодовые базы. Ядро Linux индексируется примерно за 3 минуты при 70К файлах. VSCode — за 1 минуту. Инкрементальные перезапуски после этого занимают ~200 мс.
Встроенное редактирование без чтения файлов.
edit_symbolиrename_symbolпозволяют агенту патчить код напрямую по ID символа. Никакого цикла «прочитать → найти → переписать весь файл». Это существенно сокращает количество инструментальных вызовов при многофайловых рефакторингах.Guard-правила. Вы определяете границы зависимостей в
.gortex.yaml. Агент не сможет случайно импортировать инфраструктурный код в доменный пакет без предупреждения до ревью. Полезно для любой кодовой базы, где важна архитектурная дисциплина.Конфигурация агента, которой можно доверять.
audit_agent_configпроверяетCLAUDE.md,AGENTS.md,.cursor/rulesи аналогичные файлы против живого графа — находит устаревшие ссылки на символы и несуществующие пути, которые накапливаются по мере развития кода. Больше никто этого не делает.Несколько членов команды на разных редакторах. Один демон, один граф, 15 агентов настраиваются двумя командами. Все в команде — будь то Claude Code, Cursor, Kiro или Copilot — работают против одного и того же индекса.
Высокорисковые рефакторинги. Рёбра, обогащённые через LSP, несут уровни уверенности. Отфильтруйте
get_callersдоmin_tier: "lsp_resolved", когда нужны результаты, подтверждённые компилятором, а не эвристические совпадения. Точность разрешения вызовов 95–100% вместо 70–85%.
brew install zzet/tap/gortex # macOS
gortex install # один раз на машину
gortex init # один раз на репозиторий (опционально)