klieo 2.0.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 Default
local tools, macros, llm-ollama, memory-sqlite, bus-memory on
all-foundation tools, macros, llm-ollama, memory-sqlite, bus-memory, bus-nats, mcp, auth-common, ops, ops-api off
all-llm llm-openai, llm-anthropic, llm-gemini (+ llm-ollama) off
all-memory memory-sqlite, memory-neo4j, memory-qdrant, embed-common off
all-observability runlog, otel, provenance off
full All flags above off

Quickstart

[dependencies]
klieo = { version = "1", features = ["full"] }
tokio = { version = "1", features = ["full"] }
anyhow = "1"
use klieo::prelude::*;

#[klieo::tool(description = "Returns a greeting.")]
async fn greet(_ctx: &ToolCtx, name: String) -> Result<String, ToolError> {
    Ok(format!("Hello, {name}!"))
}

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let app = App::local_at("klieo.db")
        .tool(GreetTool)
        .build()
        .await?;
    let agent = SimpleAgent::new("greeter", "Be helpful.", app.tools_catalogue().to_vec());
    let reply = app.run(&agent, "say hi to Alex".into()).await?;
    println!("{reply}");
    Ok(())
}

Crate catalogue

Versions reflect the current published majors; minor bumps are not called out per row. See each crate's CHANGELOG.md for fine-grained history.

Sub-crate Purpose Stability
klieo-core Trait surface (LlmClient, Tool, MemoryLongTerm, …) 1.0
klieo-llm-ollama Ollama LLM provider 1.0
klieo-llm-openai OpenAI Chat Completions 1.0
klieo-llm-anthropic Anthropic Messages API 1.0
klieo-llm-gemini Google Gemini 1.0
klieo-llm-common Shared HTTP / retry helpers for LLM providers 1.0
klieo-memory-sqlite SQLite short-term + long-term memory 1.1
klieo-memory-neo4j Neo4j-backed long-term memory 1.2
klieo-memory-qdrant Qdrant vector store for long-term memory 1.2
klieo-memory-graph Knowledge-graph traits (GraphRAG cluster) 1.0
klieo-memory-graph-neo4j Neo4j implementation of KnowledgeGraph 1.0
klieo-memory-graph-rag Retrieval orchestration over graph + vector 1.0
klieo-graph-projector Episode → knowledge-graph projector 1.0
klieo-embed-common Embedder trait + DummyEmbedder 1.0
klieo-bus-memory In-process durable bus 1.1
klieo-bus-nats NATS-backed durable bus 1.1
klieo-tools ChainedInvoker + tool dispatch 1.1
klieo-tools-mcp Client adapter — consume remote MCP servers' tools 1.0
klieo-mcp-server Server adapter — expose a klieo agent as an MCP server 1.1
klieo-macros #[tool] + derive(KlieoResponse) macros 1.0
klieo-flows Sequential / Parallel / Loop / Graph / TypedSequential flows 1.0
klieo-a2a Agent-to-agent dispatch + conformance 1.1
klieo-auth-common Authenticator trait + BearerTokenAuthenticator 1.0
klieo-auth-oauth OAuth / OIDC authenticator 1.1
klieo-ops Multi-tenant runtime — gates, escalation, four-eyes, worklog, handoff, encryption 1.1
klieo-ops-api HTTP routes for the ops layer 1.1
klieo-ops-evidence-verify CLI to verify signed evidence bundles 1.0
klieo-ops-redispatcher Cron-driven redispatch CLI 1.0
klieo-otel OpenTelemetry integration (install) 1.0
klieo-runlog Run-log store + projection 1.0
klieo-pii-patterns PII pattern table for redactors 1.0
klieo-provenance Signed evidence bundles (DORA / AI-Act) 2.0
klieo-spec Spec / critic / refiner flow primitives 1.0
klieo-eval Recall-quality metrics for memory pipelines 1.0
cargo-klieo cargo klieo CLI (replay, a2a-conformance) 1.0

Resources

Status

1.x — stable. Minor releases may add public items. See docs/SEMVER.md.

License

MIT — see LICENSE.