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 또는 명령어별Bash 실행 권한
webfetchstring아니오ask/allow/deny웹 요청 권한
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아니오최대 토큰 수
thinkingobject아니오Thinking 구성 {type, budgetTokens}
reasoningEffortenum아니오low / medium / high / xhigh
textVerbosityenum아니오low / medium / high
toolsobject아니오도구 권한
prompt_appendstring아니오프롬프트 추가
is_unstable_agentboolean아니오불안정한 에이전트로 표시 (백그라운드 모드 강제)

thinking 구성

필드타입필수설명
typestringenabled/disabledThinking 활성화 여부
budgetTokensnumber아니오-Thinking budget 토큰 수

내장 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아니오falseSisyphus 오케스트레이션 시스템 비활성화
default_builder_enabledboolean아니오falseOpenCode-Builder 에이전트 활성화
planner_enabledboolean아니오truePrometheus(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 선택 가능한 값

설명설치 요구사항
playwrightPlaywright MCP 서버 사용자동 설치
agent-browserVercel의 agent CLI 사용bun add -g agent-browser

구성 예시

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

tmux - Tmux 세션 구성

Tmux 세션 관리 동작을 제어합니다.

필드

필드타입필수기본값설명
enabledboolean아니오falseTmux 세션 관리 활성화 여부
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아니오falseRalph 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아니오trueTurn 보호 활성화
turnsnumber아니오3최근 N 턴의 도구 출력 보호 (1-10)

strategies 구성

필드타입필수기본값설명
deduplicationobject아니오-중복 제거 전략 구성
supersede_writesobject아니오-쓰기 덮어쓰기 전략 구성
purge_errorsobject아니오-오류 제거 전략 구성

deduplication 구성

필드타입필수기본값설명
enabledboolean아니오true중복 도구 호출 제거 (동일 도구 + 동일 매개변수)

supersede_writes 구성

필드타입필수기본값설명
enabledboolean아니오true후속 읽기 시 쓰기 입력 프루닝
aggressiveboolean아니오false공격 모드: 모든 후속 읽기가 있으면 모든 쓰기 프루닝

purge_errors 구성

필드타입필수기본값설명
enabledboolean아니오trueN 턴 후 오류 도구 입력 프루닝
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를 사용하여 문서와 코드를 검색하는 방법