开源推荐
evening
GitHub 热门项目:sdk-rust
2026-07-23
1 阅读
约5分钟阅读
GitHub Trending
字号:
GitHub 项目:sdk-rust
仓库地址:https://github.com/astrid-runtime/sdk-rust
星级:4305 | 作者:astrid-runtime
项目描述:用于构建 Astrid 胶囊的 Rust SDK。
===================================================
自述文件内容:
# astrid-sdk
[](LICENSE-MIT)
[](https://www.rust-lang.org)
**用于构建 [Astrid](https://github.com/astrid-runtime/astrid) 胶囊的 Rust SDK。**
在操作系统模型中,这是用户空间进程的标准库。它为胶囊作者提供了对每个内核服务的安全、类型化访问:文件系统、IPC、网络、存储、批准、调度等等。 Capsule 作者依赖于 `astrid-sdk` 和 `serde`。其他一切都处理好了。
## 板条箱
|板条箱 |角色 |
|---|---|
| `astrid-sdk` |为胶囊作者提供的安全 Rust SDK。镜像 `std` 模块布局:`fs`、`net`、`process`、`env`、`time`、`log`,以及 Astrid 特定模块:`ipc`、`kv`、`http`、`hooks`、`cron`、`uplink`、`identity`、`approval`、`runtime`。 |
| `astrid-sdk-宏` | `#[capsule]` 过程宏。从带注释的 impl 块生成 WASM ABI 导出:工具调度、命令路由、挂钩处理程序、cron 处理程序、安装/升级入口点。 |
| `astrid-sys` |原始 WASM 到主机 FFI 绑定。系统调用表。每个参数都以“Vec”形式交叉。您不应该直接使用它。 |
## 快速开始
````汤姆
[依赖项]
阿斯特丽德-sdk =“0.2”
serde = { 版本 = "1.0", features = ["derive"] }
````
``生锈
使用astrid_sdk::前奏::*;
#[导出(默认)]
pub 结构 MyTools;
#[胶囊]
实现我的工具{
#[阿斯特丽德::工具]
fn search_issues(&self, args: SearchArgs) -> Result {
让 token = env::var("GITHUB_TOKEN")?;
让 resp = http::get(&format!(
“https://api.github.com/search/issues?q={}”,args.query
))?;
// ...
}
}
````
`#[capsule]` 宏生成所有 WASM ABI 样板:`extern "C"` 导出、跨边界的 JSON 序列化、工具模式生成和调度路由。
## 构建胶囊
胶囊编译为“wasm32-wasip2”:
````bash
rustup 目标添加 wasm32-wasip2
货物构建--目标 wasm32-wasip2--release
````
## 发展
````bash
货物构建--工作空间
货物测试--工作空间--安静
Cargo Clippy --workspace --all-features -- -D 警告
````
## 许可证
获得 [MIT](LICENSE-MIT) 和 [Apache 2.0](LICENSE-APACHE) 双重许可。
版权所有 (c) 2025-2026 Joshua J. Bouw 和 Unicity Labs。
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