Datasette Agent
We just announced the first release of Datasette Agent (https://datasette.io/blog/2026/datasette-agent/), a new extensible AI assistant for Datasette. I’ve been working on my LLM (https://llm.datasette.io/) Python library for just over three years now, and Datasette Agent represents the moment that LLM and Datasette (https://datasette.io/) finally come together. I’m really excited about it!
Datasette Agent provides a conversational interface for asking questions of the data you have stored in Datasette. Add the datasette-agent-charts (https://github.com/datasette/datasette-agent-charts) plugin and it can generate charts of your data as well.
The demo The announcement post () (on the new Datasette project blog) includes this demo video (https://www.youtube.com/watch?v=AFZKp6hbFjI):
I recorded the video against the new agent.datasette.io (https://agent.datasette.io/) live demo instance, which runs Datasette Agent against example databases including the classic global-power-plants (https://datasette.io/global-power-plants) by WRI (https://www.wri.org/research/global-database-power-plants), and a copy of the Datasette backup (https://datasette.simonwillison.net/) of my blog.
The live demo runs on Gemini 3.1 Flash-Lite (https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-lite) - it’s cheap, fast and has no trouble writing SQLite queries.
A question I asked in the demo was:
when did Simon most recently see a pelican?
SELECT title, commentary, created FROM blog_beat WHERE beat_type = ‘sighting’ AND (title LIKE ‘%pelican%’ OR commentary LIKE ‘%pelican%’) ORDER BY created DESC LIMIT 5 And replied:
The most recent sighting of a pelican by Simon was recorded on May 20, 2026.
The observation included a California Brown Pelican, along with a Common Loon, Canada Goose, Striped Shore Crab, and a California Sea Lion.
Here’s that sighting on my blog (https://simonwillison.net/2026/May/20/sighting-363395265/), and the Markdown export (https://gist.github.com/simonw/a46d17b69659a4866adb1d868280091d) of the full conversation transcript.
The plugins My favorite feature of Datasette Agent is that, like the rest of Datasette, it’s extensible using plugins.
We’ve shipped three plugins so far:
• datasette-agent-charts (https://github.com/datasette/datasette-agent-charts), shown in the video, adds charts to Datasette Agent, powered by Observable Plot (https://observablehq.com/plot/).
• datasette-agent-openai-imagegen (https://github.com/datasette/datasette-agent-openai-imagegen) adds an image generation tool to Datasette Agent using ChatGPT Images 2.0 (https://openai.com/index/introducing-chatgpt-images-2-0/).
• datasette-agent-sprites (https://github.com/datasette/datasette-agent-sprites) provides tools for executing code in a Fly Sprites (https://sprites.dev/) persistent sandbox.
Building plugins is really fun. I have a bunch more prototypes that aren’t quite alpha-quality yet.
Claude Code and OpenAI Codex are both proving excellent at writing plugins - just point them at a checkout of the datasette-agent repo (https://github.com/datasette/datasette-agent) for reference and tell them what you want to build!
Running it against local models I’ve also been having fun running the new plugin against local models. Here’s a uv one-liner to run the plugin against gemma-4-26b-a4b (https://huggingface.co/google/gemma-4-26B-A4B) in LM Studio (https://lmstudio.ai) on a Mac:
uvx –prerelease=allow
–with datasette-agent –with llm-lmstudio
datasette –internal internal.db –root
-s plugins.datasette-llm.default_model lmstudio/google/gemma-4-26b-a4b
data.db
Datasette Agent needs reliable tool calls and the ability for a model to produce SQL queries that run against SQLite. The open weight models released in the past six months are increasingly able to handle that.
What’s next Datasette Agent opens up so many opportunities for the LLM and Datasette ecosystem in general.
It’s already informed the major LLM 0.32a0 refactor (https://simonwillison.net/2026/Apr/29/llm/) which I’m nearly ready to roll into a stable release, maybe with some additional “LLM agent” abstractions extracte from Datasette Agent itself.
I’ve been exploring my own take on the Claude Artifacts, which is shaping up nicely as a plugin.
I’m excited to use Datasette Agent to build my own Claw (https://simonwillison.net/2026/May/19/5-minute-llms/#5-minutes-llms.013.jpeg) - a personal AI assistant built around data imported from different parts of my digital life, which is a neat excuse to revisit my older Dogsheep (https://dogsheep.github.io) family of tools.
We’ll also be rolling out Datasette Agent for users of Datasette Cloud (https://datasette.cloud/).
Join our #datasette-agent Discord channel (https://discord.gg/hdxyusUFv) if you’d like to talk about the project.
Tags: projects (https://simonwillison.net/tags/projects), ai (https://simonwillison.net/tags/ai), datasette (https://simonwillison.net/tags/datasette), generative-ai (https://simonwillison.net/tags/generative-ai), llms (https://simonwillison.net/tags/llms), llm (https://simonwillison.net/tags/llm), datasette-agent (https://simonwillison.net/tags/datasette-agent)
Write a comment