opencode или Qwen Code: что выбрать для работы с разными моделями

Оба агента открыты и работают не с одним поставщиком. Разбираем, чем отличаются настройка провайдеров, конфиги, агенты и расход при одном и том же ключе.

5 мин · · сравнение · IDE

opencode vs Qwen Code — вопрос тех, кто хочет терминального агента с открытым кодом и свободой выбора модели. Оба инструмента не привязаны к одному поставщику, оба умеют читать проект, править файлы и запускать команды. Разница в том, как устроены провайдеры, конфигурация и агенты, а расход почти целиком определяется моделью, а не оболочкой. Ниже сравнение по практичным признакам, без разговоров о том, «кто умнее»: качество зависит от модели и вашей задачи.

Сведения об инструментах сверены с их официальной документацией на момент написания; у быстро развивающихся проектов детали меняются, поэтому перед настройкой сверяйтесь с актуальными страницами.

Коротко о каждом

opencode — терминальный агент с интерфейсом TUI. Провайдеры подключаются через AI SDK и каталог Models.dev (в документации заявлено более 75 провайдеров), любой OpenAI-совместимый сервис добавляется как собственный провайдер. Конфигурация лежит в opencode.json: глобально в ~/.config/opencode/, а на уровне проекта — в корне репозитория. Есть встроенные агенты Build и Plan, субагенты General, Explore и Scout, свои агенты задаются в конфиге или markdown-файлах.

Qwen Code — открытый агент от команды Qwen; по README, проект изначально основан на Google Gemini CLI, а позже развивается самостоятельно. Требует Node.js 22+, запускается командой qwen. Поддерживает несколько протоколов (OpenAI, Anthropic, Gemini, Qwen) и сторонних провайдеров, настройки хранятся в ~/.qwen/settings.json, есть субагенты, MCP, интеграции с VS Code, Zed и JetBrains. Название не означает, что он умеет работать только с моделями Qwen.

Сравнение по признакам

ПризнакopencodeQwen Code
ЗапускTUI-интерфейс в терминалекоманда qwen в папке проекта
Подключение провайдера/connect и секция provider в opencode.json/auth и секция modelProviders в settings.json
Протоколычерез AI SDK: OpenAI-совместимый, Anthropic и другиеOpenAI, Anthropic, Gemini, Qwen
Выбор модели в сессии/models/model
АгентыBuild и Plan, субагенты, свои агенты в конфиге или .mdсубагенты, настройки агентов в settings.json
Проектный конфигopencode.json в корне проекта.qwen/settings.json в проекте
Интеграции с редакторамиесть (IDE-режим, подробности в документации)VS Code, Zed, JetBrains
Установкасм. страницу установки на сайте проектаnpm (Node.js 22+), Homebrew или установочный скрипт

Ячейки таблицы описывают наличие функции, а не её качество. Если функция критична для вас, проверьте её на своём проекте.

Как подключить Zukko в каждом

Для обоих понадобится ключ fetch_... из кабинета. Самый короткий путь — OpenAI-совместимый формат с адресом https://api.zukko.pro/v1.

opencode

Добавьте собственного провайдера в opencode.json:

bash
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "zukko": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Zukko",
      "options": {
        "baseURL": "https://api.zukko.pro/v1",
        "apiKey": "{env:ZUKKO_API_KEY}"
      },
      "models": {
        "claude-sonnet-5-5": { "name": "Claude Sonnet 5.5" },
        "gpt-6.1-sol": { "name": "GPT-6.1 Sol" },
        "deepseek-v4.1-flash": { "name": "DeepSeek V4.1 Flash" }
      }
    }
  }
}

Ключ берётся из переменной окружения ZUKKO_API_KEY, чтобы не попасть в git. После запуска откройте /models: модели провайдера появятся в списке. Дополнительно opencode умеет работать с Anthropic-форматом через провайдера anthropic: тогда адрес должен быть https://api.zukko.pro/v1, а не без /v1, иначе запросы уйдут на неверный путь и вернут 404. Пошаговая инструкция есть в документации по opencode и в статье про подключение opencode.

Qwen Code

Быстрый вариант через переменные окружения:

bash
export OPENAI_API_KEY="fetch_ваш_ключ"
export OPENAI_BASE_URL="https://api.zukko.pro/v1"
export OPENAI_MODEL="claude-sonnet-5-5"
cd ~/my-project
qwen

Для постоянной настройки описывайте модели в ~/.qwen/settings.json в секции modelProviders; готовый пример есть в статье про Qwen Code CLI. Если вы хотите использовать Anthropic-протокол в Qwen Code, сначала выясните в его документации, как инструмент формирует адрес (добавляет ли /v1 сам), и только потом задавайте базовый адрес.

Где разница видна в деньгах

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

Пример на 18 октября 2026. Допущение: задача агента суммарно за все шаги отправляет 200 000 токенов входа без кэша и получает 40 000 токенов выхода. Формула: вход × цена входа + выход × цена выхода.

МодельРасчётИтого за задачу
claude-sonnet-5-50,2 × $0,4 + 0,04 × $2$0,16
gpt-6.1-sol0,2 × $0,27 + 0,04 × $1,32$0,107
qwen3.8-max0,2 × $0,088 + 0,04 × $0,238$0,027
deepseek-v4.1-flash0,2 × $0,013 + 0,04 × $0,038$0,004

Разница между моделями здесь — десятки раз; сама оболочка на цену токена не влияет, хотя число шагов и объём контекста у агентов могут отличаться. Одно из реальных отличий в расходах связано с форматом API. Для Claude скидку за кэш даёт Anthropic-формат (/v1/messages), в OpenAI-формате (/v1/chat/completions) весь вход Claude идёт по цене входа. Поэтому на длинных агентных сессиях с Claude стоит выяснить, какой протокол поддерживает ваш агент, и проверить расход в разделе «Использование» кабинета. Подробности — в статье про кэш при /v1/messages и /v1/chat/completions. У моделей GPT кэш виден в обоих форматах.

Не забывайте про контекст: у glm-5.3 и glm-5.3-flash он 128K, а у большинства остальных моделей из таблицы 1M, у Grok 256K. Для агентных сессий это существенно. Актуальные цены и список моделей: GET https://api.zukko.pro/v1/models.

Как выбрать

Ориентиры, не правила:

  • Нужна простая настройка собственного OpenAI-совместимого провайдера и привычный TUI с режимами Plan и Build — начните с opencode.
  • Хотите единый инструмент с несколькими протоколами, интеграциями в VS Code, Zed и JetBrains и вам удобна установка через npm — попробуйте Qwen Code.
  • Уже пользуетесь одним из них и всё устраивает — переходить ради переходов не нужно, ключ и баланс одни и те же.

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

Частые вопросы

Qwen Code работает только с моделями Qwen?

Нет. Он поддерживает OpenAI-совместимые API и другие протоколы, поэтому через шлюз в нём можно использовать Claude, GPT, DeepSeek и GLM. Модели Qwen в каталоге Zukko тоже есть, например qwen3.8-max и qwen3.8-flash.

Можно ли держать оба агента на одном ключе?

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

Какой агент дешевле?

Сами инструменты бесплатны. Стоимость задаётся моделью, размером контекста, который агент возит с собой, и форматом API с точки зрения кэша. Сравнивайте расход двух агентов на одной задаче в разделе «Использование».

Нужна ли подписка на Claude или ChatGPT?

Нет, оба агента работают по API-ключу, оплата идёт за токены с баланса. Пополнение доступно по СБП (комиссия платёжной страницы 8,5% сверху), криптой или картой MasterCard.

zukko

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

за Claude Code & ChatGPT

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