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
