maestrly.

App para celular

O Maestrly para iOS e Android acompanha e comanda seus bots, e os chats e workspaces do ambiente de workspaces do seu servidor de bots, direto do celular. Ele precisa de um servidor de bots (veja Bots e servidor de bots); não se conecta diretamente ao app desktop do seu computador.

O app para celular é novo no Maestrly 0.19.0. Atualize o servidor de bots primeiro: um servidor anterior ao suporte a celulares não consegue parear um.

Obter o app

As builds para celular não são anexadas às GitHub Releases, que trazem só os instaladores do desktop, e os links das lojas ainda não foram publicados. Quem desenvolve pode compilar o app a partir de apps/mobile no repositório, como descreve o guia técnico (em inglês).

Para testar o app sem um servidor, escolha Explorar um servidor de demonstração na primeira tela. Ele abre um servidor de exemplo, com bots, chats e workspaces, que vive dentro do app; nada dele sai do celular.

O que ele faz

  • Bots: veja todos os bots por ambiente, com o que cada um está fazendo agora e o que espera por você. Leia a conversa de um bot enquanto ela chega, volte pelas mensagens mais antigas e envie texto, fotos e arquivos.
  • Chats e workspaces: as abas Chats e Workspaces do menu mostram os do ambiente de workspaces do servidor. Abra um chat, inicie um novo avulso ou num workspace e mude o modo, o modelo, o esforço, as skills, os servidores MCP e o limite de contexto dele. Quando um agente inicia conversas a partir de um chat, um cartão as lista, cada uma com um jeito de abri-la.
  • Respostas interativas: uma interface numa resposta aparece como um cartão, e o celular nunca a executa. Use-a no Maestrly do computador ou leia o código dela com Ver código.
  • Pedidos: aprove ou negue um comando, responda a uma pergunta ou marque um pedido de ajuda como resolvido. Num chat, você também revisa um plano e confirma as conversas que um agente quer iniciar.
  • Configuração: mude o modelo, o esforço de raciocínio, o Fast e as permissões de um bot; inicie, pause, retome, reinicie ou pare um bot; rode uma rotina agora; compacte a conversa de um bot. Os chats novos começam com os padrões que você escolhe em Ajustes → Novos chats.
  • Notificações: saiba quando um bot ou chat precisa de você, termina um turno que você começou, termina uma rotina ou falha.
  • Ditado: o microfone no campo de mensagem transforma o que você diz em texto com o reconhecimento de fala do próprio celular.
  • Artefatos: uma página publicada por um agente aparece como um cartão na conversa, e Abrir mostra a versão publicada.
  • Offline: uma mensagem enviada sem conexão mostra Ainda não enviada, espera no celular e sai em ordem quando o servidor volta a ser alcançável.

Criar bots, conectar contas de modelo, instalar skills, adicionar servidores MCP e gerenciar rotinas continuam sendo feitos no Maestrly do computador. O celular nunca alcança os arquivos, terminais, contas e configurações do servidor.

Requisitos

O celular acessa o servidor de bots por HTTPS. O iOS e o Android recusam HTTP simples, então um endereço que funciona no computador, como um túnel SSH em http://127.0.0.1, não funciona no celular. O jeito mais simples é o Tailscale Serve no servidor e o Tailscale no celular; o guia técnico do servidor de bots (em inglês) mostra como fazer num servidor que você administra.

Os chats e workspaces exigem que o ambiente de workspaces do servidor rode uma versão do Maestrly que ofereça a API para celular. O celular não precisa da mesma versão do servidor, só da mesma API para celular. Um servidor com vários ambientes de workspaces mostra ao celular os chats de um deles: o primeiro que está rodando e fala com celulares.

Parear

  1. Num computador já pareado com o servidor, abra Configurações → Servidor de bots e escolha Parear um celular.
  2. Confira o campo Endereço que o celular usa: ele precisa ser o endereço https:// do servidor.
  3. No app, escolha Escanear código de pareamento e escaneie o QR code. O app mostra o endereço do servidor e pede confirmação antes de parear.

Sem um computador à mão, rode maestrly-bot-gateway pair no servidor e escolha Digitar o código no app. Os códigos funcionam uma vez e expiram em dez minutos. Qualquer dispositivo pareado pode criar códigos para outros dispositivos, no máximo cinco sem uso ao mesmo tempo.

Um celular pareado vê e comanda todos os bots do servidor, então pareie só celulares em que você confia.

Notificações

Depois de parear, o app oferece ligar as notificações. Ajustes → Notificações no app escolhe sobre o que você é avisado, para todos os servidores pareados:

