跳至主要内容

Oh My Pi 教程:用 Grok 作为编码代理构建完整应用

设置“电池全包”的终端编码代理 Oh My Pi,将其连接到 xAI 的 Grok,并用它规划、构建、测试与完善一个完整的 Streamlit 应用,包含一次代理式运行的实际成本。
· 9分钟 阅读

使用 AI 探索

Oh My Pi(OMP)是一款把 IDE 能力“接”进来的终端编码代理:内置 LSP、真调试器、网页搜索、子代理,以及持久化代码执行。您选择模型,OMP 则提供让它像开发者而非聊天机器人一样工作的工具。

在本教程中,我们将安装 OMP,通过 API 将其连接到 xAI 的 Grok,并通过一个真实案例进行检验:让它用 Python、Streamlit 和 SQLite 规划并构建一个完整的医院管理系统。随后我们将运行该应用、测试其核心流程、修复错误,并观察这种组合在实际中的表现。

注意:我们在 OMP v18.0.6 和 Grok 4.6 上进行了测试。OMP 更新频繁,新版的菜单和界面可能略有不同。Grok 4.7 现已以相同的 API 价格发布,您可通过 /model 切换使用。

为何使用 Oh My Pi?

一款优秀的编码代理需要两样东西:强大的代理型模型与强健的编码“套件”。

模型提供智能。在本教程中,我们使用 Grok 4.6。它由 xAI 为编码、长时间运行的代理以及跨完整代码库的多步工作而构建,支持 50 万 token 的上下文窗口、图像输入、函数调用、代码执行和网页搜索。

但即便是最好的模型,如果“套件”只允许读写文本,也会受到限制。要像真正的开发者那样工作,模型需要能够:

  • 检查代码仓库并可靠地编辑文件
  • 运行命令并执行测试
  • 读取诊断信息并调试故障
  • 搜索文档并验证其更改确实有效

这正是 OMP 提供的:LSP 集成、真调试器、持久化代码执行、浏览器与 Web 工具、GitHub 集成、记忆,以及并行子代理。与模型配合,它们形成完整的代理式循环:

规划 → 检查 → 编辑 → 运行 → 调试 → 测试 → 验证

模型决定做什么,而 OMP 提供把它变成现实的工具。并且由于 OMP 支持 60 多家 AI 提供商,您并不被 Grok 绑定。无论连接 Grok、Claude,还是其他模型,流程都相同。

安装 Oh My Pi

Oh My Pi 是开源 Pi 编码代理的一个分支,由 Stencil Labs 打造,迅速成为颇受欢迎的终端编码代理之一,GitHub Star 超过 34,000。它面向不想花时间组装和配置自定义代理栈、而希望即装即用的开发者。

OMP 支持 Linux、macOS 和 Windows。

在 Linux 或 macOS 上,运行:

curl -fsSL https://omp.sh/install | sh

在 Windows PowerShell 上:

irm https://omp.sh/install.ps1 | iex

您也可以使用 Bun(1.3.14 或更高版本)全局安装:

bun install -g @oh-my-pi/pi-coding-agent

如果安装后找不到 omp 命令,请重启终端,或检查安装器输出以确认安装路径。

然后验证安装:

omp --version

例如:

omp/18.0.6

如果出现版本号,说明 OMP 安装正确,omp 命令可用。

设置 SpaceXAI 访问

要在 Oh My Pi 中使用 Grok,您有两种选择。

如果只是测试模型或跟随本教程,我建议使用 xAI API。在 https://console.x.ai/ 创建账户,预存少量余额并生成 API 密钥。xAI 会直接从您的余额中扣除用量,便于控制花费。

如果您计划经常用 Grok 编码,订阅 SuperGrok 可能更合适。OMP 通过 SpaceXAI OAuth 直接支持 SuperGrok,您可以使用 /login 连接订阅,而无需为每个 API 请求单独付费。

本教程我们将使用 API 方式,因为它更易于测试并可控成本。

在 SpaceXAI 开发者控制台创建 API 密钥并妥善保存。OMP 会自动查找 XAI_API_KEY 环境变量。

在 Linux 或 macOS 上:

export XAI_API_KEY="your-xai-api-key"

要在重启终端后仍然生效:

echo 'export XAI_API_KEY="your-xai-api-key"' >> ~/.bashrc
source ~/.bashrc

在 Windows PowerShell 上:

$env:XAI_API_KEY="your-xai-api-key"

您可以用以下命令查看可用的 Grok 模型:

omp models xai

Oh my pi 可用的 SpaceXSI 模型

用 Grok 启动 Oh My Pi

为测试编码代理,新建一个目录:

mkdir grok-pi-demo
cd grok-pi-demo

初始化一个 Git 仓库,以便 OMP 追踪其所做的更改:

git init

现在启动 Oh My Pi:

omp

Oh My PI 提供商登录

首次启动时,OMP 可能打开一个简短的设置向导,用于配置提供商、网页搜索和界面。您也可随时运行 omp setup 重新打开。

