
Estudo de caso Personal project
Um computador que se consulta, e se desliga, a partir de um chat.
- Cliente
- Personal project
- Tipo
- Aplicação desktop & agente remoto
- Papel
- Design & desenvolvimento full-stack
- Ano
- 2026
01Visão geral
Uma aplicação desktop e um agente local que põem o computador ao alcance de um chat do Telegram: um painel em Electron que trata de toda a configuração e um agente em Node.js que responde a 37 comandos vindos de um único chat autorizado.
02O problema
Verificar uma máquina à distância costuma obrigar a software de ambiente de trabalho remoto, portas abertas ou VPN. E um bot capaz de executar comandos no computador é tão seguro quanto a pior mensagem que aceitar.
02A abordagem
Usar uma aplicação de mensagens que o dono já traz consigo e deixar o computador no controlo. O agente consulta o Telegram de dentro para fora, pelo que nada fica à escuta na rede; responde a um único chat configurado e ignora todos os outros; e tudo o que altera a máquina tem de ser confirmado primeiro.
03A construção
O que foi de facto construído
- 01
Um painel de configuração em Electron: basta colar o token do bot e o chat ID, e o painel valida-os junto do Telegram (getMe e uma mensagem de teste), instala o agente, põe-no a arrancar com o sistema e mostra cada etapa à medida que é concluída.
- 02
Um agente em Node.js sem dependências em runtime: long polling com offset persistido, para nunca voltar a processar mensagens antigas, e 37 comandos de sistema, rede, processos, ficheiros, multimédia e energia, cada um implementado por plataforma, com um simples “ainda não disponível” onde não existe implementação segura.
- 03
Proteções em todos os caminhos sensíveis: desligar, reiniciar, suspender, bloquear, limpeza e upgrade exigem um código de seis dígitos em 30 segundos, escolhido entre quatro botões; o sudo genérico é bloqueado no /cmd, padrões destrutivos são recusados e as ações privilegiadas só correm através de scripts wrapper fixos, autorizados num sudoers restrito, nunca NOPASSWD: ALL.
- 04
Instaladores para um serviço systemd no Linux, uma tarefa agendada no Windows e um LaunchAgent no macOS. A configuração é guardada com permissões 600, e o token surge mascarado na interface e é retirado das mensagens de erro.
Tecnologia
- Electron
- Node.js
- JavaScript
- Telegram Bot API
- systemd
- Bash
- PowerShell
04A experiência





05Em que ponto está
Um protótipo funcional (v0.1.0), desenvolvido em Linux, onde o suporte é mais completo. Windows e macOS são parciais, e o próprio README ainda refere problemas por resolver. Gerir vários PCs a partir de um só painel está no roadmap, mas ainda não foi construído.
