rpi:Rust 编码代理运行时

用一个可嵌入的 Rust 代理运行时和终端 CLI,构建、运行并扩展编码代理。

Star 数
★ 116
最近更新
今天
License
MIT
主语言
Rust

30 秒速览

运行形态
命令行工具代码库 / SDK开发框架
可在哪里用
通用 · 跨平台OpenAI API · Claude API
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
从 crates.io 安装或从源码构建需要 Rust 1.78+使用真实模型需要 Anthropic 或 OpenAI-compatible API 凭据Shell / 命令行网络访问本地文件系统
典型场景
希望把编码代理嵌入 Rust 应用并自行处理事件和输出的开发者,可使用 rpi-agent 与 rpi-ai。
不适合
  • 需要图形桌面应用而非终端界面的用户
  • 需要完全由本地模型驱动且不配置 API 的团队

这个 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 客户端连接。

  1. 希望把编码代理嵌入 Rust 应用并自行处理事件和输出的开发者,可使用 rpi-agent 与 rpi-ai。
  2. 需要在终端交互使用代理或通过 -p 批量执行提示的开发者,可运行 rpi CLI。
  3. 需要可恢复会话的团队,可用 JSONL 持久化和崩溃恢复继续代理运行。
  4. 要构建并分发 Rust 扩展的作者,可通过 rpi-plugin-sdk 注册工具、提供方或事件处理器。
  5. 希望在远程主机运行代理、在本地仅使用终端客户端的用户,可启用 --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,支持 Rust cdylib 扩展。
局限
  • 真实 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?

FollowAgents 源码审查 · FARS-2.1
存在缺口
64/ 100 五分制 3.2 / 5
本评测基于 2026年10月17日 的源码;此后该项目发布了 2 个正式版本,尚未复审。分数与结论只代表评测时的版本。 最近版本 ↓
信任安全 13/29
可靠稳定 6/14
适用触发 14/18
规范维护 14/18
有效结果 12/13
证据核验 5/8
查看各维度的扣分理由
信任安全13 / 29 · 2.2/5

安全策略明确指出工具以启动用户权限运行,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。

可靠稳定6 / 14 · 2.1/5

README、Cargo.toml 和 CI 对九个 crate、版本、MSRV 与测试命令的描述大体一致;README 的文档索引句重复一次,且 crate 依赖图的文字描述略显繁复,因此 self_consistency 为 2。CI 锁定 workspace 测试,依赖声明广泛且有精确锁定线索,但材料未给出离线缓存或供应链可用性方案,dependency_availability 为 1。安全策略说明错误正文和模型输出会清理,CI 脚本包含若干失败提示;但未提供 CLI/API 错误消息目录或覆盖情况,failure_messages 为 1。

适用触发14 / 18 · 3.9/5

项目分别面向 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。

规范维护14 / 18 · 3.9/5

文档按功能分组,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。

有效结果12 / 13 · 4.6/5

输出包括交互终端、单次提示、JSON 事件流、持久会话及 SDK 事件,机器消费与嵌入使用均有明确入口,output_usability 为 3。库优先架构、跨 provider 工具、插件 ABI 和崩溃恢复相对单纯 CLI 展示出明确附加价值,README 给出具体结构和使用方式,marginal_value 为 3。Rust 单二进制、离线 faux provider 和分 crate 使用降低部分部署/测试成本;但远程、插件及多平台部署仍增加维护复杂度,且成本收益基准仅为仓库自述,cost_benefit 为 2。

证据核验5 / 8 · 3.1/5

README 将安装、示例、基准和架构主张链接到脚本、tape、文档或 CI;但若干性能及产品对比主张仍主要由 README 陈述,claim_traceability 为 2。README、Cargo.toml、安全策略和 CI 对版本、功能和安全边界有一定相互印证;没有独立第三方证据,cross_source_corroboration 为 2。README 对 benchmark 方法和未测项目给出限定,安全策略区分威胁模型与范围;不过若干性能和比较陈述的证据性质仍不完全统一,fact_inference_separation 为 2。

风险与缓解建议
  • 这是低置信度静态源审查;未执行项目,也未独立核实性能、发布或测试结果。
  • bash/PowerShell 与文件工具使用启动用户权限;插件是无沙箱原生代码,远程 TCP 协议自身不提供传输加密。仅应在信任的代码库和扩展上运行,并按安全策略保护令牌与凭据。
证据充分度:低 评估于 2026年10月17日 审查版本 1409907e8bb7 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. 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 查看 ↗
  2. 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 查看 ↗
  3. 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 密钥试用吗?
可以。README 提供使用确定性 faux 提供方的离线示例;真实 Anthropic 或 OpenAI-compatible 模型调用需要相应凭据。
支持哪些模型提供方?
README 列出 Anthropic、OpenAI-compatible 网关和用于离线场景的 faux 提供方。
代理运行中断后,会重复执行工具吗?
会话按 JSONL 保存逐帧进度,README 说明崩溃恢复从最后提交帧继续,而不是重放整个回合。
插件能扩展什么?
Rust cdylib 插件可以注册工具、提供方、斜杠命令、事件处理器、Markdown 渲染器和发现资源。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents