Buff Development
Buff Code

Свои провайдеры и локальные модели

Свой провайдер в Buff Code: OpenRouter, Anthropic, OpenAI, LiteLLM, Ollama, LM Studio. Что уходит в Buff, а что остаётся на машине.

Кроме моделей организации Buff Code работает и с вашими собственными провайдерами: подпиской или ключом API у облачного провайдера, корпоративным прокси вроде LiteLLM или моделью, запущенной на своей машине. Вход в Buff для этого не нужен. Если войти, модели организации видны рядом со своими, и модель выбирается для каждой сессии.

Что уходит в Buff, а что нет

Запрос к своей модели идёт с вашей машины прямо к провайдеру, мимо шлюза коннектора. Заголовков Buff (сессия, клиент, организация, проект) провайдер не получает.

Ходы на своей модели в Buff не попадают. Журнала нет, токенов и списаний тоже. Учёт идёт строго по ходам:

  • Сессия целиком на своей модели в сессиях разработки не появляется.
  • Смешанная сессия (часть ходов на модели Buff, часть на своей) видна, но только ходами Buff. Токены и списания в ней тоже считаются только по ходам Buff.
  • Проекты, настройки и отметки git уходят как обычно, если вы вошли в Buff.

Инструменты Buff — база знаний, репозитории проекта и инструменты подключений — работают и на своей модели, если вы вошли в Buff и выбрали контекст.

Провайдер из каталога

В каталоге — известные провайдеры: Anthropic, OpenAI, Google, OpenRouter, GitHub Copilot, OpenCode Zen и другие. Ключ или вход по подписке хранится только на вашей машине. OpenCode Zen работает с ключом или входом в OpenCode Console: бесплатный уровень OpenCode доступен только в самом OpenCode, поэтому в Buff Code его моделей нет.

  • В окне: «Настройки» → «Провайдеры» → «Подключить» у нужного провайдера или «Показать все». Из окна входа в Buff туда же ведёт «Подключить другой провайдер».
  • В терминальном интерфейсе: команда /connect.
  • В консоли:
buff auth login            # выбрать провайдера из списка
buff auth login openrouter # сразу к нужному
buff auth list             # что подключено
buff auth logout           # отключить

Модели подключённого провайдера появляются в выборе модели (/models, buff models) под его именем, например openrouter/qwen/qwen3-coder.

Свой адрес: LiteLLM, Ollama, LM Studio, vLLM

Сервер, который говорит на языке OpenAI API, подключается блоком provider в конфигурации:

  • у себя, для всех проектов: ~/.config/buff/buffcode.jsonc;
  • в проекте, для всех, кто его откроет: buffcode.json в корне. Ключ туда не кладите, файл уходит в репозиторий.

Прежние файлы opencode.json / opencode.jsonc тоже читаются.

LiteLLM или другой прокси

{
  "provider": {
    "litellm": {
      "name": "LiteLLM",
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://litellm.example.com/v1",
        "apiKey": "{env:LITELLM_API_KEY}"
      },
      "models": {
        "gpt-4.1": { "name": "GPT-4.1 через LiteLLM" },
        "claude-sonnet": { "name": "Claude Sonnet через LiteLLM" }
      }
    }
  }
}

{env:LITELLM_API_KEY} подставит значение переменной окружения, а {file:~/.secrets/litellm} прочитает его из файла. Ключ так не попадает в сам конфиг.

Ollama

{
  "provider": {
    "ollama": {
      "name": "Ollama",
      "npm": "@ai-sdk/openai-compatible",
      "options": { "baseURL": "http://127.0.0.1:11434/v1" },
      "models": { "qwen2.5-coder:14b": { "name": "Qwen 2.5 Coder 14B" } }
    }
  }
}

Имя модели — то, под которым она загружена в Ollama (ollama list).

LM Studio и vLLM

То же самое, другой адрес. LM Studio по умолчанию слушает http://127.0.0.1:1234/v1, vLLM — http://127.0.0.1:8000/v1. Модели называются так, как их отдаёт сервер в /v1/models.

Для агентной работы модель должна уметь вызывать инструменты (tool calling). Без этого она отвечает текстом, но не правит файлы и не запускает команды.

Какая модель выбирается

  • Модель, названная в model конфигурации (например, "model": "ollama/qwen2.5-coder:14b"), выбирается по умолчанию.
  • Иначе — последняя модель, которую вы выбирали.
  • Если вы ещё ничего не выбирали, берётся модель Buff, а без входа в Buff — первая из подключённых.

Для разовой команды модель задаётся флагом:

buff run --model ollama/qwen2.5-coder:14b "объясни этот модуль"

Без входа в Buff и без подключённого провайдера Buff Code скажет, что делать: войти в Buff или подключить свой провайдер.

On this page