oxi-sdk
Multi-agent SDK for oxi — build isolated, multi-agent AI systems in Rust.
Overview
oxi-sdk provides a fluent builder API for constructing single and multi-agent AI systems
on top of oxi-ai and oxi-agent.
Key Concepts
| Component | Purpose |
|---|---|
OxiBuilder |
Configure the engine: providers, builtins, custom resolvers |
AgentBuilder |
Build individual agents with model, prompt, and tools |
AgentGroup |
Orchestrate multiple agents (pipeline, parallel, fan-out) |
MessageBus |
Pub/sub inter-agent communication |
AgentMetrics |
Track run count, tokens, and durations |
ClosureTool |
Create tools from closures without implementing the full trait |
Quick Start
use OxiBuilder;
// Build the engine
let engine = new
.include_builtins
.build;
// Create a provider
let provider = engine.create_provider?;
// Build an agent
let agent = engine.agent
.model_id
.system_prompt
.coding_tools
.workspace
.build?;
// Run
let = agent.run.await?;
println!;
Design Principles
- No global state — each
Oxiinstance has its own provider/model registries - Runtime workspace injection —
ToolContextpassed at execution time for tool reuse - ProviderResolver trait — custom provider/model resolution for embedded use cases
- Composable — agents can be combined into groups with different orchestration strategies
Workspace Crates
| Crate | Description |
|---|---|
oxi-sdk |
SDK entry point (this crate) |
oxi-ai |
LLM API — multi-provider streaming |
oxi-agent |
Agent runtime with tool-calling loop |