Skip to content

Referencia de Configuración: Schema Completo del Archivo de Configuración ​

Esta página proporciona la definición completa de campos y descripciones del archivo de configuración de oh-my-opencode.

Ubicación del Archivo de Configuración

  • Nivel de proyecto: .opencode/oh-my-opencode.json
  • Nivel de usuario (macOS/Linux): ~/.config/opencode/oh-my-opencode.json
  • Nivel de usuario (Windows): %APPDATA%\opencode\oh-my-opencode.json

La configuración a nivel de proyecto tiene prioridad sobre la configuración a nivel de usuario.

Habilitar Autocompletado

Añade el campo $schema al inicio del archivo de configuración para obtener autocompletado en tu IDE:

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

Campos de Nivel Raíz ​

CampoTipoRequeridoValor por DefectoDescripción
$schemastringNo-Enlace al JSON Schema para autocompletado
disabled_mcpsstring[]No[]Lista de MCPs deshabilitados
disabled_agentsstring[]No[]Lista de agentes deshabilitados
disabled_skillsstring[]No[]Lista de skills deshabilitados
disabled_hooksstring[]No[]Lista de hooks deshabilitados
disabled_commandsstring[]No[]Lista de comandos deshabilitados
agentsobjectNo-Configuración de sobrescritura de agentes
categoriesobjectNo-Configuración personalizada de Categories
claude_codeobjectNo-Configuración de compatibilidad con Claude Code
sisyphus_agentobjectNo-Configuración del agente Sisyphus
comment_checkerobjectNo-Configuración del verificador de comentarios
experimentalobjectNo-Configuración de funciones experimentales
auto_updatebooleanNotrueVerificación automática de actualizaciones
skillsobject|arrayNo-Configuración de Skills
ralph_loopobjectNo-Configuración de Ralph Loop
background_taskobjectNo-Configuración de concurrencia de tareas en segundo plano
notificationobjectNo-Configuración de notificaciones
git_masterobjectNo-Configuración del skill Git Master
browser_automation_engineobjectNo-Configuración del motor de automatización del navegador
tmuxobjectNo-Configuración de gestión de sesiones Tmux

agents - Configuración de Agentes ​

Sobrescribe la configuración de los agentes integrados. Cada agente soporta los siguientes campos:

Campos Comunes de Agentes ​

