简洁的 pi 终端界面,把无关的丢掉。
一个 pi 扩展,让 pi 的交互界面安静下来:
- 折叠模型思考 —— 思考过程不再刷屏,只显示一行
thoughts标签;想看细节Ctrl+T展开。 - 工具调用压成一行 —— 每个工具调用(read / bash / edit / write / find / grep / ls)只占一行列表项:前面绿色
✓成功、红色✗失败,后面跟一句极简摘要。长内容按终端宽度截断,保证不换行;想看完整输出Ctrl+E展开。
✓ read src/foo.ts · 12 lines
✓ bash $ tsc --noEmit · exit 0 · 2 lines
✗ edit src/bar.ts · no match
⋯ grep /TODO/ in src (运行中)
在 pi 的 ~/.pi/agent/settings.json 里把本扩展路径加到 extensions:
{
"extensions": ["/Users/<you>/projects/pi-quiet/src/index.ts"]
}或临时加载:
pi -e /path/to/pi-quiet/src/index.ts然后重启 pi(或 /reload)。
package.json 已声明 "pi": { "extensions": ["./src/index.ts"] },发 npm 或推 git 后,别人可以:
pi install npm:pi-quiet # 或 git:github.com/<you>/pi-quiet扩展会自动把 hideThinkingBlock: true 写入 ~/.pi/agent/settings.json(若未开启),并提示重启生效。这是 pi 的启动期设置,第一次需重启 pi / /reload 两次才能让思考折叠真正生效。之后常驻。
| 键 | 作用 |
|---|---|
Ctrl+E |
展开/收起当前工具的完整输出 |
Ctrl+T |
展开/收起思考块全文 |
- 工具行之间有 1 空行 —— pi 给每个工具组件顶部硬塞了
Spacer(1),扩展去不掉。要完全紧贴成一块需改用 widget 面板方案。 - 思考是全程
thoughts标签 —— pi 没有「流式时实时显示思考、完成后才折叠」的 API,折叠是全局开关。所以流式期间也是thoughts标签(右下角 working 转圈照常转)。 - 只覆盖内置工具 —— read/bash/edit/write/find/grep/ls。其他扩展注册的工具(如 web_search、todo)仍用各自渲染。
pi-quiet/
├── src/
│ └── index.ts # 扩展本体,配置驱动(SPECS 表 + 共享渲染函数)
├── package.json # 含 pi.extensions 入口
├── README.md
└── LICENSE
加一个工具 = 在 SPECS 里加一行 { name, arg, summary, expanded?, ok? },渲染逻辑全自动。
MIT