| Crates.io | anp-rs-sdk |
| lib.rs | anp-rs-sdk |
| version | 0.1.0 |
| created_at | 2025-09-11 15:55:48.505461+00 |
| updated_at | 2025-09-11 15:55:48.505461+00 |
| description | ANP Rust SDK - 智能体网络协议自动配置工具包,提供HTTP服务器自动配置、DID自动生成、智能体描述等功能 |
| homepage | https://agent-network-protocol.com |
| repository | https://github.com/logos-42/AgentNetworkProtocol |
| max_upload_size | |
| id | 1834014 |
| size | 167,912 |
ANP Rust SDK 是智能体网络协议(Agent Network Protocol)的 Rust 实现,提供完整的自动配置工具包,包括 HTTP 服务器自动配置、DID 自动生成、智能体描述等功能。
在你的 Cargo.toml 中添加依赖:
[dependencies]
anp-rs-sdk = "1.0.0"
use anp_rs_sdk::{ANPSDK, AutoConfigOptions};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let options = AutoConfigOptions {
auto_start: Some(true),
auto_port: Some(true),
..Default::default()
};
let mut sdk = ANPSDK::new(options);
let config = sdk.start().await?;
println!("HTTP服务器启动在: {}", config.endpoint);
// 你的应用逻辑...
sdk.stop().await?;
Ok(())
}
use anp_rs_sdk::did_auto_config::{DIDAutoConfig, DIDAutoConfigOptions};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let options = DIDAutoConfigOptions {
agent_name: Some("My ANP Agent".to_string()),
..Default::default()
};
let mut did_config = DIDAutoConfig::new(options);
let config = did_config.generate_did().await?;
println!("DID: {}", config.did);
println!("DID文档: {}", serde_json::to_string_pretty(&config.did_document)?);
Ok(())
}
use anp_rs_sdk::{ANPSDK, AutoConfigOptions};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let options = AutoConfigOptions {
auto_start: Some(true),
auto_did: Some(true),
agent_name: Some("My ANP Agent".to_string()),
..Default::default()
};
let mut sdk = ANPSDK::new(options);
let config = sdk.start().await?;
println!("🎉 ANP智能体启动成功!");
println!("- HTTP端点: {}", config.endpoint);
println!("- DID: {}", config.did);
println!("- DID文档: {}/.well-known/did.json", config.endpoint);
println!("- 智能体描述: {}/agents/auto-agent/ad.json", config.endpoint);
// 等待一段时间
tokio::time::sleep(tokio::time::Duration::from_secs(10)).await;
sdk.stop().await?;
Ok(())
}
SDK 提供了多个示例来帮助你快速上手:
# 基础 HTTP 配置
cargo run --example basic_http_config
# DID 配置
cargo run --example basic_did_config
# 完整 ANP 智能体
cargo run --example full_anp_agent
# 自定义配置
cargo run --example custom_config
完整的 API 文档可以在 docs.rs 上找到。
我们欢迎社区贡献!请查看 CONTRIBUTING.md 了解如何参与开发。
本项目采用 MIT 许可证。详情请查看 LICENSE 文件。