omnara

module
v0.0.0-...-7435b59 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 5, 2026 License: Apache-2.0

README

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 · 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

  1. 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
# ...
# add more tools, sandboxes, mcps
  1. Upload your agent profile
$ npx omnara login
$ npx omnara profiles create --name agent --file agent.yaml
id                  aprf_aej3...
name                agent
[...]
  1. 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, 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
  • Docker with Compose
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.

make verify

To include React Doctor against the current branch changes, run make web-check-all.

Run database-backed integration tests.

make test-integration

Run deterministic service end-to-end tests.

make test-service-e2e

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.

Community

GitHub Issues · Discord · Security

License

Apache License 2.0

Directories

Path Synopsis
api
cmd
api command
daemon command
maintenance command
migrate command
worker command
frontend
internal
blackbox
Package blackbox contains a black-box API test suite that runs against a deployed Omnara control plane over the public HTTP API only.
Package blackbox contains a black-box API test suite that runs against a deployed Omnara control plane over the public HTTP API only.
blobstore
Package blobstore defines the key-addressed blob storage contract and its S3 backend.
Package blobstore defines the key-addressed blob storage contract and its S3 backend.
e2e
Package e2e contains service workflow end-to-end tests.
Package e2e contains service workflow end-to-end tests.
httpapi/openapi
Package openapi provides primitives to interact with the openapi HTTP API.
Package openapi provides primitives to interact with the openapi HTTP API.
log
machinedaemon/skillsync
Package skillsync materializes skill archives on a machine.
Package skillsync materializes skill archives on a machine.
machinedaemon/statedb
Package statedb owns small, structured per-machine facts that must survive daemon and supervisor restarts.
Package statedb owns small, structured per-machine facts that must survive daemon and supervisor restarts.
mcp
model/providererrors
Package providererrors classifies evidence extracted by protocol adapters from provider-specific error envelopes.
Package providererrors classifies evidence extracted by protocol adapters from provider-specific error envelopes.
outboundhttp
Package outboundhttp composes redirect policy with either public-network SSRF protection or a caller-owned transport.
Package outboundhttp composes redirect policy with either public-network SSRF protection or a caller-owned transport.
skills
Package skills parses and extracts Agent Skills archives.
Package skills parses and extracts Agent Skills archives.
testutil/integrationblob
Package integrationblob opens the MinIO-backed blob store from compose.yaml for integration tests, mirroring how integrationdb opens the test database.
Package integrationblob opens the MinIO-backed blob store from compose.yaml for integration tests, mirroring how integrationdb opens the test database.
webaccess
Package webaccess owns all outbound public-web access for agent tools: the SearchProvider interface behind the web_search tool and the SSRF-guarded Fetcher behind the web_fetch tool.
Package webaccess owns all outbound public-web access for agent tools: the SearchProvider interface behind the web_search tool and the SSRF-guarded Fetcher behind the web_fetch tool.
tools
cluster-release command
omnarad-release command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL