I had a few requirements:
- I work in multiple programming languages, so it needs to work for all of them.
- I can control how tools access my system.
- I can override the agent loop to try different patterns.
- I can iterate on the loop without handling durability, streaming, and the rest of the nitty gritty.
- I can iterate locally before deploying.
- I can self host.
Nothing existed that worked across programming languages, so I built it.
It's not an SDK. It's a server that handles durability, streaming, MCP connections, LLM calls and connecting to channels like Slack.
You can override every single step of the agent loop by handling a webhook.
But you don't have to override anything, you don't even need to handle the webhook. You can define the agent in a TOML file and chat with your agent via Slack in minutes.
Point it at your backend to receive a webhook at every decision point. The engine sends the current step and a proposed next step. You can echo the proposal to do what the engine wants, or you can do something else and customize the agent loop.
Check it out!