Скиллы Новичок Разработка и DevOps

OpenCode ACP Control

Скачать ZIP
8
Предупреждение о рисках!

Установка скиллов и плагинов OpenClaw осуществляется на ваш страх и риск. Все файлы были получены из открытых источников и предоставляются «как есть». Мы не гарантируем их корректную работу, безопасность или совместимость с вашей системой. Перед установкой настоятельно рекомендуется ознакомиться с содержимым кода и убедиться, что вы понимаете, какие изменения будут внесены в вашу систему.

OpenCode ACP Skill

Управляйте OpenCode напрямую через протокол Agent Client Protocol (ACP). Этот навык позволяет запускать сессии, отправлять промпты, возобновлять диалоги и управлять обновлениями OpenCode.

Метаданные

  • Документация ACP: https://agentclientprotocol.com/llms.txt
  • GitHub репозиторий: https://github.com/bjesuiter/opencode-acp-skill
  • Сообщить о проблеме: https://github.com/bjesuiter/opencode-acp-skill/issues

Краткая справка

Действие Как выполнить
Запустить OpenCode bash(command: "opencode acp", background: true)
Отправить сообщение process.write(sessionId, data: "\n")
Прочитать ответ process.poll(sessionId) — каждые 2 секунды
Остановить OpenCode process.kill(sessionId)
Список сессий bash(command: "opencode session list")
Возобновить сессию Выбрать → session/load
Проверить версию bash(command: "opencode --version")

Что такое OpenCode ACP Control

OpenCode ACP Control — это интерфейс, позволяющий AI-агентам взаимодействовать с OpenCode через протокол ACP. Используя формат JSON-RPC 2.0 и поток сообщений с разделением по строкам, он обеспечивает программное управление жизненным циклом сессий, выполнением запросов и состоянием среды. :

Навык выступает связующим звеном между CLI-инструментами и сложными агентными сценариями, позволяя надежно управлять кодинг-сессиями, сохранять историю взаимодействий и работать с фоновыми процессами.

Сценарии использования

  • Автоматизация задач разработки через прямую отправку промптов в OpenCode
  • Управление долгоживущими сессиями разработки
  • Оркестрация многошаговых диалогов с AI
  • Автоматическое обновление OpenCode до актуальной версии
  • Мониторинг прогресса через опрос состояния сессии

Как это работает

  • Запуск OpenCode в режиме ACP как фонового процесса с получением sessionId
  • Инициализация соединения через JSON-RPC запрос initialize
  • Создание новой или загрузка существующей сессии
  • Отправка промптов и получение потоковых ответов через polling
  • Агрегация ответов до получения финального результата

Пример запуска

bash(
 command: "opencode acp",
 background: true,
 workdir: "/path/to/project"
)

Сохраните sessionId — он потребуется для всех последующих операций.

Основы протокола

  • Все сообщения используют JSON-RPC 2.0
  • Каждое сообщение заканчивается символом новой строки
  • Используется последовательный счетчик messageId

Пошаговый workflow

Шаг 1: Инициализация

{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"protocolVersion":1}}

Шаг 2: Создание или загрузка сессии

Выберите существующую сессию или создайте новую рабочую среду.

Шаг 3: Отправка запросов

Передавайте команды через JSON-RPC и отслеживайте ответы.

Шаг 4: Получение ответов

Используйте polling каждые 2 секунды для получения потоковых обновлений.

Обновление OpenCode

Навык поддерживает автоматическое обновление OpenCode путем сравнения текущей версии с последней доступной и перезапуска процесса.

function updateOpenCode():
 current = bash("opencode --version")
 latest = webfetch(".../releases/latest")
 if latest > current:
 process.kill(...)
 bash("opencode acp", background: true)

Важные замечания

  • Сессии сохраняются и могут быть восстановлены после перезапуска
  • OpenCode автоматически обновляется при запуске
  • История диалогов не теряется и хранится на стороне сервера

Структура данных

Поле Описание
processSessionId ID фонового процесса
opencodeSessionId ID сессии диалога
messageId Счетчик сообщений
stopReason Причина завершения
protocolVersion Версия протокола

Файл из источника

11602_opencode-acp-control-1.0.2.zip