由于我们已配置 XAI_API_KEY 环境变量,您无需再次登录 xAI。完成提供商设置后按 Esc。

如果您使用的是 SuperGrok 订阅而非 API 额度,请在登录界面选择 xAI Grok OAuth(SuperGrok 或 X Premium+)。

OMP 打开后,输入:

/model

在提供商列表中选择 xAI,并选:

grok-4.6

Oh My PI 模型选择

若要使用更新的 Grok 4.7,请在此选择 grok-4.7。本教程的其他部分保持不变。

OMP 还展示了有用的模型信息,包括上下文窗口、价格、推理支持和视觉能力。

现在,Grok 已作为基于终端的编码代理在 Oh My Pi 内运行。从这里起,它可以使用 OMP 的内置工具检查文件、修改代码、执行命令、运行测试、调试问题,并推进更大型的开发任务。

探索 Oh My Pi 的内置功能

Oh My Pi 自带 31 个内置工具,并支持 60 多家 AI 提供商,因此多数编码工作流无需额外安装插件或 MCP 服务器就能运行。

Oh My PI 提供商设置菜单

一些最有用的内置能力包括:

  • 文件管理:读取、创建、编辑、搜索与结构化修改文件。

  • 终端访问:直接从代理运行 Shell 命令并管理进程。

  • 代码执行:运行持久化的 Python 与 JavaScript 会话。

  • LSP 集成:跳转定义、查找引用、重命名符号、查看诊断并应用代码操作。

  • 调试器:通过 DAP 集成调试 Python、Go、C/C++ 等受支持的应用。

  • 网页搜索:搜索文档、GitHub、Stack Overflow、Reddit、包仓库、论文以及更广泛的网络。

  • 浏览器自动化:通过基于 Chromium 的浏览器打开并交互网站。

  • 子代理:将更大的编码任务拆分给多个并行工作的代理。

  • GitHub 工具:操作仓库、Issue、Pull Request、代码搜索与 GitHub Actions。

  • 记忆:在多次编码会话间存储并调用有用的项目信息。

  • 图像理解:检查截图、图表和其他本地图像。

  • 图像生成:使用受支持的 AI 提供商生成或编辑图像。

  • 文本转语音:使用 xAI Grok Voice 生成语音。

  • 远程文件:通过 ssh:// 路径读取远程机器上的文件。

  • 会话管理:对较长的代理会话进行检查点、回退、分支与恢复。

  • 代理编排:提示中使用 orchestrate 与 workflowz 等关键词,可协调多个子代理完成复杂任务。

其中部分工具(包括 GitHub、记忆、图像生成、文本转语音和检查点)默认关闭。您可在 OMP 设置中启用。

换言之,模型能做的远不止生成代码。借助 Oh My Pi,它可以搜索网页、理解代码库、编辑文件、运行命令、调试错误、记住项目上下文,并在同一个终端界面中协调多个代理。

用 Oh My Pi 和 Grok 构建项目

我们不打算用一个简单的编码问题来测试这套环境,而是直接给出一个完整项目,看看 Grok 和 Oh My Pi 在规划、实现、测试与迭代方面的表现。

首先,将 OMP 切换到规划模式(撰写时为 /plan):

/plan

然后输入以下提示词:

Build a simple Hospital Management System in Python.

Use Streamlit for the web interface and SQLite for storing data. Keep the project lightweight and easy to run locally.

The app should let hospital staff register patients, add doctors, schedule appointments, admit and discharge patients, and view available beds.

Create a dashboard showing total patients, doctors, appointments, admitted patients, and available beds.

Use a clean sidebar for navigation, simple forms and tables, and realistic sample data.

Organize the Python code properly, create the database automatically, add basic validation, and make all CRUD operations work.

Install any required dependencies, run the application, test the main workflows, and fix any errors.

审阅规划

Oh My PI 使用网页工具生成项目规划

在写代码之前,Grok 使用 OMP 的内置工具调研了相关文档、核查了 Streamlit 和 Python 生态的最新信息、审视了需求,并推理该如何组织应用结构。

Oh My PI 与 Grok 4.6 生成了完整的项目计划

随后它给出了分章节的详细实现计划。OMP 让该计划可交互,您可以在各部分之间切换、更细致地审查具体决策,并在允许代理接触项目之前进行修改。

当您满意后,批准该计划并让 Grok 开始构建。

让 Grok 构建并测试应用

批准计划后,实际实现过程出人意料地顺利。Grok 创建了项目结构、数据库层、Streamlit 界面、示例数据和 CRUD 功能,随后安装依赖并测试了应用。

Oh My PI 与 Grok 4.6 执行了项目计划

初版可运行版本的构建与测试耗时不到五分钟。

这正体现了“像样的编码套件”的价值。Grok 并不是简单生成一段 Python 代码丢给我,而是能创建文件、运行应用、检查错误、进行修正,并持续推进直到项目跑起来。

迭代界面

首个版本可用,但我不喜欢默认的 Streamlit 外观,看起来过于“标准 Streamlit 应用”。

