Sistema visual 2D retro/pixel-art (estilo SNES/16-bit) para monitorar e interagir com o agente Hermes em tempo real.
- Canvas 2D com mundo top-down estilo Pokémon/Stardew Valley
- Avatar animado do agente (drone pixel-art 32x32)
- 6 salas temáticas: Hub, Code Lab, Social, Research, Terminal, Meeting
- Plugin Hermes que recebe eventos em tempo real via Unix socket
- Chat integrado estilo RPG para comunicação
- Efeitos de partículas por estado (Matrix rain, sparkles, Zzz, etc.)
# 1. Clonar repositório
git clone https://github.com/faelsete/hermes-visual-assistant.git
cd hermes-visual-assistant
# 2. Instalar tudo (npm deps + plugin Hermes)
chmod +x install.sh
./install.sh
# 3. Iniciar servidor
npm run dev
# 4. Abrir no navegador (via túnel SSH se remoto)
# http://localhost:3000ssh -L 3000:localhost:3000 user@seu-servidor
# Depois abre http://localhost:3000 no navegador localHermes Agent
→ Plugin Python (hooks no lifecycle)
→ Unix Socket (/tmp/hermes-visual.sock)
→ Node.js Server (Express + Socket.IO)
→ Browser (Canvas 2D pixel-art)
O plugin se registra automaticamente no Hermes e envia eventos em tempo real:
session_start→ Sessão iniciadapre_tool_call→ Ferramenta sendo usada (muda sala/estado)post_tool_call→ Ferramenta concluídapre_llm_call→ Agente pensandopost_llm_call→ Resposta geradasession_end→ Sessão encerrada
| Ferramenta | Estado | Sala |
|---|---|---|
| web_search, browse, read_url | 🔍 Researching | Research Center |
| edit_file, write_file, view_file | 💻 Coding | Code Lab |
| run_command, terminal | ⚡ Executing | Terminal |
| telegram, discord | 📱 Social | Social Hub |
| sequentialthinking | 🤔 Thinking | Hub Central |
| browser_subagent, spawn_agent | 📋 Delegating | Meeting Room |
| idle | 😴 Sleeping | Hub Central |
hermes-visual-assistant/
├── plugin/
│ ├── __init__.py Plugin Hermes (hooks lifecycle)
│ └── plugin.yaml Manifest do plugin
├── src/
│ ├── server.ts Backend (Unix socket + Socket.IO)
│ ├── commands.ts Handler de tarefas/chat
│ └── types.ts Tipos + Zod schemas
├── js/
│ ├── engine.js Game loop + rendering
│ ├── sprites.js Sprite system 32x32
│ ├── rooms.js Sistema de 6 salas
│ ├── particles.js Efeitos visuais
│ ├── ui.js Chat, tasks, status
│ └── socket-client.js Comunicação WebSocket
├── css/style.css Estilo retro RPG
├── index.html UI principal
├── config.json Configuração
├── install.sh Instalação automática
├── uninstall.sh Remoção completa
└── README.md
cd /root/hermes-visual-assistant
chmod +x uninstall.sh
./uninstall.shcurl -sL https://raw.githubusercontent.com/faelsete/hermes-visual-assistant/master/uninstall.sh | bash# 1. Parar servidor
pkill -f "tsx.*server" 2>/dev/null
# 2. Remover plugin do Hermes
rm -rf ~/.hermes/plugins/hermes_visual_assistant
# 3. Limpar Unix socket
rm -f /tmp/hermes-visual.sock
# 4. Remover projeto
rm -rf /root/hermes-visual-assistant
# 5. Limpar dados temporários
rm -rf /tmp/hermes_commands
⚠️ Nenhum comando acima toca nos logs do Hermes (~/.hermes/sessions/). Seus dados estão seguros.
Edite config.json:
{
"port": 3000,
"hermes_log_path": "~/.hermes/sessions/",
"hermes_command_path": "/tmp/hermes_commands/in",
"hermes_response_path": "/tmp/hermes_commands/out"
}# Dev mode com hot reload
npm run dev
# Health check
curl http://localhost:3000/healthMIT