openma
Open Managed Agents (OMA) is an open-source platform for running AI agents, offering a self-hosted alternative to Claude Managed Agents. It provides a meta-harness that manages sessions, sandboxes, tools, memory, and integrations, allowing developers to focus on writing the agent logic. It is designed for developers who want to deploy and manage agents on their own infrastructure or on Cloudflare Workers.
✨ Key features
- Drop-in compatible with Claude Managed Agents API
- Runs on Cloudflare Workers or Docker self-host
- Built-in sessions, sandboxes, tools, and memory
- Encrypted vaults for credential storage
- Crash recovery and durable event log
- Custom harness support with SDK
🎯 Use cases
- Self-hosted agent platform for internal tools
- Deploy agents on Cloudflare edge
- Build custom agent workflows with custom harnesses
- Run agents with BYOK model credentials
- Integrate with Slack, GitHub, Linear
📦 Installation
🧰 Requirements: Node.js for self-host, Cloudflare Workers Paid plan for Cloudflare deploy; requires BETTER_AUTH_SECRET and PLATFORM_ROOT_SECRET; optional ANTHROPIC_API_KEY.
git clone https://github.com/openma-ai/open-managed-agents.git
cd open-managed-agents
cp .env.example .env$EDITOR .envdocker compose up -dcurl localhost:8787/healthopen http://localhost:8787 # Console UI on the same port🚀 Usage
AID=$(curl -s -X POST localhost:8787/v1/agents -H 'content-type: application/json' \
-d '{"name":"hello","model":"claude-sonnet-4-6","tools":[{"type":"agent_toolset_20260401"}]}' | jq -r .id)
SID=$(curl -s -X POST localhost:8787/v1/sessions -H 'content-type: application/json' \
-d "{\"agent\":\"$AID\"}" | jq -r .id)
curl -s -X POST localhost:8787/v1/sessions/$SID/events -H 'content-type: application/json' \
-d '{"events":[{"type":"user.message","content":[{"type":"text","text":"Run: uname -a"}]}]}'
⚠️ Good to know
Requires Cloudflare Workers Paid plan for Cloudflare deployment; memory store has 100KB cap per memory and 30-day version retention.
❓ FAQ
What are the two ways to run OMA?
You can self-host using Docker (Node) or deploy to Cloudflare Workers. Both use the same SDK and API.
What secrets are required before first boot?
BETTER_AUTH_SECRET and PLATFORM_ROOT_SECRET are required. PLATFORM_ROOT_SECRET encrypts credentials and must be backed up.
Is it compatible with Claude Managed Agents API?
Yes, it is drop-in compatible with the Claude Managed Agents API, using the same endpoints and event types.
Can I write a custom harness?
Yes, you can define a custom harness using the SDK and deploy it with 'oma deploy'.
📊 Repository
🤖 Overview, features, install steps and FAQ were generated from the project's README on Sep 4, 2026. Always check the original source before running commands.