Ruv Pi:具有多提供商的自扩展编码代理 CLI
Ruv Pi 是 Earendil Works 的自扩展编码代理 CLI,提供统一的多提供商 LLM API,使开发人员能够构建、运行和扩展人工智能驱动的编码代理,并支持 Claude、OpenAI、Gemini 等。
- 更新于 2026-06-10
—## 介绍人工智能编码工具的格局已经变得非常分散。 开发人员在 Claude Code、Cursor、Copilot、Codex 和不断增长的 CLI 工具之间周旋 — 每个工具都有自己的配置、定价和功能。 管理多个模型提供商(每个模型提供商具有不同的 API、速率限制和令牌成本)已成为构建智能应用程序的团队的重大运营负担。来自 Earendil Works 的 Ruv Pi(也称为 pi-agent)正面解决了这种碎片问题。 它拥有 61,200 GitHub star,已成为最流行的编码代理框架之一。 Pi 提供了一个由统一的多提供商 LLM API 支持的自扩展编码代理 CLI,让开发人员编写一次代码并在任何模型提供商上运行。披露: 本文可能包含附属链接。 如果您通过他们注册,我可以赚取少量佣金,而无需您支付额外费用。 披露政策DigitalOcean - 为您的 AI 应用程序提供可靠的云基础设施。 HTStack - 高性能服务器托管。 WebShare - 用于 AI 数据管道的高级代理服务。 #

架构概述(来源:dibi8.com)## Ruv Pi 是什么?Ruv Pi 是一个可自扩展的编码代理 CLI,它提供具有工具调用功能的代理运行时和统一的多提供商 LLM API。 将其视为您的编码需求和不断增长的法学硕士提供商世界之间的桥梁。Pi 的核心建立在两个支柱上:1. 可自我扩展的代理运行时 — 代理可以添加新工具、修改其自身行为并在运行时扩展其功能。 如果任务需要的工具不存在,Pi 可以创建它。
2. 统一多提供商 LLM API — 与 OpenAI、Anthropic、Google 和其他提供商合作的单个 API 调用。 您指定您想要的型号; Pi 处理剩下的事情。**featureImage: **
## 核心架构Pi 的架构围绕三个主要组件进行设计:### 代理运行时代理运行时是系统的大脑。 它维护对话上下文,管理工具执行,并协调用户、LLM 和外部工具之间的交互。 运行时是有状态的,可在多个交互中维护对话历史记录和工具状态。# #


