Пригласите друзей и получите бесплатные токены!Узнать больше

Интеграция OpenCode с пользовательскими моделями CodingPlanX

Используйте OpenCode, ИИ-ассистент для программирования в терминале с открытым исходным кодом, в паре с API CodingPlanX для создания идеального опыта разработки в командной строке.


🌟 О проекте

OpenCode — это на 100% открытый ИИ-ассистент для программирования в терминале. По дизайну он похож на Claude Code, но предлагает невероятную гибкость и возможности настройки. Он не привязан к какому-либо конкретному поставщику ИИ-услуг, поддерживает плавное переключение между несколькими моделями, имеет встроенную интеграцию LSP (Language Server Protocol) и может похвастаться удобным для гиков TUI (текстовым пользовательским интерфейсом).

OpenCode Screenshot

1. Основные функции OpenCode

OpenCode — это ИИ-агент для программирования с открытым исходным кодом, разработанный командой SST специально для гиков и активных пользователей терминала:

  • 🔓 100% открытый исходный код: Выпущен под лицензией MIT, код полностью прозрачен.
  • 🧠 Поддержка нескольких моделей: Позволяет настраивать и плавно переключаться между Claude, OpenAI, Google Gemini и другими.
  • Встроенная поддержка LSP: Встроенный Language Server Protocol обеспечивает молниеносный и точный интеллектуальный анализ кода и навигацию.
  • 🖥️ Упор на TUI: Создан ветеранами Neovim для пользователей терминала, полностью управляется с клавиатуры.
  • 🌐 Архитектура Клиент/Сервер: Поддерживает удаленное управление; запустите сервер локально и управляйте им удаленно с телефона или другого ПК.
  • 🔄 Два встроенных агента: По умолчанию включает build (полный доступ на чтение/запись для основной разработки) и plan (только чтение для анализа и планирования).

2. oh-my-opencode (Рекомендуемое улучшение)

oh-my-opencode — это ультимативный плагин-улучшение для OpenCode, известный в сообществе как "OpenCode на стероидах". Он предоставляет профессиональный опыт программирования с ИИ "из коробки".

oh-my-opencode Interface

Основные функции улучшения:

  • Асинхронные субагенты: Возможности параллельной обработки задач, аналогичные Claude Code, что значительно повышает эффективность сложных задач.
  • Подготовленные конфиги агентов: Предварительно настроено множество ролей профессиональных агентов (например, Архитектор, Библиотекарь, Исследователь).
  • Расширенные инструменты AST: Поддерживает умный рефакторинг, глубокий анализ кода, поиск символов и другие продвинутые функции.
  • Режим Ultrawork: Просто добавьте ultrawork в ваш запрос, чтобы автоматически активировать ультимативный режим параллельной обработки.

Обзор встроенных ролей агентов:

Имя агентаРекомендуемая модельОсновное назначение
👑 SisyphusClaude Opus 4.6Главный агент оркестровки, отвечает за глобальное планирование и делегирование фоновых параллельных задач
🔮 OracleGPT 5.2Проектирование архитектуры, глубокое код-ревью, анализ технической стратегии
📚 LibrarianClaude Sonnet 4.6Анализ нескольких репозиториев, поиск в официальной документации, поиск примеров реализации в open-source
🗺️ ExploreGrok Code / HaikuБыстрое сканирование кода, исследование репозитория и поиск по шаблонам
🎨 FrontendGemini 3 ProСпециалист по фронтенду, превосходно создает красивый и интуитивный UI/UX

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

Шаг 1: Установка основной программы OpenCode

OpenCode обновляется очень быстро, поэтому рекомендуется использовать официальный скрипт для установки последней версии (Официальная документация):

# Быстрая установка с помощью curl (Рекомендуется)
curl -fsSL https://opencode.ai/install | bash

# Или используйте пакетные менеджеры Node.js
npm install -g opencode  # bun / pnpm / yarn также работают

# Пользователи macOS также могут использовать Homebrew
brew install opencode

Шаг 2: Установка oh-my-opencode (Настоятельно рекомендуется)

oh-my-opencode предоставляет готовые шаблоны профессиональных конфигураций, избавляя вас от утомительной ручной настройки:

bunx oh-my-opencode install

💡 Совет: В процессе установки запустится интерактивный мастер, который спросит, какие ИИ-подписки у вас есть (например, Claude, ChatGPT). Пожалуйста, отметьте нужные варианты в соответствии с вашей ситуацией.

Шаг 3: Настройка конечных точек API и моделей CodingPlanX

Это самый важный шаг! Пожалуйста, используйте текстовый редактор, чтобы создать или изменить конфигурационный файл: ~/.config/opencode/opencode.json.

