面向 Pi Coding Agent 的开源应用
Pi 走的是自带密钥的路子,本身不提供模型。Happier 带来手机、浏览器和桌面应用,中间不放服务器。
How Happier runs Pi Coding Agent
Pi 不附带模型,而这恰恰是在这里运行它时有趣的地方:Happier 保存的每份智能体凭据,Pi 都接受。Claude 订阅配置、Anthropic 密钥、Codex 登录和 OpenAI 密钥都可以用,所以你因为使用 Claude Code 而攒起来的账户,也能驱动这一个——在会话开始时选定,而不是由那台电脑上次登录的状态决定。
这个机制值得用句话说明,因为它解释了什么会动、什么不会动。启动前,Happier 会把你选定的配置按 Pi 期望的形式写进 Pi 自己的隔离凭据文件里:订阅登录变成 OAuth 凭据,setup token 或 API 密钥变成密钥。之后 Pi 读取它自己的文件并直接与供应商通信,你的任何请求都不会经由我们的东西转发。如果你有多份配置都符合,应用会问用哪一份,而不是替你挑。
这一个没有登录按钮,这是 Pi 的缘故而不是遗漏:它没有暴露可供 Happier 驱动的交互式登录,所以供应商页面只报告那台电脑已有的、由环境提供的凭据,到此为止。引导是可以用的——发进已经在运行的轮次里的消息会被智能体接收,而不是排在它后面等待——而往供应商终端里打字则不是这个智能体提供的能力。Pi 在 Happier 里是实验性供应商,这是阅读它时应有的前提。
What Pi Coding Agent does, and what Happier adds
Pi 是自带密钥的终端编码智能体:它不附带模型,而是驱动你手上有凭据的那个供应商。happier pi 会用你的 shell 已有的环境在你的仓库里运行它。
这与 Happier 的工作方式相合,因为 Happier 同样不保存那些密钥。智能体进程在你的电脑上读取它们,直接与供应商通信,而穿过网络的只有发往你自己设备的加密对话记录。
所以 Pi 会话的形状是:你的密钥、你的电脑、你的仓库,以及口袋里能读取并回复这段对话的手机。这份清单里没有任何东西是从我们这里租的,而中间的中继,如果你不愿意用我们的,也可以是你自己运行的那一个。
happier piRead, approve and answer Pi Coding Agent from any device
iOS 和 Android 应用、面向 macOS、Windows 和 Linux 的桌面应用,以及 app.happier.dev,都是通向运行在你电脑上的 Pi Coding Agent 进程的客户端 —— 而不是只读的镜像。回应一个权限请求、发送下一条指令、浏览仓库、阅读 diff。会话记录在离开你的电脑之前就已端到端加密,所以承载它的服务器持有的是密文。
Happier can install Pi Coding Agent for you
Happier 安装在已经存放着你仓库的那台电脑上,而 happier pi 会在那里把 Pi Coding Agent 作为一个普通子进程启动,在你指定的目录里,用你自己登录好的身份。智能体和 Pi 之间没有网关,你的源码在别处也没有任何副本。
Happier 会先在你的 PATH 上找 pi,运行你装的那份。如果没有,它可以把 @earendil-works/pi-coding-agent 安装到 ~/.happier/tools/providers/pi/ — 那是它自己的目录,不是你全局的 npm prefix。你自己管理的那份,永远不会在你不知情的情况下被替换或升级。
Pi 自己的安装与登录指南在 github.com/badlogic/pi-mono。Happier 不会镜像一份,因为把别人的安装说明抄一份过来,抄的就是一份会过期的东西。
Happier 这一侧的配置参考 —— Happier 文档中的 Pi Coding Agent。
Pi Coding Agent 跑在哪个账号上
Pi Coding Agent 是 Happier 可以指向“你连接过一次的凭据”的智能体之一,而不是指向那台电脑当下登录的账号。它接受 a Codex subscription, an OpenAI API key, a Claude subscription or an Anthropic API key。
已连接服务是以凭据为键,而不是以智能体为键,所以同一份 Codex subscription 在每一台你连接过的电脑上,都能给任何接受它的智能体选用 — 这也正是把你自己的账号组成一个池、跨多台电脑使用会有帮助的原因。凭据的加密和解密都在你自己的设备上进行;文档页面 记载了各类配置档的规则,因为每个智能体接受哪些种类的配置档,正是会随版本变动的那类细节。
One app for Pi Coding Agent and 12 other agents
Pi Coding Agent 是 Happier 运行的 13 个命令行编码智能体之一,它们共用一份会话列表、一个权限收件箱、一套键盘快捷键和一份 MCP 配置。
You define an MCP server once, and because Pi Coding Agent does not consume MCP directly, Happier hands the same tool surface to it through the happier tools shell bridge instead — the same tools, delivered as commands it can run. The app previews the effective tool surface before a session starts, so which one you got is visible rather than inferred.
这在你同时跑不止一个的日子里最要紧:不同厂商的会话并排摆着,点一下通知打开的是发出该请求的那个会话,而不是应用的首页。完整名单在这里。
The same Pi Coding Agent session in your terminal and in the app
在终端里输入 happier pi,会话就在你站着的地方启动,而同一个会话同时也在应用里。你在那个 shell 里读到的是 Happier 自己对会话的呈现 —— 会话记录、权限提示、工具输出 —— 而不是 Pi Coding Agent 的界面。没有人需要为了拿到一个手机客户端而放弃终端。
没有交接到 Pi Coding Agent 自己 TUI 这回事。那是 Claude Code、Codex 和 OpenCode 才有的;用 Pi Coding Agent 时,会话两端都还是 Happier 的。happier attach <session-id> 会列出那台电脑上的会话,并标记它无法重新接上的那些,而不是等你选了之后才失败。
attach 指南列出了具体适用的情形,而不是把所有情形都许诺下来。
关于通过 Happier 运行 Pi Coding Agent 的问题
- 我怎么安装 Pi?
- 来自
@earendil-works/pi-coding-agent包。Happier 会优先使用你 PATH 上已有的pi,否则可以把这个包安装到~/.happier/tools/providers/pi/。 - 我的 API 密钥放在哪里?
- 在你自己电脑上你自己的环境里,Pi 也是从那里读取它们的。Happier 只启动这个进程,不复制、不保存、也不转发供应商密钥。
- 这和 oh-my-pi 是同样的东西吗?
- 不是——不同的项目,不同的可执行文件。oh-my-pi 以
omp的名字从它自己的仓库发布,而在你今天可以安装的版本里,Happier 并不运行它。它会在下个版本中到来,所以这是我们正在做的事,而不是我们已经支持的事;本页讲的是pi。 - 我可以在会话中途切换模型吗?
- Happier 展示的是智能体报告的模型,并请求它切换,而不是自带列表。切换是落在当前这轮还是落在下一轮,取决于智能体的行为,应用会在你确认之前告诉你是哪种。
- 它能在 iPad 上用吗?
- 可以——iOS 应用可以在 iPad 上运行,如果你不想安装任何东西,app.happier.dev 在 Safari 里也能用。两者都是通往你电脑上那个会话的客户端。
Get Pi Coding Agent onto your phone in two commands
在存放你代码的那台电脑上执行一条命令,然后在你想工作的仓库里执行 happier pi。
curl -fsSL https://happier.dev/install | bash分步说明在指南里。这一切都是 MIT 许可的,而 relay 是你可以自己运行的。

