Запись архива

GoatCode v2.1.10: терминальный AI-агент с автоматическим переключением провайдеров и кэшированием промптов

Вышел GoatCode v2.1.10 — open-source терминальный AI-агент, который умеет переключать LLM-провайдера прямо во время сессии при падении квоты, не теряя контекст. Поддержка 180+ провайдеров, параллельные сабагенты, кэширование промптов Anthropic с экономией до 90%.

Интерфейс терминального AI-агента GoatCode в тёмной теме
Интерфейс терминального AI-агента GoatCode в тёмной теме
President of the United States Donald J. Trump at CPAC 2017 February 24th 2017 by, Michael Vadon 01.jpg | by Michael Vadon | wikimedia_commons | CC BY-SA 4.0

Выпущена версия 2.1.10 GoatCode — open-source терминального AI-агента, работающего как единый бинарник размером 85 МБ. Проект предлагает нестандартный для консольных ассистентов подход: встроенный механизм отказоустойчивости по провайдерам, который позволяет сессии выживать при исчерпании квоты.

Что произошло

Релиз опубликован в репозитории на GitHub (Arhan-w/GoatCode) и доступен через npm или в виде статического бинарника. Заявлена поддержка 180+ LLM-провайдеров, включая возможность подключения существующих подписок Claude, ChatGPT, Gemini и Copilot через OAuth. Ключевое нововведение — автоматический failover между провайдерами: если во время сессии заканчивается квота у текущего сервиса, GoatCode не падает с ошибкой, а переключается на запасного провайдера из цепочки, предупреждает пользователя и продолжает формировать ответ с того же места. Контекст не теряется.

Основные изменения в версии 2.1.10

Кэширование промптов Anthropic. Встроенная поддержка механизма prompt caching от Anthropic. Разработчик утверждает, что на длинных сессиях это даёт экономию до 90% — данные о сэкономленных средствах выводятся командой /cost. Экономия достигается за счёт того, что повторно используемые части промпта не тарифицируются при каждом запросе.

Inline unified diffs. После каждого действия по записи или редактированию файлов агент показывает унифицированный diff встроенно, без внешних утилит.

/rewind. Команда, позволяющая откатить транскрипт и файлы к любому предыдущему шагу сессии. Полезно при экспериментировании с промптами или когда агент сделал нежелательные изменения.

Параллельные сабагенты. До трёх задач могут выполняться конкурентно — агент разветвляет вызовы, а затем сводит результаты. Работает в рамках одной сессии.

Поиск по сессиям. Команды /search и goat search обеспечивают полнотекстовый поиск по всем сохранённым сессиям.

Tab-completion для @file и псевдонимы для моделей (например, /model sonnet).

True context meter. Отображение реального расхода API-токенов относительно окна модели, а не оценочных значений.

GOAT MODE. Режим, который, по утверждению автора, действительно работает: позволяет выполнять действия, обычно блокируемые ограничениями модели (mid-turn switch и принудительное подтверждение промпта). Разработчик подчёркивает, что это bypass, и его следует использовать осознанно.

Noir theme. Новая тёмная тема в глубоких сланцево-чёрных тонах с зелёными акцентами.

Как это работает

GoatCode представляет собой единый исполняемый файл, не требующий установки зависимостей. После запуска пользователь настраивает цепочку провайдеров (fallback chain). В обычном режиме агент использует первичного провайдера. При ошибке квоты или таймауте он автоматически переходит к следующему в цепочке — прямо посередине генерации ответа. Агент сообщает о переключении в консоли.

Параллельные сабагенты работают в рамках одного контекста: агент может отправить три разных подзапроса к модели одновременно (например, на анализ трёх файлов), а затем собрать результаты. Команда /rewind позволяет «отмотать» сессию до любой точки, при этом восстанавливается не только лог диалога, но и состояние файлов на тот момент.

Практические ограничения

Несмотря на впечатляющий набор функций, стоит учитывать несколько моментов. GoatCode — open-source проект, и его надёжность в production-сценариях не подтверждена независимыми тестами. Механизм failover зависит от корректного распознавания ошибок квоты каждым конкретным провайдером — API разных сервисов возвращают ошибки по-разному. Кэширование Anthropic работает только с моделями этой компании. Параллельные сабагенты увеличивают суммарный расход токенов, так как каждый подзапрос потребляет контекст. GOAT MODE — это намеренный обход ограничений модели, что может нарушать условия использования некоторых провайдеров.

Установка

npm install -g goatcode-cli или загрузка статического бинарника со страницы релизов.

Источники

Репозиторий проекта: https://github.com/Arhan-w/GoatCode
Лендинг: https://goatcode.vercel.app
Обсуждение на Hacker News: https://news.ycombinator.com/item?id=49670455
Документация Anthropic по кэшированию промптов: https://www.anthropic.com/news