DisPatch 3.0: Perfis Familiares, um Assistente de Configuração e Agentes que Perguntam Antes
- Categoria
- IA e LLM Local
- Publicado em
- 19 outubro 2026
- Por
- Jacob Lloyd — escrito com ajuda de IA, depois do projeto
- Tempo de leitura
- 20 min de leitura
Em termos simples: O DisPatch é um aplicativo de chat privado para sua família, que roda no seu próprio computador e conta com um assistente de IA por trás dele. A versão 3.0 permite que cada pessoa tenha seu próprio perfil: os adultos têm acesso total ou ao chat cotidiano, enquanto as crianças recebem uma tela simples com personagens animais amigáveis, um limite diário de uso e horários silenciosos definidos por você. Um assistente de configuração guia você nos primeiros cinco minutos de uso; além disso, seus chats podem ser backupados de forma criptografada.
O DisPatch 3.0 representa a maior mudança desde que comecei o projeto. Até agora, todo o modelo de acesso baseava-se em um único PIN: ou você o tinha e podia ver tudo, ou ficava no Modo Seguro. Isso funcionava para mim. Porém não funcionava em famílias onde um adulto, um adolescente e uma criança pequena compartilham a mesma instalação. A versão 3.0 substitui isso por perfis reais, cada um com seu próprio login e limitações; o servidor verifica cada solicitação de acordo com as permissões necessárias. Também foram incluídos um assistente de configuração, backups criptografados e tarefas automatizadas.
Todas as capturas de tela abaixo são de uma instalação nova, com pessoas fictícias (Ada, Jo, Max, Mia) e conversas inventadas, usando os personagens fornecidos pelo DisPatch. Se você nunca viu o DisPatch, o artigo principal sobre o DisPatch explica o que ele é e como as respostas chegam ao seu telefone. Esta página aborda as novidades.
Resumo rápido
- Perfis: um Proprietário, qualquer número de Administradores, Membros e perfis Restritos. As crianças recebem o perfil Restrito: só podem usar os personagens feitos para elas, há limite diário de uso, horários silenciosos e nenhuma possibilidade de alterar configurações.
- Configuração: um assistente de seis etapas cria o proprietário, conecta a IA, adiciona os membros da família e pergunta quem pode acessar o aplicativo. Uma nova instalação bloqueia a conexão à rede até que o proprietário seja criado.
- IA: uma conexão por servidor de modelo; as chaves de acesso são mantidas fora do arquivo de configuração; há um botão de Teste, e o Atlas é o personagem padrão.
- Outras novidades: pacotes iniciais (Animal Friends para crianças, Assistants para adultos), suporte a voz para Membros, todas as configurações reunidas em uma única página pesquisável, backups criptografados e tarefas automatizadas com orçamentos e aprovações.
- Atualização: a versão 3.0 migra seus dados da versão 2.x ao iniciar; primeiro faz um backup, mantém o funcionamento do PIN e permite desfazer tudo com um único comando. Eu testei esse processo.
- Status: a versão 3.0 encontra-se no ramo
maindo repositório público desde 19 de outubro de 2026; já está em uso na minha própria família. Ainda não há versão marcada ou arquivo zip disponível. Licença MIT, gratuito.

O que mudou para você
- Todo mundo ganha seu próprio perfil. Toque no seu nome na tela de bloqueio e insira seu PIN ou senha. Os limites de cada pessoa são vinculados a ela, não ao dispositivo ou ao endereço Wi-Fi.
- As crianças têm um espaço seguro no app. O perfil Restrito exibe apenas os personagens que você criou para elas; elas não podem alterar nada e o uso é bloqueado fora dos horários permitidos por você.
- Os primeiros cinco minutos são guiados. O assistente pede, nessa ordem: uma conta de proprietário, uma IA, a família e a rede.
- Para conectar uma IA, use um formulário, não edite arquivos. Escolha o provedor, cole a chave e clique em Testar.
- Personagens prontos para uso. Dois pacotes iniciais são instalados com um único clique.
- Voz para toda a família. Com o complemento de voz, os Membros (e os perfis Restritos, em seus próprios personagens) podem falar em vez de digitar.
- Backups que podem ser salvos em outro lugar. Um único botão gera um arquivo criptografado contendo conversas, personagens, configurações e chaves.
- Agentes que pedem permissão antes de agir. Atribua uma tarefa a um agente em qualquer chat; observe seu funcionamento, aprove etapas arriscadas e defina limites para seus gastos.
- Docker. Execute
docker compose up -dnum clone do projeto; isso funciona no Linux, em um Pi ou no Windows. O artigo sobre Docker traz todo o passo a passo.
Perfis para toda a família
Existem quatro perfis. Em termos simples:
| Perfil | Para quem é | O que pode fazer |
|---|---|---|
| Proprietário | Você. Apenas uma pessoa. | Tudo: controlar o host, fazer backups e acessar a chave de API da máquina. |
| Administrador | Um adulto de confiança | Tudo o que o Proprietário pode fazer, exceto alterar o próprio perfil do Proprietário ou mudar o PIN de instalação; assim, ninguém consegue bloquear o Proprietário. Acesso mediante senha. |
| Membro | Um adulto ou adolescente | Conversar, usar voz, compartilhar fotos, utilizar as ferramentas habilitadas, receber notificações e organizar suas conversas. Não pode alterar configurações nem usar agentes, a menos que você autorize. Acesso mediante PIN. |
| Restrito | Uma criança ou convidado | Conversar e usar voz com os personagens destinados a ele. Não tem acesso a ferramentas, agentes, configurações ou arquivos. Há limites diários e horários de silêncio. |

