Bots do Telegram — Guia do Usuário

Arc OS usa uma arquitetura de bots Telegram em dois níveis: um Master Bot gerencia todos os projetos, e cada projeto recebe seu próprio Child Bot com workers de IA.

Visão Geral da Arquitetura

O sistema é construído em dois níveis:

Como Funciona

Telegram-канал:
  Usuário → Telegram → Child Bot → Claude CLI → Resposta → Telegram

CRM Dashboard:
  Usuário → CRM → crm_inbox.jsonl → Child Bot (polling 500ms) → Claude CLI → Resposta → Telegram + CRM

O Child Bot faz polling do arquivo crm_inbox.jsonl a cada 500ms, então mensagens do CRM Dashboard são processadas quase instantaneamente.


Comandos do Master Bot

Comando Descrição
/start Mostrar lista de comandos disponíveis
/status Status de todos os projetos: threads ativas, uptime, uso de recursos
/list Lista de todos os child bots com indicadores de saúde (🟢/🔴)
/health Matriz de saúde: estado do Bot, bridge, sessões tmux para cada projeto
/deploy <name|all> Git pull + restart para um projeto específico ou todos de uma vez
/new_project <name> Inicia o onboarding de um novo projeto (cria child bot, tmux, configurações)
/remove_project <name> Remove o projeto com confirmação (botão inline "Sim, remover")
/emergency_stop Parada em cascata de 3 níveis: SIGINT → /exit → SIGKILL. Para tudo.
/watchdog Monitoramento de child bots: restart automático se o bot não responder
/cancel Cancela a operação ativa atual (deploy, onboarding etc.)

Comandos do Child Bot

Prefixos Principais

Prefixo Worker Modelo Acesso
/c <mensagem> Consultant Sonnet Read-only, consultor estratégico
/d <mensagem> Developer Opus Acesso completo a arquivos e terminal
/w:<worker_id> <mensagem> Worker customizado Depende da configuração Definido em workers_registry.json
(sem prefixo) Worker ativo Padrão — Consultant

Exemplo:

/c Analise a arquitetura do módulo auth
/d Corrija o bug no formulário de login
/w:sentinel Faça um security audit das últimas mudanças

Comandos de Informação

Comando Descrição
/ping Verificação de saúde do bot + uptime
/thread Tamanho do histórico atual do diálogo (número de mensagens)
/quality Métricas de qualidade: número de chamadas, feedback (👍/👎), duração média de resposta
/learnings Lista de regras de correção acumuladas (learnings)
/specs Lista de especificações com status (draft / review / approved)
/approve <id> Aprovar especificação por ID
/reject <id> [reason] Rejeitar especificação com motivo opcional

Botões Inline

Sob a Resposta do Worker

Após cada resposta do worker de IA, três linhas de botões aparecem:

Linha 1 — Controle do processo Claude:

Botão Ação
🛑 STOP Encerra o processo Claude (SIGKILL). Use se a resposta foi na direção errada ou travou.
⏸️ PAUSE Pausa o processo Claude (SIGSTOP). Útil para aguardar algo antes de continuar.
▶️ RESUME Retoma o processo pausado (SIGCONT).

Linha 2 — Contexto e feedback:

Botão Ação
💡 BTW Modo de coleta de contexto adicional. Suas próximas mensagens entram na fila e serão injetadas no próximo prompt GSD.
🛠️ Fix It Reexecuta a tarefa com correções automáticas baseadas na resposta anterior.
👍 Feedback positivo — registrado nas métricas de qualidade.
👎 Feedback negativo — cria automaticamente uma learning rule que será injetada em cada próximo prompt do worker.

Linha 3 — Navegação:

Botão Ação
🏷️ Skills Mostrar lista de skills que foram usadas na resposta.
📊 View Log Abrir o log desta sessão no CRM.

Botões do Master Bot

No card de cada projeto no Master Bot, os seguintes botões estão disponíveis:


Contexto e Memória


Alternando Entre Workers

Cada Child Bot suporta múltiplos workers. O worker ativo é salvo no arquivo active_role.json.

Mensagens sem prefixo vão para o worker ativo no momento. Se você enviou /d Corrija o bug, o Developer fica ativo — as próximas mensagens sem prefixo também irão para o Developer.


Integração com CRM

Telegram e CRM Dashboard são dois canais para o mesmo worker:

Isso significa que você pode iniciar um diálogo no Telegram, continuar no CRM e vice-versa — o contexto é mantido.


Troubleshooting

Problema Solução
Bot não responde Verifique /health no Master Bot. Se o child bot estiver 🔴 — clique em Restart ou use /deploy <name>. Verifique /watchdog para monitoramento automático.
Tempo de resposta longo Alterne para o Consultant (/c) — ele usa Sonnet, que é mais rápido que Opus. Para perguntas simples, isso é suficiente.
Mensagem cortada O Telegram tem limite de 4096 caracteres por mensagem. O bot divide automaticamente respostas longas em partes: [1/3], [2/3], [3/3].
Bot responde lentamente via CRM Verifique se a sessão tmux do child bot está ativa: /health deve mostrar tmux 🟢.
👎 não cria learning Certifique-se de que você clicou em 👎 diretamente na resposta do worker, e não em uma mensagem do sistema.