Kimi Code CLI 扩展能力与生态集成教程
Kimi Code CLI 扩展能力与生态集成教程
自定义主题
2 分钟阅读
自定义主题
Kimi Code CLI 的TUI(终端用户界面)支持完全的主题自定义,你可以根据自己的喜好定制界面的配色,适配不同的终端背景、护眼需求、个性化风格,让长时间编码的视觉体验更舒适。配合DeepSeek的代码高亮能力,自定义主题可以让代码的可读性更强,降低视觉疲劳。
你可以使用内置配色,也可以使用自定义 JSON 主题文件。自定义文件放在主题目录下,会和内置选项一起出现在 /theme 选择器中,无需重启即可切换。
通过阅读本文,你将全面掌握内置主题的使用、自定义主题的创建、编辑与切换方法,能够打造符合自己使用习惯的界面风格。
内置颜色 token
自定义主题可以覆盖下面这些 token。dark 和 light 两列展示内置值;auto 会在启动时解析为其中一个调色板,如果无法检测终端背景,则回退到 dark。所有颜色值均为6位十六进制RGB格式,不支持3位缩写、RGBA、HSL等格式。
| Token | dark | light | 控制什么 |
|---|---|---|---|
primary | #4FA8FF | #1565C0 | 最常用色。链接、行内代码、几乎所有对话框的选中项、编辑器聚焦边框、Plan/运行中徽章、spinner,是界面中最突出的颜色 |
accent | #5BC0BE | #00838F | 次级强调。审批 ▶ 前缀、设备码框、图片占位、BTW/队列面板、注册表导入,用于次要突出元素 |
text | #E0E0E0 | #1A1A1A | 正文。对话框正文、todo 标题、footer 模型名、Markdown 标题、助手/工具消息子弹头、列表符号,是最常用的文字颜色 |
textStrong | #F5F5F5 | #1A1A1A | 加粗强调文字。输入类对话框、状态消息,用于需要重点关注的文字 |
textDim | #888888 | #454545 | 次级、变暗文字。思考、提示、描述、已完成 todo、Markdown 引用、footer 状态栏,用于次要文字信息 |
textMuted | #6B6B6B | #5F5F5F | 最浅文字。计数、滚动信息、描述、Markdown 链接 URL、代码块边框,用于最不突出的辅助文字 |
border | #5A5A5A | #737373 | 面板与编辑器的普通边框、Markdown 分隔线 |
borderFocus | #E8A838 | #92660A | 聚焦/注意边框,目前仅审批面板使用,用于吸引用户注意 |
success | #4EC87E | #0E7A38 | 成功态。✓、已启用、完成、成功提示 |
warning | #E8A838 | #92660A | 警告态。auto/yolo 徽章、过期标记、Plan 模式提示、警告信息 |
error | #E85454 | #B91C1C | 错误态。错误信息、失败的工具输出、阻断提示 |
diffAdded | #4EC87E | #0E7A38 | diff 新增行 |
diffRemoved | #E85454 | #B91C1C | diff 删除行 |
diffAddedStrong | #7AD99B | #0E7A38 | diff 行内改动的新增词(加粗高亮) |
diffRemovedStrong | #F08585 | #B91C1C | diff 行内改动的删除词(加粗高亮) |
diffGutter | #6B6B6B | #737373 | diff 行号槽 |
diffMeta | #888888 | #5F5F5F | diff 元信息 / hunk 头 |
roleUser | #FFCB6B | #9A4A00 | 用户消息的子弹头与文字、技能激活名,用于标识用户输入内容 |
使用 custom-theme skill
你不需要手写 JSON。运行内置 /custom-theme [附加文本] skill 命令进入自定义主题流程;这个 skill 可以通过自然语言交互,由DeepSeek帮你生成符合要求的主题文件,自动写到 ~/.kimi-code/themes/,校验十六进制色值,并告诉你如何应用,非常适合不会编写JSON的用户。
调用示例:
/custom-theme Create a warm dark theme with amber accents./custom-theme Make a light theme based on Solarized, but keep errors easy to see./custom-theme Tweak my ember theme so diffs have higher contrast.
激活后,skill 通常会先问你想用浅色还是深色基准、偏好的风格或调色板,以及是否有必须包含的精确颜色,你只需用自然语言回答即可。如果你用它编辑已有主题,请确保它先读取并备份文件,再覆盖写入,skill会自动将原文件备份为xxx.json.bak,避免修改失败丢失原有配置。
创建一个主题
在主题目录下新建一个 .json 文件即可。主题目录是:
~/.kimi-code/themes/- 如果设置了
KIMI_CODE_HOME环境变量,则是$KIMI_CODE_HOME/themes/若目录不存在,可运行mkdir -p ~/.kimi-code/themes手动创建。文件名就是主题名:ember.json会在/theme里显示为Custom: ember,文件名建议使用小写字母、中划线分隔,避免空格与特殊字符。
一个最小的主题只需要写你想改的颜色,其余自动沿用基准调色板(默认是 dark),无需覆盖所有token:
字段说明:
name(必填):主题的标识名,必须与文件名一致,否则会加载失败。displayName(可选):人类可读的名字,会在主题选择器中显示,更直观。base(可选):未指定的 token 沿用哪个内置调色板——"dark"(默认)或"light"。做浅色主题时必须设为"base": "light",这样你没写的 token 在浅色背景上仍然可读(否则会回退到 dark 调色板,导致浅色背景上的文字看不清)。colors(可选):要覆盖的颜色 token,值是 6 位十六进制色值(如#FE8019)。
使用 内置颜色 token 里的 token 名。没有写到的 token 会自动回退到所选基准调色板的对应值,所以你完全可以只覆盖一部分,例如仅修改主色和用户消息颜色:
你可运行/theme validate <主题文件名>命令检查主题文件的语法是否正确,会列出所有无效色值、未知token等错误。
选用主题
两种方式切换主题,均无需重启CLI:
/theme命令(推荐):打开主题选择器,自定义主题会以Custom: <文件名>出现。选择器每次打开都会重新扫描主题目录,所以你新加的主题文件无需重启就能看到,选中后立即生效。tui.toml:把theme设成你的主题名,适合固定使用某一个主题,每次启动CLI会自动应用:
出错时会怎样
自定义主题的设计原则是"尽量别打断你",不会因为主题错误导致CLI无法启动:
- 某个色值不合法(不是
#加 6 位十六进制):静默跳过这一项,并回退到所选基准调色板,其余颜色照常生效。 - 写了无法识别的 token:忽略,不影响其它颜色。
- 自定义主题文件不存在或 JSON 损坏:静默回退到内置
dark调色板,不会再尝试auto,你可运行/theme命令重新选择内置主题恢复。
编辑正在使用的主题
如果你修改的是当前正在生效的那个主题文件,改动不会自动重新加载。让新颜色生效有两种办法:
- 运行
/reload-tui——它会重新读取tui.toml并重新应用当前主题(包括重新读取主题文件),不会影响当前会话的上下文; - 或者在
/theme里先切到另一个主题,再切回来。
下一步
- 配置文件 — 查看更多 TUI 相关的配置选项
常见问题(FAQ)
- 自定义主题在不同终端里显示颜色不一样怎么办? 这是因为不同终端对颜色的渲染有差异,建议使用支持真彩色(True Color)的终端(如iTerm2、Windows Terminal、Alacritty),并在终端设置里开启真彩色支持。
- 可以分享我的自定义主题吗? 可以,只需把主题的JSON文件分享给其他人,放到他们的主题目录里即可使用。你也可以把主题打包成插件,提交到官方市场供其他人安装。
- 可以修改界面的布局吗?
目前主题只支持修改颜色,布局的修改需要编辑
tui.toml配置文件,详见配置文件的文档。