MVCODEDocsv2026.7 · devAbrir o app
Docs/Superfícies do produto/Mobile e PWA

A sessão no bolso,
a execução no lugar certo.

O mobile do MVCode é um thin client deliberado: o celular controla sessões que rodam em uma máquina de verdade — aprovações, acompanhamento, review e notificações. Execução local em telefone não é o objetivo.

Em rolloutHow-to /mobile1 min de leitura

01Arquitetura: thin remote client

Rodar o stack completo do agente em iOS ou Android exigiria PTY local, ripgrep, LSPs e semântica de workspace que não fazem sentido num telefone. A decisão de arquitetura é explícita:

  • Execução permanece remota — numa instância mvcode sua (desktop, servidor, VPS) ou ambiente hospedado.
  • O mobile consome as superfícies existentes — HTTP, eventos SSE, PTY e o SDK gerado. Capacidade nova entra no contrato compartilhado, nunca num backend só de mobile.
  • Conectividade intermitente é assumida — streams retomáveis e recuperação de sessão fazem parte do contrato.

02O que você faz do celular Em rollout

ControleSessõesAbra, acompanhe a timeline em tempo real, envie o próximo prompt.
DecisãoAprovaçõesPermissões e perguntas do agente chegam como notificação — responda de onde estiver.
QualidadeReviewDiffs completos num drawer deslizante, com comentário por linha.
ConexãoServidoresVários servidores salvos, com saúde e reconexão automática.

03PWA — a porta de entrada

A interface web embarcada é instalável como PWA: abra o endereço do seu servidor no navegador do celular e adicione à tela inicial. É o caminho de maior alcance hoje — e permanece como fallback universal.

na máquina que executa
MVCODE_SERVER_PASSWORD=segredo mvcode serve --hostname 0.0.0.0 --port 4096
# no celular: https://seu-host:4096 → Adicionar à tela inicial
Rede segura sem expor porta

Uma VPN mesh como Tailscale é o caminho recomendado para alcançar seu runtime de fora de casa — sem abrir portas públicas. Veja também rede e ambientes restritos.

04Push notifications Em rollout

A entrega de push está implementada e guardada pela flag MVCODE_ENABLE_MOBILE_PUSH (desligada por padrão). Rotas suportadas: APNs (iOS), FCM (Android) e webhook local (desktop e web — o mesmo contrato de eventos alimenta as notificações nativas do app).

Pareamento do dispositivo

  1. Inicie o pareamento
    http
    POST /api/push/pair/start
  2. Complete com o código de uso único
    http
    POST /api/push/pair/complete
    { "platform": "ios", "token": "…", "name": "iPhone da Ana" }
  3. Confira o registro
    http
    GET /api/push/device

Eventos que notificam

EventoQuando dispara
session.idleO agente terminou e espera você.
session.errorA sessão falhou e precisa de atenção.
permission.v2.askedUma permissão aguarda decisão.
question.v2.askedO agente fez uma pergunta.
task.background.result.deliveredUm subagente em background entregou resultado.

Credenciais de push (APNs/FCM) são provisionadas por variáveis MVCODE_PUSH_* no servidor — nunca em git. Transportes não configurados são pulados e contabilizados como não aceitos.

05Apps nativos Planejado

Os shells nativos iOS/Android (distribuição via lojas, integração profunda de notificações) estão planejados sobre a mesma camada thin-client já pronta. O que existe hoje — PWA + push + pareamento — é a fundação deles, não um atalho provisório.