D. 配置选项参考
💡 一句话总结:
opencode.json中可用的每一个字段详解
配置文件位置与优先级
OpenCode 按以下顺序加载配置(优先级从低到高):
- 远程/默认配置:从
.well-known/opencode加载 - 全局配置:
~/.config/opencode/opencode.json - 自定义全局路径:
OPENCODE_CONFIG环境变量指定的路径 - 项目配置:项目根目录下的
opencode.json - 内联配置:
OPENCODE_CONFIG_CONTENT环境变量的内容
顶层配置
基础设置
| 字段 | 类型 | 说明 | 默认值 |
|---|---|---|---|
username | string | 在对话中显示的用户名 | 系统用户 |
theme | string | 界面主题名称 | - |
autoupdate | boolean | "notify" | 自动更新行为 | - |
logLevel | enum | 日志级别 | "INFO" |
snapshot | boolean | 是否启用 Git 快照备份 | true |
模型与 Agent
| 字段 | 类型 | 说明 |
|---|---|---|
model | string | 主模型 ID |
small_model | string | 小模型 ID |
default_agent | string | 默认启动的 Primary Agent |
行为控制
| 字段 | 类型 | 说明 | 默认值 |
|---|---|---|---|
share | enum | 会话分享行为 | "manual" |
disabled_providers | string[] | 禁用的 Provider 列表 | [] |
enabled_providers | string[] | 仅启用的 Provider 列表 | - |
tui(界面配置)
控制终端界面的显示行为。
| 字段 | 类型 | 说明 | 默认值 |
|---|---|---|---|
scroll_speed | number | 鼠标滚轮滚动速度倍率 | 3 |
scroll_acceleration.enabled | boolean | 是否启用惯性滚动加速 | false |
diff_style | enum | 差异对比显示样式 | "auto" |
provider(Provider 配置)
配置模型提供商的 API Key、端点和模型参数。
json
"provider": {
"anthropic": {
"options": {
"apiKey": "sk-...",
"timeout": 600000
}
}
}通用选项 (options)
| 字段 | 类型 | 说明 |
|---|---|---|
apiKey | string | API 密钥 |
baseURL | string | 自定义 API 端点地址 |
timeout | number | false | 请求超时时间(毫秒) |
setCacheKey | boolean | 是否启用 Prompt Cache 键 |
agent(Agent 配置)
定义或覆盖 Agent 的行为。
json
"agent": {
"code-reviewer": {
"mode": "subagent",
"prompt": "You are a code reviewer...",
"permission": { "edit": "deny" }
}
}| 字段 | 类型 | 说明 |
|---|---|---|
description | string | Agent 的简短描述 |
mode | enum | Agent 类型 |
model | string | 该 Agent 专用的模型 ID |
prompt | string | System Prompt |
temperature | number | 温度系数 (0.0 - 1.0) |
top_p | number | 核采样参数 (0.0 - 1.0) |
steps | number | 最大自动迭代步数 |
color | string | 界面中显示的颜色 |
hidden | boolean | 是否在自动补全菜单中隐藏 |
permission | object | 该 Agent 的专用权限配置 |
disable | boolean | 是否禁用此 Agent |
permission(权限配置)
控制 OpenCode 访问系统资源的权限。
值可以是以下字符串之一:
"allow": 自动允许"ask": 每次询问"deny": 拒绝
json
"permission": {
"read": "ask",
"bash": {
"*": "ask",
"git *": "allow",
"rm *": "deny"
}
}可用权限项:
read: 读取文件edit: 编辑/写入文件bash: 执行命令webfetch: 访问网页websearch: 搜索引擎codesearch: 代码搜索glob: 文件查找grep: 内容搜索list: 列出目录external_directory: 访问外部目录lsp: LSP 操作task: 调用子 Agent
command(命令配置)
定义自定义斜杠命令。
json
"command": {
"commit": {
"template": "Generate a commit message for these changes:\n$DIFF",
"agent": "build"
}
}keybinds(快捷键配置)
自定义快捷键。
json
"keybinds": {
"leader": "ctrl+x",
"session_new": "<leader>n"
}server(服务器配置)
配置 opencode serve 的行为。
| 字段 | 类型 | 说明 | 默认值 |
|---|---|---|---|
port | number | 监听端口 | 4096 |
hostname | string | 监听地址 | 127.0.0.1 |
mdns | boolean | 是否启用 mDNS 本地网络发现 | false |
cors | string[] | 允许跨域请求的来源列表 | - |
experimental(实验性功能)
启用正在开发中的实验性功能。
json
"experimental": {
"batch_tool": true,
"openTelemetry": true
}compaction(压缩)
控制上下文压缩行为。
| 字段 | 说明 |
|---|---|
auto | 上下文满时自动触发压缩 |
prune | 压缩时移除旧的工具输出 |
watcher(监视器)
控制文件系统监视。
json
"watcher": {
"ignore": ["node_modules/**", ".git/**"]
}plugin(插件)
要加载的插件列表。
json
"plugin": ["opencode-helicone-session", "./my-plugin.js"]📚 更多完整模板:Prompt 模板库