CampoTipoRequeridoDescripción
modelstringNoSobrescribe el modelo usado por el agente (obsoleto, se recomienda usar category)
variantstringNoVariante del modelo
categorystringNoHereda modelo y configuración de un Category
skillsstring[]NoLista de skills inyectados en el prompt del agente
temperaturenumberNo0-2, controla la aleatoriedad
top_pnumberNo0-1, parámetro de muestreo nuclear
promptstringNoSobrescribe completamente el prompt del sistema por defecto
prompt_appendstringNoAñade texto al final del prompt por defecto
toolsobjectNoSobrescritura de permisos de herramientas ({toolName: boolean})
disablebooleanNoDeshabilita este agente
descriptionstringNoDescripción del agente
modeenumNosubagent / primary / all
colorstringNoColor hexadecimal (ej. #FF0000)
permissionobjectNoRestricciones de permisos del agente

permission - Permisos del Agente ​

CampoTipoRequeridoValorDescripción
editstringNoask/allow/denyPermiso de edición de archivos
bashstring/objectNoask/allow/deny o por comandoPermiso de ejecución Bash
webfetchstringNoask/allow/denyPermiso de solicitudes web
doom_loopstringNoask/allow/denyPermiso de sobrescritura de detección de bucle infinito
external_directorystringNoask/allow/denyPermiso de acceso a directorios externos

Lista de Agentes Configurables ​

Nombre del AgenteDescripción
sisyphusAgente orquestador principal
prometheusAgente planificador estratégico
oracleAgente asesor estratégico
librarianAgente experto en investigación multi-repositorio
exploreAgente experto en exploración rápida de código
multimodal-lookerAgente experto en análisis multimedia
metisAgente de análisis pre-planificación
momusAgente revisor de planificación
atlasAgente orquestador principal
sisyphus-juniorAgente ejecutor de tareas generado por categoría

Ejemplo de Configuración ​

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 - Configuración de Categories ​

Define Categories (abstracciones de modelos) para composición dinámica de agentes.

Campos de Category ​

CampoTipoRequeridoDescripción
descriptionstringNoDescripción del propósito del Category (se muestra en el prompt de delegate_task)
modelstringNoSobrescribe el modelo usado por el Category
variantstringNoVariante del modelo
temperaturenumberNo0-2, temperatura
top_pnumberNo0-1, muestreo nuclear
maxTokensnumberNoNúmero máximo de tokens
thinkingobjectNoConfiguración de Thinking {type, budgetTokens}
reasoningEffortenumNolow / medium / high / xhigh
textVerbosityenumNolow / medium / high
toolsobjectNoPermisos de herramientas
prompt_appendstringNoPrompt adicional
is_unstable_agentbooleanNoMarca como agente inestable (fuerza modo en segundo plano)

Configuración de thinking ​

CampoTipoRequeridoValorDescripción
typestringSíenabled/disabledSi habilitar Thinking
budgetTokensnumberNo-Número de tokens de presupuesto para Thinking

Categories Integrados ​

CategoryModelo por DefectoTemperatureDescripción
visual-engineeringgoogle/gemini-3-pro0.7Tareas de frontend, UI/UX, diseño
ultrabrainopenai/gpt-5.2-codex0.1Tareas de razonamiento de alto nivel
artistrygoogle/gemini-3-pro0.7Tareas creativas y artísticas
quickanthropic/claude-haiku-4-50.1Tareas rápidas y de bajo costo
unspecified-lowanthropic/claude-sonnet-4-50.1Tareas de nivel medio sin especificar
unspecified-highanthropic/claude-opus-4-50.1Tareas de alta calidad sin especificar
writinggoogle/gemini-3-flash0.1Tareas de documentación y escritura

Ejemplo de Configuración ​

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 - Configuración de Compatibilidad con Claude Code ​

Controla las diversas funciones de la capa de compatibilidad con Claude Code.

Campos ​

CampoTipoRequeridoValor por DefectoDescripción
mcpbooleanNo-Si cargar archivos .mcp.json
commandsbooleanNo-Si cargar Commands
skillsbooleanNo-Si cargar Skills
agentsbooleanNo-Si cargar Agents (reservado)
hooksbooleanNo-Si cargar hooks de settings.json
pluginsbooleanNo-Si cargar plugins del Marketplace
plugins_overrideobjectNo-Deshabilitar plugins específicos ({pluginName: boolean})

Ejemplo de Configuración ​

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

sisyphus_agent - Configuración del Agente Sisyphus ​

Controla el comportamiento del sistema de orquestación Sisyphus.

Campos ​

CampoTipoRequeridoValor por DefectoDescripción
disabledbooleanNofalseDeshabilita el sistema de orquestación Sisyphus
default_builder_enabledbooleanNofalseHabilita el agente OpenCode-Builder
planner_enabledbooleanNotrueHabilita el agente Prometheus (Planner)
replace_planbooleanNotrueDegrada el agente plan por defecto a subagent

Ejemplo de Configuración ​

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

background_task - Configuración de Tareas en Segundo Plano ​

Controla el comportamiento de concurrencia del sistema de gestión de agentes en segundo plano.

Campos ​

CampoTipoRequeridoValor por DefectoDescripción
defaultConcurrencynumberNo-Concurrencia máxima por defecto
providerConcurrencyobjectNo-Límite de concurrencia por proveedor ({providerName: number})
modelConcurrencyobjectNo-Límite de concurrencia por modelo ({modelName: number})
staleTimeoutMsnumberNo180000Tiempo de espera (milisegundos), mínimo 60000

Orden de Prioridad ​

modelConcurrency > providerConcurrency > defaultConcurrency

Ejemplo de Configuración ​

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 - Configuración del Skill Git Master ​

Controla el comportamiento del skill Git Master.

Campos ​

CampoTipoRequeridoValor por DefectoDescripción
commit_footerbooleanNotrueAñade el footer "Ultraworked with Sisyphus" en los mensajes de commit
include_co_authored_bybooleanNotrueAñade el trailer "Co-authored-by: Sisyphus" en los mensajes de commit

Ejemplo de Configuración ​

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

browser_automation_engine - Configuración de Automatización del Navegador ​

Selecciona el proveedor de automatización del navegador.

Campos ​

CampoTipoRequeridoValor por DefectoDescripción
providerenumNoplaywrightProveedor de automatización del navegador

Valores de provider ​

ValorDescripciónRequisitos de Instalación
playwrightUsa el servidor MCP de PlaywrightInstalación automática

Ejemplo de Configuración ​

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

tmux - Configuración de Sesiones Tmux ​

Controla el comportamiento de gestión de sesiones Tmux.

Campos ​

CampoTipoRequeridoValor por DefectoDescripción
enabledbooleanNofalseSi habilitar la gestión de sesiones Tmux
layoutenumNomain-verticalDiseño de Tmux
main_pane_sizenumberNo60Tamaño del panel principal (20-80)
main_pane_min_widthnumberNo120Ancho mínimo del panel principal
agent_pane_min_widthnumberNo40Ancho mínimo del panel de agentes

Valores de layout ​

ValorDescripción
main-horizontalPanel principal arriba, paneles de agentes apilados abajo
main-verticalPanel principal a la izquierda, paneles de agentes apilados a la derecha (por defecto)
tiledCuadrícula con todos los paneles del mismo tamaño
even-horizontalTodos los paneles dispuestos horizontalmente
even-verticalTodos los paneles apilados verticalmente

Ejemplo de Configuración ​

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

ralph_loop - Configuración de Ralph Loop ​

Controla el comportamiento del flujo de trabajo cíclico Ralph Loop.

Campos ​

CampoTipoRequeridoValor por DefectoDescripción
enabledbooleanNofalseSi habilitar la función Ralph Loop
default_max_iterationsnumberNo100Número máximo de iteraciones por defecto (1-1000)
state_dirstringNo-Directorio personalizado para archivos de estado (relativo a la raíz del proyecto)

Ejemplo de Configuración ​

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

notification - Configuración de Notificaciones ​

Controla el comportamiento de las notificaciones del sistema.

Campos ​

CampoTipoRequeridoValor por DefectoDescripción
force_enablebooleanNofalseFuerza la habilitación de session-notification incluso si se detecta un plugin de notificación externo

Ejemplo de Configuración ​

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

comment_checker - Configuración del Verificador de Comentarios ​

Controla el comportamiento del verificador de comentarios.

Campos ​

CampoTipoRequeridoValor por DefectoDescripción
custom_promptstringNo-Prompt personalizado que reemplaza el mensaje de advertencia por defecto. Usa el marcador para representar el XML de comentarios detectados

Ejemplo de Configuración ​

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

experimental - Configuración de Funciones Experimentales ​

Controla la habilitación de funciones experimentales.

Campos ​

CampoTipoRequeridoValor por DefectoDescripción
aggressive_truncationbooleanNo-Habilita un comportamiento de truncamiento más agresivo
auto_resumebooleanNo-Habilita la recuperación automática (de errores de bloque de pensamiento o violaciones de deshabilitación de pensamiento)
truncate_all_tool_outputsbooleanNofalseTrunca todas las salidas de herramientas, no solo las de la lista blanca
dynamic_context_pruningobjectNo-Configuración de poda dinámica de contexto

Configuración de dynamic_context_pruning ​

CampoTipoRequeridoValor por DefectoDescripción
enabledbooleanNofalseHabilita la poda dinámica de contexto
notificationenumNodetailedNivel de notificación: off / minimal / detailed
turn_protectionobjectNo-Configuración de protección de turnos
protected_toolsstring[]No-Lista de herramientas que nunca se podan
strategiesobjectNo-Configuración de estrategias de poda

Configuración de turn_protection ​

CampoTipoRequeridoValor por DefectoDescripción
enabledbooleanNotrueHabilita la protección de turnos
turnsnumberNo3Protege las salidas de herramientas de los últimos N turnos (1-10)

Configuración de strategies ​

CampoTipoRequeridoValor por DefectoDescripción
deduplicationobjectNo-Configuración de estrategia de deduplicación
supersede_writesobjectNo-Configuración de estrategia de sobrescritura de escrituras
purge_errorsobjectNo-Configuración de estrategia de limpieza de errores

Configuración de deduplication ​

CampoTipoRequeridoValor por DefectoDescripción
enabledbooleanNotrueElimina llamadas de herramientas duplicadas (misma herramienta + mismos parámetros)

Configuración de supersede_writes ​

CampoTipoRequeridoValor por DefectoDescripción
enabledbooleanNotruePoda las entradas de escritura en lecturas posteriores
aggressivebooleanNofalseModo agresivo: poda CUALQUIER escritura si hay CUALQUIER lectura posterior

Configuración de purge_errors ​

CampoTipoRequeridoValor por DefectoDescripción
enabledbooleanNotruePoda las entradas de herramientas con error después de N turnos
turnsnumberNo5Número de turnos para podar entradas de herramientas con error (1-20)

Ejemplo de Configuración ​

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 - Configuración de Skills ​

Configura la carga y comportamiento de Skills (habilidades especializadas).

Formato de Configuración ​

Skills soporta dos formatos:

Formato 1: Array Simple

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

Formato 2: Configuración de Objeto

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

Campos de Definición de Skill ​

CampoTipoRequeridoDescripción
descriptionstringNoDescripción del Skill
templatestringNoPlantilla del Skill
fromstringNoOrigen
modelstringNoModelo a usar
agentstringNoAgente a usar
subtaskbooleanNoSi es una subtarea
argument-hintstringNoSugerencia de argumentos
licensestringNoLicencia
compatibilitystringNoCompatibilidad
metadataobjectNoMetadatos
allowed-toolsstring[]NoLista de herramientas permitidas
disablebooleanNoDeshabilita este Skill

Skills Integrados ​

SkillDescripción
playwrightAutomatización del navegador (por defecto)
agent-browserAutomatización del navegador (Vercel CLI)
frontend-ui-uxDiseño de UI/UX frontend
git-masterExperto en Git

Listas de Deshabilitación ​

Los siguientes campos se usan para deshabilitar módulos de funciones específicos.

disabled_mcps - Lista de MCPs Deshabilitados ​

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

disabled_agents - Lista de Agentes Deshabilitados ​

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

disabled_skills - Lista de Skills Deshabilitados ​

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

disabled_hooks - Lista de Hooks Deshabilitados ​

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

disabled_commands - Lista de Comandos Deshabilitados ​

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

Apéndice: Referencia del Código Fuente ​

Haz clic para expandir y ver las ubicaciones del código fuente

Fecha de actualización: 2026-01-26

FunciónRuta del ArchivoLíneas
Definición del Schema de Configuraciónsrc/config/schema.ts1-378
JSON Schemaassets/oh-my-opencode.schema.json1-51200
Documentación de Configuracióndocs/configurations.md1-595

Tipos Clave:

  • OhMyOpenCodeConfig: Tipo de configuración principal
  • AgentOverrideConfig: Tipo de configuración de sobrescritura de agentes
  • CategoryConfig: Tipo de configuración de Category
  • BackgroundTaskConfig: Tipo de configuración de tareas en segundo plano
  • PermissionValue: Tipo de valor de permiso (ask/allow/deny)

Enumeraciones Clave:

  • BuiltinAgentNameSchema: Enumeración de nombres de agentes integrados
  • BuiltinSkillNameSchema: Enumeración de nombres de skills integrados
  • BuiltinCategoryNameSchema: Enumeración de nombres de Categories integrados
  • HookNameSchema: Enumeración de nombres de hooks
  • BrowserAutomationProviderSchema: Enumeración de proveedores de automatización del navegador

Próxima Lección ​

En la próxima lección aprenderemos sobre Servidores MCP Integrados.

Aprenderás:

  • Las funciones y métodos de uso de los 3 servidores MCP integrados
  • Configuración y mejores prácticas de Exa Websearch, Context7 y grep.app
  • Cómo usar MCP para buscar documentación y código