Перейти к содержимому
EN

OpenCode

Подключите OpenCode к Mixen — оплата с баланса в рублях, терминальный агент с каталогом из 105+ моделей.

Окно терминала
npm install -g opencode-ai

Либо через Homebrew (macOS/Linux):

Окно терминала
brew install anomalyco/tap/opencode

Создайте opencode.json в корне проекта (или глобально — ~/.config/opencode/opencode.json):

{
"$schema": "https://opencode.ai/config.json",
"provider": {
"mixen": {
"npm": "@ai-sdk/openai-compatible",
"name": "Mixen AI",
"options": {
"baseURL": "https://api.mixen.ai/v1",
"apiKey": "{env:MIXEN_API_KEY}"
},
"models": {
"gpt-5.6-sol": { "name": "GPT-5.6 Sol", "id": "openai/gpt-5.6-sol" },
"claude-opus-5": { "name": "Claude Opus 5", "id": "anthropic/claude-opus-5" },
"glm-5.3": { "name": "GLM 5.3", "id": "z-ai/glm-5.3" },
"glm-5.3-flash": {
"name": "GLM 5.3 Flash",
"id": "z-ai/glm-5.3-flash",
"tool_call": true
}
}
}
},
"model": "mixen/gpt-5.6-sol"
}

Ключевые моменты:

  • npm: "@ai-sdk/openai-compatible" — драйвер для протокола /v1/chat/completions, на котором говорит Mixen.
  • Ключ в models — короткое имя для пикера OpenCode, а свойство id — идентификатор, который реально уйдёт в API. ID Mixen содержат слэш (openai/gpt-5.6-sol), поэтому прячем его в id, а в поле model ссылаемся на ключ: mixen/gpt-5.6-sol.
  • У модели в models можно уточнить свойства: "tool_call": true — поддержка вызова инструментов (важно для агентной работы), "reasoning": true — модель с рассуждением; допустимые имена свойств перечислены в схеме config.json.
  • {env:MIXEN_API_KEY} подставит ключ из переменной окружения — так он не попадёт в конфиг, лежащий в git. Альтернатива — команда /connectOther → ID mixen → вставить ключ: он сохранится в локальный auth-файл и подхватится по совпадению ID провайдера.

Переменная окружения с ключом (mxn-… выпускается в кабинете):

Окно терминала
export MIXEN_API_KEY="ваш-api-ключ" # добавить в ~/.bashrc или ~/.zshrc для постоянства
Окно терминала
opencode

Модель по умолчанию берётся из поля model; внутри сессии её можно сменить командой /models.

У OpenCode два режима работы, переключаются клавишей Tab (индикатор в правом нижнем углу):

  • Build — основной режим: агент правит файлы и запускает команды;
  • Plan — агент только анализирует и предлагает план изменений, не трогая проект. Удобно прогонять сложную задачу сначала через Plan, а потом повторить её в Build.

Для типовых задач есть сабагенты — они вызываются из основного агента или вручную через @: @general для многошагового исследования, @explore — быстрый read-only обход кодовой базы, @scout — read-only разбор внешних доков и зависимостей. Свои роли добавляются файлами в .opencode/agents/ (проект) или ~/.config/opencode/agents/ (глобально) — имя файла становится именем агента. Пример .opencode/agents/review.md:

---
description: Ревью изменений перед коммитом
model: mixen/glm-5.3-flash
mode: subagent
permission:
edit: deny
bash: ask
---
Ты — строгий ревьюер. Проверь изменения на: утечки секретов,
сломанную обработку ошибок, неочевидные имена. Отвечай списком
находок с файлом и строкой; если проблем нет — так и скажи.
  • model: mixen/glm-5.3-flash — у каждого агента может быть своя модель; сабагенты по умолчанию наследуют модель вызвавшего.
  • permission разрешает или запрещает инструменты (edit, bash, webfetch и другие; уровни allow / ask / deny, поддерживаются шаблоны вида "git push": "ask").
  • Тело файла после frontmatter — системный промпт агента.
Команда Что делает
/models Сменить модель внутри сессии
/connect Ключ провайдера в локальный auth-файл
/init Создать AGENTS.md в корне проекта — правила для агента
/undo, /redo Откатить и вернуть изменения агента
/share Ссылка на текущую беседу (по умолчанию беседы не шарятся)

Вводом @ вызывается fuzzy-поиск по файлам проекта — картинку в контекст можно перетащить в терминал мышью.

Агентная сессия — это десятки ходов с одним и тем же растущим префиксом: правила, прочитанные файлы, история правок. Такой префикс отлично ложится в промпт-кэш:

  • повторный контекст в течение 5 минут считается по ~10% цены входа (у claude-sonnet-5 — 21.4 ₽ за 1M вместо 213.9 ₽, у glm-5.3-flash — 1.7 ₽), и каждое попадание продлевает окно ещё на 5 минут — плотная сессия живёт в кэше от начала до конца;
  • пауза дольше 5 минут обнуляет кэш: следующий ход заплатит полную цену входа, дальше скидка снова накапливается;
  • не редактируйте AGENTS.md и правила посреди сессии — изменение префикса сбрасывает кэш.

Типовая раскладка ролей:

Роль Модель Цена за 1M токенов
Основной агент: правки, сложные задачи anthropic/claude-sonnet-5 213.9 / 1069.5 ₽
Сабагенты: ревью, поиск, разбор доков z-ai/glm-5.3-flash 8.4 ₽ вход / 27.9 ₽ выход

Так рутину сабагентов выполняет дешёвая модель, а решения принимает флагман. Глубина рассуждения при прямых вызовах API регулируется reasoning_effort (от off до max; уровни конкретной модели — в GET /v1/modelscapabilities.reasoning_efforts), учитывайте, что рассуждение расходует бюджет ответа.

Модель ID
GPT-5.6 Sol openai/gpt-5.6-sol
Claude Opus 5 anthropic/claude-opus-5
GLM 5.3 z-ai/glm-5.3
DeepSeek V4 Pro deepseek/deepseek-v4-pro
Kimi K3 moonshotai/kimi-k3

Актуальный список — в каталоге. Добавьте нужные модели в секцию models конфига по образцу выше.

  • 401 / Invalid API Key — переменная MIXEN_API_KEY не задана в сессии, где запущен OpenCode (проверьте echo $MIXEN_API_KEY), либо ключ скопирован не целиком.
  • Модель не находится — поле model собирается как mixen/<ключ из models>; ключ — короткое имя без слэша, слэш остаётся внутри id.
  • Запросы уходят другому провайдеру — выбрана модель не из mixen/*: смените её командой /models или задайте поле model в конфиге.
  • Агент не вызывает инструменты — работа с файлами и командами зависит от поддержки tool calling конкретной моделью; попробуйте другую из каталога и добавьте ей "tool_call": true в конфиге.
  • Plan-режим не вносит правки — это ожидаемо: Plan только предлагает изменения; для применения переключитесь в Build клавишей Tab.