Skip to content

配置参考:完整的配置文件 Schema 说明

本页提供 oh-my-opencode 配置文件的完整字段定义和说明。

配置文件位置

  • 项目级:.opencode/oh-my-opencode.json
  • 用户级(macOS/Linux):~/.config/opencode/oh-my-opencode.json
  • 用户级(Windows):%APPDATA%\opencode\oh-my-opencode.json

项目级配置优先于用户级配置。

启用自动补全

在配置文件顶部添加 $schema 字段可获得 IDE 自动补全:

json
{
  "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json"
}

根级字段

字段类型必填默认值描述
$schemastring-JSON Schema 链接,用于自动补全
disabled_mcpsstring[][]禁用的 MCP 列表
disabled_agentsstring[][]禁用的代理列表
disabled_skillsstring[][]禁用的技能列表
disabled_hooksstring[][]禁用的钩子列表
disabled_commandsstring[][]禁用的命令列表
agentsobject-代理覆盖配置
categoriesobject-Category 自定义配置
claude_codeobject-Claude Code 兼容性配置
sisyphus_agentobject-Sisyphus 代理配置
comment_checkerobject-注释检查器配置
experimentalobject-实验性功能配置
auto_updatebooleantrue自动更新检查
skillsobject|array-Skills 配置
ralph_loopobject-Ralph Loop 配置
background_taskobject-后台任务并发配置
notificationobject-通知配置
git_masterobject-Git Master 技能配置
browser_automation_engineobject-浏览器自动化引擎配置
tmuxobject-Tmux 会话管理配置

agents - 代理配置

覆盖内置代理的设置。每个代理支持以下字段:

通用代理字段

