Skip to main content

Themes 主题系统

概述

Themes(主题)是 JSON 文件,定义 TUI 的颜色。


主题位置

类型路径
内置darklight
全局~/.pi/agent/themes/*.json
项目.pi/themes/*.json
CLI--theme <path>

选择主题

方式 1: /settings 交互选择

方式 2: settings.json

{
"theme": "my-theme"
}

首次运行时,Pi 会检测终端背景色自动选择 darklight


创建自定义主题

mkdir -p ~/.pi/agent/themes
vim ~/.pi/agent/themes/my-theme.json
{
"$schema": "https://raw.githubusercontent.com/badlogic/pi-mono/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
"name": "my-theme",
"vars": {
"primary": "#00aaff",
"secondary": 242
},
"colors": {
"accent": "primary",
"border": "primary",
"success": "#00ff00",
"error": "#ff0000",
"warning": "#ffff00",
"text": "",
"thinkingText": "secondary",
"userMessageBg": "#2d2d30",
"toolDiffAdded": "#00ff00",
"toolDiffRemoved": "#ff0000",
"syntaxComment": "secondary",
"syntaxKeyword": "primary",
"syntaxFunction": "#00aaff",
"syntaxVariable": "#ffaa00"
}
}

颜色值

可以使用:

  • 十六进制"#00aaff"
  • 颜色名"red""blue"
  • 变量引用"primary"(引用 vars 中的定义)
  • 数字(256 色终端):242

常用颜色 Token

Token说明
text主文本颜色
accent强调色
border边框颜色
success成功色
error错误色
warning警告色
muted暗淡文字
userMessageBg用户消息背景
toolDiffAdded差异新增
toolDiffRemoved差异删除
syntaxKeyword语法关键词
syntaxFunction语法函数
syntaxComment语法注释

翻译自 pi-coding-agent/docs/themes.md