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
typestringenabled/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