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. Альтернатива — команда/connect→ Other → IDmixen→ вставить ключ: он сохранится в локальный 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-flashmode: subagentpermission: 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/models → capabilities.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.