不期而至🎁 惊喜礼盒
🎁 Surprise · 不定期 · 随缘更新


🎁 Surprise · 不定期 · 随缘更新
🎁 SURPRISE
谢谢你停在这里。愿你被温柔以待,也愿你带着一点勇气继续往前——这是我留给访客的小小礼物 🎀✨。
— threetwoa
(=;ェ;=) 客来不妨坐下,落叶声里续一壶茶;猫会自己找你。
走进数字花园
手里 AI 编程工具越堆越多,pi 的脸算是这批里最朴素的:默认 dark 主题黑得发灰,底部一条光秃秃的状态栏。这画风跟它那套「primitives, not features」的极简内核倒是统一,但看久了确实想换换。
折腾一圈下来最核心的认知就一句:pi 的美化分两类,主题随便装、状态栏只能装一个,搞反了就打架。 这篇记一下装什么、怎么踩的坑,给同样想给 pi 整容的人抄作业。
pi 官方把美化拆成两块,机制完全不同,装法、共存性也截然相反。一开始没搞清这个分工,看清单上二十个包很容易犯选择困难。
| 维度 | 主题(Theme) | 状态栏 / UI 扩展(Extension) |
|---|---|---|
| 本体 | 一个 JSON,定义 51 个颜色 token | 一个 TS 模块,订阅事件渲染 footer |
| 共存 | 多装互不影响,切换用 | 抢 footer 渲染权,装两个就打架 |
| 切换 | /settings 或改 theme 字段 | 装上就生效,/reload |
| 热重载 | 编辑当前主题文件自动重载 | 改源码后 /reload |
| 入口 | ~/.pi/agent/themes/*.json 或 package | ~/.pi/agent/extensions/ 或 package |
记住这个分工,后面所有选择都不纠结了:主题像换壁纸,想换就换、想留几个备着都行;状态栏像装输入法,同时装两个会互相抢权。
本来拿来一份二十个美化包的清单(主题包 + 状态栏扩展两大类),第一反应是不信——AI 编的包名十有八九是幻觉。结果逐个去 npm 查,居然全是真包,而且都带 pi-package 关键字,是货真价实的 pi 专用。这点得记一笔,下次别再重复验。
真要落地不用贪,先装最稳的一对把脸换掉:
@sherif-fanous/pi-catppuccin —— Catppuccin 是公认最护眼的配色,社区维护活跃,一次带四个变体(Mocha / Macchiato / Frappe / Latte),深浅全覆盖。pi-inline-statusline —— 单行、响应式、信息不丢,默认 Tokyo Night 预设就很好看,零配置即用。这套组合的好处是互不冲突,装上立刻见效。真不喜欢,pi remove 一条命令干净卸掉,不留尾巴。激进派想一步到位也可以上 @rokiy/pi-ui(带 Boxed Editor 那个 ╭─╮ 包裹),但它和状态栏是二选一,第一轮不建议冒险。
装完跑起来长这样,底部一行信息密度恰到好处,又不挤:

装主题本身没坑,pi install npm:xxx 一条命令就进 settings.json 的 packages 数组。真正让我翻车的,是后面优化时踩的两个配置坑。
zhipu 全家桶(glm-4-flash / glm-5-turbo / glm-5.2)在 pi --list-models 里 thinking 列全是 no。给它们设 defaultThinkingLevel 不会报错,但也不会触发——静默浪费。
正确做法不是设全局思考级别,而是按场景切模型:日常留 glm-5.2 省钱,遇到复杂任务 Ctrl+P 切到支持思考的备选。我在 enabledModels 里配了这几个,都是带思考的:
| 模型 | 什么时候切过去 |
|---|---|
deepseek/deepseek-v4-pro | 推理 / 代码强,复杂调试 |
google/gemini-3-pro-preview | 要看图 / 多模态 |
kimi-coding/k3 | 长上下文 coding |
minimax/MiniMax-M3 | 1M 上下文,读长文档 |
关于 pi 怎么把 adapter / subagents / memory 三包补齐内核能力的,可以看这篇开荒记。这篇只讲脸。
这个坑最隐蔽。enabledModels 一旦设置,就接管了 Ctrl+P 的循环列表,列表里没有的模型切不过去。第一次配的时候只列了四个备选,没把默认的 glm-5.2 加进去——结果切到 deepseek 就切不回来了,状态栏的模型名直接换走,人傻了。
修复就一条铁律:配 enabledModels 时,默认模型必须放进数组,而且放第一位。
1"enabledModels": [2 "zhipu-anthropic/glm-5.2",3 "deepseek/deepseek-v4-pro",4 "google/gemini-3-pro-preview",5 "kimi-coding/k3",6 "minimax/MiniMax-M3"7]下面是最终跑起来的 settings.json,删掉了和美化无关的字段,只留视觉相关的几行。一张表看完整配置思路:
| 字段 | 值 | 作用 |
|---|---|---|
theme | catppuccin-mocha | Catppuccin 最深款,护眼 |
packages | 含 catppuccin + inline-statusline | 一个管颜色,一个管 footer |
externalEditor | code --wait | Ctrl+G 弹 VS Code 写长 prompt |
enabledModels | 5 个(含默认) | Ctrl+P 循环切换,默认在内 |
美化到这儿只是开了个头,pi 还有一堆没碰的能力。比如 shell-aliases 能把 c 直接等于 git commit;keybindings 改键位,挪不顺手的快捷键;prompt-templates 把常用 prompt 存成模板,/template 一键调;还有 @rokiy/pi-ui 那套带 Boxed Editor 的一体化 UI,不过它要替换现在的状态栏。这些都没装,等主题和状态栏用顺手了再决定要不要继续往上堆。美化这事最怕一次堆太多,出了问题都不知道是哪个包的锅。
| 想做的事 | 怎么做 |
|---|---|
| 装包 | pi install npm:<包名> |
| 卸包 | pi remove npm:<包名> |
| 换主题 | /settings 或改 "theme" 字段 |
| 换状态栏预设 | PI_STATUSLINE_PRESET=classic pi(默认 tokyo-night) |
| 切模型 | Ctrl+P(受 enabledModels 限制) |
| 外部编辑器 | Ctrl+G(走 externalEditor) |
| 完全回滚 | 还原备份的 settings.json.bak.* |
复制链接或生成海报,发给感兴趣的人。

Windows 上把 Claude Code 调成赛博朋克风,其实是五层配置叠出来的:CC Switch 换 provider / tweakcc 改 cli.js / settings.json 管主题 HUD 快捷键 / Windows Terminal 做毛玻璃壁纸 / Maple Mono 字体。从安装到权限放权一次讲清,附踩坑速查。
2026-08-04部分内容可能已过时
分享你的想法,与大家交流讨论
像发消息一样写就好:点工具栏插入表情 / 图片,表情会直接显示。插图 ≤5MB。
🎁 Surprise · 不定期 · 随缘更新
🎁 SURPRISE
谢谢你停在这里。愿你被温柔以待,也愿你带着一点勇气继续往前——这是我留给访客的小小礼物 🎀✨。
— threetwoa
有什么想了解的?
我基于博客内容回答