字段类型必填描述
modelstring覆盖代理使用的模型(已弃用,推荐使用 category)
variantstring模型变体
categorystring从 Category 继承模型和配置
skillsstring[]注入到代理提示中的技能列表
temperaturenumber0-2,控制随机性
top_pnumber0-1,核采样参数
promptstring完全覆盖默认系统提示
prompt_appendstring追加到默认提示后面
toolsobject工具权限覆盖({toolName: boolean}
disableboolean禁用该代理
descriptionstring代理描述
modeenumsubagent / primary / all
colorstringHex 颜色(如 #FF0000
permissionobject代理权限限制

permission - 代理权限

字段类型必填描述
editstringask/allow/deny文件编辑权限
bashstring/objectask/allow/deny 或 per-commandBash 执行权限
webfetchstringask/allow/denyWeb 请求权限
doom_loopstringask/allow/deny无限循环检测覆盖权限
external_directorystringask/allow/deny访问外部目录权限

可配置的代理列表

代理名说明
sisyphus主编排器代理
prometheus战略规划师代理
oracle战略顾问代理
librarian多仓库研究专家代理
explore快速代码库探索专家代理
multimodal-looker媒体分析专家代理
metis前规划分析代理
momus规划审查者代理
atlas主编排器代理
sisyphus-junior类别生成的任务执行器代理

配置示例

jsonc
{
  "agents": {
    "sisyphus": {
      "model": "anthropic/claude-opus-4-5",
      "temperature": 0.1,
      "skills": ["git-master"]
    },
    "oracle": {
      "model": "openai/gpt-5.2",
      "permission": {
        "edit": "deny",
        "bash": "ask"
      }
    },
    "multimodal-looker": {
      "disable": true
    }
  }
}

categories - Category 配置

定义 Categories(模型抽象),用于动态代理组合。

Category 字段

字段类型必填描述
descriptionstringCategory 的目的描述(显示在 delegate_task 提示中)
modelstring覆盖 Category 使用的模型
variantstring模型变体
temperaturenumber0-2,温度
top_pnumber0-1,核采样
maxTokensnumber最大 Token 数
thinkingobjectThinking 配置 {type, budgetTokens}
reasoningEffortenumlow / medium / high / xhigh
textVerbosityenumlow / medium / high
toolsobject工具权限
prompt_appendstring追加提示
is_unstable_agentboolean标记为不稳定代理(强制后台模式)

thinking 配置

字段类型必填描述
typestringenabled/disabled是否启用 Thinking
budgetTokensnumber-Thinking budget token 数

内置 Categories

Category默认模型Temperature描述
visual-engineeringgoogle/gemini-3-pro0.7前端、UI/UX、设计任务
ultrabrainopenai/gpt-5.2-codex0.1高智商推理任务
artistrygoogle/gemini-3-pro0.7创意和艺术任务
quickanthropic/claude-haiku-4-50.1快速、低成本任务
unspecified-lowanthropic/claude-sonnet-4-50.1未指定类型的中等任务
unspecified-highanthropic/claude-opus-4-50.1未指定类型的高质量任务
writinggoogle/gemini-3-flash0.1文档和写作任务

配置示例

jsonc
{
  "categories": {
    "visual-engineering": {
      "model": "google/gemini-3-pro",
      "temperature": 0.7,
      "prompt_append": "Use shadcn/ui components and Tailwind CSS."
    },
    "data-science": {
      "model": "anthropic/claude-sonnet-4-5",
      "temperature": 0.2,
      "description": "Data analysis and ML tasks"
    }
  }
}

claude_code - Claude Code 兼容配置

控制 Claude Code 兼容性层的各个功能。

字段

字段类型必填默认值描述
mcpboolean-是否加载 .mcp.json 文件
commandsboolean-是否加载 Commands
skillsboolean-是否加载 Skills
agentsboolean-是否加载 Agents(预留)
hooksboolean-是否加载 settings.json hooks
pluginsboolean-是否加载 Marketplace 插件
plugins_overrideobject-禁用特定插件({pluginName: boolean}

配置示例

jsonc
{
  "claude_code": {
    "mcp": true,
    "commands": true,
    "skills": true,
    "hooks": false,
    "plugins": true,
    "plugins_override": {
      "some-plugin": false
    }
  }
}

sisyphus_agent - Sisyphus 代理配置

控制 Sisyphus 编排系统的行为。

字段

字段类型必填默认值描述
disabledbooleanfalse禁用 Sisyphus 编排系统
default_builder_enabledbooleanfalse启用 OpenCode-Builder 代理
planner_enabledbooleantrue启用 Prometheus(Planner)代理
replace_planbooleantrue将默认 plan 代理降级为 subagent

配置示例

jsonc
{
  "sisyphus_agent": {
    "disabled": false,
    "default_builder_enabled": false,
    "planner_enabled": true,
    "replace_plan": true
  }
}

background_task - 后台任务配置

控制后台代理管理系统的并发行为。

字段

字段类型必填默认值描述
defaultConcurrencynumber-默认最大并发数
providerConcurrencyobject-Provider 级并发限制({providerName: number}
modelConcurrencyobject-Model 级并发限制({modelName: number}
staleTimeoutMsnumber180000超时时间(毫秒),最小 60000

优先级顺序

modelConcurrency > providerConcurrency > defaultConcurrency

配置示例

jsonc
{
  "background_task": {
    "defaultConcurrency": 5,
    "providerConcurrency": {
      "anthropic": 3,
      "openai": 5,
      "google": 10
    },
    "modelConcurrency": {
      "anthropic/claude-opus-4-5": 2,
      "google/gemini-3-flash": 10
    },
    "staleTimeoutMs": 180000
  }
}

git_master - Git Master 技能配置

控制 Git Master 技能的行为。

字段

字段类型必填默认值描述
commit_footerbooleantrue在提交消息中添加 "Ultraworked with Sisyphus" footer
include_co_authored_bybooleantrue在提交消息中添加 "Co-authored-by: Sisyphus" trailer

配置示例

jsonc
{
  "git_master": {
    "commit_footer": true,
    "include_co_authored_by": true
  }
}

browser_automation_engine - 浏览器自动化配置

选择浏览器自动化提供程序。

字段

字段类型必填默认值描述
providerenumplaywright浏览器自动化提供程序

provider 可选值

描述安装要求
playwright使用 Playwright MCP 服务器自动安装
---------

配置示例

jsonc
{
  "browser_automation_engine": {
    "provider": "playwright"
  }
}

tmux - Tmux 会话配置

控制 Tmux 会话管理行为。

字段

字段类型必填默认值描述
enabledbooleanfalse是否启用 Tmux 会话管理
layoutenummain-verticalTmux 布局
main_pane_sizenumber60主窗格大小(20-80)
main_pane_min_widthnumber120主窗格最小宽度
agent_pane_min_widthnumber40代理窗格最小宽度

layout 可选值

描述
main-horizontal主窗格在顶部,代理窗格在底部堆叠
main-vertical主窗格在左侧,代理窗格在右侧堆叠(默认)
tiled所有窗格相同大小的网格
even-horizontal所有窗格水平排列
even-vertical所有窗格垂直堆叠

配置示例

jsonc
{
  "tmux": {
    "enabled": false,
    "layout": "main-vertical",
    "main_pane_size": 60,
    "main_pane_min_width": 120,
    "agent_pane_min_width": 40
  }
}

ralph_loop - Ralph Loop 配置

控制 Ralph Loop 循环工作流的行为。

字段

字段类型必填默认值描述
enabledbooleanfalse是否启用 Ralph Loop 功能
default_max_iterationsnumber100默认最大迭代次数(1-1000)
state_dirstring-自定义状态文件目录(相对于项目根目录)

配置示例

jsonc
{
  "ralph_loop": {
    "enabled": false,
    "default_max_iterations": 100,
    "state_dir": ".opencode/"
  }
}

notification - 通知配置

控制系统通知行为。

字段

字段类型必填默认值描述
force_enablebooleanfalse强制启用 session-notification,即使检测到外部通知插件

配置示例

jsonc
{
  "notification": {
    "force_enable": false
  }
}

comment_checker - 注释检查器配置

控制注释检查器行为。

字段

字段类型必填默认值描述
custom_promptstring-自定义提示,替换默认警告消息。使用 占位符表示检测到的注释 XML

配置示例

jsonc
{
  "comment_checker": {
    "custom_prompt": "Please review these redundant comments: {{comments}}"
  }
}

experimental - 实验性功能配置

控制实验性功能的启用。

字段

字段类型必填默认值描述
aggressive_truncationboolean-启用更激进的截断行为
auto_resumeboolean-启用自动恢复(从思考块错误或思考禁用违规中恢复)
truncate_all_tool_outputsbooleanfalse截断所有工具输出,而不仅仅是白名单工具
dynamic_context_pruningobject-动态上下文修剪配置

dynamic_context_pruning 配置

字段类型必填默认值描述
enabledbooleanfalse启用动态上下文修剪
notificationenumdetailed通知级别:off / minimal / detailed
turn_protectionobject-Turn 保护配置
protected_toolsstring[]-永不修剪的工具列表
strategiesobject-修剪策略配置

turn_protection 配置

字段类型必填默认值描述
enabledbooleantrue启用 turn 保护
turnsnumber3保护最近 N 轮的工具输出(1-10)

strategies 配置

字段类型必填默认值描述
deduplicationobject-去重策略配置
supersede_writesobject-写入覆盖策略配置
purge_errorsobject-错误清理策略配置

deduplication 配置

字段类型必填默认值描述
enabledbooleantrue移除重复的工具调用(相同工具 + 相同参数)

supersede_writes 配置

字段类型必填默认值描述
enabledbooleantrue在后续读取时修剪写入输入
aggressivebooleanfalse激进模式:如果 ANY 后续读取则修剪 ANY 写入

purge_errors 配置

字段类型必填默认值描述
enabledbooleantrue在 N 轮后修剪错误的工具输入
turnsnumber5修剪错误工具输入的轮数(1-20)

配置示例

jsonc
{
  "experimental": {
    "aggressive_truncation": true,
    "auto_resume": true,
    "truncate_all_tool_outputs": false,
    "dynamic_context_pruning": {
      "enabled": false,
      "notification": "detailed",
      "turn_protection": {
        "enabled": true,
        "turns": 3
      },
      "protected_tools": [
        "task",
        "todowrite",
        "todoread",
        "lsp_rename",
        "session_read",
        "session_write",
        "session_search"
      ],
      "strategies": {
        "deduplication": {
          "enabled": true
        },
        "supersede_writes": {
          "enabled": true,
          "aggressive": false
        },
        "purge_errors": {
          "enabled": true,
          "turns": 5
        }
      }
    }
  }
}

skills - Skills 配置

配置 Skills(专业技能)的加载和行为。

配置格式

Skills 支持两种格式:

格式 1:简单数组

jsonc
{
  "skills": ["skill1", "skill2", "skill3"]
}

格式 2:对象配置

jsonc
{
  "skills": {
    "sources": [
      "path/to/skills",
      {
        "path": "another/path",
        "recursive": true,
        "glob": "*.md"
      }
    ],
    "enable": ["skill1", "skill2"],
    "disable": ["skill3"]
  }
}

Skill 定义字段

字段类型必填描述
descriptionstringSkill 描述
templatestringSkill 模板
fromstring来源
modelstring使用的模型
agentstring使用的代理
subtaskboolean是否为子任务
argument-hintstring参数提示
licensestring许可证
compatibilitystring兼容性
metadataobject元数据
allowed-toolsstring[]允许的工具列表
disableboolean禁用该 Skill

内置 Skills

Skill描述
playwright浏览器自动化(默认)
agent-browser浏览器自动化(Vercel CLI)
frontend-ui-ux前端 UI/UX 设计
git-masterGit 专家

禁用列表

以下字段用于禁用特定功能模块。

disabled_mcps - 禁用的 MCP 列表

jsonc
{
  "disabled_mcps": ["websearch", "context7", "grep_app"]
}

disabled_agents - 禁用的代理列表

jsonc
{
  "disabled_agents": ["oracle", "multimodal-looker"]
}

disabled_skills - 禁用的技能列表

jsonc
{
  "disabled_skills": ["playwright"]
}

disabled_hooks - 禁用的钩子列表

jsonc
{
  "disabled_hooks": ["comment-checker", "agent-usage-reminder"]
}

disabled_commands - 禁用的命令列表

jsonc
{
  "disabled_commands": ["init-deep", "start-work"]
}

附录:源码参考

点击展开查看源码位置

更新时间:2026-01-26

功能文件路径行号
配置 Schema 定义src/config/schema.ts1-378
JSON Schemaassets/oh-my-opencode.schema.json1-51200
配置文档docs/configurations.md1-595

关键类型

  • OhMyOpenCodeConfig:主配置类型
  • AgentOverrideConfig:代理覆盖配置类型
  • CategoryConfig:Category 配置类型
  • BackgroundTaskConfig:后台任务配置类型
  • PermissionValue:权限值类型(ask/allow/deny

关键枚举

  • BuiltinAgentNameSchema:内置代理名称枚举
  • BuiltinSkillNameSchema:内置技能名称枚举
  • BuiltinCategoryNameSchema:内置 Category 名称枚举
  • HookNameSchema:钩子名称枚举
  • BrowserAutomationProviderSchema:浏览器自动化提供程序枚举

下一课预告

下一课我们学习 内置 MCP 服务器

你会学到:

  • 3 个内置 MCP 服务器的功能和使用方法
  • Exa Websearch、Context7、grep.app 的配置和最佳实践
  • 如何使用 MCP 搜索文档和代码