_(°:з」∠)_/Vibe Coding (π)

Created Sat, 28 Mar 2026 00:00:00 +0000
954 Words

Pi Coding Agent

这里只讨论 Pi 的 TUI 用法。首先是安装:

npm install -g @mariozechner/pi-coding-agent

注意 Pi 的代码中有大量硬编码的 npm 命令,因此不建议使用 bun 替代 npm 进行安装。

使用方式和大多数 agent 类似,/login, /logout 登入/登出账号,/model 切换模型,有一点不同的是,OpenCode! 可以切换到 Shell 模式,输入命令后会将输出注入到上下文,但 Pi 提供了更精细的控制,可以用 ! 作为前缀运行 Shell 命令并且将输出发送给模型,也可以用 !! 仅运行命令不发送。

其他比较实用的命令,部分命令和其他 agent 存在差异:

命令 描述
/settings 调整思考级别、主题、消息发送方式及传输协议
/resume 从之前的会话中选择继续
/new 开始新会话
/name <名称> 设置会话显示名称
/session 显示会话信息(路径、token 数、费用)
/tree 跳转到会话中的任意节点并从该处继续
/fork 从当前分支创建新会话
/compact [提示词] 手动压缩上下文,可附加自定义指令
/copy 复制最后一条 assistant 消息到剪贴板
/export [文件] 将会话导出为 HTML 文件
/share 上传为私有 GitHub Gist 并生成可分享的 HTML 链接
/reload 重新加载快捷键、扩展、技能、提示词及上下文文件(主题自动热重载)
/hotkeys 显示所有键盘快捷键

上下文

Pi 在启动时从以下位置加载 AGENTS.md(或 CLAUDE.md):

  • ~/.pi/agent/AGENTS.md(全局)
  • 父级目录(从当前工作目录向上遍历)
  • 当前目录

可用于存放项目说明、代码规范、常用命令等内容。所有匹配的文件会被合并拼接。

提示词

系统提示词

使用 .pi/SYSTEM.md(项目级)或 ~/.pi/agent/SYSTEM.md(全局)替换默认系统提示词。如需追加而非替换,可使用 APPEND_SYSTEM.md

自定义提示词

将自定义提示词放入 ~/.pi/agents/prompts, .pi/prompts中,输入 /提示词文件名 即可展开调用。官方示例:

<!-- ~/.pi/agent/prompts/review.md -->
Review this code for bugs, security issues, and performance problems.
Focus on: {{focus}}

技能

将技能文件放入全局 ~/.pi/agent/skills/, ~/.agents/skills/ 或者项目本地的 .pi/skills/, .agents/skills/ 即可加载。个人建议用 .agents 路径与其他 agent 保持兼容。

扩展

Pi 的扩展功能算是它最具特色的部分。与其他 agent 内置 sub-agentsMCP 及大量工具的方式不同,Pi 本身的功能设计十分克制,转而将扩展能力开放给社区,由开发者自行构建各类扩展。

官方推荐在 npmjs.com 或者 Discord 上查找扩展。不过个人感觉官网的 packages 页面用起来最方便。

使用 pi install 将扩展安装到全局,使用 pi install -l 将扩展安装到项目本地。

自用的一些扩展: