OpenCode · CLI · MCP · skills
Как установить OpenCode и настроить CLI-агента с MCP и skills
Пошагово: install, провайдер, AGENTS.md, MCP в opencode.json и skills — открытый CLI-агент под вайбкодинг и контент-завод
Канал в TelegramOpenCode — открытый ИИ-агент для кода и задач в проекте: терминал, desktop и расширение IDE. Актуальная линия на дату материала — 1.18.x (релиз 1.18.4), на GitHub у проекта порядка 189 тысяч звёзд.
Главное отличие — без vendor lock-in: Zen, свои ключи, локальные модели. Конфиг рядом с кодом: AGENTS.md, opencode.json, skills и MCP. Cursor остаётся редактором, OpenCode — агентом в репозитории с жёсткими правилами.
Зачем CLI-агент OpenCode, если уже есть Cursor и Claude Code
OpenCode — это открытый ИИ-агент для кода и задач в проекте. Он работает в терминале, есть desktop-приложение и расширение для IDE. На дату материала актуальная версия — 1.18.4. Репозиторий на GitHub у проекта уже порядка 189 тысяч звёзд: продукт не «игрушка на вечер», а рабочий инструмент.
Главное отличие от привычных связок: вы не привязаны к одному вендору модели. Можно подключить OpenCode Zen, свои ключи Anthropic/OpenAI, локальные модели или другие провайдеры. Конфиг живёт рядом с кодом: AGENTS.md, opencode.json, skills и MCP.
Коротко. Cursor удобен как AI-IDE с визуальными diff. Claude Code силён внутри экосистемы Anthropic. Codex хорош для асинхронных задач в облаке. OpenCode — когда нужен терминальный агент без vendor lock-in и полный контроль над MCP, skills и правами.
Это не значит «выкиньте Cursor». Часто связка такая: Cursor — ежедневный редактор, OpenCode — агент в репозитории с жёсткими правилами и публикационными MCP. Для вайбкодинга и контент-завода как раз важна эта связка: агент пишет и правит файлы, а человек утверждает публикацию.
AGENTS.md · opencode.json · SKILL.md · MCP
Что понадобится до первой команды install
Перед установкой соберите минимум, иначе полчаса уйдёт на «команду не найдено».
Нужно:
- Компьютер с доступом в интернет.
- Терминал (на Windows удобнее WSL — так рекомендует документация для полного опыта).
- Аккаунт у провайдера модели или готовность зарегистрироваться в OpenCode Zen.
- Папка проекта, куда вы зайдёте командой
cd(блог, лендинг, репозиторий контента — что угодно).
Не обязательно в первый день: десяток MCP, кастомные subagents, Docker. Сначала — install → модель → /init → один MCP → один skill.
Терминал, Node/npm и PATH — где обычно ломается старт
Терминал — это окно, куда вы вводите команды текстом. OpenCode ставится как программа opencode. Если после install система отвечает command not found, чаще всего бинарник лежит в каталоге, которого нет в PATH.
Маркер: простыми словами. PATH — список папок, где система ищет программы. Если opencode поставили в ~/.opencode/bin, а этой папки нет в PATH, команда «не существует», хотя файл уже скачан.
Node.js и npm нужны не всегда: curl-скрипт ставит бинарник сам. npm-путь (npm install -g opencode-ai) удобен, если Node уже есть. На macOS часто берут Homebrew.
Какой провайдер модели выбрать в первый день
Три рабочих варианта без философии:
| Вариант | Кому подходит | Минус |
|---|---|---|
| OpenCode Zen | Новичок, хочет «просто завести» | Pay-as-you-go за токены, баланс в $ |
| BYOK (свой ключ Anthropic/OpenAI и др.) | Уже платите провайдеру | Ключ и лимиты — на вашей стороне |
| Локальная / бесплатная модель | Эксперимент, черновики | Качество и скорость ниже |
Маркер: простыми словами. BYOK (bring your own key) — вы подключаете свой API-ключ к модели. OpenCode лишь запускает агента; счёт за токены выставляют провайдер или Zen, в зависимости от схемы.
Оплата зарубежных сервисов из России бывает нестабильной (карты, 3-D Secure, VPN). Если Zen или зарубежный API не проходит — используйте тот провайдер, который у вас уже работает, либо локальную модель для отладки пайплайна. Сам CLI OpenCode open-source и ставится без подписки на «коробочный продукт».
Ставим OpenCode: curl, npm, brew и Windows
Ниже — рабочий маршрут. Выберите один способ, не смешивайте три сразу.
Быстрый install с opencode.ai
Откройте терминал
На Windows удобнее WSL — полный опыт ближе к macOS/Linux.
Рекомендуемый способ (macOS / Linux / WSL)
curl -fsSL https://opencode.ai/install | bash
Альтернативы: npm install -g opencode-ai; Homebrew brew install anomalyco/tap/opencode или brew install opencode; Windows — Chocolatey/Scoop/npm; Docker — docker run -it --rm ghcr.io/anomalyco/opencode.
Перед установкой docs советует удалить совсем старые версии младше 0.1.x.
Перезапустите shell
Закройте и снова откройте терминал или выполните source ~/.bashrc / source ~/.zshrc.
Проверьте версию
opencode --version
Ориентир: линия 1.18.x (релиз 1.18.4). Если видите номер — CLI установлен.
Проверка, что CLI реально в PATH
Если версии нет:
- Проверьте, где лежит бинарник. Install-скрипт кладёт его по приоритету:
$OPENCODE_INSTALL_DIR→$XDG_BIN_DIR→$HOME/bin→$HOME/.opencode/bin. - Добавьте нужную папку в PATH и перезапустите shell.
- На Windows без WSL убедитесь, что ставите через choco/scoop/npm и переоткрываете PowerShell от того же пользователя.
Признак успеха: команда opencode открывает интерфейс агента или показывает help, без ошибки «не найдено».
Типичные ошибки новичка:
- Поставили через curl, не перезапустили терминал → «command not found». Решение: новый сеанс shell + проверка PATH.
- Поставили npm-пакет в один Node, а в PATH другой → путаница версий. Решение:
which opencode/where opencodeи один способ установки. - На Windows ждали «как в видео с Mac», без WSL → урезанный опыт. Решение: WSL или choco/scoop по docs.
Официальная точка входа — документация на opencode.ai/docs (ссылки — в блоке источников в конце).
Desktop или CLI — что брать под вайбкодинг
OpenCode бывает в трёх обличьях: TUI в терминале, desktop app, расширение IDE.
| Формат | Когда брать |
|---|---|
| CLI / TUI | Вайбкодинг в репо, скрипты, сервер, SSH, контент-пайплайн рядом с git |
| Desktop | Хотите окна и кнопки, реже заглядываете в терминал |
| IDE-расширение | Уже живёте в редакторе и хотите агента «рядом с файлами» |
Для контент-завода чаще выигрывает CLI: один и тот же opencode.json, те же MCP и skills, удобно повторять на другой машине. Desktop не обязателен, если терминал уже привычен. Если терминал пугает — начните с desktop, а конфиг всё равно держите в проекте.
Практика рядом с гайдом. Разборы автоматизации, MCP, агентов и вайбкодинга — в канале Maya Pro в Telegram. Короткие кейсы без воды, чтобы после install было куда смотреть дальше.
Подключаем модель и не платим «вслепую»
Без модели агент — пустая оболочка. Цель первого вечера: стабильный ответ на простой запрос, а не «самая умная модель любой ценой».
/connect провайдера и выбор модели
Шаг 1. В терминале:
cd /путь/к/вашему/проекту
opencode
Шаг 2. Введите /connect и подключите провайдера. Для новичков в docs рекомендуют начать с OpenCode Zen (регистрация на стороне OpenCode).
Шаг 3. Выберите модель позадачно:
- короткие правки и черновики — более дешёвые/быстрые модели;
- сложный рефакторинг и длинный контекст — дороже;
- эксперименты — free/limited-time модели в Zen (список меняется).
Zen — опциональный шлюз curated-моделей. OpenCode работает и без него, если подключите провайдера напрямую.
Токены — это «порции» текста, которые модель читает и пишет: чем длиннее диалог, файлы и список MCP-инструментов, тем быстрее растёт счёт.
Ориентиры pay-as-you-go в Zen (за 1M токенов input/output, по официальной таблице): например Claude Haiku 4.5 — около $1/$5; Sonnet 4.6 — $3/$15; DeepSeek V4 Flash — порядка $0.14/$0.28. У Zen есть auto-reload: при балансе ниже $5 может автоматически пополниться на $20 (настраивается и отключается). Лимиты на workspace и участников тоже есть — смотрите кабинет, не держите «безлимит» в голове.
Когда хватит бесплатной или локальной модели
Хватит, если вы:
- учите команды
/init, Plan/Build, структуру skills; - отлаживаете MCP «поднялся / не поднялся»;
- пишете черновые наброски, которые потом правите сами.
Не хватит, если нужен стабильный продакшен-текст или аккуратный рефакторинг большого репо — тогда берите нормальную модель и следите за контекстом. Не включайте сразу десяток MCP: каждый сервер раздувает окно контекста и съедает токены впустую.
/init и файл AGENTS.md — правила, которые агент не забывает
После модели зайдите в проект и выполните /init. OpenCode проанализирует структуру репозитория и создаст в корне файл AGENTS.md.
Маркер: простыми словами. AGENTS.md — это «правила дома» для агента в этом репозитории: как писать, куда класть файлы, что нельзя трогать, на каком языке отвечать. Без файла агент каждый раз угадывает. С файлом — меньше хаоса.
Минимальный AGENTS.md под контент-пайплайн
Не пишите роман. Хватит короткого каркаса:
# Правила проекта
Язык и тон:
- Ответы и черновики — на русском.
- Без воды, короткие абзацы, практика важнее теории.
Структура:
- Черновики постов — в `/content/drafts/`.
- Готовое к публикации — только после пометки человека.
Запреты:
- Не коммитить секреты и `.env`.
- Не публиковать в WordPress/Telegram без явного «ок» человека.
- Не удалять папки `published/` и `assets/` без спроса.
Стиль контента:
- H2 — короткие, по боли/действию.
- Термины объяснять простыми словами.
Сохраните файл в корне. При следующих сессиях агент будет опираться на эти правила. Дополняйте по мере боли: «не трогай CSS темы», «CTA только в конце», «не выдумывай цифры Wordstat».
Plan vs Build и /undo — как не сломать репо
В OpenCode есть режимы Plan и Build (переключение клавишей Tab).
Маркер: простыми словами. Plan — режим «сначала план, правки осторожно» (часто спрашивает перед edit/bash). Build — режим «делай», с более полным доступом. Для опасных задач начинайте с Plan.
Полезные команды:
/undo— откатить правки агента;/redo— вернуть;/share— поделиться сессией (если нужно коллеге).
Есть и субагенты: например Explore (в основном чтение), Scout (внешние docs/зависимости, read-only), General. Вызов через @имя. Кастомных агентов можно создать через opencode agent create или файлы в .opencode/agents/.
Правило контент-завода: research и черновик можно в Build, публикацию — только с permission: ask и глазами человека. Культура уже такова: слепо принимать код/текст агента — плохая идея; review — норма.
От AGENTS.md до публикации: один проход CLI-агента
Справа — живая схема: правила репозитория задают тон, Plan/Build переключает осторожность, MCP открывает инструменты, skills подхватывают навыки, а публикация ждёт «ок» человека.
- AGENTS.md — «правила дома»: язык, запреты, куда класть черновики.
- Plan → Build — сначала план, потом правки; Tab и /undo спасают репо.
- MCP + skills — внешние серверы и SKILL.md без копипаста «наугад».
- HITL — WordPress/Telegram только после явного разрешения.
Дальше разберём, как прописать MCP в opencode.json (local vs remote) и не перепутать
permission с permissions.
Редакционная метафора, не скриншот UI: токен задачи бежит по узлам, переключатель Plan/Build меняет цвет импульса, гейт HITL вспыхивает перед «публикацией».
MCP в opencode.json: local, remote и права
MCP — то, из‑за чего CLI-агент превращается в часть контент-завода, а не только в «чат в папке».
Маркер: простыми словами. MCP (Model Context Protocol) — мост между агентом и внешними инструментами: WordPress, Telegram, Wordstat, браузер, база. Агент не «вшивает» сайт внутрь модели — он вызывает MCP-сервер как набор инструментов.
Конфиг лежит в:
- проекте:
opencode.jsonилиopencode.jsoncв корне; - глобально:
~/.config/opencode/opencode.json.
Позже перекрывает раньше: remote → global → env → project → .opencode/ и т.д. Схема: https://opencode.ai/config.json.
Добавить первый MCP-сервер без копипаста «наугад»
Шаг 1. Создайте opencode.json в корне проекта (если его ещё нет).
Шаг 2. Добавьте один сервер. Пример local (запуск через npx):
{
"mcp": {
"example": {
"type": "local",
"command": ["npx", "-y", "имя-пакета-mcp"],
"enabled": true,
"timeout": 15000
}
},
"permission": {
"edit": "ask",
"bash": "ask",
"webfetch": "allow"
}
}
Пример remote (URL + заголовки):
{
"mcp": {
"cms": {
"type": "remote",
"url": "https://example.com/mcp",
"oauth": false,
"headers": {
"Authorization": "{env:CMS_TOKEN}"
},
"timeout": 20000
}
}
}
Шаг 3. Проверьте серверы:
opencode mcp list
opencode mcp debug example
Есть также opencode mcp auth / logout для OAuth-сценариев.
Если переносите конфиг из Claude Code или Cursor:
- блок
mcpServers→ в OpenCode этоmcp; command+args→ один массивcommand: [...];env→environment.
Не вставляйте чужой JSON «как есть» — агент просто не увидит сервер.
permission vs permissions — типичная ошибка в конфиге
Ключ прав — permission (ед. число), не permissions. Значения: allow | ask | deny.
"edit": "deny"— нельзя править файлы (удобно reviewer-агенту);"bash": "ask"— спросить перед командой в shell;"mymcp_*": "ask"— спросить перед инструментами конкретного MCP.
Старый флаг tools: true/false в agent-конфиге считается устаревшим — лучше сразу permission.
Таймауты, секреты и что нельзя хранить в json
- Дефолтный
timeoutдля MCP — 5000 ms. Тяжёлый local-сервер часто не успевает → поднимите до 15000–30000. - Секреты не коммитьте в git. Используйте переменные окружения и подстановку вида
{env:VAR}. - Для remote с API-ключом часто ставят
"oauth": falseи передают ключ вheaders. - Не подключайте сразу GitHub MCP «на всякий случай»: docs прямо предупреждает, что некоторые серверы сильно раздувают контекст.
Маркер: простыми словами. Раздувание контекста — когда в «память» модели одновременно лезут длинная история чата, куча файлов и десятки описаний MCP-инструментов. Ответы становятся тупее и дороже. Лечится так: меньше серверов, короче сессии, чёткие skills.
Skills и SKILL.md — навыки, которые агент подхватывает сам
Skill — это не MCP. MCP даёт доступ к системе. Skill даёт сценарий: как именно делать research, писать пост, готовить релиз.
Маркер: простыми словами. Skill (файл SKILL.md) — готовая инструкция «как выполнять типовую задачу». Агент подхватывает её по описанию, когда задача похожа. Это как чек-лист сотрудника, а не как ключ от CMS.
Структура SKILL.md и пути discovery
OpenCode ищет skills здесь (официальные пути):
.opencode/skills/<имя>/SKILL.md~/.config/opencode/skills/<имя>/SKILL.md.claude/skills/<имя>/SKILL.mdи~/.claude/skills/...(совместимость с Claude).agents/skills/<имя>/SKILL.mdи~/.agents/skills/...
Минимальный каркас:
---
name: content-brief
description: Собирает бриф для поста: тема, ЦА, H2, CTA. Использовать когда нужен план статьи или контент-бриф.
---
# Бриф поста
1. Уточни тему и цель одним предложением.
2. Предложи 6–10 H2 без воды.
3. Добавь FAQ из 4 вопросов новичка.
4. Сохрани черновик в /content/drafts/.
Правила имени:
- папка и
nameсовпадают; - kebab-case, латиница/цифры, длина до 64;
- файл строго называется
SKILL.md(заглавными).
description — сигнал для выбора skill: пишите, когда применять навык, а не «это мой крутой скилл».
Права на skills тоже управляются через allow/deny/ask (в т.ч. wildcard). Если skill «пропал» — проверьте deny и уникальность имени.
Совместимость с .claude/skills — что переносится, что нет
Хорошая новость: skills из .claude/skills/.../SKILL.md OpenCode уже умеет читать. Часто можно не копировать дерево папок.
Что проверить при переносе:
- Frontmatter
name/descriptionвалидны. - Внутри skill нет команд, завязанных только на Claude Code UI.
- Пути к файлам проекта относительные и существуют у вас.
- Permissions не режут tool
skill.
Сравнение со «скилами для Claude Code» здесь только практическое: если вчерашние навыки лежат в Claude-формате, в OpenCode их часто достаточно положить (или оставить) в .claude/skills. Отдельный гайд по Claude Code skills не повторяем — фокус на синтаксисе OpenCode.
Сквозной прогон: от идеи поста до публикации через MCP
Это сценарий контент-завода, а не отдельная кнопка внутри OpenCode. Собирается из AGENTS.md + skills + MCP + человека в контуре.
Маркер: простыми словами. HITL (human in the loop) — человек остаётся в цепочке: утверждает бриф, правит черновик, жмёт «публиковать». Автопилот без глаз на проде — путь к ошибкам и слитым ключам.
Research → черновик → WordPress/Telegram с человеком в контуре
Практический прогон за один вечер:
- Research. Режим Plan. Skill
content-brief+webfetch/websearch(и MCP Wordstat, если подключён) → бриф в/content/drafts/. - Черновик. Skill writer → лонгрид/пост в markdown. Человек правит факты и тон.
- Review. Субагент с
"edit": "deny"или отдельный проход: проверить воду, ключи, запреты из AGENTS.md. - Публикация. MCP WordPress и/или Telegram с
"permission"=askна publish-tools. Публикуете только после явного «ок». - Фиксация. Перенос файла в
published/, короткая заметка «что сработало».
Так вы получаете ИИ-агента под маркетинг и контент без иллюзии «нажал — само улетело в блог».
Какие MCP закрывают Wordstat, блог и мессенджер
| Задача | Тип MCP | Заметка для РФ |
|---|---|---|
| Семантика / частотность | Wordstat MCP (если есть доступ) | Опора на Яндекс Wordstat |
| Блог | WordPress MCP (local или remote) | Классика для сайта на WP |
| Канал / прогрев | Telegram bot MCP | Удобный канал дистрибуции в РФ |
| Доп. исследование | встроенные webfetch/websearch | Не путать с десятком лишних серверов |
Не копируйте в статью «магический» список из 15 MCP. На старте хватит 1–3 серверов. Остальное — когда пайплайн стабилен.
Визуально цепочка такая: Plan → Build (черновик) → review человеком → MCP publish (ask). Именно эту схему удобно держать на стене команды.
Ошибки, из‑за которых OpenCode «молчит» или ломает задачу
command not found
Новый терминал → найти бинарь в $HOME/.opencode/bin или $HOME/bin → PATH → проверить npm global bin.
MCP timeout
Поднять timeout до 15–30s, проверить command[], remote URL/oauth/headers, убрать лишние серверы.
Игнор AGENTS/skill
Файл в корне проекта, discovery-путь, SKILL.md, совпадение name, нет deny, уточнить промпт.
Не находится команда после install
Симптом: opencode: command not found.
- Новый терминал.
- Найти бинарник в
$HOME/.opencode/binили$HOME/bin. - Добавить папку в PATH.
- Если ставили через npm — проверить
npm root -gи глобальный bin.
MCP не стартует или отваливается по timeout
Симптом: сервер в mcp list красный / debug ругается на время.
- Поднять
timeout(часто с 5s до 15–30s). - Проверить
command[]— первый элемент исполняемый, дальше аргументы. - Для remote: URL,
"oauth": falseпри API-key, заголовки через env. - Убрать лишние MCP — иногда «не работает» = контекст уже переполнен мусором.
Агент игнорирует AGENTS.md или skill
Симптом: пишет на английском, лезет не в те папки, не берёт ваш сценарий.
- Убедиться, что
AGENTS.mdв корне того проекта, откуда запущенopencode. - Skill лежит по одному из discovery-путей, файл именно
SKILL.md. name= имя папки,descriptionявно описывает триггер.- Нет
denyна skill/tool. - Слишком общий промпт пользователя — уточните: «используй skill content-brief».
FAQ
Короткие ответы на вопросы, которые чаще всего задают перед первым вечером с OpenCode
OpenCode бесплатный или нужна подписка?
Сам OpenCode — open-source клиент, отдельной «обязательной подписки на CLI» нет. Платите за модели: Zen (pay-as-you-go), свой ключ провайдера или железо под локальную модель. Free-модели в Zen бывают, но список и лимиты меняются — проверяйте кабинет.
Чем OpenCode отличается от Claude Code и Cursor?
Коротко по парадигмам:
- OpenCode — терминальный open-source агент, любая модель, якоря
AGENTS.md+opencode.json+ skills/MCP. - Claude Code — сильный interactive terminal в экосистеме Anthropic (
CLAUDE.md/ skills). - Cursor — AI-IDE с визуальными diff и правилами внутри редактора.
- Codex — больше про async/cloud-задачи.
- OpenClaw — другой класс (personal agent), не замена coding-CLI.
Выбор не «кто победил», а под какую работу. Многие команды совмещают IDE и CLI-агента.
Можно ли вести контент-завод только на OpenCode + MCP?
Да, как скелет: research → черновик → публикация через MCP при HITL. Но «только» редко бывает умно: часто рядом остаются Wordstat, редактор, календарь, человек-редактор. OpenCode не заменяет стратегию контента — он ускоряет исполнение.
Нужен ли desktop, если уже сидите в терминале?
Нет. CLI достаточно. Desktop — про комфорт интерфейса, не про другие MCP/skills. Конфиг лучше держать в репозитории в любом случае.
Чек-лист: от пустой машины до рабочего агента за один вечер
Пройдите сверху вниз. Не перескакивайте.
- Терминал открыт (на Windows — лучше WSL)
- Установлен OpenCode (
curl/npm/brew/ choco / scoop) opencode --versionпоказывает линию 1.18.x/connect— провайдер и модель отвечают на тест «привет»- В проекте выполнен
/init, естьAGENTS.md - В
AGENTS.mdязык, папки, запрет публикации без человека - Есть
opencode.jsonс ключомpermission(неpermissions) - Подключён один MCP,
opencode mcp debugпроходит - Создан один skill в
.opencode/skills/.../SKILL.md(или подхвачен из.claude/skills) - Прогнан Plan → черновик →
/undoна тестовой правке - Секреты только в env, не в git
- Публикационные tools стоят на
ask
Итог вечера: у вас не «почитали про ИИ-агента», а стоит повторяемый контур вайбкодинга и черновиков контента. Дальше наращивайте skills и MCP по одной боли за раз.
Дальше по системе. Если собираете контент-завод end-to-end — роли агентов, MCP-стек, автопубликации и практика вайбкодинга — логичный шаг после этого гайда: обучение по автоматизации и вайбкодингу на kv-ai.ru. Там разбирают связку инструментов, а не только одну кнопку install.
Что проверяли по источникам
- Документация OpenCode — install,
/connect,/init, MCP, skills, Zen - Конфиг и схема —
opencode.json, agents, precedence - Релиз v1.18.4 репозитория anomalyco/opencode на GitHub; русскоязычный контекст — обзор на Хабре
