agent-rs
July 8, 2026 · View on GitHub
Sprachen: English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Français · Español · Deutsch · Português · Русский · हिन्दी · Türkçe · ไทย · Tiếng Việt · Bahasa Indonesia
agent-rs ist eine reine Rust-Async-Runtime zum Ausliefern von LLM-Agenten in echten Produkten. Mehrere Provider, Tool-Aufrufe Ende zu Ende, strukturierte Berechtigungen, MCP, Datei-Anhänge, Kostenerfassung und automatische Kompaktierung laufen über dieselbe Event-Schleife. Alle Crates verbieten unsafe.
Diese lokalisierte README ist ein schneller Einstieg. Die vollständige Moduloberfläche und detaillierte API-Hinweise stehen in der englischen README.
ZSeven-W-Produkte
agent-rs ist Teil der AI-native Produktfamilie von ZSeven-W:
- zode - eine AI-native Coding-CLI für Terminal-Workflows, gebaut um einen Rust-Mikrokernel, Plugins, mehrere Modellanbieter und eine Vollbild-TUI.
- jian - ein Rust-natives Cross-Platform-UI-Framework, bei dem eine
.op-Datei eine App sein kann. - noema - local-first, nicht-vektorbasierter Speicher für coding agents, mit review queues, lexical recall, MCP, S3 offload und Enterprise-Policy-Kontrollen.
- OpenPencil - ein Open-Source AI-native Vektordesign-Tool für design-as-code-Workflows und parallele Agent Teams.
TL;DR
use agent::prelude::*;
use std::sync::Arc;
let provider = Arc::new(AnthropicProvider::new(std::env::var("ANTHROPIC_API_KEY")?));
let engine = QueryEngine::new(provider, "claude-opus-4-7").with_system("Be concise.");
let mut stream = engine.run("Summarize Rust's borrow checker in two lines.", AbortController::new()).await?;
while let Some(event) = futures::StreamExt::next(&mut stream).await {
if let Event::TextDelta { delta } = event? { print!("{delta}") }
}
Das ist bereits ein vollständiger Agent: Provider-Streaming, Tool-Dispatch, Hooks, Berechtigungen, automatische Kompaktierung und USD-Kostentracking sind verdrahtet. Files API, MCP-Server oder das Code-Toolpaket werden zusätzlich registriert.
Warum agent-rs?
- Rust-nativ und nur Bibliothek. Kein Übernehmen von
tokio::main, kein globaler Zustand, keinpanic!bei ungültigen Eingaben. - Mehrere Provider, ein Event-Vokabular. Anthropic Messages, OpenAI-kompatible APIs und Ollama liefern dieselben
Event-Typen. - Tool-Aufrufe Ende zu Ende. Die Runtime behandelt JSON Schema, Ausführung, Ergebnisrückführung, Multi-Turn-Loops und Parallelität.
- Berechtigungen fallen sicher aus. 7-stufige Entscheidungskette, JSON-Matcher und
SafetyClassbehandeln unbekannte Tools als hohes Risiko. - Praktisches MCP. stdio-Prozesse, streamable HTTP, OAuth 2.0 + PKCE, Elicitation, Kanalberechtigungen und Reconnect-Reparatur.
- Kosten und Kontext. Nanodollar-genaue Integer-Kosten, Token-Schätzung, Auto-Compaction, Microcompact und Session Memory.
- Optionale Tools.
agent-tools-codeenthält FileRead/Write/Edit, Grep/Glob, Bash, WebFetch, TodoWrite, NotebookEdit und ToolSearch.
Installation
[dependencies]
agent = { git = "https://github.com/ZSeven-W/agent-rs", default-features = false, features = ["anthropic", "session-jsonl"] }
agent-tools-code = { git = "https://github.com/ZSeven-W/agent-rs", default-features = false, features = ["fs", "search"] }
Häufige agent-Features: anthropic, openai, ollama, mcp, session-jsonl, swarm, tiktoken, full.
Häufige agent-tools-code-Features: fs, search, shell, bash-async, web, web-search, task, todo, notebook, all.
Beispiele
ANTHROPIC_API_KEY=sk-... cargo run --example anthropic_basic --features anthropic -p agent
ANTHROPIC_API_KEY=sk-... cargo run --example with_tools --features anthropic -p agent
cargo run --example notebook_edit --features notebook -p agent-tools-code
TAVILY_API_KEY=tv-... cargo run --example web_search_tavily --features web-search -p agent-tools-code
Tests
cargo fmt --all -- --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace --all-features
cargo deny --all-features check
Lizenz
MIT. Siehe LICENSE.