#Rust
从一个 helloworld 动态库到 rpi package:ABI 插件是怎样被加载的
从最小 Rust cdylib 插件、rpi_plugin_register 和工具生命周期出发,沿着 rpi 源码解释动态库发现、注册表合并,以及当前项目级 package 的构建与加载流程。
rpi-mcp-adapter 源码解读:一个 Rust MCP 适配器如何管理工具调用
从 rpi-mcp-adapter 0.2.1 的当前 Rust 源码出发,跟踪 mcp_list、mcp_call、stdio、Streamable HTTP、连接缓存、超时取消和结果转换的完整调用链。
rpi-acp 源码解读:以 Zed 为例,一个 ACP Client 如何启动并驱动 rpi Agent
从 rpi-acp 0.1.3 的 Rust 源码出发,以 Zed 为例,跟踪 ACP Client 如何通过 JSON-RPC stdio 启动 rpi、创建会话、接收事件并处理权限请求;其他兼容 ACP v1 的客户端也可参考。
如果你想拥有自己的 Agent,为什么值得从 rpi 开始
rpi 不是又一个终端 Agent,而是一套可以嵌入、测试、恢复和扩展的 Rust-native Agent runtime。本文介绍它的架构选择和工程优势。
Go 和 Rust 性能谁更快?一次 HTTP 实测告诉你差距在哪里
在 1 核、512 MiB 和相同 HTTP 负载下,对比 Go 与 Rust 的吞吐、P99 延迟、内存占用、CPU 计算和高连接数表现。
rpi 这些扩展到底怎么选?一张工具地图看懂 16 个 Rust 插件
从任务规划、代码分析、网络访问到飞书、语音和运行监控,按使用场景梳理 rpi-packages 中的扩展,并用图解说明它们如何组合。
我用 100 行核心代码,做了一个能接入飞书的 Hermes 式智能体
用约 100 行核心代码实现 Hermes 式 Agent 的工具调用与上下文循环,再通过 rpi-im-message 扩展接入飞书。
Rust 无栈协程如何暂停和恢复?从 Future 与 poll 走完一次 HTTP 请求
谁调用 Future 的 poll?Pending 与阻塞有什么不同?沿一次 HTTP 请求,讲清 Rust 无栈协程的状态保存、Waker 唤醒、Pin、组合与取消。
为什么 Rust 的无栈协程是异步 I/O 的技术最优解?
同样是等待网络,为什么平台线程会被占住,而 Go 和 Rust 却能让线程处理别的任务?从调用栈与 Future 的区别出发,比较内存、执行效率、可组合性与运行时边界,解释 Rust 无栈协程为何成为异步 I/O 的技术最优解。
【RPI源码拆解】Agent 源码看不懂?先跟着一条消息走一遍
从 Enter 到任务结束,读懂 Agent 的消息、上下文、模型请求、工具闭环、双层循环,以及流式显示、压缩、重试与恢复的职责。
Rust 1.99 更新了什么?一个新手视角的升级前后对比
把 Rust 1.99 的几个变化放进真实代码里跑一遍,看升级前后同一个需求分别要写什么,哪些是省事,哪些其实没那么大差别。
Rust 生命周期:为什么要有它,实际代码里到底怎么用?
从悬垂引用出发,逐步理解 Rust 生命周期的真实使用场景,并对照 C++ 与 Java 看三种语言如何处理引用失效问题。
从 0 到 1 构建 Agent:为什么需要 Agent Loop,核心代码怎么写
接通大模型 API 以后,怎样让它真正执行任务?从一次写文件请求出发,逐步读懂 Rust Agent Loop 的实现。
Rust 所有权:为什么值是我的,我却不能改?
从移动后不能用、有所有权却不能修改这些常见困惑出发,解释 Rust 的所有权、借用和可变性,再用七道小题检查理解。
Rust 版 Pi 工作基本完成了,记录下性能对比
Rust 版 Pi 工作基本完成了,记录下性能对比
Pi 的 Rust 实现来了:rpi,不止一个终端 Agent
rpi 用 Rust 重新实现 Pi SDK,提供终端编码助手、可嵌入的运行时和原生扩展,让 Rust 开发者按需组合自己的 Agent。