O que resilient-server-ops faz?
Protocolo de conexão fraca — Habilidade do agente Claude Code para SSH, deploys e trabalho remoto em redes instáveis (móvel, trem, Wi-Fi fraco). Gravações atômicas + nohup + idempotência + migalhas de recuperação.
Visão Geral
Esta habilidade permite que o Claude Code execute operações remotas em servidores via SSH com resiliência a desconexões de rede. Em vez de falhar quando a conexão cai, as operações são projetadas para:
- Gravações atômicas: Arquivos são escritos de forma atômica usando operações de
mvpara evitar corrupção. nohup: Comandos são executados comnohupe desanexados do terminal, para que continuem mesmo se a sessão SSH for perdida.- Idempotência: Comandos podem ser executados múltiplas vezes sem efeitos colaterais indesejados.
- Migalhas de recuperação: Um arquivo de estado (
breadcrumb) é criado para cada operação, permitindo verificar se ela foi concluída com sucesso ou precisa ser retomada.
Como Usar
Comandos Básicos
# Executar um comando remoto com resiliência a desconexão
resilient-ssh <user@host> <comando>
# Executar um script remoto com gravação atômica
resilient-deploy <user@host> <script.sh>
Exemplo de Deploy Resiliente
#!/bin/bash
# deploy.sh - Script de deploy com resiliência
resilient-ssh user@servidor "
cd /app &&
git pull &&
npm install &&
npm run build &&
echo 'deploy_completed' > /tmp/deploy_breadcrumb
"
Verificação de Estado
Após uma reconexão, use o breadcrumb para verificar o estado:
resilient-check user@servidor "/tmp/deploy_breadcrumb"
Requisitos
- Claude Code (ou agente compatível)
- Acesso SSH ao servidor remoto
- Shell Unix-like no servidor remoto
nohupesshinstalados
Configuração
-
Adicione a habilidade ao seu projeto:
claude-code add-skill mirosing/resilient-server-ops -
Configure as variáveis de ambiente (opcional):
RESILIENT_SSH_USER=meuusuario RESILIENT_SSH_HOST=meuservidor.com RESILIENT_WORK_DIR=/home/meuusuario/projeto
Exemplos Avançados
Script de Backup Resiliente
resilient-ssh user@servidor "
tar -czf /tmp/backup.tar.gz /dados/importantes &&
echo 'backup_ok' > /tmp/backup_breadcrumb &&
scp /tmp/backup.tar.gz backup-server:/backups/
"
Múltiplos Comandos com Verificação
#!/bin/bash
# Primeiro comando
resilient-ssh user@servidor "comando1 && echo 'cmd1_ok' > /tmp/cmd1_breadcrumb"
# Verificar e executar segundo comando
if resilient-check user@servidor "/tmp/cmd1_breadcrumb" "cmd1_ok"; then
resilient-ssh user@servidor "comando2 && echo 'cmd2_ok' > /tmp/cmd2_breadcrumb"
fi
Notas
- Todos os comandos devem ser idempotentes. Se um comando falhar, ele pode ser reexecutado sem causar danos.
- O breadcrumb deve ser sempre o último comando, indicando sucesso total.
- Para operações longas, considere usar
tmuxouscreendentro do ssh. - A habilidade não substitui um orquestrador completo, mas é ideal para tarefas rápidas e scripts de deploy.
Licença
MIT