经 AI Skill Hub 精选评估,Rust Agent Development Kit (ADK-Rust) 获评「推荐使用」。这款Agent工作流在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 7.5 分,适合有一定技术背景的用户使用。
Rust Agent Development Kit (ADK-Rust) 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
Rust Agent Development Kit (ADK-Rust) 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
# 方式一:cargo install(推荐) cargo install adk-rust # 方式二:从源码编译 git clone https://github.com/zavora-ai/adk-rust cd adk-rust cargo build --release # 二进制在 ./target/release/adk-rust
# 查看帮助 adk-rust --help # 基本运行 adk-rust [options] <input> # 详细使用说明请查阅文档 # https://github.com/zavora-ai/adk-rust
# adk-rust 配置说明 # 查看配置选项 adk-rust --config-example > config.yml # 常见配置项 # output_dir: ./output # log_level: info # workers: 4 # 环境变量(覆盖配置文件) export ADK_RUST_CONFIG="/path/to/config.yml"
🚀 v0.9.1 Released! Composable Template System — 8 base templates, 9 addons, 5 enterprise patterns viacargo adk new --addon. Plus:cargo adk build(compile without deploying), provider-aware schema normalization, A2A Simple Scaffolding, and security fixes (hickory-proto, openssl, rubato, similar). See CHANGELOG for full details. Contributors: Many thanks to @mikefaille — AdkIdentity design, realtime audio, LiveKit bridge, skill system. @rohan-panickar — OpenAI-compatible providers, xAI, multimodal content. @dhruv-pant — Gemini service account auth. @tomtom215 — A2A Protocol v1.0.0 types crate (a2a-protocol-types), Foundation-verified wire types powering our A2A v1 layer. @danielsan — Google deps issue & PR (#181, #203), RAG crash report (#205). @CodingFlow — Gemini 3 thinking level, global endpoint, citationSources (#177, #178, #179). @ctylx — skill discovery fix (#204). @poborin — project config proposal (#176). @chillin-capybara — ACP integration, adk-acp crate. Get started → Announcements: ADK-Rust Roadmap launched for 2026, we welcome suggestions, comments and ideas. ADK Playground launched! You can now run 70+ ADK-Rust AI Agents online for free. Compile and click. No login, no install. https://playground.adk-rust.com (https://playground.adk-rust.com) And many more discussions, feel free to discuss:
---
ADK-Rust provides a comprehensive framework for building AI agents in Rust, featuring:
cargo adk new --addon for rapid project scaffoldingcargo adk build: Compile and verify your agent project without deploying — fast feedback loop for CI and local developmentStatus: Production-ready, actively maintained
A2aServer::quick_start(agent) — expose any agent via A2A in one line. Or use cargo adk new --template a2a to scaffold a complete project.adk-payments
**Feature tiers:**
| Tier | Includes | Use case |
|------|----------|----------|
| `minimal` (default) | Gemini provider, agents, runner, sessions | Fast starter agents |
| `standard` | minimal + OpenAI, Anthropic, tools, memory, telemetry, server, auth, graph, eval, guardrail, plugins, artifacts, skills | Production deployment |
| `enterprise` | standard + realtime, browser, RAG, payments, AWP | Full-featured production |
| `full` | enterprise + audio, code execution, sandbox | Everything |
> **Upgrading from 0.7.x?** The default changed to a true minimal Gemini starter tier. Add only the feature set you use, such as `features = ["openai"]`, `features = ["standard"]`, or `features = ["standard", "cli-openai"]`.
Set your API key:
bash
```
Features: Gemma 4 multimodal, ISQ/MXFP4 quantization, PagedAttention with prefix caching, multi-GPU splitting, LoRA/X-LoRA adapters, vision/speech/diffusion models, MCP integration.
cargo run -p adk-realtime --example vertex_live_voice --features vertex-live cargo run -p adk-realtime --example vertex_live_tools --features vertex-live
cargo run -p adk-realtime --example livekit_bridge --features livekit,openai
cargo run -p adk-realtime --example openai_webrtc --features openai-webrtc
make build-mistralrs-cuda
Requires Rust 1.85 or later (Rust 2024 edition). Add to your Cargo.toml:
```toml [dependencies] adk-rust = "0.9.1" # Minimal (default): Gemini + agent runtime + sessions
```bash
./scripts/setup-dev.sh
brew install sccache && echo 'export RUSTC_WRAPPER=sccache' >> ~/.zshrc ```
make build
make build-all
make examples
```bash
cargo build --workspace
cargo build --workspace --all-features
cargo check --workspace --examples ```
```
cargo build --manifest-path adk-mistralrs/Cargo.toml
adk-rust = { version = "0.9.1", default-features = false, features = ["minimal"] }
```bash
cargo build
cargo build --release ```
use adk_rust::prelude::*;
use adk_rust::Launcher;
#[tokio::main]
async fn main() -> AnyhowResult<()> {
dotenvy::dotenv().ok();
let api_key = std::env::var("GOOGLE_API_KEY")?;
let model = GeminiModel::new(&api_key, "gemini-2.5-flash")?;
let agent = LlmAgentBuilder::new("assistant")
.description("Helpful AI assistant")
.instruction("You are a helpful assistant. Be concise and accurate.")
.model(Arc::new(model))
.build()?;
Launcher::new(Arc::new(agent)).run().await?;
Ok(())
}
Enable OpenAI with adk-rust = { version = "0.9.1", features = ["openai"] }.
use adk_rust::prelude::*;
use adk_rust::Launcher;
#[tokio::main]
async fn main() -> AnyhowResult<()> {
dotenvy::dotenv().ok();
let api_key = std::env::var("OPENAI_API_KEY")?;
let model = OpenAIClient::new(OpenAIConfig::new(api_key, "gpt-5-mini"))?;
let agent = LlmAgentBuilder::new("assistant")
.instruction("You are a helpful assistant.")
.model(Arc::new(model))
.build()?;
Launcher::new(Arc::new(agent)).run().await?;
Ok(())
}
Uses the /v1/responses endpoint — recommended for reasoning models (o3, o4-mini) and built-in tools:
use adk_rust::prelude::*;
use adk_rust::Launcher;
use adk_model::openai::{OpenAIResponsesClient, OpenAIResponsesConfig};
#[tokio::main]
async fn main() -> AnyhowResult<()> {
dotenvy::dotenv().ok();
let api_key = std::env::var("OPENAI_API_KEY")?;
let config = OpenAIResponsesConfig::new(api_key, "gpt-4.1-mini");
let model = OpenAIResponsesClient::new(config)?;
let agent = LlmAgentBuilder::new("assistant")
.instruction("You are a helpful assistant.")
.model(Arc::new(model))
.build()?;
Launcher::new(Arc::new(agent)).run().await?;
Ok(())
}
Enable Anthropic with adk-rust = { version = "0.9.1", features = ["anthropic"] }.
use adk_rust::prelude::*;
use adk_rust::Launcher;
#[tokio::main]
async fn main() -> AnyhowResult<()> {
dotenvy::dotenv().ok();
let api_key = std::env::var("ANTHROPIC_API_KEY")?;
let model = AnthropicClient::new(AnthropicConfig::new(api_key, "claude-sonnet-4-6"))?;
let agent = LlmAgentBuilder::new("assistant")
.instruction("You are a helpful assistant.")
.model(Arc::new(model))
.build()?;
Launcher::new(Arc::new(agent)).run().await?;
Ok(())
}
Enable DeepSeek with adk-rust = { version = "0.9.1", features = ["deepseek"] }.
use adk_rust::prelude::*;
use adk_rust::Launcher;
#[tokio::main]
async fn main() -> AnyhowResult<()> {
dotenvy::dotenv().ok();
let api_key = std::env::var("DEEPSEEK_API_KEY")?;
// Standard chat model
let model = DeepSeekClient::chat(api_key)?;
// Or use reasoner for chain-of-thought reasoning
// let model = DeepSeekClient::reasoner(api_key)?;
let agent = LlmAgentBuilder::new("assistant")
.instruction("You are a helpful assistant.")
.model(Arc::new(model))
.build()?;
Launcher::new(Arc::new(agent)).run().await?;
Ok(())
}
Enable Groq with adk-rust = { version = "0.9.1", features = ["groq"] }.
use adk_rust::prelude::*;
use adk_rust::Launcher;
#[tokio::main]
async fn main() -> AnyhowResult<()> {
dotenvy::dotenv().ok();
let api_key = std::env::var("GROQ_API_KEY")?;
let model = GroqClient::new(GroqConfig::llama70b(api_key))?;
let agent = LlmAgentBuilder::new("assistant")
.instruction("You are a helpful assistant.")
.model(Arc::new(model))
.build()?;
Launcher::new(Arc::new(agent)).run().await?;
Ok(())
}
Enable Ollama with adk-rust = { version = "0.9.1", features = ["ollama"] }.
use adk_rust::prelude::*;
use adk_rust::Launcher;
#[tokio::main]
async fn main() -> AnyhowResult<()> {
dotenvy::dotenv().ok();
// Requires: ollama serve && ollama pull llama3.2
let model = OllamaModel::new(OllamaConfig::new("llama3.2"))?;
let agent = LlmAgentBuilder::new("assistant")
.instruction("You are a helpful assistant.")
.model(Arc::new(model))
.build()?;
Launcher::new(Arc::new(agent)).run().await?;
Ok(())
}
Examples live in the dedicated adk-playground repo (120+ examples covering every feature and provider). The examples documented in this repository are validated by scripts/check-doc-examples.sh, scripts/check-cargo-adk-templates.sh, and workspace example builds.
```bash
The workspace keeps core crate examples close to the crates that own them, and standalone adoption examples under examples/. The public gallery remains adk-playground.
Validated examples in this repo include:
cargo run -p adk-rust --example performance_0_8_llm_agents --features openrouter — all 12 v0.8 optimization use cases with live LLM agents.cargo run --manifest-path examples/tier_examples/standard/Cargo.toml --bin 11-standard-graph — standard-tier graph workflow.cargo run --manifest-path examples/openai_responses/Cargo.toml — OpenAI Responses API example.cargo run -p adk-realtime --example openai_session_update --features openai — OpenAI Realtime session mutation.cargo run -p adk-realtime --example vertex_live_voice --features vertex-live — Vertex AI Live voice session.cargo run --manifest-path examples/awp_agent/Cargo.toml — Agentic Web Protocol server example.devenv shell
adk-rust = { version = "0.9.1", features = ["standard"] }
Build complex, stateful workflows using the adk-graph crate (LangGraph-style):
use adk_graph::{prelude::*, node::AgentNode};
use adk_agent::LlmAgentBuilder;
use adk_model::GeminiModel;
// Create LLM agents for different tasks
let translator = Arc::new(LlmAgentBuilder::new("translator")
.model(Arc::new(GeminiModel::new(&api_key, "gemini-2.5-flash")?))
.instruction("Translate the input text to French.")
.build()?);
let summarizer = Arc::new(LlmAgentBuilder::new("summarizer")
.model(model.clone())
.instruction("Summarize the input text in one sentence.")
.build()?);
// Create AgentNodes with custom input/output mappers
let translator_node = AgentNode::new(translator)
.with_input_mapper(|state| {
let text = state.get("input").and_then(|v| v.as_str()).unwrap_or("");
adk_core::Content::new("user").with_text(text)
})
.with_output_mapper(|events| {
let mut updates = HashMap::new();
for event in events {
if let Some(content) = event.content() {
let text: String = content.parts.iter()
.filter_map(|p| p.text())
.collect::<Vec<_>>()
.join("");
updates.insert("translation".to_string(), json!(text));
}
}
updates
});
// Build graph with parallel execution
let agent = GraphAgent::builder("text_processor")
.description("Translates and summarizes text in parallel")
.channels(&["input", "translation", "summary"])
.node(translator_node)
.node(summarizer_node) // Similar setup
.edge(START, "translator")
.edge(START, "summarizer") // Parallel execution
.edge("translator", "combine")
.edge("summarizer", "combine")
.edge("combine", END)
.build()?;
// Execute
let mut input = State::new();
input.insert("input".to_string(), json!("AI is transforming how we work."));
let result = agent.invoke(input, ExecutionConfig::new("thread-1")).await?;
Features: - AgentNode: Wrap LLM agents as graph nodes with custom input/output mappers - Parallel & Sequential: Execute agents concurrently or in sequence - Cyclic Graphs: ReAct pattern with tool loops and iteration limiting - Conditional Routing: Dynamic routing via Router::by_field or custom functions - Checkpointing: Memory and SQLite backends for fault tolerance, durable resume from checkpoint after crash - Human-in-the-Loop: Dynamic interrupts based on state, resume from checkpoint - Streaming: Multiple modes (values, updates, messages, debug)
Run validated graph examples:
cargo run --manifest-path examples/tier_examples/standard/Cargo.toml --bin 11-standard-graph
cargo run --manifest-path examples/tier_examples/standard/Cargo.toml --bin 12-standard-sequential
cargo run --manifest-path examples/competitive_graph_resume/Cargo.toml
该项目提供了一个开源的AI工作流解决方案,使用Rust语言构建模块化的AI代理,支持Google服务集成,值得关注。
该工具使用 NOASSERTION 协议,商用场景请仔细阅读协议条款,必要时咨询法律意见。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
📄 NOASSERTION — 请查阅原始协议条款了解具体使用限制。
AI Skill Hub 点评:Rust Agent Development Kit (ADK-Rust) 的核心功能完整,质量良好。对于自动化工程师和运维人员来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | adk-rust |
| Topics | workflowadkadk-agentadk-artifactadk-cliadk-googlerust |
| GitHub | https://github.com/zavora-ai/adk-rust |
| License | NOASSERTION |
| 语言 | Rust |
收录时间:2026-05-24 · 更新时间:2026-05-24 · License:NOASSERTION · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端