# agentoven **Repository Path**: wurulan/agentoven ## Basic Information - **Project Name**: agentoven - **Description**: AgentOven is a **framework-agnostic agent control plane** that standardizes how AI agents are built, deployed, observed, and orchestrated across an enterprise. Think of it as a **clay oven** 🏺 β€” you put in raw ingredients (models, tools, data, prompts) and **production-ready agents come out the chimney**. - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-15 - **Last Updated**: 2026-05-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

AgentOven

AgentOven

Bake production-ready AI agents.

The open-source enterprise agent control plane with native A2A + MCP support.

Documentation β€’ Quickstart β€’ Discord β€’ Discussions β€’ Contributing

Apache 2.0 License a2a-ao on crates.io agentoven-core on crates.io agentoven-cli on crates.io PyPI npm

--- ## What is AgentOven? AgentOven is a **framework-agnostic agent control plane** that standardizes how AI agents are built, deployed, observed, and orchestrated across an enterprise. Think of it as a **clay oven** 🏺 β€” you put in raw ingredients (models, tools, data, prompts) and **production-ready agents come out the chimney**. ### The Problem - Agents are built ad-hoc with no consistency - No governance, audit trail, or cost visibility - Locked into single vendors (Databricks, Azure, LangChain) - Multi-agent workflows are stitched together manually - No standard protocol for agent-to-agent collaboration ### The Solution AgentOven provides a unified control plane with: | Capability | Description | |---|---| | 🏺 **Agent Registry** | Version, discover, and manage agents as first-class resources | | πŸ”€ **Model Router** | Intelligent routing across providers with fallback, cost optimization | | 🀝 **A2A Native** | [Agent-to-Agent protocol](https://github.com/google/A2A) built-in from day 1 | | πŸ”§ **MCP Gateway** | [Model Context Protocol](https://modelcontextprotocol.io/) for tool/data integration | | πŸ“Š **Observability** | OpenTelemetry tracing on every invocation, cost & latency dashboards | | πŸ”„ **Workflow Engine** | DAG-based multi-agent orchestration via A2A task lifecycle | | πŸ“ **Prompt Studio** | Versioned prompt management with diff view and A/B variants | | πŸ’¬ **Sessions** | Multi-turn chat sessions with history, thinking mode, and streaming | | πŸ›‘οΈ **Guardrails** | Pre/post processing content filters and safety checks | | πŸ§ͺ **Evaluation** | Automated evals with LLM judges and regression detection | | πŸ’° **Cost Tracking** | Per-request token counting, tenant-level chargeback | | πŸ” **Governance** | Pluggable auth (API keys, service accounts, SSO), RBAC, audit logs | | πŸ”Ž **RAG Pipelines** | 5 retrieval strategies with vector stores and embedding management | ## Architecture ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ AgentOven Control Plane β”‚ β”‚ (Registry Β· Router Β· RBAC Β· Cost Β· Tenancy) β”‚ ← Go β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ A2A Gateway β”‚ MCP Gateway β”‚ β”‚ (Agent ↔ Agent) β”‚ (Agent ↔ Tools/Data) β”‚ ← Go β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ AgentOven Runtime β”‚ β”‚ (Execute Β· Instrument Β· Route Β· Enforce Policies) β”‚ ← Rust β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚LangGraphβ”‚ CrewAI β”‚OpenAI SDKβ”‚ AutoGen β”‚ Custom Agents β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` ## Quick Start ### Install the CLI ```bash # macOS brew install agentoven/tap/agentoven # Cargo cargo install agentoven-cli # Or download the binary curl -fsSL https://agentoven.dev/install.sh | sh ``` ### Install the Python SDK ```bash pip install agentoven ``` ### Install the TypeScript SDK ```bash npm install @agentoven/sdk ``` ### Bake your first agent ```bash # Initialize a project agentoven init --name my-agent --framework openai-sdk # Set up a model provider agentoven provider add my-openai --kind openai --api-key $OPENAI_API_KEY # Register an agent agentoven agent register summarizer \ --description "Summarizes documents with citations" \ --model-provider my-openai \ --model-name gpt-4o \ --system-prompt "You are a document summarizer." # Bake (deploy) the agent agentoven agent bake summarizer # Test it interactively agentoven agent test summarizer --interactive ``` ### Or use the Python SDK **Simple β€” single model, no extras:** ```python from agentoven import Agent, AgentOvenClient agent = Agent("summarizer", description="Summarizes documents with citations", model_provider="my-openai", model_name="gpt-4o", system_prompt="You are a document summarizer.", ) client = AgentOvenClient() client.register(agent) client.bake(agent, environment="production") ``` **Advanced β€” multi-model fallback, tools, and MCP:** ```python from agentoven import Agent, Ingredient, AgentOvenClient agent = Agent("summarizer", description="Summarizes documents with citations", ingredients=[ Ingredient.model("gpt-4o", provider="my-openai"), Ingredient.model("claude-sonnet", provider="anthropic", role="fallback"), Ingredient.tool("document-reader", protocol="mcp"), Ingredient.prompt("system", text="You are a document summarizer."), ], ) client = AgentOvenClient() client.register(agent) client.bake(agent, environment="production") # The agent is now discoverable via A2A # Other agents can find it at: # /.well-known/agent-card.json ``` ### Multi-Agent Recipes ```python from agentoven import Recipe, Step, AgentOvenClient # A Recipe is a multi-agent workflow recipe = Recipe("document-review", steps=[ Step("planner", agent="task-planner", timeout="30s"), Step("researcher", agent="doc-researcher", parallel=True), Step("summarizer", agent="summarizer"), Step("reviewer", agent="quality-reviewer"), Step("approval", human_gate=True, notify=["team-leads"]), ], ) # Bake the recipe via the client client = AgentOvenClient() client.bake(recipe, input='{"document_url": "https://..."}') ``` --- ## CLI Reference The `agentoven` CLI provides **55+ commands** across **13 command groups** for complete control of your agent infrastructure. ### Global Flags ``` --url Control plane URL (env: AGENTOVEN_URL) --api-key API key (env: AGENTOVEN_API_KEY) -k, --kitchen Kitchen/workspace scope (env: AGENTOVEN_KITCHEN) --output Output format: text, json, table --help Show help for any command ``` ### Commands Overview | Command Group | Subcommands | Description | |---|---|---| | `agentoven init` | β€” | Initialize a new project with `agentoven.toml` | | `agentoven agent` | `register`, `list`, `get`, `update`, `delete`, `bake`, `recook`, `cool`, `rewarm`, `retire`, `test`, `invoke`, `config`, `card`, `versions` | Full agent lifecycle management | | `agentoven provider` | `list`, `add`, `get`, `update`, `remove`, `test`, `discover` | Model provider management (OpenAI, Anthropic, Ollama, LiteLLM) | | `agentoven tool` | `list`, `add`, `get`, `update`, `remove` | MCP tool management | | `agentoven prompt` | `list`, `add`, `get`, `update`, `remove`, `validate`, `versions` | Versioned prompt template management | | `agentoven recipe` | `create`, `list`, `get`, `delete`, `bake`, `runs`, `approve` | Multi-agent workflow orchestration | | `agentoven session` | `list`, `create`, `get`, `delete`, `send`, `chat` | Multi-turn chat session management | | `agentoven kitchen` | `list`, `get`, `settings`, `update-settings` | Workspace/tenant management | | `agentoven trace` | `ls`, `get`, `cost`, `audit` | Observability, cost tracking, audit logs | | `agentoven rag` | `query`, `ingest` | RAG pipeline operations | | `agentoven dashboard` | β€” | Start the control plane + open the dashboard UI | | `agentoven login` | β€” | Authenticate with the control plane | | `agentoven status` | β€” | Show control plane health and agent count | ### Agent Lifecycle ``` register β†’ bake β†’ ready ↓ ↑ cool β†’ rewarm ↓ retire ``` | Command | Description | |---|---| | `agentoven agent register ` | Register a new agent (accepts `--config`, `--framework`, `--model-provider`, `--guardrail`, etc.) | | `agentoven agent bake ` | Deploy an agent β€” resolves ingredients, validates config, sets status to ready | | `agentoven agent recook ` | Hot-swap agent configuration without full redeployment | | `agentoven agent cool ` | Pause a running agent (preserves state) | | `agentoven agent rewarm ` | Bring a cooled agent back to ready | | `agentoven agent retire ` | Permanently decommission an agent | | `agentoven agent invoke ` | Run a managed agent with full agentic loop and execution trace | | `agentoven agent test ` | One-shot or interactive playground for testing agents | | `agentoven agent card ` | Show the A2A Agent Card (discovery metadata) | | `agentoven agent versions ` | Show version history | ### Multi-turn Sessions ```bash # Create a session agentoven session create my-agent # Interactive chat with thinking mode agentoven session chat my-agent --thinking # Send a single message agentoven session send my-agent --message "Summarize this doc" ``` ### RAG Operations ```bash # Ingest documents into a collection agentoven rag ingest ./docs/ --collection knowledge-base --chunk-size 1000 # Query with different strategies agentoven rag query "What is AgentOven?" --strategy naive --sources agentoven rag query "How does routing work?" --strategy hyde --top-k 10 ``` --- ## Kitchen Vocabulary 🏺 AgentOven uses a **clay oven** metaphor throughout: | Term | Meaning | |---|---| | **Oven** | The AgentOven control plane | | **Recipe** | A multi-agent workflow (DAG) | | **Ingredient** | A model, tool, prompt, or data source | | **Bake** | Deploy an agent or run a workflow | | **Cool** | Pause a running agent | | **Rewarm** | Bring a cooled agent back to ready | | **Retire** | Permanently decommission an agent | | **Re-cook** | Hot-swap agent configuration | | **Kitchen** | A workspace/project (tenant boundary) | | **Baker** | A user/team building agents | | **Menu** | The agent catalog/registry | ## Project Structure ``` agentoven/ β”œβ”€β”€ crates/ # Rust workspace β”‚ β”œβ”€β”€ a2a-ao/ # A2A protocol SDK (standalone crate) β”‚ β”œβ”€β”€ agentoven-core/ # SDK core library β”‚ └── agentoven-cli/ # CLI tool (55+ commands) β”œβ”€β”€ control-plane/ # Go control plane service β”‚ β”œβ”€β”€ cmd/server/ # Entry point β”‚ β”œβ”€β”€ pkg/ # Public interfaces (contracts, models) β”‚ └── internal/ # Router, MCP gateway, workflow engine, RAG, auth β”œβ”€β”€ sdk/ β”‚ β”œβ”€β”€ python/ # Python SDK (PyO3 bindings) β”‚ └── typescript/ # TypeScript SDK (napi-rs bindings) β”œβ”€β”€ infra/ # Docker, Helm, Terraform └── site/ # Static landing page ``` ## Contributing We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines. ### Key areas to contribute: - πŸ¦€ **a2a-ao** β€” The A2A Rust SDK by AgentOven (help us shape the ecosystem) - πŸ”Œ **Model providers** β€” Add new provider integrations - πŸ§ͺ **Evaluators** β€” Build custom evaluation judges - πŸ“š **Docs & examples** β€” Help others bake better agents ## Open-Core Model | | OSS (Apache 2.0) | Enterprise | |---|---|---| | Agent Registry | βœ… Single-tenant | Multi-tenant, org hierarchy | | A2A + MCP | βœ… Full protocol | + cross-org federation | | CLI + SDKs | βœ… Full (55+ commands) | βœ… Full | | Model Router | βœ… Routing + fallback | + cost optimizer, budgets | | Sessions | βœ… Multi-turn chat | βœ… Multi-turn chat | | RAG Pipelines | βœ… 5 strategies | + quality monitor | | Workflow Patterns | βœ… All 6 patterns | + custom step plugins | | Observability | βœ… 7-day retention | 400-day, advanced analytics | | Auth | API keys, service tokens | SSO/SAML, OIDC, RBAC, audit logs | | Compliance | SOC2, GDPR | + FedRAMP, HIPAA, GxP | | Deployment | Self-hosted | + managed cloud, BYOC, SLA | ## License [Apache License 2.0](LICENSE) β€” free to use, modify, and distribute. ---

🏺 Baked with care by the AgentOven community.