Skip to content

Установка плагина OpenCode

Что вы сможете сделать после обучения

  • Установить плагин Plannotator в OpenCode
  • Настроить инструмент submit_plan и команду /plannotator-review
  • Установить переменные окружения (удалённый режим, порт, браузер и др.)
  • Проверить успешность установки плагина

Ваша текущая проблема

При использовании AI Agent в OpenCode проверка планов требует чтения текстовых планов в терминале, что затрудняет точную обратную связь. Вы хотите визуальный интерфейс для аннотирования планов, добавления комментариев и автоматической отправки структурированной обратной связи обратно Agent.

Когда использовать этот метод

Обязательно перед началом работы с Plannotator: если вы разрабатываете в среде OpenCode и хотите получить интерактивный опыт проверки планов.

🎒 Подготовка перед началом

  • [ ] Установлен OpenCode
  • [ ] Знакомы с базовой настройкой opencode.json (система плагинов OpenCode)

Предварительные знания

Если вы ещё не знакомы с базовыми операциями OpenCode, рекомендуем сначала прочитать официальную документацию OpenCode.

Основная идея

Plannotator предоставляет две основные функции для OpenCode:

  1. Инструмент submit_plan — вызывается после завершения плана Agent, открывает браузер для интерактивной проверки
  2. Команда /plannotator-review — ручной запуск проверки кода через Git diff

Процесс установки состоит из двух шагов:

  1. Добавление конфигурации плагина в opencode.json (включение инструмента submit_plan)
  2. Запуск скрипта установки (получение команды /plannotator-review)

Следуйте за мной

Шаг 1: Установка плагина через opencode.json

Найдите файл конфигурации OpenCode (обычно в корневом каталоге проекта или каталоге пользовательских настроек) и добавьте Plannotator в массив plugin:

json
{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["@plannotator/opencode@latest"]
}

Почемуopencode.json — это файл конфигурации плагинов OpenCode. После добавления имени плагина OpenCode автоматически загрузит и подключит плагин из репозитория npm.

Вы должны увидеть: при запуске OpenCode отображается сообщение "Loading plugin: @plannotator/opencode...".


Шаг 2: Перезапуск OpenCode

Почему После изменения конфигурации плагина требуется перезапуск для применения изменений.

Вы должны увидеть: OpenCode перезагружает все плагины.


Шаг 3: Запуск скрипта установки для получения слэш-команды

bash
curl -fsSL https://plannotator.ai/install.sh | bash
powershell
irm https://plannotator.ai/install.ps1 | iex

Почему Этот скрипт выполняет следующие действия:

  1. Загружает CLI-инструмент plannotator в вашу систему
  2. Устанавливает слэш-команду /plannotator-review в OpenCode
  3. Очищает кэшированные версии плагина

Вы должны увидеть: сообщение об успешной установке, например "Plannotator installed successfully!"


Шаг 4: Проверка установки

Проверьте работоспособность плагина в OpenCode:

Проверка доступности инструмента submit_plan:

  • В диалоге попросите Agent "Пожалуйста, используйте submit_plan для отправки плана"
  • Если плагин работает корректно, Agent должен видеть и вызывать этот инструмент

Проверка доступности команды /plannotator-review:

  • Введите /plannotator-review в поле ввода
  • Если плагин работает корректно, должно появиться предложение команды

Вы должны увидеть: обе функции работают без ошибок.


Шаг 5: Настройка переменных окружения (опционально)

Plannotator поддерживает следующие переменные окружения, настройте их в соответствии с вашими потребностями:

Описание переменных окружения
Переменная окруженияНазначениеЗначение по умолчаниюПример
PLANNOTATOR_REMOTEВключение удалённого режима (devcontainer/SSH)Не установленоexport PLANNOTATOR_REMOTE=1
PLANNOTATOR_PORTФиксированный порт (обязателен для удалённого режима)Локально случайный, удалённо 19432export PLANNOTATOR_PORT=9999
PLANNOTATOR_BROWSERПользовательский путь к браузеруСистемный по умолчаниюexport PLANNOTATOR_BROWSER="/Applications/Google Chrome.app"
PLANNOTATOR_SHAREОтключение общего доступа к URLВключеноexport PLANNOTATOR_SHARE=disabled

Пример настройки удалённого режима (devcontainer/SSH):

В .devcontainer/devcontainer.json:

json
{
  "containerEnv": {
    "PLANNOTATOR_REMOTE": "1",
    "PLANNOTATOR_PORT": "9999"
  },
  "forwardPorts": [9999]
}

Почему

  • Удалённый режим: при запуске OpenCode в контейнере или на удалённой машине используется фиксированный порт с автоматическим открытием браузера
  • Перенаправление портов: позволяет хост-машине получить доступ к сервису внутри контейнера

Вы должны увидеть: когда Agent вызывает submit_plan, в консоли отображается URL сервера (вместо автоматического открытия браузера), например:

Plannotator server running at http://localhost:9999

Шаг 6: Перезапуск OpenCode (при изменении переменных окружения)

Если вы настроили переменные окружения на шаге 5, необходимо снова перезапустить OpenCode для применения конфигурации.


Контрольная точка ✅

После завершения установки убедитесь в следующем:

  • [ ] В opencode.json добавлен @plannotator/opencode@latest
  • [ ] После перезапуска OpenCode нет ошибок загрузки плагина
  • [ ] При вводе /plannotator-review появляется предложение команды
  • [ ] (Опционально) Переменные окружения настроены правильно

Преду��реждения о проблемах

Распространённая ошибка 1: Сбой загрузки плагина

Симптомы: при запуске OpenCode появляется сообщение "Failed to load plugin @plannotator/opencode"

Возможные причины:

  • Проблемы с сетью, невозможно загрузить из npm
  • Повреждён кэш npm

Решение:

  1. Проверьте сетевое подключение
  2. Запустите скрипт установки (он очистит кэш плагина)
  3. Вручную очистите кэш npm: npm cache clean --force

Распространённая ошибка 2: Слэш-команда недоступна

Симптомы: при вводе /plannotator-review нет предложения команды

Возможная причина: скрипт установки не был успешно выполнен

Решение: повторно запустите скрипт установки (шаг 3)


Распространённая ошибка 3: Браузер не открывается в удалённом режиме

Симптомы: при вызове submit_plan в devcontainer браузер не открывается

Возможные причины:

  • Не установлено PLANNOTATOR_REMOTE=1
  • Не настроено перенаправление портов

Решение:

  1. Убедитесь, что PLANNOTATOR_REMOTE=1 установлено
  2. Проверьте, что forwardPorts в .devcontainer/devcontainer.json содержит установленный вами порт
  3. Вручную откройте отображаемый URL: http://localhost:9999

Распространённая ошибка 4: Порт занят

Симптомы: сбой запуска сервера с сообщением "Port already in use"

Возможная причина: предыдущий сервер не был корректно закрыт

Решение:

  1. Измените PLANNOTATOR_PORT на другой порт
  2. Или вручную завершите процесс, занимающий порт (macOS/Linux: lsof -ti:9999 | xargs kill)

Итоги урока

В этом уроке рассмотрена установка и настройка плагина Plannotator в OpenCode:

  1. Добавление плагина через opencode.json — включение инструмента submit_plan
  2. Запуск скрипта установки — получение слэш-команды /plannotator-review
  3. Настройка переменных окружения — адаптация к удалённому режиму и пользовательским требованиям
  4. Проверка установки — подтверждение корректной работы плагина

После завершения установки вы можете:

  • Позволить Agent использовать submit_plan для отправки планов на интерактивную проверку
  • Использовать /plannotator-review для ручной проверки Git diff

Предварительный просмотр следующего урока

В следующем уроке мы изучим Основы проверки планов.

Вы узнаете:

  • Как просматривать планы, созданные ИИ
  • Добавление различных типов аннотаций (удаление, замена, вставка, комментарий)
  • Одобрение или отклонение планов

Приложение: Справочник по исходному коду

Нажмите, чтобы раскрыть расположение исходного кода

Время обновления: 2026-01-24

ФункцияПуть к файлуСтроки
Определение точки входа плагинаapps/opencode-plugin/index.ts34-280
Определение инструмента submit_planapps/opencode-plugin/index.ts209-252
Внедрение конфигурации плагина (opencode.json)apps/opencode-plugin/index.ts55-63
Чтение переменных окруженияapps/opencode-plugin/index.ts37-51
Запуск сервера проверки плановpackages/server/index.tsВесь файл
Запуск сервера проверки кодаpackages/server/review.tsВесь файл
Определение удалённого режимаpackages/server/remote.tsВесь файл

Ключевые константы:

  • PLANNOTATOR_REMOTE: флаг удалённого режима (установите "1" или "true" для включения)
  • PLANNOTATOR_PORT: номер фиксированного порта (локально по умолчанию случайный, удалённо по умолчанию 19432)

Ключевые функции:

  • startPlannotatorServer(): запуск сервера проверки планов
  • startReviewServer(): запуск сервера проверки кода
  • getSharingEnabled(): получение состояния переключателя общего доступа к URL (из конфигурации OpenCode или переменных окружения)