Repository navigation
0.5a0
Pre-release
Pre-release
- Choose a model when starting a new conversation. The model is pinned for the life of that conversation and shown next to its title. The list comes from datasette-llm's
agentpurpose configuration and can be fetched from/-/agent/api/models;POST /-/agent/api/conversationsaccepts an optional"model". #40 - Tag tables, databases and stored queries in chat messages by typing
#, with autocomplete. Tags show as pills linking to the Datasette page for that item, and give the model context such as a table's schema or a query's details. Permission checks run as the user sending the message. - New
register_agent_reference_types()plugin hook, letting plugins add their own types of#reference, with their own search, links, model instructions and context. Thesearchandcontextfunctions can be plain orasync. - New panel next to the chat that shows Datasette pages. The agent opens pages there with the new
show_in_paneltool, and same-site links in the chat open there too. On narrow screens a Chat | Panel switch alternates between the two. Pages that refuse to be framed show an error with a link to open them in a new tab. #45 - New Stop button, which replaces Send while the agent is working. Text the model has already streamed is kept. A tool that has already started is allowed to finish, since it may have written to a database, and the agent stops before its next step. #13, #52
- Conversations keep running if you navigate away. Coming back to a running conversation now shows what the agent has done so far and continues live, with the Stop button available. Only one turn can run in a conversation at a time. #52
- Conversations that are still running show an animated indicator in the list at
/-/agent. #52 - The message box stays editable while the agent is working, so you can type your next message. Only the Send button is disabled.
- Fixed a bug where the system prompt never reached models whose plugins build requests from the message list alone, including llm's OpenAI models, OpenAI-compatible local servers, llm-ollama and llm-mistral. This needs llm 0.37.1 or later. Thanks, Niall Smart. #25
- The system prompt no longer lists every database and table. It is now the same for every user and schema, which keeps provider prompt caches valid.
list_databases_and_tablescopes with large instances by returning table counts, and a newlist_tablestool lists the tables in one database. #49 - New
describe_querytool for reading the details of a stored query. sql_querynow accepts named parameters, as a list of{"name": ..., "value": ...}objects.execute_write_sqluses the same format, while still accepting dictionaries andnull. #38sql_queryresults now include aquery_mstiming. #36- Links to other sites in the chat now ask for confirmation before they open. Markdown images are no longer rendered.
- The conversations list at
/-/agentnow has search and pagination, and a new layout. - Removed the "Explore with AI agent" table and database action, its
/-/agent/explore/pages and thedatasette-agent-explorepermission. #48 - New
/-/patterns/agentpage showing the agent's UI controls with sample content. Like Datasette's own/-/patterns, it is available to anyone with theview-instancepermission. - Datasette's
base_urlsetting is now respected throughout the agent UI. - Display fixes: Markdown handles underscores correctly, empty message bubbles are no longer shown, tool names drop their "Tool" prefix, and the "View SQL query" link stays visible below tall result tables.
- Now requires Python 3.11 or later, and adds support for Python 3.15. Minimum versions are now
datasette>=1.0a41,datasette-llm>=0.1a9andllm>=0.37.1.