sdk-rust (astrid-runtime/sdk-rust)
Searching Database…
这是什么?
这是用于构建 Astrid “capsule” 的 Rust SDK——capsule 是沙盒化的 WASM 模块,在 Astrid OS 模型中充当用户态进程,可以类型安全地访问文件系统、IPC、网络、存储、审批和调度等内核服务。
astrid-sdk 是库还是代码生成器?
两者都是:astrid-sdk 是一个安全 Rust 库,镜像 std 的模块布局(fs、net、process、env、time、log)外加 Astrid 特有的模块;astrid-sdk-macros 则提供 #[capsule] 过程宏,为你生成所有 WASM ABI 样板代码。
如何用这个 SDK 构建一个 capsule?
在你的 crate 中依赖 astrid-sdk(和 serde),用 #[capsule] 宏标注你的实现,然后把 crate 编译到 wasm32-wasip2 目标。
除了 astrid-sdk 本身我还需要别的吗?
capsule 作者只需添加 astrid-sdk 和 serde 作为依赖——SDK 会替你处理跨 WASM 边界的 JSON 序列化、工具 schema 生成和分发路由。
我应该直接调用 astrid-sys 而不用 astrid-sdk 吗?
不要——astrid-sys 只是原始的 WASM 到宿主机的 FFI 系统调用表,README 明确警告不要直接使用它;请坚持使用 astrid-sdk 中的安全封装。
capsule 到底是什么?
capsule 是一个沙盒化的 WASM 模块,在 Astrid OS 模型中的行为类似用户态进程,它以类型化的方式访问内核服务,而不是直接使用原始系统调用。
capsule 可以访问哪些内核服务?
通过专门的 SDK 模块,它可以访问 IPC、键值存储、HTTP、hooks、cron 调度、uplink、身份、审批和通用运行时服务,此外还有类似 std 的 fs、net、process、env、time 和 log 模块。
#[capsule] 宏能省去我手写哪些东西?
它会自动生成 extern "C" 的 WASM ABI 导出、跨宿主边界的 JSON 序列化、工具 schema 生成和分发路由,让你完全不必直接接触 astrid-sys。
What are similar projects?
just-bash, sdk-js, capsule-fs, moejs, WasmEdge, deno, wasmer, linera-protocol
Which topics is it in?
ffi, sandboxing, filesystem, key-value, cron, scheduler, runtime, webassembly, operating-system, plugin-system, wasm, http