CategoriaQuando
Esperando por vocêUm bot ou chat pede aprovação, faz uma pergunta, tem um plano para você ou precisa de ajuda.
RespostasUm bot ou chat termina um turno que você começou.
Relatórios de rotinasA rotina de um bot termina.
ProblemasUm turno falha ou um bot para inesperadamente.

Enviar uma notificação de teste pede uma ao servidor. Uma notificação da conversa que já está na tela não mostra banner, e tocar numa notificação abre o bot ou chat dela, no servidor que a enviou.

O servidor envia as notificações pelo serviço de push da Expo, que as entrega à Apple ou ao Google. Uma notificação traz o nome do bot ou o título do chat e uma frase fixa, como "Precisa da sua aprovação", no idioma do celular. Ela nunca traz o que um bot, um chat ou uma pessoa escreveu.

Num servidor que você administra, defina MAESTRLY_GATEWAY_PUSH=off no .env dele para não enviar nenhuma; os celulares avisam isso nos ajustes. As notificações precisam de um celular de verdade: simuladores e a prévia na web não as recebem, e uma build feita por você precisa de um projeto de push da Expo, como explica o guia técnico.

Artefatos

As páginas abrem na visualização de navegador do sistema, pelo endereço público do servidor, que precisa ser HTTPS. Defina-o no computador, em Configurações → Artefatos → Endereço público. Cada Abrir pede ao servidor um ticket de uso único que expira em até um minuto, como no desktop. Os scripts da página rodam na visualização do navegador, nunca no app. Veja Artefatos.

Desparear e revogar

No app, abra Ajustes e escolha Desparear de seguido do nome do servidor. Se o servidor não puder ser alcançado, o app oferece Esquecer mesmo assim; o servidor então continua listando o celular até você revogá-lo com devices revoke <id> no servidor. Um celular revogado mostra "Este celular foi removido de" e o nome do servidor, e oferece Parear de novo. Desparear ou revogar um celular também remove o registro de push dele no servidor.

Privacidade e dados no celular

  • O token de dispositivo de cada servidor fica no Keychain do iOS ou no Keystore do Android, legível depois do primeiro desbloqueio e nunca movido para outro dispositivo.
  • A lista de servidores pareados, o tema, o idioma, as escolhas de notificação, os padrões dos chats novos e as mensagens ainda não enviadas ficam no armazenamento do app. Fotos e arquivos à espera de envio ficam no cache do app até serem enviados.
  • Cada servidor guarda o token de push do celular e as escolhas de notificação até o celular ser despareado ou revogado.
  • O app fala só com os servidores que você pareou e, quando você liga as notificações, com o serviço de push da Expo e com o da Apple ou do Google para obter um token de push. Ele não envia telemetria.
  • O ditado usa o reconhecimento de fala do celular: o da Apple no iOS, o do Google (ou do fabricante) no Android. Eles podem processar o áudio nos servidores deles, sob as próprias políticas de privacidade. O Maestrly e o seu servidor recebem só o texto que você envia depois, nunca o áudio. O microfone só fica ligado enquanto o indicador de escuta aparece.

Veja o documento de privacidade (em inglês) para o aplicativo inteiro.

Solução de problemas

Você vêO que fazer
Sem acesso a um servidor, ou Não foi possível acessar o endereço ao parearConfira se o endereço é https://, se o celular o alcança (com o Tailscale, ele roda nos dois e ambos estão na mesma tailnet) e se o relógio do celular está certo.
Atualize o servidor de bots para parear um celular., no computadorO servidor é anterior ao suporte a celulares. Atualize-o ou rode maestrly-bot-gateway pair nele.
Este código expirou.Os códigos duram dez minutos e funcionam uma vez. Crie um novo.
Este celular foi removido de um servidorO celular foi revogado ou despareado em outro lugar. Pareie de novo.
Este servidor roda uma versão que o app não consegue usar.Atualize o servidor de bots e o app.
O host de workspaces não está rodandoInicie o ambiente de workspaces pelo Maestrly no computador. As mensagens que você enviar esperam no celular.
Atualize o servidor de bots para usar chats neste celular.O servidor ou o ambiente de workspaces dele é anterior à API para celular. Atualize os dois.
Atualize este app para usar chats em um servidorO ambiente de workspaces do servidor usa uma versão da API para celular diferente da do app.
Um ajuste de notificação diz que o servidor não envia notificaçõesO servidor define MAESTRLY_GATEWAY_PUSH=off.
As páginas não abremDefina um Endereço público HTTPS em Configurações → Artefatos no computador.

Para a build, a publicação e as verificações em aparelho, leia o guia técnico completo (em inglês).

A seguir: Artefatos.