Как подключиться

Установка и подключение Claude Code, Codex CLI, OpenCode или любого OpenAI/Anthropic-совместимого SDK.

Zed

Zed подключает модели через два разных провайдера: openai_compatible для GPT, Gemini, Grok и DeepSeek, и anthropic_compatible для Claude. Оба берут api_url из настроек, ключ — один и тот же vk-. Ставить ничего не нужно, всё правится в settings.json.

·

Открыть настройки: Ctrl/Cmd+Shift+Pzed: open settings (файл settings.json), либо agent: open settings — панель, где вводится ключ.

A

GPT / Gemini / Grok / DeepSeek — блок openai_compatible. Имя провайдера (vibecode) — твоё, оно же задаёт имя переменной окружения для ключа.

{
  "language_models": {
    "openai_compatible": {
      "vibecode": {
        "api_url": "https://vibecode.moe/v1",
        "available_models": [
          {
            "name": "gpt-6-astra",
            "display_name": "GPT 6 Astra",
            "max_tokens": 272000,
            "max_completion_tokens": 32000,
            "reasoning_effort": "medium",
            "capabilities": { "tools": true, "images": true, "prompt_cache_key": true }
          },
          {
            "name": "gpt-5.5",
            "display_name": "GPT 5.5",
            "max_tokens": 272000,
            "max_completion_tokens": 32000,
            "capabilities": { "tools": true, "images": true, "prompt_cache_key": true }
          },
          {
            "name": "gemini-3.1-pro-preview",
            "display_name": "Gemini 3.1 Pro",
            "max_tokens": 1000000,
            "max_completion_tokens": 32000,
            "capabilities": { "tools": true, "images": true }
          },
          {
            "name": "grok-4-6",
            "display_name": "Grok 4.6",
            "max_tokens": 256000,
            "max_completion_tokens": 32000,
            "capabilities": { "tools": true }
          }
        ]
      }
    }
  }
}

Не пропусти capabilities. В Zed tools, images и prompt_cache_key по умолчанию false — без явного "tools": true агент не сможет читать и править файлы, и модель будет только разговаривать. prompt_cache_key включает кэш промпта на GPT-моделях: без него каждый запрос считается как холодный.

B

Claude — отдельный блок anthropic_compatible: Claude-модели говорят на своём протоколе и через openai_compatible не подключатся (вернётся ошибка «only available via /v1/messages»). Обрати внимание: тут api_url без /v1 — Zed допишет путь сам.

{
  "language_models": {
    "anthropic_compatible": {
      "vibecode-claude": {
        "api_url": "https://vibecode.moe",
        "available_models": [
          {
            "name": "claude-opus-5",
            "display_name": "Claude Opus 5",
            "max_tokens": 200000,
            "max_output_tokens": 32000,
            "capabilities": { "tools": true, "images": true, "prompt_caching": true }
          },
          {
            "name": "claude-sonnet-5",
            "display_name": "Claude Sonnet 5",
            "max_tokens": 200000,
            "max_output_tokens": 32000,
            "capabilities": { "tools": true, "images": true, "prompt_caching": true }
          }
        ]
      }
    }
  }
}
C

Ключ — в settings.json его класть не нужно и не следует. Два рабочих способа:

  • Через интерфейс: agent: open settingsLLM Providers → свой провайдер → вставить vk-YOUR-KEY. Zed кладёт его в системный keychain.
  • Через переменную окружения: имя выводится из имени провайдера в верхнем регистре — для vibecode это VIBECODE_API_KEY, для vibecode-claudeVIBECODE_CLAUDE_API_KEY. Непустая переменная имеет приоритет над keychain.

Переменную Zed читает из окружения, в котором он запущен — на macOS запуск из Dock не видит того, что прописано в ~/.zshrc. Если ключ «не подхватывается», это почти всегда оно: проще ввести через интерфейс.

D

Выбрать модель — открой Agent Panel (Ctrl/Cmd+?) и выбери модель в списке внизу: она будет подписана именем провайдера. Полный список доступных name — на странице моделей, они же отдаются по GET https://vibecode.moe/v1/models.

·

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

  • Модель не появилась в спискеsettings.json не перечитан или в нём синтаксическая ошибка: Zed покажет её прямо в редакторе. Проверь, что блок лежит внутри language_models, а не на верхнем уровне.
  • Агент отвечает, но не трогает файлы — не задан "tools": true в capabilities.
  • 401 — ключ не дошёл: проверь, что он вставлен именно у этого провайдера, и что переменная окружения не перебивает его пустым значением.
  • «only available via /v1/messages» — Claude-модель попала в openai_compatible. Перенеси её в блок B.