O Proprietário também pode conceder ou retirar permissões específicas de uma pessoa. Por exemplo, permitir que um Membro execute agentes ou desativar a voz em um determinado perfil. Um perfil Restrito nunca recebe permissões de gestão; além disso, o controle do host jamais pode ser transferido para um Membro.
Limites para crianças
Cada perfil tem limites diários de minutos, mensagens, novas conversas, avaliações e megabytes permitidos para upload, além de horários de silêncio. No caso da Mia, o horário de silêncio é das 20:00 às 07:00; ela pode usar 45 minutos por dia e enviar até 100 mensagens. O tempo ativo é contado com base no uso real; portanto, uma aba deixada aberta durante a noite não consome seus minutos.

Esta é a visão que a Mia tem. Apenas o Animal Friends e o Atlas aparecem em seu painel, pois o público-alvo do Atlas é “todos” por padrão (é possível alterar isso). O banner no topo informa o que o Proprietário pode ver: quantidade de conversas e uploads realizados; nunca o conteúdo das mensagens.

Bloquear a tela não contorna esses limites. Na primeira vez que um perfil Restrito faz login num dispositivo ainda não vinculado a ninguém, o dispositivo passa a ser associado àquele perfil. Assim, se a Mia bloquear a tela ou sua sessão expirar, o dispositivo abrirá novamente como ela, mantendo os mesmos horários de silêncio e minutos já utilizados no dia. Essa correção foi implementada em 19/10/2026; antes disso, ao bloquear a tela, uma criança ganhava um novo “orçamento” de uso. Um dispositivo não vinculado, sem ninguém logado, assume automaticamente os limites padrão para perfis Restritos; além disso, anonymous_access: none impede até mesmo esse acesso, redirecionando para a página de login.
Um detalhe importante: nesta versão, as conversas são um espaço compartilhado por toda a família. Os perfis definem quais personagens e ações uma pessoa pode usar, mas não quem pode ler cada conversa. Nos meus testes, o Max (Membro) conseguiu abrir a conversa sobre o jantar iniciada pela Ada. Porém, se dois adultos precisarem de conversas privadas, a versão 3.0 não oferece essa possibilidade.
Se você esquecer o PIN
Ao definir o PIN do Proprietário, o DisPatch grava um código de recuperação em RECOVERY-CODE.txt, na pasta de dados. Em instalações com apenas uma pessoa, usar esse código na tela de bloqueio remove o PIN. Quando há outros perfis, o sistema pede que se defina um novo PIN, substituindo o antigo; assim, a família nunca fica sem um Proprietário válido. Quem possui senha também pode fazer login utilizando-a.
O assistente de configuração
Uma instalação nova abre um assistente com seis etapas: sua conta, um modelo, voz (opcional), família (opcional), rede e conclusão. Você pode adiar a configuração clicando em “Configurar mais tarde”; o assistente desaparece definitivamente ao clicar em “Concluir”.

A etapa importante para a segurança ocorre antes mesmo de você vê-la. Uma instalação nova fica bloqueada para a rede até que o proprietário seja criado. No computador onde o DisPatch está sendo executado, o assistente não pede nada. Em qualquer outro dispositivo, ele solicita um token de configuração único que o servidor exibe em seu log (docker compose logs app no Docker). Na versão 2.x, quem acessasse primeiro uma instalação nova podia definir o PIN e tornar-se o proprietário; agora isso não é mais possível.