Oh My PI 与 Grok 4.6 审视 Web 仪表盘 UI

于是我告知代理要修改的内容,包括主题、仪表盘布局、视觉层次,以及信息呈现方式。Grok 在现有项目上修改,而非从头重建。

由 Oh My PI 与 Grok 4.6 生成的医院管理仪表盘

最终成果是一套打磨完善的医院管理系统,包含病人管理、医生信息、预约、住院、床位跟踪和报表。

这一过程也体现了编码代理的价值:先做出可用版本,再进行评审,并通过简单的后续说明不断完善设计与功能。

关于成本的说明

此方案的一个主要缺点是:通过 API 使用 Grok 进行代理式编码,成本可能较高。

x.ai 仪表盘中的用量报告

在本项目中,SpaceXAI 的用量仪表盘显示总花费为 11.84 美元,约处理了 1,940 万个 token,涉及 938 次 API 请求。大部分用量来自规划、网页搜索、编辑文件、运行工具、测试应用以及优化 UI。

对于偶尔的测试,API 额度依然有用,因为您能精确控制支出。但若您每天编码或构建更大项目,SuperGrok 订阅可能是更好的选择,尤其是在代理式工作流单次会话就能产生数百个请求的情况下。

Grok 的结果非常出色,但此测试也表明,对于编码代理而言,成本与 token 用量与模型质量同等重要。

结语

编码代理领域一个日益清晰的趋势是:模型与编码“套件”不必来自同一家公司。模型自带的默认套件未必是最佳用法,开发者越来越倾向于将 Claude 或 Grok 等强模型,与更契合其工作流的替代性编码代理与终端工具配对使用。

问题在于,自己搭建环境很快会变得繁琐:安装 MCP 服务器、添加技能、配置插件、连接工具,还要自行维护一切。

这正是我喜欢 Oh My Pi 的原因。它是“电池全包”的编码代理,大多数能力都已内置。您只需安装、连接提供商或订阅、选择模型,然后开始编码。无需先花数小时把代理拼装好才能真正使用。

Grok 与 OMP 配合良好,产出了扎实的应用,但 API 成本高于我的预期。对偶尔测试而言,API 额度没问题;若我每天用 Grok 编码,我个人会考虑在 OMP 上配合 SuperGrok。

归根结底,关键不只是哪个公司拥有最好的编码模型,而是为您的实际工作方式找到最佳的“模型 + 套件”组合。

Oh My Pie 常见问题

Oh My Pi 是否免费?

是的。OMP 以 MIT 许可证开源,本体不收费。您只需为背后的模型付费(通过 API 额度或如 SuperGrok 之类的订阅),也可以通过 Ollama、LM Studio 或 llama.cpp 本地运行模型而免费使用。

什么是 Oh My Pi?它与最初的 Pi 编码代理有何不同?

OMP 是 Mario Zechner 的 Pi 的一个分支,现由 Stencil Labs 维护。它保留了 Pi 的“终端优先”设计,但加上了“电池全包”的工具集:LSP 集成、真调试器、并行子代理、内置网页搜索,以及基于内容哈希的哈希行编辑(通过内容哈希引用行而非重新输入)。

我能用 Claude、GPT 或本地模型替代 Grok 吗?

可以。OMP 支持 60 多家提供商,包括 Anthropic、OpenAI、Google 和 DeepSeek,您也可以用现有订阅(如 Claude、GitHub Copilot 或 Cursor)登录。您还可以为不同角色分配不同模型,例如为子代理使用便宜的模型、为规划使用更强的模型。

Oh My Pi 能与我现有的 Claude Code 或 Cursor 配置配合吗?

大体可以。首次运行时,OMP 会读取磁盘上已有的规则、技能和 MCP 服务器(来自 Claude Code、Cursor、Codex、Copilot 等工具),因此您无需迁移配置。它也可通过 Agent Client Protocol 在 Zed 编辑器内运行。

我应该用 Oh My Pi 还是 Claude Code?

这取决于您是否希望自由切换模型。OMP 的主要优势是可选提供商以及打包的 IDE 式工具(如 LSP 与单步调试器);而 Claude Code 是 Anthropic 自家的套件,专门针对 Claude 模型调优。OMP 也非常频繁地发版更新,因此不同版本的菜单和默认项可能会变化。

Abid Ali Awan

作者

Abid Ali Awan

作为一名持证的数据科学家,我热衷于利用前沿技术打造创新的机器学习应用。凭借在语音识别、数据分析与报告、MLOps、对话式人工智能以及自然语言处理方面的扎实背景,我不断打磨构建智能系统的能力,力求带来切实影响。除技术专长外,我也擅长沟通,能够将复杂概念提炼为清晰、简明的表述。因此,我成为数据科学领域备受关注的博主,与不断壮大的数据专业人士社区分享洞见与实践经验。目前,我专注于内容创作与编辑,借助大语言模型打造有力且吸引人的内容,帮助企业与个人更好地发挥数据价值。

主题