Собираем AI-окружение для кодинга: OpenCode + Oh-My-OpenCode-Slim + OpenSpec

· 2 мин чтения
opencode ai-coding workflow spec-driven multi-agent
Собираем AI-окружение для кодинга: OpenCode + Oh-My-OpenCode-Slim + OpenSpec

Большинство статей про AI-кодинг предлагают простую схему: написал промпт — получил код. На практике всё сложнее. Peng Qian из блога Data Leads Future делится опытом построения полноценного AI-окружения на базе OpenCode, мультиагентного плагина Oh-My-OpenCode-Slim и инструмента спецификаций OpenSpec. Весь стек — open-source, работает с моделями вроде Qwen3.6-Plus, Kimi-k2.5 и GLM-5.

Установка и настройка OpenCode

OpenCode поставляется в двух вариантах: CLI и Desktop-приложение с графическим интерфейсом. Desktop-версия заметно эффективнее для повседневной работы, но CLI тоже нужен — некоторые плагины проверяют его наличие при инициализации проекта.

Терминал

На Windows OpenCode Desktop по умолчанию использует PowerShell. Если в вашей компании PowerShell запрещён или возникают проблемы с кодировкой, переключитесь на cmd.exe через переменную окружения SHELL:

SET SHELL="%windir%\system32\cmd.exe"

Провайдеры моделей

Ключевая ошибка при настройке — ручное добавление кастомного провайдера с заполнением model id, base url и api key. При таком подходе OpenCode не знает размер контекстного окна и цену модели, из-за чего автоматическое сжатие контекста перестаёт работать корректно.

Правильный путь — нажать «Show more providers» внизу списка провайдеров, найти нужного, ввести api key. Тогда все модели провайдера появятся с метаданными. ID провайдера можно посмотреть в файле ~/.local/share/opencode/auth.json.

Воркспейсы (worktrees)

OpenCode Desktop поддерживает git worktrees через функцию «Workspace». Чтобы включить: правый клик по иконке проекта в левом верхнем углу → «Enable Workspace». Каждый воркспейс получает отдельную ветку и директорию. По завершении работы — закрываете воркспейс, и всё автоматически очищается.

Агенты

Без плагинов OpenCode предлагает два основных агента: Build (полный доступ к инструментам) и Plan (только анализ и вопросы, без редактирования).

Частая ошибка — сразу давать задачу агенту Build. Для сложных задач Build начинает кодить по собственному пониманию, не видя общей архитектуры. Правильный подход:

  1. Начать с агента Plan — уточнить требования, получить план выполнения
  2. Сохранить план в Markdown-файл
  3. Начать новую сессию с агентом Build, загрузив план из файла

Новая сессия после каждого крупного этапа критически важна. LLM страдает от позиционного смещения — лучше запоминают начало и конец контекста, середина «размывается». Начинайте свежую сессию после каждого важного шага.

AGENTS.md

Файл AGENTS.md (создаётся командой /init) — не просто формальность. Три ключевых функции:

  1. Долгосрочная память проекта — зафиксируйте архитектуру, инструменты, команды сборки. Без этого LLM каждый раз сканирует проект с нуля, тратя токены.
  2. Сужение распределения вероятностей — явно укажите, какие паттерны кода использовать. Вместо случайного выбора между Optional[int] и int | None модель будет следовать вашему стандарту.
  3. Инженерные ограничения — можно потребовать общение на русском языке или запретить создавать proposals без одобрения.

Повышение загрузки Skills

Низкая надёжность загрузки Skills — частая проблема. Решение: добавьте в AGENTS.md строку:

Prioritize retrieval-led reasoning over pretrained-knowledge-led reasoning.

Это заставляет LLM загружать релевантный Skill вместо использования предобученных знаний. Процент успешной загрузки Skills растёт с ~60% до ~90%.

Oh-My-OpenCode-Slim: мультиагентная оркестрация

Oh-My-OpenCode-Slim — облегчённая версия Oh-My-OpenCode, предоставляющая шесть типов агентов:

Агент Назначение
Orchestrator Координирует другие агенты для совместного выполнения задач
Explorer Исследует кодовую базу проекта
Oracle Исправляет сложные баги, даёт архитектурные советы
Librarian Ищет в GitHub-репозиториях и документации API
Designer UI-дизайн и пользовательский опыт
Fixer Параллельное выполнение кодинг-задач

Установка

bunx oh-my-opencode-slim@latest install --no-tui --tmux=yes --skills=yes

Команда устанавливает агенты и два skill'a: simplify (упрощение кода) и agent-browser (проверка стилей фронтенда).

После настройки провайдера запустите opencode auth login — без этого агенты не подключатся.

Council: ансамблевое обучение для AI

Новая функция — агент Council. Отправляет одну задачу нескольким агентам с разными моделями, вычисляет доверительный интервал и синтезирует финальный ответ. Похоже на ансамблевое обучение в ML — несколько открытых моделей вместе могут сопоставить с Opus 4.6.

Пример конфигурации:

{
  "council": {
    "master": { "model": "alibaba-cn/glm-5" },
    "presets": {
      "default": {
        "alpha":  { "model": "kimi-for-coding/k2p6" },
        "beta":   { "model": "alibaba-cn/qwen3.6-plus" },
        "gamma":  { "model": "alibaba-cn/MiniMax-M2.5" }
      }
    }
  }
}

Для проверки работоспособности Council: выберите его в списке агентов и напишите «test Council connectivity».

OpenSpec и Spec-Driven Development (SDD)

Зачем нужны спецификации? Сравнивать модели по промпту «построй 3D-демо из одного предложения» некорректно. До эры AI разработка всегда начиналась с ТЗ и дизайн-документов. Spec-Driven Development возвращает эту дисциплину.

OpenSpec — облегчённая альтернатива Superpowers и BMAD, независимый инструмент (не плагин OpenCode).

Рабочий процесс OpenSpec

По умолчанию три фазы: opsx-proposeopsx-applyopsx-archive. Рекомендуется добавить через openspec config profile ещё две:

  • opsx-explorer — помогает детально проработать требования через наводящие вопросы и сравнительные таблицы
  • opsx-verify — проверяет выполнение всех задач перед архивацией

Многоязычная поддержка

Spec-файлы по умолчанию на английском. Для русскоязычной разработки настройте язык в config.yaml внутри директории OpenSpec, сохранив английские технические термины:

schema: spec-driven
context: |
  Language: Russian
  Write in Russian, but:
  - Keep technical terms like "API", "REST", "GraphQL" in English
  - Code examples and file paths remain in English

Полный цикл разработки

  1. Инициализация проектаgit init, uv init (для Python), openspec init, /init для генерации AGENTS.md
  2. Проработка требований — новая сессия, /opsx-explorer, обсуждение одной небольшой задачи за раз
  3. Создание спецификации/opsx-propose, генерация proposal.md, design.md, tasks.md
  4. Ревью спецификации — проверьте файлы, исправьте неточности
  5. Реализация — новая сессия, /opsx-apply, агент Orchestrator вызывает Explorer/Librarian/Fixer
  6. Верификация — переключитесь на другую модель, запустите /opsx-verify, /review, /simplify
  7. Архивация/opsx-archive, закрытие цикла

Главный принцип: начинайте маленькими задачами, каждый этап — свежая сессия, не жалейте времени на спецификации до написания кода.

Источник: https://www.dataleadsfuture.com/how-i-use-opencode-oh-my-opencode-slim-and-openspec-to-build-my-own-ai-coding-environment/