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-modelprovides canonical messages, provider profiles, request settings, protocol clients, replay-tested provider mappers, and deterministic test models.starweaver-toolsprovides tool definitions, function tools, toolsets, prefixed toolsets, registries, retry metadata, approval/deferred metadata, and MCP foundations.starweaver-runtimeprovides the core agent loop, output validation, tool loop, usage budgets, stream records, capability hooks, context integration, and executor checkpoints.starweaver-agentprovides 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(())
}
}