Opencode - подключить плагин opencode-ops

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2026
Перейти к:навигация, поиск

Published: 2026-07-20


Opencode - подключить плагин opencode-ops

Добавить в ~/.config/opencode/opencode.json

{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["opencode-ops"]
 }


0) Установить sshpass.


1) Добавить алиас в /var/root/.ssh/config:
Host 185-target
   HostName 185.73.124.210
   User root
   Port 22
   StrictHostKeyChecking no
   ControlMaster auto
   ControlPath ~/.ssh/cm-%r@%h:%p
   ControlPersist 60m


2) Запустить сессию на 60минут:
sshpass -p 'password' ssh -fMN -o StrictHostKeyChecking=no root@X.X.X.X -p 22


3) Выполнять команды:
ssh_connect host: 185-target
ssh_exec command: "hostname && uptime"
4) отключить от сервера:
ssh_disconnect session_id: 185-target_2
Либо ssh_disconnect без параметров, если сессия одна.


Автоматизируем ввод в /var/root/.ssh/config и запуск сессии:

#!/bin/bash
set -e

if [ $# -lt 2 ]; then
  echo "Usage: ssh-opencode-connect.sh <host-alias> <ip> [user] [port]"
  echo "  Пример: ssh-opencode-connect.sh 185-target X.X.X.X root 22"
  exit 1
fi

HOST_ALIAS="$1"
IP="$2"
USER="${3:-root}"
PORT="${4:-22}"

CONFIG_FILE="/var/root/.ssh/config"
CONTROL_PATH="~/.ssh/cm-%r@%h:%p"

echo "=== 1. Добавление алиаса в $CONFIG_FILE ==="

if grep -q "^Host $HOST_ALIAS$" "$CONFIG_FILE" 2>/dev/null; then
  echo "Алиас '$HOST_ALIAS' уже существует, пропускаю."
else
  cat >> "$CONFIG_FILE" <<EOF

Host $HOST_ALIAS
    HostName $IP
    User $USER
    Port $PORT
    StrictHostKeyChecking no
    ControlMaster auto
    ControlPath $CONTROL_PATH
    ControlPersist 60m
EOF
  echo "Алиас '$HOST_ALIAS' добавлен."
fi

echo ""
echo "=== 2. Запуск ControlMaster-сессии на 60 минут ==="
read -s -p "Пароль для $USER@$IP:$PORT: " SSHPASS
echo ""
export SSHPASS

sshpass -e ssh -fMN -o StrictHostKeyChecking=no ${USER}@${IP} -p ${PORT} || {
  echo ""
  echo "Ошибка подключения. Возможные причины:"
  echo "  - Не установлен sshpass (brew install hudochenkov/sshpass/sshpass)"
  echo "  - Неверный пароль"
  echo "  - Сервер недоступен"
  exit 1
}

unset SSHPASS

echo ""
echo "=== Готово ==="
echo "Теперь в opencode используй:"
echo "  ssh_connect host: $HOST_ALIAS"
echo "  ssh_exec command: \"hostname\""


opencode-ops (v1.2.0) — универсальный плагин для OpenCode (AI-coding assistant), объединяющий четыре категории операционных возможностей в одном пакете.

SSH-сессии

  • Подключение к нескольким хостам одновременно
  • Интеграция с ~/.ssh/config (использование алиасов)
  • Авто-переподключение и мониторинг здоровья (heartbeat)
  • Передача файлов, удалённое редактирование, отправка интерактивного ввода (пароли, confirmations)

Локальные терминалы

  • Запуск bash-команд на хосте
  • Pattern watching — авто-детекция ошибок, ready-состояний, предупреждений
  • Фоновые сессии с уведомлениями о завершении
  • Ring buffer (50k строк) — защита от утечки памяти

GitHub Integration

  • Информация о репозиториях, файлах, окружениях
  • Управление секретами, переменными, workflow (dispatch, rerun, cancel, просмотр логов)
  • Работа с артефактами сборки

Web Dashboard

  • Веб-интерфейс для управления всеми SSH-сессиями, терминалами, GitHub Actions
  • Доступен по адресу http://localhost:9998

Где применяется

Плагин используется внутри OpenCode как слой автоматизации для разработчиков, которые работают с AI-ассистентом и нуждаются в:

  • Управлении удалёнными серверами — деплой, диагностика, чтение логов, редактирование конфигов через SSH прямо из чата с AI
  • CI/CD — запуск, отмена, перезапуск GitHub Actions; управление секретами и переменными без выхода из IDE-агента
  • Локальной разработке — запуск тестов, дев-серверов, линтеров с автоматическим отслеживанием ошибок
  • Ops-дашборде — визуальный контроль всех активных соединений и задач

По сути, это «швейцарский нож» для ops-задач, которые AI-агент (OpenCode) выполняет автоматически по запросу разработчика — без ручного переключения между терминалом, SSH-клиентом и веб-интерфейсом GitHub.


https://www.npmjs.com/package/opencode-ops
×
Реклама
ИКС