datasette-agent 0.4a0 dá ao agente de IA o controle do navegador do usuário
Simon Willison publicou no dia 31 de julho de 2026 a versão 0.4a0 do datasette-agent, com uma nova primitiva chamada await context.browser_task().
Simon Willison publicou no dia 31 de julho de 2026 a versão 0.4a0 do datasette-agent, com uma nova primitiva chamada await context.browser_task().
Simon Willison publicou no dia 31 de julho de 2026 a versão 0.4a0 do datasette-agent, com uma nova primitiva chamada await context.browser_task(). Essa função permite que plugins do agente executem JavaScript no navegador do usuário. Simon Willison criou o Datasette e mantém o agente como projeto de código aberto. A release está no GitHub em github.com/datasette/datasette-agent/releases/tag/0.4a0 e a postagem original saiu às 14h14 do mesmo dia. O datasette-agent é um agente de IA para consulta e manipulação de dados no Datasette, e a tag "datasette" acumula 1.531 publicações no weblog de Willison.
A mudança veio do pull request #33 no repositório oficial. Antes dessa release, qualquer código que o modelo de linguagem precisava executar rodava no servidor do Datasette. O browser_task() inverte a direção: o agente delega a execução de JavaScript diretamente para o navegador do usuário. Willison descreve a funcionalidade como "excitante" e afirma que ela "facilita que plugins do Datasette Agent forneçam ferramentas que executam JavaScript customizado no navegador do usuário". O texto do release aponta que a API nova é assíncrona — o "await" na assinatura indica que o agente espera o resultado da tarefa no browser antes de prosseguir. Isso muda o fluxo de execução do agente, que agora pode ler e escrever no DOM, disparar eventos e acessar dados locais sem round-trips ao servidor.
Willison já aplicou a funcionalidade num projeto real. No dia 1º de agosto, ele publicou a versão 0.2a0 do datasette-apps e integrou um loop de depuração usando o browser_task(). Nesse caso, o agente inspeciona a aplicação web do Datasette em tempo real, identifica problemas e corrige código diretamente na interface. O autor descreveu a implementação no post "datasette-apps 0.2a0" em seu weblog. Não há informação sobre quantos usuários testaram a funcionalidade nem sobre estresse em ambientes de produção. Trata-se de demonstração controlada, feita pelo próprio autor da ferramenta.
O número da release — 0.4a0 — indica que o datasette-agent ainda está em fase alfa. A sigla "a0" sinaliza que a API pública pode mudar sem aviso até a primeira versão estável. O comunicado não detalha quais operações o browser permite ou bloqueia quando recebe código do agente. Também não menciona restrições de segurança contra execução de JavaScript vindo do modelo de linguagem. Desenvolvedores que quiserem usar o browser_task() precisam criar plugins para o datasette-agent e testar em seus próprios ambientes. A licença do projeto é aberta, mas o release não especifica qual — o repositório no GitHub carrega a informação.
O post sobre o datasette-agent não isolou. No mesmo dia 31 de julho, Willison publicou "Stateless MCP has recaptured my interest", que gerou dois projetos novos: mcp-explorer e datasette-mcp. Esses trabalhos exploram o Protocolo de Controle de Modelo (MCP) de forma sem estado, sem depender de servidores intermediários. Dias antes, no dia 22 de julho, ele escreveu sobre o que chamou de "ataque cibernético acidental da OpenAI contra a Hugging Face". No dia 21 de julho, publicou uma conversa com Cat e Thariq, da equipe do Claude Code. Willison mantém um briefing mensal que ele vende como assinatura paga por 10 dólares por mês — o slogan é "Pague para receber menos". O datasette-agent é parte de um ecossistema mais amplo de ferramentas que Willison construiu ao redor do Datasette e de modelos de linguagem, e cada release costuma vir acompanhada de um post detalhado no weblog.