pi-zen-mode
Distraction-free focus mode for Pi: hide thinking and tools, words still stream.
Package details
Install pi-zen-mode from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-zen-mode- Package
pi-zen-mode- Version
0.3.0- Published
- Sep 4, 2026
- Downloads
- 295/mo · 43/wk
- Author
- wutongyuonce
- License
- MIT
- Types
- extension
- Size
- 949 KB
- Dependencies
- 0 dependencies · 3 peers
Pi manifest JSON
{
"extensions": [
"./zen-mode.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
而 Ctrl+Alt+S 能展开更早的轮次:
- 按开关隐藏 — 思考 / 工具各自决定要不要实时显示;文字始终流式出现
- 可见项走原生 UI — 不隐藏的思考块保持 compact-thinking / 原生样式
- 结束见真章 — 最终答案全文显示,被藏的内容折成一行占位
- 随时可回看 —
ctrl+alt+r/ctrl+alt+s用原生渲染展开最近一轮过程或选择更早轮次 - 零侵入 — 与 pi-compact-thinking 等渲染扩展共存;关闭时完全不碰它们的渲染
安装
pi install npm:pi-zen-mode
然后 /reload(或重启 pi)。
只想手动试:把
zen-mode.ts放进~/.pi/agent/extensions/,/reload即可。
更新:pi update --extensions
用法
/zen 打开设置面板:
- thinking 开关,控制 focus mode 生命周期下的每轮对话是否隐藏 thinking 块
- tools 开关,控制 focus mode 生命周期下的每轮对话是否隐藏 tools 块
快捷键
| 按键 | 作用 |
|---|---|
ctrl+alt+f |
开关 zen 专注模式 |
ctrl+alt+r |
展开 / 收起最近一轮被折叠的过程 |
ctrl+alt+s |
弹出选择框,可展开 / 收起任意一轮已折叠的对话 |
ctrl+o 是 Pi 自带的全局工具展开(不是单条):会展开当前所有工具行,并让之后新建的工具行默认展开。一轮还在跑时 zen 仍然把工具画空;结束后若这个开关还开着,工具会按原生完整显示,不再变成一行占位。再按一次 ctrl+o 收起后,结束时又回到占位。
一轮还在跑时 /zen 和三个快捷键都会被挡住,结束后再用,避免改到一半的流式输出。
发生 compact(自动或
/compact)或切换分支后,compact / 切换之前轮次的完整过程已被摘要替换、组件已不存在,那些折叠轮无法再展开——选择框只保留其后产生的折叠轮。
配置
配置在首次改动时自动生成于 ~/.pi/agent/zen-mode.json(设置了 $PI_CODING_AGENT_DIR 则在其下):
{
"enabled": true,
"hideThinking": true,
"hideTools": true,
"locale": "zh",
"toggleKey": "ctrl+alt+f",
"revealKey": "ctrl+alt+r",
"pickerKey": "ctrl+alt+s"
}
| 字段 | 含义 |
|---|---|
enabled |
总开关 |
hideThinking |
运行时隐藏思考块;结束后折成一行 ◈;false 则实时显示原生思考 UI |
hideTools |
运行时隐藏工具调用;结束后折成一行 ⚙;false 则实时原生渲染 |
locale |
占位/底栏/选择框语言,zh 或 en。/zen 面板本身不切换,始终中英对照 |
toggleKey / revealKey / pickerKey |
三个快捷键,任意合法的 pi 键位字符串 |
zen 开着时思考和工具都会被管起来(方便事后改开关)。两个子开关只决定藏还是显示,以及底栏统计。文字不藏——中间那句「我先看看」和最终答案在协议里分不开,硬藏只会闪几个字再消失。关掉某一档走原生 UI;再打开会把已结束轮次里对应的行收成占位(只重绘被管到的那些组件)。ctrl+alt+r 展开走原生渲染。改完 /reload 生效。
兼容性
- 需要 TUI 模式
- 通过接管
AssistantMessageComponent/ToolExecutionComponent渲染实现,pi 升级后内部接口变动可能需要跟进更新 - 已在 pi
0.84.x测试