Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Starweaver

Starweaver is a Rust agent SDK with provider-neutral model protocols, a checkpointable runtime, reusable tool schema, and an application-facing SDK layer.

The project borrows proven agent ideas from Pydantic AI and runtime patterns from ya-mono, then keeps Rust crate boundaries explicit:

flowchart TD
    app[Application]
    sdk[starweaver-agent]
    runtime[starweaver-runtime]
    model[starweaver-model]
    tools[starweaver-tools]
    context[starweaver-context]
    service[future starweaver-claw]

    app --> sdk
    sdk --> runtime
    sdk --> tools
    runtime --> model
    runtime --> tools
    runtime --> context
    service --> sdk
    service --> runtime

Current foundation

  • starweaver-model provides canonical messages, provider profiles, request settings, protocol clients, replay-tested provider mappers, and deterministic test models.
  • starweaver-tools provides tool definitions, function tools, toolsets, prefixed toolsets, registries, retry metadata, approval/deferred metadata, and MCP foundations.
  • starweaver-runtime provides the core agent loop, output validation, tool loop, usage budgets, stream records, capability hooks, context integration, and executor checkpoints.
  • starweaver-agent provides the SDK builder, app wrapper, facade re-exports, and SDK-level subagent registry.

First run

#![allow(unused)]
fn main() {
use std::sync::Arc;

use starweaver_agent::{AgentBuilder, TestModel};

async fn example() -> Result<(), starweaver_agent::AgentError> {
let agent = AgentBuilder::new(Arc::new(TestModel::with_text("Paris")))
    .instruction("Answer concisely.")
    .build();

let result = agent.run("What is the capital of France?").await?;
assert_eq!(result.output, "Paris");
Ok(())
}
}

Documentation map