官方教程中文版个性化
切换主题
选择内置主题,或用少量颜色定义自己的 OpenCode 主题。
主题只影响阅读体验,不影响模型能力。新手优先从内置主题开始,不要一上来复制一份几百行配色表。
先理解它解决什么问题
主题配置解决的是长时间阅读和对比代码时的可读性问题。新手常见误区是把主题当成装饰,结果复制了一大段颜色表,却没有检查最关键的几处:正文、选中项、diff、新增删除、错误提示。
正确顺序是:
- 先选一个内置主题。
- 确认终端支持真彩色。
- 只在确实读不清时自定义少数颜色。
- 最后才考虑完整主题。
先选内置主题
OpenCode 内置了多种主题,例如 system、tokyonight、everforest、ayu、catppuccin、gruvbox、kanagawa、nord、matrix、one-dark。
建议优先试这三个:
system:跟随终端背景,适合已经精调过终端配色的人。tokyonight:暗色终端常用,层次比较清晰。catppuccin:对比度温和,长时间阅读不刺眼。
在 tui.json 中指定主题:
{
"$schema": "https://opencode.ai/tui.json",
"theme": "tokyonight"
}终端要求
如果主题颜色看起来发灰或不准,先检查终端是否支持真彩色:
echo $COLORTERM输出最好是 truecolor 或 24bit。多数现代终端默认支持;如果没有,可以在 shell 配置里设置 COLORTERM=truecolor。
自定义主题放哪里
自定义主题是 JSON 文件,按优先级从这些位置加载:
- 用户级:
~/.config/opencode/themes/*.json - 项目级:
<project-root>/.opencode/themes/*.json - 当前工作目录:
./.opencode/themes/*.json
同名主题会被更高优先级的目录覆盖。个人偏好放用户级;项目统一视觉风格放项目级。
最小自定义主题
自定义主题不需要从完整配色表开始。先定义基础颜色,确认读写舒服,再逐步细化语法高亮和 diff 颜色。
{
"$schema": "https://opencode.ai/theme.json",
"theme": {
"primary": "#88C0D0",
"accent": "#A3BE8C",
"error": "#BF616A",
"text": "none",
"background": "none",
"backgroundPanel": "#2E3440",
"border": "#4C566A"
}
}"none" 表示继承终端默认前景色或背景色。它适合想让 OpenCode 和终端整体外观保持一致的场景。
创建文件
用户级主题:
mkdir -p ~/.config/opencode/themes
vim ~/.config/opencode/themes/my-theme.json项目级主题:
mkdir -p .opencode/themes
vim .opencode/themes/my-theme.json创建后在 tui.json 中把 theme 设置为文件名对应的主题名。
设计建议
主题最重要的是对比度,不是颜色数量。优先检查这几处:
- 普通正文是否足够清晰。
- 当前选中项是否一眼能看出来。
- diff 新增和删除是否容易区分。
- 暗色 / 亮色终端下是否都能读。
如果你已经有成熟终端主题,system 往往比自定义 OpenCode 主题更省维护。
怎么判断主题可用
切换主题后,用一个真实会话检查这些画面:
- 普通回答是否能连续阅读十分钟不累。
- 代码块和正文是否有明显区分。
- diff 里的新增和删除是否不用猜。
- 当前选中的菜单项是否足够醒目。
- 错误、警告、成功状态是否能一眼分辨。
如果这些都没问题,就不需要继续调色。主题配置的目标是降低阅读负担,不是追求配置完整。
© Anomaly
最近更新: 2026年5月1日