Omnara
The API for production-grade agents.
Omnara is an open source platform for running managed agents. It handles
execution and state while you choose the models, tools, machines, and how users
interact with each agent.
Omnara Cloud ·
Documentation ·
API ·
Changelog ·
Discord
Who it is for
- Developers. Build agents for internal use or customer-facing products with
the API. Your application controls who can use each agent, what input it
receives, and how its output reaches users. Omnara handles execution and state
in between.
- Teams. Interact with agents directly through Omnara's dashboard or
first-party Slack connector.
Getting Started
- Create your agent
instruction: |
You are a coding agent running gpt-5.6-sol. Use the tools
you have available to solve coding problems for the user.
model:
provider_config: omnara-openrouter
name: openai/gpt-5.6-sol
- Upload your agent profile
$ npx omnara login
$ npx omnara profiles create --name agent --file agent.yaml
id aprf_aej3...
name agent
[...]
- Launch the agent from the profile and chat with it
$ npx omnara agents launch --profile $AGENT_PROFILE_ID --file agent.yaml
$ open https://app.omnara.com/projects/[$PROJECT_ID]/agents/[$AGENT_ID]
Features
- Durable agents. Agent state is committed
atomically to Postgres. Agents recover automatically from crashes, restarts,
and temporary machine disconnects.
- Machines. Use sandboxes from Blaxel, Daytona, Modal,
or Unikraft (more coming soon), or connect your own laptop or VM. An agent
can run with no machines or use several at once. These can be sandboxes, your own
machines, or both. You can add or remove machines while the agent is running.
- Models. Bring your own API keys and use any model
exposed through a compatible endpoint, including OpenRouter, LiteLLM, and
Ollama. Omnara supports OpenAI Responses, OpenAI Chat Completions, and
Anthropic Messages, with more API formats coming soon.
- Tools. Use built-in tools, custom tools, skills,
and HTTP MCP servers.
- RBAC. Assign organization and project roles to
users and API keys. Separate who can manage access, configure agents, operate
them, or only view them.
- Cloud or self-hosted. Use Omnara Cloud or run it
yourself under Apache 2.0.
- Queryable state. Self-hosted deployments can
query agent history directly in Postgres for analytics, evals, prompt
analysis, and training datasets.
- CLI and SDK. Use Omnara programmatically via the CLI, Typescript CLI, or REST API.
Get started
Omnara Cloud
Sign up at app.omnara.com, add a model provider,
define an agent profile, and launch it from the console, Slack, or API.
See the quickstart for the complete flow.
Self-host
Requirements
Run published images
git clone https://github.com/omnara-ai/omnara.git
cd omnara
docker compose -f compose.yaml --profile app up -d
Build from source
git clone https://github.com/omnara-ai/omnara.git
cd omnara
docker compose --profile app up -d --build
Open http://localhost:8000. Local authentication email
is written to docker compose logs api, so you can complete signup without
configuring an email provider.
Add a model provider credential in the console, create an agent profile, and
launch an agent.
Local development uses intentionally insecure defaults. Do not use those
defaults in a deployed environment. Follow the
self-hosting guide and
configuration reference
for production setup.
API
The API is defined in api/openapi/openapi.yaml and
served under /api/v1. See the
API overview.
Development
Source development requires the Go version declared in go.mod,
Node.js 24 or newer with Corepack, and Docker with Compose.
Run the fast repository gate.
To include React Doctor against the current branch changes, run
make web-check-all.
Run database-backed integration tests.
Run deterministic service end-to-end tests.
Provider-backed live tests are available through the make test-live-* targets
and require the corresponding credentials.
See CONTRIBUTING.md for generated-code workflows and pull
request expectations.
GitHub Issues ·
Discord ·
Security
License
Apache License 2.0