词元之母TOK.MOM - 平台充值汇率 1:1 即 1 人民币充值到账 1 美元,支持一个 Key 调用近 600+ 海内外模型,限时特价模型低至 1 折,欢迎上岸!
掌握 OpenCode 的全部配置项,打造完全定制化的开发环境。

{
"tui": {
"scroll_speed": 3,
"scroll_acceleration": {
"enabled": true
},
"diff_style": "auto"
}
}| 字段 | 说明 | 默认值 |
|---|---|---|
scroll_speed | 滚动速度倍数(最小 0.001) | 3 |
scroll_acceleration.enabled | 启用 macOS 风格加速滚动 | false |
diff_style | 差异显示样式 | "auto" |
scroll_acceleration.enabled优先于scroll_speed。启用后会忽略 scroll_speed。
diff_style 选项:"auto" - 根据终端宽度自适应"stacked" - 始终单列显示{
"keybinds": {
"leader": "ctrl+x",
"session_new": "<leader>n",
"session_compact": "<leader>c",
"model_list": "<leader>m",
"agent_list": "<leader>a",
"session_interrupt": "escape"
}
}注意:配置键是 keybinds(复数!),这与 permission/agent 用单数不同。
leader 键前缀,避免与终端冲突:{
"keybinds": {
"leader": "ctrl+x"
}
}ctrl+x。按下 leader 键后再按快捷键,如 ctrl+x 然后 n 创建新会话。"none" 禁用:{
"keybinds": {
"session_compact": "none"
}
}| 配置键 | 默认值 | 说明 |
|---|---|---|
app_exit | ctrl+c,ctrl+d,<leader>q | 退出应用 |
session_new | <leader>n | 新建会话 |
session_list | <leader>l | 会话列表 |
session_interrupt | escape | 中断当前操作 |
session_compact | <leader>c | 压缩会话 |
model_list | <leader>m | 模型列表 |
agent_list | <leader>a | Agent 列表 |
agent_cycle | tab | 切换 Agent |
command_list | ctrl+p | 命令列表 |
messages_undo | <leader>u | 撤销消 息 |
messages_redo | <leader>r | 重做消息 |
opencode serve 和 opencode web 命令的服务器:{
"server": {
"port": 4096,
"hostname": "0.0.0.0",
"mdns": true,
"mdnsDomain": "opencode.local",
"cors": ["http://localhost:5173"]
}
}| 字段 | 说明 |
|---|---|
port | 监听端口 |
hostname | 监听地址(启用 mdns 时默认 0.0.0.0) |
mdns | 启用 mDNS 服务发现(局域网设备可发现) |
mdnsDomain | mDNS 服务的自定义域名(默认 opencode.local) |
cors | 允许的 CORS 来源列表 |
{
"share": "manual"
}| 值 | 说明 |
|---|---|
"manual" | 手动分享(默认),使用 /share 命令 |
"auto" | 自动分享新会话 |
"disabled" | 禁用分享功能 |
{
"compaction": {
"auto": true,
"prune": true,
"reserved": 10000
}
}| 字段 | 说明 | 默认值 |
|---|---|---|
auto | 上下文满时自动压缩 | true |
prune | 删除旧工具输出节省 token | true |
reserved | 压缩时的 Token 缓冲区,预留足够窗口避免溢出 | - |
{
"watcher": {
"ignore": ["node_modules/**", "dist/**", ".git/**", "*.log"]
}
}{
"instructions": [
"CONTRIBUTING.md",
"docs/guidelines.md",
".cursor/rules/*.md",
"packages/*/AGENTS.md"
]
}{
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}",
"baseURL": "https://custom-anthropic.example.com/v1",
"timeout": 600000,
"setCacheKey": true
},
"models": {
"claude-sonnet-4-5": {
"provider": {
"api": "https://custom-api.example.com/v1"
}
}
}
}
}
}| 字段 | 说明 |
|---|---|
options.apiKey | API 密钥,支持 {env:VAR_NAME} 环境变量替换 |
options.baseURL | 自定义 API 基础 URL(适用于代理或私有部署) |
options.timeout | 请求超时时间(毫秒),设为 false 禁用 |
options.setCacheKey | 启用 Prompt Caching(仅 Anthropic) |
options.enterpriseUrl | GitHub Enterprise URL(仅 Copilot) |
v1.1.60+ 新增
{
"provider": {
"openai": {
"models": {
"gpt-4o": {
"provider": {
"api": "https://api.custom-openai.com/v1"
}
}
}
}
}
}{
"provider": {
"openai": {
"whitelist": ["gpt-4o", "gpt-4o-mini"],
"blacklist": ["gpt-3.5-turbo"]
}
}
}| 字段 | 说明 |
|---|---|
whitelist | 只允许这些模型 |
blacklist | 禁用这些模型 |
whitelist和blacklist互斥,同时存在时whitelist优先。
{
"tools": {
"write": false,
"bash": false,
"webfetch": true
}
}false 禁用。tools 的 key 最终会转换为 permission 规则,因此通配符能通过权限系统间接生效:{
"tools": {
"mymcp_*": false
}
}mymcp 的 MCP 服务器的所有工具。推荐直接使用 permission配置来实现通配符控制,提供更细粒度的 allow/ask/deny 选项。
tools 是遗留配置,会自动转换为 permission:| tools 设置 | 等效 permission |
|---|---|
"write": false | "edit": "deny" |
"bash": false | "bash": "deny" |
推荐使用 permission配置,提供更细粒度控制(allow/ask/deny)。详见 5.5 权限管控。
{
"permission": {
"edit": "ask",
"bash": {
"*": "ask",
"git *": "allow",
"npm *": "allow",
"rm *": "deny"
}
}
}注意:配置键是 permission(单数),不是permissions。
{
"agent": {
"code-reviewer": {
"description": "代码审查专家",
"mode": "subagent",
"model": "anthropic/claude-opus-4-5-thinking",
"prompt": "你是代码审查专家...",
// 高级配置
"temperature": 0.3,
"top_p": 0.9,
"steps": 50,
"color": "#FF5733",
"hidden": true,
// 权限
"permission": {
"edit": "deny"
}
}
}
}注意:配置键是 agent(单数),不是agents。
| 字段 | 类型 | 说明 |
|---|---|---|
temperature | number | 创造性参数(0-1),越低越确定 |
top_p | number | 核采样参数(0-1) |
variant | string | 默认模型变体(仅在使用该 Agent 配置的模型时生效) |
steps | number | 最大迭代步数 |
color | string | 十六进制颜色(如 #FF5733)或主题色名(如 primary) |
hidden | boolean | 从 @ 菜单隐藏(仅 subagent 生效) |
maxSteps已废弃,请使用steps。
{
"command": {
"test": {
"template": "运行测试并显示失败结果",
"description": "运行测试",
"agent": "build",
"model": "anthropic/claude-opus-4-5-thinking"
},
"component": {
"template": "创建名为 $ARGUMENTS 的 React 组件",
"description": "创建新组件"
}
}
}注意:配置键是 command(单数),不是commands。
| 字段 | 说明 |
|---|---|
template | 命令模板,$ARGUMENTS 代表参数 |
description | 命令描述 |
agent | 使用的 Agent |
model | 使用的模型 |
subtask | 是否作为子任务运行 |
{
"formatter": {
"prettier": {
"disabled": true
},
"custom-prettier": {
"command": ["npx", "prettier", "--write", "$FILE"],
"environment": {
"NODE_ENV": "development"
},
"extensions": [".js", ".ts", ".jsx", ".tsx"]
}
}
}注意:配置键是 formatter(单数),不是formatters。
false 完全禁用格式化:{
"formatter": false
}{
"mcp": {
"context7": {
"type": "local",
"command": ["npx", "-y", "@upstash/context7-mcp"]
},
"sentry": {
"type": "remote",
"url": "https://mcp.sentry.dev/mcp",
"headers": {
"Authorization": "Bearer your-token"
},
"oauth": {
"clientId": "xxx",
"clientSecret": "xxx",
"scope": "read write"
}
}
}
}headers(自定义请求头)和 oauth(OAuth 认证)。oauth 设为 false 可禁用自动 OAuth 检测。{
"plugin": ["opencode-helicone-session", "@my-org/custom-plugin"]
}.opencode/plugin/ 目录放置本地插件(.ts 或 .js 文件)。{
"lsp": {
"typescript": {
"disabled": true
},
"custom-lsp": {
"command": ["my-lsp-server", "--stdio"],
"extensions": [".custom", ".myext"],
"env": {
"DEBUG": "true"
},
"initialization": {
"settings": {}
}
}
}
}| 字段 | 说明 |
|---|---|
disabled | 禁用此 LSP |
command | 启动命令 |
extensions | 文件扩展名(自定义 LSP 必填) |
env | 环境变量 |
initialization | LSP 初始化配置 |
false 禁用所有 LSP:{
"lsp": false
}{
"experimental": {
"batch_tool": true,
"openTelemetry": true,
"continue_loop_on_deny": false
}
}| 字段 | 说明 |
|---|---|
batch_tool | 启用批量工具 |
openTelemetry | 启用 OpenTelemetry 追踪 |
disable_paste_summary | 禁用粘贴大段文本时的自动摘要 |
primary_tools | 仅限 Primary Agent 使用的工具列表 |
continue_loop_on_deny | 工具被拒绝时继续循环 |
mcp_timeout | MCP 请求的全局超时时间(毫秒) |
⚠️ 实验性功能可能随时变更或移除。
experimental 配置。详见 5.12c Hooks 机制。