Na etapa de rede, você define se o DisPatch deve ser acessível apenas deste computador (padrão) ou na sua rede doméstica. O assistente indica como iniciar o servidor para que isso aconteça. O endereço de escuta ainda depende da forma como você o executa; o assistente avisa quando há discrepância entre as configurações. Para celulares, é necessário HTTPS para a instalação na tela inicial, envio de notificações e uso do microfone. O arquivo docs/remote-access.md no repositório explica como usar um proxy reverso ou o Tailscale Serve.
Conectando uma IA
O segundo passo do assistente procura pelo StudioForge, LM Studio e Ollama no mesmo computador. Se nada for encontrado, você precisa informar manualmente o tipo, o endereço, a chave e o modelo: compatível com OpenAI, StudioForge, LM Studio, Ollama, OpenAI, Anthropic, DeepSeek ou OpenRouter. O botão Testar e salvar verifica a conexão, torna-a padrão e direciona o Atlas para ela. Em Configurações → Conexões, há treze tipos disponíveis, incluindo MiniMax e xAI. Foi lá que adicionei a conexão com o MiniMax utilizada nas capturas de tela.

Agora, cada servidor é um registro único, em vez de uma cópia repetida para cada personagem. A chave é armazenada no “keyring” do sistema operacional ou em um arquivo acessível apenas pelo seu usuário; ela nunca é exibida em telas ou APIs. Uma conexão também pode ler sua chave a partir de uma variável de ambiente definida por você. O botão Encontrar servidores procura nas portas comuns por servidores do tipo StudioForge, LM Studio, Ollama e servidores compatíveis com OpenAI. Ele nunca verifica endereços de metadados na nuvem ou endereços link-local; assim, um endereço digitado incorretamente não pode ser usado para acessar serviços internos.
Se você estiver executando o StudioForge 2.x, será necessária uma chave de API sempre que o DisPatch tentar se conectar a ele a partir de outro computador ou contêiner. Crie uma chave de inferência na página “Usuários e Chaves” do StudioForge e cole-a na configuração da conexão. O botão “Encontrar servidores” detecta o StudioForge protegido por chave e sinaliza que ela é obrigatória.
Pacotes iniciais

Os Personagens Animais são seis figuras gentis destinadas a perfis Restritos. Eles nunca pedem dados pessoais, orientam crianças preocupadas a procurar um adulto e possuem vozes integradas, sem necessidade de pesquisas externas, além de ações rápidas e reações predefinidas. Os Assistentes são quatro ajudantes para membros: explicador, redator, programador e planejador. Cada personagem possui um público-alvo (todos, membros ou restritos) e uma lista opcional de perfis autorizados a vê-lo. O servidor aplica essa regra a todas as listas e atualizações em tempo real, não apenas na barra lateral.
Voice para Membros
O chat de voz ainda é um complemento separado: DisPatch Voice. A versão atual, 1.5.0, é compatível com a versão 3.0, e são essas as imagens utilizadas aqui. Os modelos de fala foram executados na CPU da mesma máquina, sem o uso de um servidor GPU. As mudanças no DisPatch em 19/10/2026: agora os Membros podem abrir a tela de chamada, acessar Configurações → Voz e navegar pela lista de vozes e amostras. A clonagem de vozes, o servidor de fala com GPU e o interruptor de ativação/desativação permanecem disponíveis apenas para Proprietários e Administradores.

O perfil Restrito também pode usar o recurso de voz, com seus próprios personagens. A conexão de voz segue as mesmas regras do texto: os horários restritos são verificados ao iniciar a chamada e novamente durante sua execução; os minutos da chamada contam para o limite diário da criança. A versão 1.6 do recurso de voz, que reúne todas as configurações de voz numa única página, já está na branch principal do complemento, mas ainda não foi lançada.
Todas as configurações em um só lugar

Agora, cada configuração é descrita apenas uma vez: seu tipo, valor padrão, faixa de valores permitidos, se requer reinicialização e qual variável de ambiente pode sobrescrevê-la. A página 'Todas as configurações' é gerada com base nessa descrição; o arquivo docs/settings.md no repositório também é criado a partir da mesma fonte. As abas antigas ainda existem para aquelas configurações que ainda não foram migradas. Ao fazer upgrade, qualquer configuração que o DisPatch não reconheça é mantida e listada, em vez de ser descartada.
Backups criptografados

O botão 'Fazer backup agora' gera um arquivo criptografado contendo tudo o que você precisa em um novo computador: o banco de dados, personagens e configurações, avatares e chaves de conexão; além de imagens e arquivos, caso você marque a caixa correspondente. O arquivo é criptografado com AES-256-GCM, e a chave deriva da sua frase de acesso. Se não for informada nenhuma frase de acesso, o DisPatch gera uma chave de recuperação e a exibe apenas uma vez. Eu criei um arquivo de backup na instalação de teste e executei a verificação; tudo estava correto.
O ponto negativo: a frase de acesso é salva na instalação para que os backups agendados possam ser executados sem sua intervenção. Isso significa que a criptografia protege apenas uma cópia transferida para outro local, não o próprio computador. Quem tiver acesso à pasta de dados e ao arquivo de chaves já dispõe da chave necessária. Portanto, guarde a chave de recuperação ou a frase de acesso em outro lugar, como em um gerenciador de senhas ou no papel. Sem ela, qualquer arquivo copiado para outro local torna-se inutilizável. Os backups agendados ficam desativados até que você os ative (por padrão, são feitos a cada 24 horas e mantidos os 7 mais recentes). A restauração verifica primeiro o arquivo de backup e é aplicada na próxima inicialização, após salvar o estado atual como backup temporário.
Também há um novo recurso: um pacote de suporte para relatórios de erros, que remove chaves, tokens, PINs e senhas, além de excluir as conversas; também permite exportar ou apagar os dados do perfil de uma pessoa específica.
Agentes e tarefas
Um agente é um worker configurado: um backend, um modelo, instruções, as ferramentas que pode usar, um orçamento e uma política de aprovação. Uma tarefa é um trabalho que você lhe atribui, seja pela página de Tarefas, pelo botão Atribuir tarefa em qualquer chat ou por meio da menção @agent. Cada tarefa exibe um cronograma em tempo real, quaisquer subagentes que tenha iniciado, seus arquivos, o custo estimado e seu estado atual. Os proprietários e administradores veem todas as tarefas; os membros veem apenas os agentes publicados para eles e somente suas próprias tarefas, desde que você conceda essa permissão. Perfis restritos não têm acesso a nada disso.

