Goose: подключение своего API-провайдера

Goose — агент с открытым исходным кодом и поддержкой расширений. Провайдера в нём можно указать свой.

3 мин · · Обновлено · goose · harness · интеграции

Goose — агент с открытым исходным кодом, работающий в терминале и через расширения. Как и большинство современных харнессов, он не привязан к одному поставщику: провайдера и модель можно указать свои.

Что нужно знать про адрес

Главная развилка при подключении любого агента — формат API. У Goose адрес в обоих случаях указывается без /v1:

  • Anthropic-провайдер — ANTHROPIC_HOST=https://api.zukko.pro, путь /v1/messages Goose дописывает сам
  • OpenAI-провайдер — OPENAI_HOST=https://api.zukko.pro (только корень, без пути) и отдельно OPENAI_BASE_PATH=v1/chat/completions

Перепутаете — получите 404 без объяснений, и это самая частая ошибка при настройке. Для OpenAI-провайдера 404 обычно означает неверный OPENAI_BASE_PATH или лишний /v1 в OPENAI_HOST.

Если не уверены, каким форматом ходит ваш клиент, проверьте оба варианта обычным curl — займёт минуту.

Настройка

Через переменные окружения, для Anthropic-режима:

bash
export GOOSE_PROVIDER=anthropic
export ANTHROPIC_HOST=https://api.zukko.pro
export ANTHROPIC_API_KEY=fetch_ваш_ключ
export GOOSE_MODEL=claude-opus-5-5

Для OpenAI-совместимого режима:

bash
export GOOSE_PROVIDER=openai
export OPENAI_HOST=https://api.zukko.pro
export OPENAI_BASE_PATH=v1/chat/completions
export OPENAI_API_KEY=fetch_ваш_ключ
export GOOSE_MODEL=gpt-5.6-sol

Ключ вида fetch_... берётся в кабинете Zukko. Добавьте переменные в ~/.zshrc или ~/.bashrc, чтобы не задавать их заново каждую сессию.

У Goose есть и собственный файл конфигурации config.yaml — провайдера, адрес и модель можно задать там теми же значениями, а ключ — через переменную окружения или goose configure: ключ, вписанный прямо в config.yaml, Goose игнорирует. goose configure не даёт ввести своё имя модели, поэтому GOOSE_MODEL задавайте переменной, в config.yaml или в goose Desktop.

Выбор модели

Актуальный список всегда доступен запросом:

bash
curl https://api.zukko.pro/v1/models -H "Authorization: Bearer fetch_ваш_ключ"

Модели, которые в данный момент не отвечают, из выдачи убираются — это сделано специально для агентов, чтобы вы не выбрали сломанную наугад и не решили, что лежит весь сервис.

Для агентной работы имеет смысл держать две: сильную на сложные шаги и дешёвую на рутину. claude-opus-5-5 и glm-5.3 — разумная пара, разница в цене втрое ($0.30 против $0.10 за миллион), а в агентном цикле расход идёт в основном на входных токенах. Учтите только, что у GLM контекст 128K, а не 1M.

Расширения и инструменты

Goose умеет расширяться дополнительными инструментами, и для агентной работы это ключевая часть. Важно, чтобы вызовы инструментов доходили до модели и обратно — если между вами и моделью стоит посредник, он обязан переводить их корректно.

Проверяется одним запросом: отправьте задачу с описанием инструмента и убедитесь, что в ответе приходит вызов, а не текст вида «я не могу выполнить команду, сделайте это сами». Подробный разбор — в статье про агента, который не видит файлы.

Если не работает

401. Ключ не подставился или скопирован не полностью. Проверьте пробел в конце — при копировании он появляется регулярно.

404. Почти всегда /v1 в ANTHROPIC_HOST или OPENAI_HOST, где его быть не должно, либо неверный OPENAI_BASE_PATH (нужен v1/chat/completions).

Пустой ответ или очень долгое ожидание. Некоторые модели тратят токены на внутреннее рассуждение перед ответом. При маленьком лимите они не успевают дойти до текста. Поднимите max_tokens до нескольких тысяч.

Модель отвечает текстом вместо действий. Проверьте, что инструменты включены в настройках самого Goose и что выбранная модель поддерживает их вызов.

zukko

Платите в 25×
меньше

за Claude Code & ChatGPT

Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.