Skip to content

chrisdev5/open-managed-agents

Repository files navigation

Open Managed Agents (OMA)

Open Managed Agents (OMA) is an open-source, self-hosted configurable harness platform for autonomous AI agents, inspired by Claude Managed Agents. It lets you create and run agents through a web UI or CLI with sandboxed Kubernetes environments, MCP tool servers, and agent skills, using your own hardware and your own LLM.

Client UI

Cluster Dashboard UI

Supported Platforms

  • Ubuntu 22.04+ (native or Windows WSL2)
  • macOS: planned — contributions welcome

Supported Harness

  • opencode SDK — the default and currently only harness driver for the agent loop

Architecture

Inspired by Claude's managed agent architecture, OMA separates concerns into three decoupled runtime components:

  • Sandbox — an isolated K8s pod providing the execution environment (filesystem, shell, network). Sandboxes are created lazily on demand when a session starts.
  • Harness Worker — a separate K8s pod running the agent loop (LLM calls, tool routing, turn management). Workers are kept in a warm pool so the first response has minimal cold-start latency.
  • Session — binds an agent definition, a harness worker, and a sandbox together. The control plane manages the full lifecycle: creation, turn dispatch, and teardown.

Quick Start

1. Install system dependencies

On a fresh Ubuntu machine (or WSL2):

git clone <repo-url> open-managed-agents
cd open-managed-agents
bash scripts/install-dependencies.sh

2. Configure environment

cp .env.example .env

Edit .env — fill in your LLM base URL and the models it supports:

OMA_LLM_PROVIDER=openai-compatible
OMA_LLM_BASE_URL=              # e.g. http://localhost:1234
SUPPORTED_LLM_MODELS=          # e.g. qwen2.5-7b-instruct,llama-3-8b

3. Install and run

pnpm install
npm run setup

After setup completes, open http://localhost:3000/client.

Usage

Web UI

  1. Go to the Client UI (http://localhost:3000/client)
  2. Create an Environment (defines the K8s pod runtime image)
  3. Create an Agent (set name, select model, write system prompt, pick skills & MCP servers)
  4. Create a Session (bind an agent to an environment)
  5. Click the session to open the chat interface
  6. Go to the Cluster Dashboard UI (http://localhost:3000/dashboard) to view the real-time status of harnesses, sandboxes, and sessions in the cluster

CLI

pnpm --filter @oma/cli exec oma env create -f environment.json
pnpm --filter @oma/cli exec oma agent create -f agent.json
pnpm --filter @oma/cli exec oma session create --agent <agent_id> --env <environment_id>
pnpm --filter @oma/cli exec oma session chat <session_id>

The CLI defaults to http://localhost:3000. Override with export OMA_API_URL=http://<host>:<port>.

License

MIT

About

Open-source, self-hosted configurable harness platform for autonomous AI agents, inspired by Claude Managed Agents.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors