Intro
OpenBot is an open source Agent platform with no user interface of its own. You use it through an HTTP API. An Agent is a program that takes a goal in plain language, plans the steps, uses tools, and gives back a result.
OpenBot runs the Agent work on a server, keeps the history, and asks people before Agents use a new capability. You bring the client: a script, a backend service, a chat bot, or your own web or mobile app.
What you can do
- Start a Session and give it work in Turns. Read the answer as one response or as a live stream.
- Every change goes into the Session’s Timeline. Go back to an earlier point and try a different path with a Fork.
- Let the Agent use Apps: outside services that people connect to their account.
- Keep a team of lasting Agents, such as a programmer and a writer. Each has its own context and memory, and they give work to each other.
- Agents have no preset limits. When an Agent tries something new, the decider above it answers a request, and the answer is kept.
- Find Apps in a public App Index, and check your own App as a publisher.
How it works
| Part | What it does |
|---|---|
| OpenBot | The server. It runs Sessions, stores data in PostgreSQL, and serves the HTTP API. |
| Sign-in | A person signs in once in a browser with an OpenID Connect provider. |
| User tokens | Programs send a token in the Authorization: Bearer <token> header for every call. |
| Permissions | Roles and policies decide what each member and each token may do. |
| API contract | One typed contract makes the server, the TypeScript client, and the API reference. |
| App Protocol | An open way to publish Apps on the web so that Agents can find and use them. |
Every OpenBot tells you where to go next. Send GET / to read its service document:
curl https://api.example.com/{ "name": "OpenBot API", "documentation": "/docs", "openapi": "/openapi.json", "auth": "/auth", "tokens": "/v1/user/tokens"}License
OpenBot is free software under the GNU Affero General Public License, version 3 only (AGPL-3.0-only).
If you run a changed copy of OpenBot for other people over a network, you must give them the source code of your changes.
See the LICENSE file for the full text.