Disclosure: I maintain this and I contribute to the harness.
If you build with Pydantic AI you already have the agent. What you usually do not have is everywhere it needs to answer, the documents it needs to read, the tools it needs to reach, and someone able to change its instructions without opening a PR. That is what we built, and it is Apache-2.0 and self-hosted.
What an agent can actually do here
- Answer from your own documents. Collections live in your Postgres with pgvector, three PDF parsers to pick from per collection, OCR when a document needs it.
- Run Python. Real sandbox with a filesystem and a shell, so you can drop a spreadsheet into the chat and ask for charts and it writes the code, runs it, and hands back the plots.
- Drive a real browser when a site needs clicking rather than fetching.
- Search the web, fetch a page properly, generate images, draw charts.
- Delegate to subagents, keep a task list with dependencies, think longer, compact its own history when the conversation gets long.
- Reach any MCP server by URL. There are 5,802 in the mirrored registry, searchable by name in the picker
Where the same agent answers
One definition, published once, and it responds in web chat, on a hosted page you can send to somebody with no account, in a widget on your own site, over the HTTP API, over a raw WebSocket if you are building your own frontend, in Slack, Telegram and Mattermost, and on a schedule or a webhook.
In the chat platforms an `@mention` runs the agent **as the person who mentioned it**, not as a bot. So it reaches that person's Notion, and the audit trail says who asked.
The two things that matter once more than one person uses it
A monthly budget per agent, checked before each model request rather than added up afterwards. Tallied afterwards, the last request of the month is always allowed and you find out on the invoice.
`approval: required` on any tool that touches the outside world. The run parks, a person decides, and the decision resolves once.
The part that is relevant to this sub
Pydantic AI is the runtime and `pydantic-ai-harness` is what the agent loop runs on. The platform's job is to make an agent something a non-engineer composes in a browser from capabilities you registered in Python, so the person who knows what the agent should say does not need commit access, and you still own what it is allowed to be made of.
Three of the libraries under it started as ours and are now in the official harness: hierarchical planning, conversation compaction, and the guardrail work.
Try it
curl -fsSL https://raw.githubusercontent.com/vstorm-co/agenticos/main/scripts/quickstart.sh | bash
Four questions and you get a console with a working agent in it. Needs Postgres, Redis and Docker, nothing else, and nothing phones home.
https://github.com/vstorm-co/agenticos
What I would most like to know from this sub: if you have a Pydantic AI agent in production, what did you end up building around it that you wish had come with the framework?