OpenCode · CLI · MCP · skills

Как установить OpenCode и настроить CLI-агента с MCP и skills

Пошагово: install, провайдер, AGENTS.md, MCP в opencode.json и skills — открытый CLI-агент под вайбкодинг и контент-завод

Канал в Telegram
1 Install CLI
2 /connect провайдер
3 AGENTS.md
4 MCP + skills

OpenCode — открытый ИИ-агент для кода и задач в проекте: терминал, 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. Для вайбкодинга и контент-завода как раз важна эта связка: агент пишет и правит файлы, а человек утверждает публикацию.

1.18.4
Актуальная линия CLI на дату материала
open-source · без vendor lock-in
~189k
звёзд на GitHub
3
формата: CLI, desktop, IDE
Якоря в репо

AGENTS.md · opencode.json · SKILL.md · MCP

Что понадобится до первой команды install

Перед установкой соберите минимум, иначе полчаса уйдёт на «команду не найдено».

Нужно:

  1. Компьютер с доступом в интернет.
  2. Терминал (на Windows удобнее WSL — так рекомендует документация для полного опыта).
  3. Аккаунт у провайдера модели или готовность зарегистрироваться в OpenCode Zen.
  4. Папка проекта, куда вы зайдёте командой 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

1

Откройте терминал

На Windows удобнее WSL — полный опыт ближе к macOS/Linux.

2

Рекомендуемый способ (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.

3

Перезапустите shell

Закройте и снова откройте терминал или выполните source ~/.bashrc / source ~/.zshrc.

4

Проверьте версию

opencode --version

Ориентир: линия 1.18.x (релиз 1.18.4). Если видите номер — CLI установлен.

Проверка, что CLI реально в PATH

Если версии нет:

  1. Проверьте, где лежит бинарник. Install-скрипт кладёт его по приоритету: $OPENCODE_INSTALL_DIR$XDG_BIN_DIR$HOME/bin$HOME/.opencode/bin.
  2. Добавьте нужную папку в PATH и перезапустите shell.
  3. На 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 было куда смотреть дальше.

Подписаться на Maya Pro

Подключаем модель и не платим «вслепую»

Без модели агент — пустая оболочка. Цель первого вечера: стабильный ответ на простой запрос, а не «самая умная модель любой ценой».

/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 — норма.

Контур OpenCode · не hero

От 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: [...];
  • envenvironment.

Не вставляйте чужой 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 уже умеет читать. Часто можно не копировать дерево папок.

Что проверить при переносе:

  1. Frontmatter name / description валидны.
  2. Внутри skill нет команд, завязанных только на Claude Code UI.
  3. Пути к файлам проекта относительные и существуют у вас.
  4. 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 с человеком в контуре

Практический прогон за один вечер:

  1. Research. Режим Plan. Skill content-brief + webfetch/websearch (и MCP Wordstat, если подключён) → бриф в /content/drafts/.
  2. Черновик. Skill writer → лонгрид/пост в markdown. Человек правит факты и тон.
  3. Review. Субагент с "edit": "deny" или отдельный проход: проверить воду, ключи, запреты из AGENTS.md.
  4. Публикация. MCP WordPress и/или Telegram с "permission" = ask на publish-tools. Публикуете только после явного «ок».
  5. Фиксация. Перенос файла в 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.

  1. Новый терминал.
  2. Найти бинарник в $HOME/.opencode/bin или $HOME/bin.
  3. Добавить папку в PATH.
  4. Если ставили через npm — проверить npm root -g и глобальный bin.

MCP не стартует или отваливается по timeout

Симптом: сервер в mcp list красный / debug ругается на время.

  1. Поднять timeout (часто с 5s до 15–30s).
  2. Проверить command[] — первый элемент исполняемый, дальше аргументы.
  3. Для remote: URL, "oauth": false при API-key, заголовки через env.
  4. Убрать лишние MCP — иногда «не работает» = контекст уже переполнен мусором.

Агент игнорирует AGENTS.md или skill

Симптом: пишет на английском, лезет не в те папки, не берёт ваш сценарий.

  1. Убедиться, что AGENTS.md в корне того проекта, откуда запущен opencode.
  2. Skill лежит по одному из discovery-путей, файл именно SKILL.md.
  3. name = имя папки, description явно описывает триггер.
  4. Нет deny на skill/tool.
  5. Слишком общий промпт пользователя — уточните: «используй 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.

Beget — надёжный хостинг и VPS

Что проверяли по источникам