Themes(主题)
本页面是 Pi 官方文档 的中文翻译。仅供学习参考。
Pi 可以帮你创建主题。告诉它你想要什么风格即可。
Themes 是定义 TUI 颜色的 JSON 文件。
位置
Pi 从以下位置加载主题:
- 内置主题:
dark和light - 全局:
~/.pi/agent/themes/*.json - 项目:
.pi/themes/*.json - 包:
themes/目录或package.json中的pi.themes条目 - 设置:
themes数组,包含文件或目录 - CLI:
--theme <path>(可重复)
使用 --no-themes 禁用主题发现。
选择主题
通过 /settings 或在 settings.json 中设置:
首次运行时,Pi 检测终端背景色,默认选择 dark 或 light。
创建自定义主题
- 创建主题文件:
- 使用所有必需颜色定义主题(见颜色 Token)。支持热重载:编辑当前活跃的自定义主题文件时,Pi 自动重新加载,可即时预览效果。
主题文件示例
主题格式
name:必需,必须唯一。vars:可选。在此定义可复用的颜色,然后在colors中引用。colors:必须定义全部 51 个 token。$schema字段启用编辑器自动补全和验证。
颜色值格式
支持四种格式:
256 色调色板
0-15:基本 ANSI 颜色(因终端而异)16-231:6×6×6 RGB 色块(16 + 36×R + 6×G + B,其中 R、G、B 为 0-5)232-255:灰度渐变
颜色 Token(共 51 个,全部必填)
每个主题必须定义全部 51 个颜色 token,没有可选颜色。
核心 UI(11 个)
背景和内容(11 个)
Markdown(10 个)
工具 Diff(3 个)
语法高亮(9 个)
Thinking Level 边框(6 个)
编辑器边框颜色,指示思维级别(从微妙到突出的视觉层次):
Bash 模式(1 个)
HTML Export(可选)
export 部分控制 /export HTML 输出的颜色。如果省略,颜色从 userMessageBg 派生。
终端兼容性
Pi 使用 24 位 RGB 颜色(True Color)。大多数现代终端支持(iTerm2、Kitty、WezTerm、Windows Terminal、VS Code)。对于仅支持 256 色的旧终端,Pi 回退到最接近的近似值。
检查 True Color 支持:
VS Code 用户:设置 terminal.integrated.minimumContrastRatio 为 1 以获得准确颜色。
提示
- 暗色终端:使用明亮、饱和度高的颜色,提高对比度。
- 亮色终端:使用较暗、柔和的颜色,降低对比度。
- 色彩和谐:从基础调色板(Nord、Gruvbox、Tokyo Night 等)开始,定义在
vars中,统一引用。 - 测试:用不同的消息类型、工具状态、Markdown 内容和长折行文本检查主题效果。
- 内置主题参考:查看内置的 dark.json 和 light.json。
法律声明:本页面是 pi.dev 官方文档的中文翻译版本,仅供学习参考。本网站与 pi.dev 及 Earendil Inc. 无任何法律关系。

