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 搜尋文件和程式碼