用 Rust 构建可组合的 LLM Agent SDK 和终端编码 Agent
内容提要
rpi 是 Pi agent 的 Rust 原生实现,采用 library-first 理念,将模型 Provider、Agent loop、工具、会话和终端界面拆分为独立 crate,便于嵌入应用。支持 Anthropic、OpenAI 兼容及免密钥 faux provider,内置读写、编辑、bash、grep 等工具,提供会话持久化、上下文压缩、插件扩展等能力。目前处于 0.1.x 阶段,采用 MIT 协议。
延伸解读
模块化设计带来的灵活性
rpi 将模型 Provider、Agent loop、工具、会话和终端界面拆分为独立 crate,如 rpi-ai、rpi-agent、rpi-tools 等。这种 library-first 设计让开发者能按需选用组件,嵌入自有应用或工作流,而不必绑定完整 CLI。对于需要定制 Agent 行为的场景,这种可组合性降低了集成复杂度,也便于单独测试和替换模块。
多 Provider 支持与免密钥测试
rpi 支持 Anthropic Messages、OpenAI-compatible Chat Completions,并内置无需 API key 的 faux provider。这意味着开发者可以在没有密钥的情况下运行本地示例(如 minimal),快速验证 Agent 逻辑。同时,兼容 OpenAI 接口使得接入现有模型服务更直接,减少了适配成本。
面向编码场景的内置工具集
项目内置 read、write、edit、bash、grep、find、ls 等工具,覆盖了编码 Agent 常见的文件操作与命令执行需求。结合 AgentTool、AgentEvent、hooks 和消息队列,开发者可以构建工具调用循环,并利用 session、JSONL 持久化和上下文压缩管理长对话。这些能力为构建实用的终端编码助手提供了基础。
当前阶段与扩展性考量
rpi 目前处于 0.1.x 阶段,核心 Agent loop、Provider、内置工具、Harness 和 CLI 已可运行,但插件 ABI 和更多 Provider 仍在完善中。项目采用 MIT 协议,并通过 rpi-plugin-sdk 和稳定 ABI 支持扩展工具、Provider、事件和资源发现。对于生产环境,需关注其迭代节奏和接口稳定性。
Q&A
rpi 是什么?它和 Pi agent 有什么关系?
rpi 是 Pi agent 的 Rust 原生实现,延续了 Pi agent 的 library-first 设计理念,目标是提供可组合、可测试的 LLM Agent 工具包。
rpi 支持哪些模型 Provider?
rpi 支持 Anthropic Messages、OpenAI-compatible Chat Completions,以及不需要 API key 的 faux provider。
rpi 内置了哪些 coding-agent 工具?
rpi 内置了 read、write、edit、bash、grep、find、ls 等 coding-agent 工具。
如何安装并使用 rpi 的终端 CLI?
可以通过 cargo install rpi-cli 安装,安装后使用 rpi 命令启动,例如 rpi -p "hello"。
rpi 的核心能力被拆分成了哪些 crate?
核心能力拆分为 rpi-ai、rpi-agent、rpi-tools、rpi-harness、rpi-cli 等 crate。
rpi 目前处于什么开发阶段?采用什么开源协议?
rpi 目前处于 0.1.x 阶段,核心 Agent loop、Provider、内置工具、Harness 和 CLI 已经可以运行,插件 ABI 和更多 Provider 仍在持续完善。项目采用 MIT License。