rpi:Rust 编码代理运行时
用一个可嵌入的 Rust 代理运行时和终端 CLI,构建、运行并扩展编码代理。
- Star 数
- ★ 116
- 最近更新
- 今天
- License
- MIT
- 主语言
- Rust
- FA 评分
- 64/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 希望把编码代理嵌入 Rust 应用并自行处理事件和输出的开发者,可使用
rpi-agent与rpi-ai。 - 不适合
- 需要图形桌面应用而非终端界面的用户
- 需要完全由本地模型驱动且不配置 API 的团队
- 源码审查
- 64/100 · 存在缺口
这个 Agent 能做什么,适合哪些场景?
rpi 是 Rust 编写的编码代理运行时,提供可嵌入 SDK 和基于同一实现的终端 CLI。九个 crate 覆盖 Anthropic 与 OpenAI-compatible 提供方、代理循环、工具、会话持久化、终端 UI 及插件 ABI。CLI 支持交互式 TUI、单次提示和 JSON 事件流,并可通过 TCP 以无头服务器模式运行。会话以 JSONL 持久化,支持崩溃后从已提交进度恢复。它适合希望在自己的进程中运行代理或定制工具和插件的 Rust 开发者;安装 CLI 需要 Rust 1.78+(预编译安装器除外),真实模型调用需要相应 API 凭据。
CLI 接收用户提示,在终端 TUI 中运行交互会话,或用 -p 执行单次任务,并可用 --mode json 输出机器可读事件流。rpi-agent 通过 AgentBuilder 配置模型、系统提示和流处理函数,代理循环调用 AgentTool;rpi-tools 提供 read、write、edit、bash 等工具,并通过 ExecutionEnv 接口执行操作。rpi-ai 支持 Anthropic、OpenAI-compatible 和确定性 faux 提供方。rpi-harness 将会话保存为 JSONL 并管理恢复;插件可通过 rpi-plugin-sdk 的稳定 C ABI 注册工具、提供方、命令和事件处理器。也可启动 TCP 服务器,由远程 TUI 客户端连接。
- 希望把编码代理嵌入 Rust 应用并自行处理事件和输出的开发者,可使用
rpi-agent与rpi-ai。 - 需要在终端交互使用代理或通过
-p批量执行提示的开发者,可运行rpiCLI。 - 需要可恢复会话的团队,可用 JSONL 持久化和崩溃恢复继续代理运行。
- 要构建并分发 Rust 扩展的作者,可通过
rpi-plugin-sdk注册工具、提供方或事件处理器。 - 希望在远程主机运行代理、在本地仅使用终端客户端的用户,可启用
--server并通过--connect连接。
如何安装或部署这个 Agent?
预编译二进制安装无需 Rust 工具链;安装器会校验 SHA-256。也可从 crates.io 安装(需要 Rust 1.78+)。
如何使用这个 Agent?
真实模型调用需要配置 Anthropic 或 OpenAI API 密钥;也可在 ~/.rpi/agent/models.json 配置兼容网关。
这个 Agent 有哪些优点和局限?
- Rust SDK 与 CLI 共用同一套工具和代理实现,可嵌入进程或直接运行命令。
faux提供方和内存执行环境支持无需 API 密钥或网络的确定性示例与测试路径。- 会话以 JSONL 持久化并记录逐帧进度,崩溃后可以从最后提交帧恢复。
- 插件使用带版本协商和 panic 隔离的
#[repr(C)]ABI,支持 Rustcdylib扩展。
- 真实 Anthropic 或 OpenAI-compatible 模型调用需要 API 凭据及网络连接。
- SDK 和从源码构建需要 Rust 1.78+;插件也需要 Rust
cdylib构建流程。 - 主要使用界面是终端 TUI;README 未描述图形桌面应用。
- TCP 远程模式需要部署服务器并管理认证令牌。
这个 Agent 与同类方案有什么区别?
README 将 rpi 与 Claude Code、Codex CLI、opencode 和 aider 作结构性比较,并将其定位为可嵌入库、具备插件 ABI 和多提供方网关的 Rust 运行时。README 提醒,其他产品的信息截至 2026-09,可能变化。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| rpi:Rust 编码代理运行时 当前 | 64 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 116 | 今天 | Rust | OpenAI API · Claude API |
| Aster | 77 · 表现良好 | 命令行工具免费 + 模型费 | ★ 129 | 今天 | Rust | OpenAI API |
| zerostack | 57 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.7k | 5 天前 | Rust | OpenAI API · Claude API |
| Devo 桌面编码智能体 | 58 · 缺口较多 | 桌面应用免费 + 模型费 | ★ 338 | 3 天前 | Rust | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
安全策略明确指出工具以启动用户权限运行,bash/PowerShell 可执行任意命令,文件工具可读写路径,插件是无沙箱的可信原生代码;这说明权限边界和风险有披露,但未展示通用的最小权限隔离,故 least_privilege 仅 1。安全策略提及项目信任提示和设置门控,安装器也有 dry-run,但给定材料未说明具体操作确认覆盖范围或默认值,user_confirmation 为 1。README、安全策略说明远程 TCP、令牌、凭据文件、插件加载和工具行为,数据流披露较充分,但未覆盖所有路径,data_flow_transparency 为 2。auth.json 的 Unix 0600 权限、避免共享会话目录的提示以及终端输出清理均有说明;材料没有展示完整凭据生命周期处理,sensitive_data_handling 为 2。Cargo.toml 列明依赖和部分精确版本,但所给材料没有漏洞审计或依赖更新策略证据,dependency_security 为 1。工具可执行任意命令、扩展可运行构建脚本且远程服务具有外部影响;有警示但材料未显示细粒度效果控制,external_effects 为 1。会话崩溃恢复和安装器 dry-run 有据可查,但未展示对文件编辑、命令或已安装扩展的通用撤销机制,rollback 为 1。README、Cargo.toml 作者字段、MIT 许可版权声明及安全报告渠道提供了来源和联系线索;发布者未经过 curated registry 验证,因此仅按仓库内可见信息给分,source_attribution 为 2。
README、Cargo.toml 和 CI 对九个 crate、版本、MSRV 与测试命令的描述大体一致;README 的文档索引句重复一次,且 crate 依赖图的文字描述略显繁复,因此 self_consistency 为 2。CI 锁定 workspace 测试,依赖声明广泛且有精确锁定线索,但材料未给出离线缓存或供应链可用性方案,dependency_availability 为 1。安全策略说明错误正文和模型输出会清理,CI 脚本包含若干失败提示;但未提供 CLI/API 错误消息目录或覆盖情况,failure_messages 为 1。
项目分别面向 CLI 使用者、嵌入式 SDK 开发者和插件作者,提供对应入口、示例与文档,audience_and_scenarios 为 3。安全策略明确插件无沙箱、工具权限和远程模式边界,README 说明 provider 特性及客户端/服务器职责;但能力边界仍未在材料中完整枚举,capability_boundaries 为 2。CLI 示例、插件目录加载顺序、远程模式和使用场景均较明确,但何时应选择各模式或具体触发规则有限,trigger_precision 为 2。README 列出 Linux/macOS/Windows、二进制目标、MSRV 和安装路径,也指出 Homebrew 当前限制;CI 仅明确展示 Linux Rust 套件和 Windows 安装器测试,环境覆盖证据不完整,environment_fit 为 2。
文档按功能分组,crate 表、架构、用户指南、远程和扩展作者文档形成清晰信息结构,information_architecture 为 3。预编译、Cargo、包管理器和源码安装步骤均有命令及适用平台说明,并提供校验和与 dry-run,install_notes 为 3。crate 与目录采用统一 rpi- 前缀、workspace 统一版本;仍有 README 中 Pi/rpi 等称呼及依赖图表达的细节不完全统一,naming_stability 为 2。README 有 SDK、工具、插件和离线示例,也链接指南;给定材料没有 FAQ,示例虽丰富但未覆盖常见故障,examples_and_faq 为 2。安全策略列出威胁模型、范围和远程/插件限制,README 说明若干平台与基准限制;尚未见完整已知问题清单,known_limitations 为 2。LICENSE 给出完整 MIT 条款和版权归属,Cargo.toml 的许可证元数据一致,license 为 3。版本号、发布状态、路线图和 changelog 均有入口,但未提供 changelog 内容或版本策略细节,versioning_changelog 为 2。作者字段、安全报告流程、贡献指南和支持说明指明维护与联系路径;发布者身份仍未由 curated registry 验证,维护责任可见但有限,maintenance_responsibility 为 2。
输出包括交互终端、单次提示、JSON 事件流、持久会话及 SDK 事件,机器消费与嵌入使用均有明确入口,output_usability 为 3。库优先架构、跨 provider 工具、插件 ABI 和崩溃恢复相对单纯 CLI 展示出明确附加价值,README 给出具体结构和使用方式,marginal_value 为 3。Rust 单二进制、离线 faux provider 和分 crate 使用降低部分部署/测试成本;但远程、插件及多平台部署仍增加维护复杂度,且成本收益基准仅为仓库自述,cost_benefit 为 2。
README 将安装、示例、基准和架构主张链接到脚本、tape、文档或 CI;但若干性能及产品对比主张仍主要由 README 陈述,claim_traceability 为 2。README、Cargo.toml、安全策略和 CI 对版本、功能和安全边界有一定相互印证;没有独立第三方证据,cross_source_corroboration 为 2。README 对 benchmark 方法和未测项目给出限定,安全策略区分威胁模型与范围;不过若干性能和比较陈述的证据性质仍不完全统一,fact_inference_separation 为 2。
- 这是低置信度静态源审查;未执行项目,也未独立核实性能、发布或测试结果。
- bash/PowerShell 与文件工具使用启动用户权限;插件是无沙箱原生代码,远程 TCP 协议自身不提供传输加密。仅应在信任的代码库和扩展上运行,并按安全策略保护令牌与凭据。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
v0.6.0 rpi v0.6.0
发布说明摘录
What's Changed * chore(release): sync 0.5.1 install channels and site data by @bigfish1913 in https://github.com/bigfish1913/pi-rust/pull/57 * feat: add BTW side chat and fix Anthropic tool images by @bigfish1913 in https://github.com/bigfish1913/pi-rust/pull/60 * chore(release): prepare 0.6.0 by @bigfish1913 in https://github.com/bigfish1913/pi-rust/pull/61 Full Changelog: https://github.com/bigfish1913/pi-rust/compare/v0.5.1...v0.6.0在 GitHub 查看 ↗ -
v0.5.1 rpi v0.5.1
发布说明摘录
What's Changed * chore(release): align channels and website with 0.5.0 by @bigfish1913 in https://github.com/bigfish1913/pi-rust/pull/53 * fix: unify tool panel theme spacing and enforce warning-free CI by @bigfish1913 in https://github.com/bigfish1913/pi-rust/pull/55 * chore(release): prepare 0.5.1 by @bigfish1913 in https://github.com/bigfish1913/pi-rust/pull/56 Full Changelog: https://github.com/bigfish1913/pi-rust/compare/v0.5.0...v0.5.1在 GitHub 查看 ↗ -
v0.5.0 rpi v0.5.0
发布说明摘录
What's Changed * feat(extensions): add plugin-owned child agent lifecycle by @bigfish1913 in https://github.com/bigfish1913/pi-rust/pull/51 * chore(release): prepare 0.5.0 by @bigfish1913 in https://github.com/bigfish1913/pi-rust/pull/52 Full Changelog: https://github.com/bigfish1913/pi-rust/compare/v0.4.1...v0.5.0在 GitHub 查看 ↗
常见问题
可以不提供 API 密钥试用吗?
faux 提供方的离线示例;真实 Anthropic 或 OpenAI-compatible 模型调用需要相应凭据。支持哪些模型提供方?
faux 提供方。代理运行中断后,会重复执行工具吗?
插件能扩展什么?
cdylib 插件可以注册工具、提供方、斜杠命令、事件处理器、Markdown 渲染器和发现资源。