🎯 О выборе моделей: В приведенном ниже шаблоне конфигурации используются модели серии Claude и серии GPT Codex, предоставляемые CodingPlanX. Они показывают лучшие результаты в различных авторитетных бенчмарках по программированию и являются золотым дуэтом для разработчиков.

Полностью скопируйте следующий JSON-контент и перезапишите ваш opencode.json:

<details open=""> <summary><b>Нажмите, чтобы развернуть полный код конфигурации opencode.json</b></summary>
{
  "$schema": "https://opencode.ai/config.json",

  "provider": {
    "anthropic": {
      "options": {
        "baseURL": "https://api.codingplanx.ai/v1"
      }
    },
    "openai": {
      "options": {
        "baseURL": "https://api.codingplanx.ai"
      }
    }
  },

  "model": "anthropic/claude-opus-4-5-20251101",
  "small_model": "anthropic/claude-haiku-4-5-20251001",
  "default_agent": "build",

  "permission": {
    "read": "allow", "list": "allow", "glob": "allow", "grep": "allow",
    "codesearch": "allow", "lsp": "allow",
    "edit": "ask", "bash": "ask", "webfetch": "ask", "websearch": "ask",
    "external_directory": "deny", "doom_loop": "ask"
  },

  "agent": {
    "plan": {
      "mode": "primary",
      "description": "Планирование/Разбивка/Техническое задание (Только чтение для предотвращения случайных изменений кода)",
      "model": "anthropic/claude-opus-4-5-20251101",
      "temperature": 0.1,
      "prompt": "Вы - старший технический руководитель. Цель: разбить требования на выполнимые шаги (включая критерии приемки/риски/откаты). По умолчанию только чтение; не изменяйте файлы и не запускайте команды. Если выполнение действительно необходимо, объясните почему и предложите переключиться на build/codex.",
      "permission": { "edit": "deny", "bash": "deny", "webfetch": "deny", "websearch": "deny", "doom_loop": "deny" }
    },

    "build": {
      "mode": "primary",
      "description": "Основная разработка (Сквозная реализация/отладка/исправление тестов) - Claude Opus 4.6",
      "model": "anthropic/claude-opus-4-5-20251101",
      "temperature": 0.2,
      "prompt": "Вы - главный агент-разработчик ПО. Приоритеты: минимально жизнеспособные изменения, читаемость, тестируемость. Кратко объясните свой план перед внесением изменений. После изменения вы должны предоставить: ключевые моменты diff, как проверить локально (команды) и возможные пограничные случаи.",
      "permission": { "edit": "allow", "bash": "allow", "webfetch": "ask", "websearch": "ask", "doom_loop": "ask" }
    },

    "codex": {
      "mode": "primary",
      "description": "Рефакторинг/Миграция/Крупные изменения (Codex) - GPT-5.2",
      "model": "openai/gpt-5.2-2025-12-11",
      "temperature": 0.2,
      "prompt": "Вы - инженерный агент в стиле Codex, превосходно справляющийся с масштабным рефакторингом, миграциями, код-ревью и сложным взаимодействием с инструментами. Приоритет - сохранение работоспособности проекта: пошаговые коммиты, проверяемые на каждом этапе. При неуверенности сначала добавляйте защиты и тесты.",
      "permission": { "edit": "allow", "bash": "allow", "webfetch": "ask", "websearch": "ask", "doom_loop": "ask" }
    },

    "review": {
      "mode": "subagent",
      "description": "Код-ревью/Второй мозг (Только чтение) - GPT-5.1-Codex-Max",
      "model": "openai/gpt-5.1-codex-max",
      "temperature": 0.1,
      "prompt": "Вы - строгий ревьюер кода. Вывод: 1) Ключевые риски (ошибки/безопасность/параллелизм/пограничные случаи) 2) Предложения по поддерживаемости 3) Предложения по минимальным изменениям (псевдо-diff подойдет) 4) Необходимые точки тестирования. По умолчанию только чтение; не изменяйте файлы и не запускайте команды.",
      "permission": { "edit": "deny", "bash": "deny", "webfetch": "deny", "websearch": "deny", "doom_loop": "deny" }
    },

    "explore": {
      "mode": "subagent",
      "description": "Быстрое сканирование кода/Поиск файлов/Обобщение контекста (Только чтение) - Claude Haiku 4.5",
      "model": "anthropic/claude-haiku-4-5-20251001",
      "temperature": 0.1,
      "prompt": "Вы - субагент для быстрого исследования: используйте минимальное количество шагов для поиска нужных файлов/функций/цепочек вызовов, предоставляя четкие пути и сводки. По умолчанию только чтение; не изменяйте файлы и не запускайте команды.",
      "permission": { "edit": "deny", "bash": "deny" }
    },

    "general": {
      "mode": "subagent",
      "description": "Общие исследования/Документация/Сравнение решений (Средняя стоимость) - Claude Sonnet 4.6",
      "model": "anthropic/claude-sonnet-4-5-20250929",
      "temperature": 0.2,
      "prompt": "Вы - субагент для общего анализа: сосредоточены на объяснении, взвешивании вариантов, написании документации и сравнении решений. По умолчанию только чтение; по возможности избегайте изменения кода.",
      "permission": { "edit": "deny", "bash": "deny" }
    },

    "think": {
      "mode": "subagent",
      "description": "Помощь в размышлениях/Вывод пограничных случаев (Только чтение) - GPT-5.2",
      "model": "openai/gpt-5.2-2025-12-11",
      "temperature": 0.2,
      "prompt": "Вы - субагент для рассуждений и вывода пограничных случаев: предоставьте структурированный анализ и предложения относительно дизайна, путей исключений, параллелизма/согласованности и узких мест производительности. По умолчанию только чтение.",
      "permission": { "edit": "deny", "bash": "deny" }
    }
  }
}
</details>

