Introdução ao KeymouseGo: Ferramenta de Automação Leve
KeymouseGo é uma ferramenta de código aberto para gravação de ações de teclado e mouse, permitindo a automação de tarefas repetitivas em ambientes de rede. Seu design leve suporta múltiplas plataformas (Windows, Linux e macOS) e oferece tanto interface gráfica quanto operação por linha de comando, ideal para cenários variados.
A arquitetura do projeto inclui módulos específicos:
- Mecanismo de Gravação: Responsável por capturar eventos do sistema de forma cross-pltaform.
- Sistema de Eventos: Define modelos base de eventos com implementações adaptadas a cada sistema operacional.
- Executor: Coordena o fluxo de gravação e execução de scripts.
Primeiros Passos: Configuração Rápida em 3 Etapas
Preparação do Ambiente
Instalação via código-fonte para usuários técnicos:
# Clonar o repositório
git clone https://gitcode.com/gh_mirrors/ke/KeymouseGo
cd KeymouseGo
# Instalar dependências (exemplo para Windows)
pip install -r requirements-windows.txt
# Para Linux/macOS, utilize o arquivo requirements-universal.txt
Para uso direto, baixe o executável compatível com seu sistema operacional a partir da página de releases oficial e extraia-o.
Operações Fundamentais
- Gravação: Inicie a gravação pressionando F6 ou clicando no botão dedicado. Realize uma sequência típica de configuração de rede, como login e navegação em menus.
- Salvamento do Script: Ao concluir, a ferramenta gera automaticamente um arquivo no diretório
scriptscom timestamp. - Execução: Selecione o script desejado, defina o número de execuções (0 para loop infinito) e inicie a automação. Use F9 para interromper a qualquer momento.
Dica: Mantenha um ritmo consistente durante a gravação e insira pausas de 1-2 segundos entre etapas críticas para evitar sincronização incorreta na execução.
Personalização de Scripts para Cenários Complexos
Estrutura de Arquivos de Script
Scripts gerados utilizam formato JSON5, onde cada evento contém tempo de atraso, tipo e parâmetros:
{
"scripts": [
{
"type": "event",
"event_type": "EM",
"delay": 2500,
"action_type": "mouse right down",
"action": ["0.06%", "0.2%"]
},
{
"type": "event",
"event_type": "EK",
"delay": 150,
"action_type": "input",
"action": "configurar-rede 192.168.1.1"
}
]
}
Ajustes Práticos
-
Execução em Loop: Use a linha de comando para definir repetições: ```
Executar o script 5 vezes
./KeymouseGo scripts/meu_script.txt -rt 5
-
Modificação de Atrasos: Edite o campo
delayno script (em milissegundos) para adaptar-se à responsividade dos dispositivos. -
Coordenadas Fixas: Para cliques em posições absolutas, substitua coordenadas relativas por valores em pixels.
Exemplos Práticos em Ambientes de Rede
Automação de Configuração em Massa
Grave um script de configuração de VLAN e modifique-o para incluir uma lista de IPs, automatizando o deployment em múltiplos switches:
{
"variables": {
"alvos": ["192.168.1.100", "192.168.1.101"]
},
"scripts": [
{
"type": "event",
"action_type": "input",
"action": "{{alvos[0]}}"
}
]
}
Monitoramento Porgramado
Integre o KeymouseGo com agendadores do sistema (como cron no Linux) para executar scripts de verificação periodicamente:
# Agendamento diário às 2h da manhã
0 2 * * * /caminho/para/KeymouseGo scripts/verificar_status.txt -rt 1
Inclua comandos de captura de tela no script para documentar automaticamente o estado dos dispositivos.
Recuperação de Falhas Automatizada
Crie scripts para resolver problemas comuns, como portas de rede desativadas:
{
"scripts": [
{"action_type": "input", "action": "admin"},
{"action_type": "input", "action": "senha_segura"},
{"action_type": "input", "action": "interface Ethernet1/1"},
{"action_type": "input", "action": "no shutdown"},
{"action_type": "input", "action": "show interface status"}
]
}
Técnicas Avançadas e Boas Práticas
-
Uso de Coordenadas Relativas: Garante portabilidade entre diferentes resoluções de tela.
-
Validação Pós-Execução: Adicione etapas de verificação para confirmar o sucesso das operações.
-
Atrasos Dinâmicos: Use variáveis aleatórias para simular comportamento humano e evitar bloqueios: ``` {"type": "event", "event_type": "DELAY", "delay": "{{random(800, 2500)}"} }
-
Moidficação de Hotkeys: Personalize atalhos para iniciar/parar a execução via arquivos de configuração.
-
Composição de Scripts: Crie bibliotecas de ações recorrentes (ex: login) e importe-as em scripts maiores para modularidade.