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_updateboolean否true自動更新檢查
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[]否注入到代理提示中的技能清單
temperaturenumber否0-2,控制隨機性
top_pnumber否0-1,核採樣參數
promptstring否完全覆寫預設系統提示
prompt_appendstring否追加到預設提示後面
toolsobject否工具權限覆寫({toolName: boolean})
disableboolean否停用該代理
descriptionstring否代理描述
modeenum否subagent / primary / all
colorstring否Hex 顏色(如 #FF0000)
permissionobject否代理權限限制

permission - 代理權限 ​

欄位類型必填值描述
editstring否ask/allow/deny檔案編輯權限
bashstring/object否ask/allow/deny 或 per-commandBash 執行權限
webfetchstring否ask/allow/denyWeb 請求權限
doom_loopstring否ask/allow/deny無限迴圈偵測覆寫權限
external_directorystring否ask/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 欄位 ​

欄位類型必填描述
descriptionstring否Category 的目的描述(顯示在 delegate_task 提示中)
modelstring否覆寫 Category 使用的模型
variantstring否模型變體
temperaturenumber否0-2,溫度
top_pnumber否0-1,核採樣
maxTokensnumber否最大 Token 數
thinkingobject否Thinking 配置 {type, budgetTokens}
reasoningEffortenum否low / medium / high / xhigh
textVerbosityenum否low / medium / high
toolsobject否工具權限
prompt_appendstring否追加提示
is_unstable_agentboolean否標記為不穩定代理(強制背景模式)

thinking 配置 ​

欄位類型必填值描述
typestring是enabled/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 編排系統的行為。

欄位 ​

欄位類型必填預設值描述
disabledboolean否false停用 Sisyphus 編排系統
default_builder_enabledboolean否false啟用 OpenCode-Builder 代理
planner_enabledboolean否true啟用 Prometheus(Planner)代理
replace_planboolean否true將預設 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})
staleTimeoutMsnumber否180000逾時時間(毫秒),最小 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_footerboolean否true在提交訊息中新增 "Ultraworked with Sisyphus" footer
include_co_authored_byboolean否true在提交訊息中新增 "Co-authored-by: Sisyphus" trailer

配置範例 ​

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

browser_automation_engine - 瀏覽器自動化配置 ​

選擇瀏覽器自動化提供程式。

欄位 ​

欄位類型必填預設值描述
providerenum否playwright瀏覽器自動化提供程式

provider 可選值 ​

值描述安裝要求
playwright使用 Playwright MCP 伺服器自動安裝

配置範例 ​

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

tmux - Tmux 工作階段配置 ​

控制 Tmux 工作階段管理行為。

欄位 ​

欄位類型必填預設值描述
enabledboolean否false是否啟用 Tmux 工作階段管理
layoutenum否main-verticalTmux 佈局
main_pane_sizenumber否60主窗格大小(20-80)
main_pane_min_widthnumber否120主窗格最小寬度
agent_pane_min_widthnumber否40代理窗格最小寬度

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 循環工作流程的行為。

欄位 ​

欄位類型必填預設值描述
enabledboolean否false是否啟用 Ralph Loop 功能
default_max_iterationsnumber否100預設最大迭代次數(1-1000)
state_dirstring否-自訂狀態檔案目錄(相對於專案根目錄)

配置範例 ​

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

notification - 通知配置 ​

控制系統通知行為。

欄位 ​

欄位類型必填預設值描述
force_enableboolean否false強制啟用 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_outputsboolean否false截斷所有工具輸出,而不僅僅是白名單工具
dynamic_context_pruningobject否-動態上下文修剪配置

dynamic_context_pruning 配置 ​

欄位類型必填預設值描述
enabledboolean否false啟用動態上下文修剪
notificationenum否detailed通知級別:off / minimal / detailed
turn_protectionobject否-Turn 保護配置
protected_toolsstring[]否-永不修剪的工具清單
strategiesobject否-修剪策略配置

turn_protection 配置 ​

欄位類型必填預設值描述
enabledboolean否true啟用 turn 保護
turnsnumber否3保護最近 N 輪的工具輸出(1-10)

strategies 配置 ​

欄位類型必填預設值描述
deduplicationobject否-去重策略配置
supersede_writesobject否-寫入覆蓋策略配置
purge_errorsobject否-錯誤清理策略配置

deduplication 配置 ​

欄位類型必填預設值描述
enabledboolean否true移除重複的工具呼叫(相同工具 + 相同參數)

supersede_writes 配置 ​

欄位類型必填預設值描述
enabledboolean否true在後續讀取時修剪寫入輸入
aggressiveboolean否false激進模式:如果 ANY 後續讀取則修剪 ANY 寫入

purge_errors 配置 ​

欄位類型必填預設值描述
enabledboolean否true在 N 輪後修剪錯誤的工具輸入
turnsnumber否5修剪錯誤工具輸入的輪數(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 定義欄位 ​

欄位類型必填描述
descriptionstring否Skill 描述
templatestring否Skill 範本
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 搜尋文件和程式碼