Шаг 4: Настройка API-ключей

Поскольку мы настроили двух провайдеров (Anthropic и OpenAI), вам нужно привязать API-ключи, полученные от CodingPlanX, внутри OpenCode.

  1. Введите opencode в терминале, чтобы запустить программу.
  2. В диалоге введите команду /connect.
  3. Настройка Claude:
    • Выберите Anthropic -> Выберите Manually enter API Key (Ввести API-ключ вручную).
    • Вставьте ваш API-ключ CodingPlanX и нажмите Enter для сохранения.
  4. Настройка OpenAI:
    • Введите /connect еще раз.
    • Выберите OpenAI -> Выберите Manually enter API Key.
    • Вставьте ваш API-ключ CodingPlanX и нажмите Enter для сохранения.
  5. Введите /exit для выхода, затем перезапустите opencode, чтобы настройки вступили в силу.

🔐 Примечание: Ваши API-ключи безопасно сохраняются локально в файле ~/.local/share/opencode/auth.json.


💡 Продвинутые советы по использованию

После завершения настройки введите opencode в терминале, чтобы начать общение:

> Привет, пожалуйста, прочитай package.json в текущей директории и расскажи об этом проекте.

1. ⚡ Ultrawork (Ультимативный параллельный режим)

Если вы установили oh-my-opencode, просто добавьте ultrawork (или сокращенно ulw) в ваш запрос, и OpenCode вызовет главного агента, чтобы разбить задачу на части и отправить ее фоновым субагентам для параллельной обработки:

> ultrawork Помоги мне провести рефакторинг модуля аутентификации в директории src/auth и добавить юнит-тесты.

2. 🎯 Синтаксис @ для целевого вызова агентов

Вы можете использовать символ @, чтобы точно отправлять определенные задачи профессиональным агентам, которых мы настроили в JSON:

> @review Помоги мне проверить недавно закоммиченную логику в login.ts на наличие уязвимостей безопасности.
> @explore Найди все конечные точки API в проекте, которые вызывают getUserInfo.
> @general Помоги мне сравнить, что лучше использовать: React Context или Redux для текущего проекта.

3. 🔄 Клавиша Tab для быстрого переключения режимов

Нажмите клавишу Tab в поле ввода для быстрого переключения между основными агентами:

  • build: Основной режим с полными правами на чтение/запись файлов и выполнение команд в терминале.
  • plan: Безопасный режим с правами только на чтение, используется для первоначального разбиения требований, анализа архитектуры и технического планирования, чтобы ИИ случайно не изменил код.

🛠️ FAQ и устранение неполадок

В1: Ошибка подключения к API или тайм-аут?

  • Проверьте, правильный ли baseURL указан в opencode.json.
  • Проверьте терминал на наличие конфликтов с прокси (обычно использование прямого IP обходит проблемы с системным прокси).

В2: Ошибка "Model not found" (Модель не найдена) или модель недоступна?

  • Убедитесь, что ID модели в конфигурационном файле (например, claude-opus-4-5-20251101) точно соответствует списку моделей, официально предоставленному CodingPlanX. Не допускайте опечаток.

В3: Плагин oh-my-opencode выдает ошибку?

  • Плагин находится в стадии активной разработки. Если вы столкнулись с ошибкой, попробуйте обновить: bunx oh-my-opencode update.
  • По дополнительным вопросам настройки обращайтесь к Официальной документации oh-my-opencode.

🔗 Дополнительные материалы и следующие шаги