工具系统Pi 的工具系统使其能够自我扩展。 工具是代理可以调用来与外部世界交互的功能——读取文件、执行命令、进行 API 调用、运行测试等等。 独特之处在于,当代理遇到需要其当前不具备的功能的任务时,它可以即时生成新工具。````蟒蛇 #
示例:为 Pi 定义一个自定义工具 #从 pi_agent 导入工具
@tool(description=“计算复利”)
def 计算复合利息(
主要:浮动,
费率:浮动,
时间:整数,
每年化合物:int = 12
) -> 字典:
“““计算给定参数的复利。”””
结果 = 本金 * (1 + 比率 / 年化合物数) ** (年化合物数 * 时间)
返回{
“最终金额”:回合(结果,2),
“interest_earned”:回合(结果 - 本金,2)
}
### 统一LLM API统一的 API 抽象了模型提供者之间的差异。 无论您想使用 GPT-4o、Claude Sonnet、Gemini Pro 还是任何其他受支持的模型,API 都是一致的。 这意味着您可以通过更改单个配置值来切换提供商。
bas
h
配置 Pi 使用不同的提供者 #
使用 OpenAI #
导出 PI_PROVIDER=openai
导出 PI_MODEL=gpt-4o# 切换到人择
导出 PI_PROVIDER=人类
导出 PI_MODEL=克劳德-sonnet-4-20250514# 切换到谷歌
导出 PI_PROVIDER=google
导出 PI_MODEL=gemini-pro# 使用Pi的默认智能路由
导出 PI_PROVIDER=自动
## 它是如何工作的Pi 通过三个阶段的连续循环进行操作:1. **思考** — 代理分析用户的请求,将其分解为子任务并确定 wh
bas
h
配置 Pi 使用不同的提供者 #
使用 OpenAI #
导出 PI_PROVIDER=openai 导出 PI_MODEL=gpt-4o
切换到人择 #
导出 PI_PROVIDER=人类 导出 PI_MODEL=克劳德-sonnet-4-20250514
切换到谷歌 #
导出 PI_PROVIDER=google 导出 PI_MODEL=gemini-pro
使用Pi的默认智能路由 #
导出 PI_PROVIDER=自动
``奥德十四行诗-4-20250514# 从自动模型选择开始
圆周率启动–自动# 从特定任务开始
pi start –task “重构身份验证模块以使用 JWT”
代理维护一个在调用过程中持续存在的对话上下文。 您可以将其视为一个编码助手,它会记住您在之前的课程中讨论和构建的内容。
bas
h
继续上一个会话 #
pi 继续 –session-id abc123# 列出所有会话
pi 会话列表# 归档已完成的会话
pi 会话存档 abc123
## 安装安装 Pi 非常简单。 主要安装方法是通过pip:
bas
h
通过 pip 安装 #
pip 安装 pi 代理# 验证安装 pi——版本# 检查可用的提供者 PI 提供商列表 ````或者,你可以我``` bas h
启动 Pi 会话 #
pi 开始 –模型 claude-sonnet-4-20250514
从自动模型选择开始 #
圆周率启动–自动
从特定任务开始 #
pi start –task “重构身份验证模块以使用 JWT” ``ct:```` bas h
克隆存储库 #
git 克隆 https://github.com/earendil-works/pi.git# 导航到目录 光盘# 安装开发依赖 pip install -e ‘.[dev]’# 运行测试 pytest 测试/ ````## 集成模式Pi 旨在无缝集成到现有的开发工作流程中。 以下是关键的集成模式:### Git 集成Pi 可以与你的 Git re``` bas h 交互
继续上一个会话 #
pi 继续 –session-id abc123
列出所有会话 #
pi 会话列表
归档已完成的会话 #
pi 会话存档 abc123
``e’
export PI_GIT_COMMIT_MESSAGE=“由 Pi 代理自动提交”# 让 Pi 管理 Git 操作
pi start –task"重构数据库模块并提交更改"
### CI/CD 管道集成Pi 可以集成到 CI/CD 管道中进行自动化测试、代码审查
bas
h
通过 pip 安装 #
pip 安装 pi 代理
验证安装 #
pi——版本
检查可用的提供者 #
PI 提供商列表
pi ci-review --base main --head 功能分支
````### IDE 集成Pi 与您首选的 IDE 一起工作,提供智能建议并执行任务:````
bas
h
# 在 wat```
bas
h
中启动 Pi
# 通过 npm 安装
npm install @earendil-works/pi-coding-agent
# 验证安装
npx pi --版本
```从市场上停止
VS Code 的 Pi 扩展
````### 多提供商路由Pi 最强大的功能之一是智能模型路由。 基于```
bas
h
# 克隆存储库
git 克隆 https://github.com/earendil-works/pi.git
# 导航到目录
光盘
# 安装开发依赖
pip install -e '.[dev]'
# 运行测试
pytest 测试/
````温度:0.1
调试:
型号: claude-sonnet-4-20250514
温度:0.5
文档:
型号:Gemini-Pro
温度:0.3
默认:
型号: 汽车
温度:0.7
````## 基准和性能### 模型比较Pi 的统一 API 可以在相同任务上直接比较不同模型:| 任务类型``bash
# 配置 Git 集成
导出 PI_GIT_ENABLED="true"
导出 PI_GIT_AUTO_COMMIT="true"
export PI_GIT_COMMIT_MESSAGE="由 Pi 代理自动提交"
# 让 Pi 管理 Git 操作
pi start --task"重构数据库模块并提交更改"
``````重击
# 为 CI/CD 配置 Pi
导出 PI_CI_ENABLED="true"
export PI_CI_MODE="review" # 审核、测试或部署
# 以 CI 审查模式运行
pi ci-review --base main --head 功能分支
``````重击
# 以监视模式启动 Pi,监视文件变化
pi watch --directory ./src --interval 5
# 通过扩展与 VS Code 集成
# 从市场安装 VS Code 的 Pi 扩展
yam l
pi-config.yaml #
路由: 代码生成: 型号: claude-sonnet-4-20250514 温度:0.3 代码审查: 型号:GPT-4O 温度:0.1 调试: 型号: claude-sonnet-4-20250514 温度:0.5 文档: 型号:Gemini-Pro 温度:0.3 默认: 型号: 汽车 温度:0.7
💬 留言讨论