Simon Willison just released Datasette Agent, and if you’ve been following his work, this one’s been a long time coming. It’s the convergence of his two major projects over the past few years: Datasette, the tool for exploring and publishing data, and LLM, his Python library for working with language models.
The pitch is straightforward. Datasette Agent gives you a conversational interface for asking questions about data stored in Datasette. Install the datasette-agent-charts plugin and it can generate visualizations too. But what makes this interesting isn’t the feature list. It’s that Willison actually shipped an extensible agent framework that works.
The architecture is plugin-based, which tracks with how Datasette itself works. The core agent handles the conversation and reasoning. Plugins extend what it can do. There’s already a charts plugin that generates visualizations, and datasette-agent-sprites that lets the agent run commands in a Fly Sprites sandbox.
That last one matters. Sandboxed execution is where most agent projects get sketchy. Willison’s using Fly’s Sprites, which are lightweight VMs that spin up fast and stay isolated. If you’re going to let an AI run code against your data, you want that isolation.
The release notes tell you what Willison was actually debugging: truncated responses where the table still needs to display even when SQL results get cut off. Empty reasoning chunks that shouldn’t render. Making sure “View SQL query” buttons show up in the right places. This is the unglamorous work of making an agent usable instead of just impressive in a demo.
Willison started building LLM in early 2023. It’s a command-line tool and Python library for working with multiple language model providers through a consistent interface. If you want to pipe something to GPT-4, Claude, or a local model without rewriting your code, that’s what LLM does.
But LLM stayed separate from Datasette until now. That’s not because connecting them was hard. It’s because Willison was figuring out what a good agent framework actually looks like. Not the kind that works in a blog post, but the kind you’d use to build real tools.
The result is something that fits how Datasette already works. If you’ve built Datasette plugins before, the agent plugin model will make sense. The agent can execute SQL queries against your databases, and the plugins teach it new capabilities. You’re not fighting a black box. You’re extending a system with clear interfaces.
The obvious use case is data analysis. You’ve got a SQLite database full of logs or user data or whatever. You want to ask “show me the distribution of response times in the last hour” and get a chart. Datasette Agent can do that.
But the more interesting angle is that the agent sees your whole Datasette instance. All your databases, all your tables, all your metadata. It can join across tables, follow foreign keys, and figure out relationships. If you’ve put in the work to make your data navigable in Datasette, the agent gets that context for free.
The Fly Sprites integration opens up weirder possibilities. An agent that can query your database and run sandboxed code can do more than just SQL. It can fetch APIs, process files, run analysis scripts. As long as it stays in the sandbox, you’re not worried about what it might try.
Willison shipped three point releases between the initial announcement and the next day. That’s not “move fast and break things” shipping. It’s “I’m using this for real work and fixing what’s broken” shipping.
Version 0.1a2 added “View SQL query” buttons below charts. Version 0.1a3 fixed how truncated responses display and cleaned up empty reasoning chunks. These aren’t features. They’re the difference between a prototype and a tool you’d actually reach for.
The alpha version number is honest. This is early. But it’s also real. You can install it, point it at your data, and see what happens. If you’re already using Datasette, that’s worth trying. If you’re not, this might be the reason to start.
The extensibility matters more than the features. Datasette Agent isn’t trying to be the one AI that does everything with data. It’s a framework for building agents that work with your data. Willison built the plumbing. The plugins are where it gets interesting.
One email at dawn. The five stories that mattered, with the bits removed and the meaning kept. Free, for now.