Existem dois backends. O OpenClaw roda na mesma máquina e mantém sua própria política de ferramentas. O Agente Claude roda no SDK do Agente Claude, utilizando uma chave de API da Anthropic ou as credenciais do Amazon Bedrock, Google Cloud ou Microsoft Foundry. Não há suporte para login com assinatura do Claude; além disso, é necessário instalar o pacote extra (uv sync --extra agents-claude). No Agente Claude, qualquer ação destrutiva exige aprovação a cada vez e oferece apenas a opção “permitir uma única vez”: comandos no shell, gravação de arquivos, ou qualquer operação que envie, publique, exclua ou crie algo. Você receberá um aviso sem conteúdo, uma linha no chat e um ícone de notificação na barra lateral. Os orçamentos podem interromper uma tarefa com base em dólares, turnos, minutos ou tokens, além de limitar o uso por agente e por pessoa diariamente.
Esses limites são reais; a seção “Limitações conhecidas” abaixo os detalha. Resumindo: só testei o Agente Claude com fluxos de dados pré-gravados e scriptados, pois não possuía chave de API durante o desenvolvimento. Além disso, os comandos shell aprovados não são isolados em ambiente seguro. O roteamento de chats comuns do OpenClaw através do modelo de tarefas (agents.unified_dispatch) está desativado por padrão; portanto, se você nunca acessar a página de Tarefas, o chat continuará funcionando exatamente como antes.
Instalando a versão 3.0
Se quiser o caminho mais fácil, use o Docker. O artigo sobre Docker explica todo o processo com capturas de tela; o README do repositório também contém instruções para Windows e Linux, incluindo o Raspberry Pi 4 ou 5. Sem o Docker, trata-se de um projeto uv normal:
git clone https://github.com/LaserLloyd/DisPatch_Chat.git
cd DisPatch_Chat/backend
uv sync
uv run uvicorn app.main:app --port 8765
Abra http://localhost:8765 na mesma máquina; o assistente de configuração não exige nenhum token. Adicione --host 0.0.0.0 somente quando quiser permitir acesso de outros dispositivos, e leia o token de configuração no terminal. O README informa que a imagem Docker ocupa cerca de 840 MB; com a voz integrada, o tamanho sobe para aproximadamente 1,7 GB. O backend também roda nativamente no Windows, mas todo o conjunto de testes é executado apenas no Linux; portanto, considere a instalação nativa no Windows como experimental.
Atualizando a partir da versão 2.x
Você inicia a versão 3.0 da mesma forma que iniciou a 2.x. Antes de servir qualquer coisa, ela migra sua pasta de dados:
- Veja primeiro, se quiser. A partir de
backend/:uv run python -m app.migrate --dry-run --data-dir <your data folder>exibe cada etapa do processo sem alterar nada. - Inicie a versão 3.0. Caso haja algo a migrar, ela primeiro copia os arquivos
chats.db,config.yaml,security.yamletrusted-devices.yamlpara<data>/backups/3.0.0-<time>/, mantendo apenas os cinco mais recentes. - Seu PIN torna-se o Proprietário. O PIN permanece inalterado e continua funcionando como antes; os dispositivos previamente autorizados também permanecem autorizados. O Proprietário ainda não possui senha. O DisPatch pedirá que você defina uma senha na primeira vez em que realizar uma ação que exija isso, como criar um Administrador.
- Seus bots tornam-se “personagens”. Cada bot recebe um grupo de permissões calculado com base nos parâmetros antigos:
safemaishide_unlockedresulta em permissões Restritas; apenassaferesulta em permissões para todos; os demais bots recebem permissões de membros. As chaves de API são retiradas doconfig.yamle armazenadas no repositório de segredos; o DisPatch lê cada chave antes de removê-la. - Para desfazer a migração: pare o servidor e execute
uv run python -m app.migrate --restore <data>/backups/3.0.0-<time>, depois inicie novamente a versão 2.x.
Eu executei todo esse processo em uma cópia de teste. Iniciei o DisPatch 2.2.0 numa pasta vazia, definai um PIN e enviei uma mensagem; depois iniciei a versão 3.0 na mesma pasta. Ela criou o backup, executou a migração, e o PIN antigo foi aceito como Proprietário; o sistema pediu então uma senha. Em seguida parei o servidor, executei o procedimento de restauração, e a versão 2.2.0 iniciou normalmente na pasta restaurada.
Três situações podem causar problemas após a atualização:
- Os proxies reverso devem manter o cabeçalho
Host. Agora os cookies têm a configuraçãoSameSite=Strict; portanto, qualquer solicitação que altere algo deve vir da origem do próprio DisPatch. O Caddy e o Tailscale Serve mantêm oHostpor padrão; proxies que modifiquem esse cabeçalho serão rejeitados. - Os scripts na mesma máquina continuam funcionando sem chave enquanto
machine_loopback_trustestiver definido como verdadeiro, o que é o padrão após a atualização. Configure seus scripts com as chaves de API e depois desative essa opção. - Para voltar à versão 2.x após a migração das chaves, é preciso restaurar o backup. A versão 2.x não consegue ler as chaves armazenadas no repositório de segredos.
Corrigido desde a fusão da versão 3.0
Eu uso a versão 3.0 em casa, e um dia de uso real revelou problemas que o conjunto de testes não detectou. Todos esses problemas estão no main:
- As respostas ao vivo do OpenClaw 2026.10 voltaram a funcionar. Essa versão envia apenas o novo texto após o primeiro bloco de dados. O DisPatch lia toda a mensagem a cada vez; por isso, uma resposta exibia apenas as primeiras palavras, travava e depois aparecia completa.
- As mensagens já não falham sob carga elevada. Quando vários dispositivos enviavam dados simultaneamente, enquanto um processo em segundo plano gravava no banco de dados, algumas transmissões falhavam com a mensagem “banco de dados está bloqueado”. Na minha reprodução do problema, 7 de 24 envios falharam antes da correção; após ela, nenhum dos 48 envios falhou.
- Um tablet que permanece conectado por dias passa a respeitar os novos limites configurados. Os horários de silêncio definidos ou os perfis desativados agora são aplicados à conexão aberta na próxima ação do dispositivo.
- Os administradores obtiveram permissões completas, os membros ganharam acesso para falar, e o bloqueio deixou de redefinir os limites das crianças (todos esses pontos já foram mencionados acima).
- O código de recuperação pede um novo PIN em instalações domésticas, em vez de remover a única credencial de proprietário.
Limitações conhecidas
- As conversas são compartilhadas por toda a casa. As funções definem personagens e ações, não threads individuais.
- Por trás de um proxy TLS que reescreve o
Host, qualquer alteração é recusada. Corrija esse proxy. - O Agente Claude foi testado apenas em fluxos de dados gravados e pré-definidos; portanto, sua primeira execução real pode encontrar algo que os testes fictícios não modelam. As sessões do Claude hospedadas e um agente CLI genérico ainda não foram desenvolvidos. As tarefas também não podem ser agendadas ainda. Os comandos de shell aprovados não são isolados em um ambiente seguro.
- Ainda não existe um lançamento ou pacote de instalação versão 3.0.0. Instale a partir do
main. - O suporte nativo ao Windows ainda é experimental; use o Docker Desktop nesse caso.
Relacionado: DisPatch: um aplicativo de chat auto-hospedado para agentes de IA locais · todos os módulos no Docker · StudioForge · minha pilha de agentes de IA locais no OpenClaw