klieo 0.38.0

Open-source Rust agent framework — typed agents, durable inter-agent comms, local-first.
Documentation

klieo

Open-source Rust agent framework — typed agents, durable inter-agent comms, local-first.

crates.io docs.rs MIT

What it is

klieo is a Rust agent framework that wires LLM clients, tools, memory, and inter-agent messaging behind a clean trait surface. Build agents that call local or remote LLMs, persist memory to SQLite/Qdrant/Neo4j, communicate over NATS or in-process bus, and expose themselves as MCP servers or A2A endpoints.

Feature flags

Flag Adds
all-foundation tools, macros, llm-ollama, memory-sqlite, bus-memory, bus-nats, mcp
all-llm llm-openai, llm-anthropic, llm-gemini (+ llm-ollama)
all-memory memory-sqlite, memory-neo4j, memory-qdrant, embed-common
all-observability runlog, otel, provenance
full All flags above

Quickstart

[dependencies]
klieo = { version = "0.36", features = ["full"] }
tokio = { version = "1", features = ["full"] }
use klieo_llm_ollama::OllamaClient;
use klieo_memory_sqlite::SqliteMemory;
use std::sync::Arc;

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let llm = Arc::new(OllamaClient::new("http://localhost:11434", "llama3"));
    let memory = Arc::new(SqliteMemory::open("agent.db").await?);
    // wire into your agent via AppState or McpServer...
    Ok(())
}

Crate catalogue

Crate Purpose
klieo-core Trait surface: Agent, Tool, LlmClient, memory, bus
klieo-mcp-server Expose tools as an MCP server over stdio or HTTP
klieo-a2a Durable A2A v1.0 protocol over NATS
klieo-bus-nats Production NATS JetStream bus
klieo-bus-memory In-process bus for dev and testing
klieo-llm-ollama Local Ollama LLM client
klieo-llm-openai OpenAI Chat Completions
klieo-llm-anthropic Anthropic Messages API
klieo-llm-gemini Google Gemini
klieo-memory-sqlite SQLite memory backends
klieo-memory-qdrant Qdrant vector memory
klieo-memory-neo4j Neo4j graph memory
klieo-flows Multi-agent composition
klieo-ops Production operations layer

Resources

Status

0.36.x — pre-1.0; patch releases are backward-compatible, minor releases may add public items. See docs/SEMVER.md.

License

MIT — see LICENSE.