3作者: brian_meek4 个月前原帖
上周,Cloudflare 发布了 Cap'n Web [1],这是一种无模式的基于能力的 RPC 协议。本周我构建了 capn-rs,这是一个 Rust 实现,具有完整的协议兼容性。 链接: <p>GitHub: <a href="https://github.com/currentspace/capn-rs" rel="nofollow">https://github.com/currentspace/capn-rs</a> Crates: <a href="https://crates.io/crates/capnweb-server" rel="nofollow">https://crates.io/crates/capnweb-server</a> API 文档: <a href="https://docs.rs/capnweb-server" rel="nofollow">https://docs.rs/capnweb-server</a> <p>目前的工作进展: <p>通过与 TypeScript 参考实现的集成测试验证了协议兼容性 多种传输方式:HTTP 批处理、WebSocket、WebTransport(HTTP/3) 完整的中间语言(IL)表达式求值器 承诺流水线与依赖解析 全面的测试覆盖 <p>有趣的设计挑战在于将 Cap'n Web 的记录-重放 .map() 语义映射到 Rust 的类型系统,同时保持 API 的易用性。Cap'n Web 在占位符值上记录操作以构建执行计划——在 Rust 中,这变成了一种干净的构建者模式,具有类型级别的保证。 这是与 Claude Code 的一次实验,旨在移植复杂协议。AI 在机械翻译方面表现良好,但架构决策(特别是在 async/await 模式和生命周期管理方面)需要人工判断。 这只是一个初步阶段——我特别希望能收到关于 API 易用性和任何我可能遗漏的边缘案例的反馈。同时也乐意讨论协议设计或 AI 辅助开发的经验。 <p>[1] <a href="https://news.ycombinator.com/item?id=45332883">https://news.ycombinator.com/item?id=45332883</a>