自定义
OpenCode 高度可配置。本页面涵盖主题、快捷键、命令、代理、格式化工具等。
主题
在 tui.json 中设置主题:
json
{
"$schema": "https://opencode.ai/tui.json",
"theme": "tokyonight"
}你也可以在 ~/.config/opencode/themes/ 或 .opencode/themes/ 中创建自定义主题。
详见主题文档。
快捷键
在 tui.json 中自定义快捷键:
json
{
"$schema": "https://opencode.ai/tui.json",
"keybinds": {}
}主要默认快捷键:
| 按键 | 操作 |
|---|---|
Tab | 在 Build 和 Plan 模式之间切换 |
@ | 模糊搜索文件引用 |
/ | 打开命令菜单 |
详见快捷键文档。
命令
斜杠命令
OpenCode 有内置斜杠命令(/init、/connect、/models、/share、/undo、/redo)。你也可以创建自定义命令。
自定义命令
在 opencode.json 中定义可复用的命令:
jsonc
{
"command": {
"test": {
"template": "运行完整的测试套件并生成覆盖率报告,显示所有失败项。\n聚焦失败的测试并建议修复方案。",
"description": "运行测试并生成覆盖率",
"agent": "build",
"model": "anthropic/claude-haiku-4-5"
},
"component": {
"template": "创建名为 $ARGUMENTS 的新 React 组件,支持 TypeScript。\n包含正确的类型定义和基本结构。",
"description": "创建新组件"
}
}
}也可以将命令定义为 Markdown 文件,放在:
~/.config/opencode/commands/— 全局命令.opencode/commands/— 项目特定命令
详见命令文档。
格式化工具
配置代码格式化工具,在 OpenCode 修改文件后自动运行:
json
{
"formatter": {
"prettier": {
"disabled": true
},
"custom-prettier": {
"command": ["npx", "prettier", "--write", "$FILE"],
"environment": {
"NODE_ENV": "development"
},
"extensions": [".js", ".ts", ".jsx", ".tsx"]
}
}
}详见格式化工具文档。
代理
内置代理
OpenCode 附带两个主要代理:
| 代理 | 描述 |
|---|---|
| Build | 可以读取、写入和执行 — 默认模式 |
| Plan | 只能读取和建议,不做修改 |
自定义代理
在 opencode.json 中定义专业代理:
jsonc
{
"agent": {
"code-reviewer": {
"description": "审查代码的最佳实践和潜在问题",
"model": "anthropic/claude-sonnet-4-5",
"prompt": "你是一个代码审查员。关注安全性、性能和可维护性。",
"tools": {
"write": false,
"edit": false
}
}
}
}或在以下位置创建代理 Markdown 文件:
~/.config/opencode/agents/— 全局代理.opencode/agents/— 项目特定代理
设置默认代理:
json
{
"default_agent": "build"
}详见代理文档。
LSP 服务器
OpenCode 自动加载 LSP 服务器,为 LLM 提供代码智能功能。你可以配置可用的服务器。
详见 LSP 文档。
插件
插件通过自定义工具、钩子和集成扩展 OpenCode。
从 npm 加载:
json
{
"plugin": ["opencode-helicone-session", "@my-org/custom-plugin"]
}或将插件文件放在:
.opencode/plugins/— 项目特定插件~/.config/opencode/plugins/— 全局插件
详见插件文档。
Skills
Skills 是 SKILL.md 文件,提供 LLM 可以按需加载的专业知识。放在:
.opencode/skills/— 项目特定 skills~/.config/opencode/skills/— 全局 skills
详见 Skills 文档。
.opencode 目录
项目根目录中的 .opencode 目录组织项目特定的自定义内容:
.opencode/
├── agents/ # 自定义代理定义
├── commands/ # 自定义命令
├── modes/ # 自定义模式
├── plugins/ # 本地插件
├── skills/ # Skill 文件
├── tools/ # 自定义工具定义
└── themes/ # 自定义主题全局等效目录为 ~/.config/opencode/,具有相同结构。
INFO
目录名支持复数(agents/)和单数(agent/)形式,保持向后兼容。