Skip to content

Referência de Configuração: Explicação Completa do Schema do Arquivo de Configuração

Esta página fornece definições e explicações completas dos campos do arquivo de configuração do oh-my-opencode.

Localização do Arquivo de Configuração

  • Nível do projeto: .opencode/oh-my-opencode.json
  • Nível do usuário (macOS/Linux): ~/.config/opencode/oh-my-opencode.json
  • Nível do usuário (Windows): %APPDATA%\opencode\oh-my-opencode.json

A configuração no nível do projeto tem prioridade sobre a configuração no nível do usuário.

Habilitar Autocompletar

Adicione o campo $schema no topo do arquivo de configuração para obter autocompletar na IDE:

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

Campos de Nível Raiz

CampoTipoObrigatórioPadrãoDescrição
$schemastringNão-Link do JSON Schema para autocompletar
disabled_mcpsstring[]Não[]Lista de MCPs desabilitados
disabled_agentsstring[]Não[]Lista de agentes desabilitados
disabled_skillsstring[]Não[]Lista de habilidades desabilitadas
disabled_hooksstring[]Não[]Lista de hooks desabilitados
disabled_commandsstring[]Não[]Lista de comandos desabilitados
agentsobjectNão-Configuração de substituição de agentes
categoriesobjectNão-Configuração personalizada de categorias
claude_codeobjectNão-Configuração de compatibilidade com Claude Code
sisyphus_agentobjectNão-Configuração do agente Sisyphus
comment_checkerobjectNão-Configuração do verificador de comentários
experimentalobjectNão-Configuração de recursos experimentais
auto_updatebooleanNãotrueVerificação automática de atualizações
skillsobject|arrayNão-Configuração de Skills
ralph_loopobjectNão-Configuração do Ralph Loop
background_taskobjectNão-Configuração de concorrência de tarefas em segundo plano
notificationobjectNão-Configuração de notificações
git_masterobjectNão-Configuração da habilidade Git Master
browser_automation_engineobjectNão-Configuração do mecanismo de automação de navegador
tmuxobjectNão-Configuração de gerenciamento de sessão Tmux

agents - Configuração de Agentes

Substitui as configurações dos agentes integrados. Cada agente suporta os seguintes campos:

Campos Comuns de Agentes

CampoTipoObrigatórioDescrição
modelstringNãoSubstitui o modelo usado pelo agente (obsoleto, recomenda-se usar category)
variantstringNãoVariante do modelo
categorystringNãoHerda modelo e configuração da categoria
skillsstring[]NãoLista de habilidades injetadas no prompt do agente
temperaturenumberNão0-2, controla a aleatoriedade
top_pnumberNão0-1, parâmetro de amostragem nucleus
promptstringNãoSubstitui completamente o prompt do sistema padrão
prompt_appendstringNãoAnexa ao prompt padrão
toolsobjectNãoSubstituição de permissões de ferramentas ({toolName: boolean})
disablebooleanNãoDesabilita este agente
descriptionstringNãoDescrição do agente
modeenumNãosubagent / primary / all
colorstringNãoCor hexadecimal (ex: #FF0000)
permissionobjectNãoRestrições de permissão do agente

permission - Permissões de Agentes

CampoTipoObrigatórioValorDescrição
editstringNãoask/allow/denyPermissão de edição de arquivos
bashstring/objectNãoask/allow/deny ou por comandoPermissão de execução Bash
webfetchstringNãoask/allow/denyPermissão de requisições web
doom_loopstringNãoask/allow/denyPermissão de substituição de detecção de loop infinito
external_directorystringNãoask/allow/denyPermissão de acesso a diretórios externos

Lista de Agentes Configuráveis

Nome do AgenteDescrição
sisyphusAgente orquestrador principal
prometheusAgente planejador estratégico
oracleAgente consultor estratégico
librarianAgente especialista em pesquisa multi-repositório
exploreAgente especialista em exploração rápida de código
multimodal-lookerAgente especialista em análise de mídia
metisAgente de análise pré-planejamento
momusAgente revisor de planejamento
atlasAgente orquestrador principal
sisyphus-juniorAgente executor de tarefas gerado por categoria

Exemplo de Configuração

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 - Configuração de Categorias

Define categorias (abstrações de modelos) para composição dinâmica de agentes.

Campos de Categoria

CampoTipoObrigatórioDescrição
descriptionstringNãoDescrição do propósito da categoria (exibida no prompt delegate_task)
modelstringNãoSubstitui o modelo usado pela categoria
variantstringNãoVariante do modelo
temperaturenumberNão0-2, temperatura
top_pnumberNão0-1, amostragem nucleus
maxTokensnumberNãoNúmero máximo de tokens
thinkingobjectNãoConfiguração de Thinking {type, budgetTokens}
reasoningEffortenumNãolow / medium / high / xhigh
textVerbosityenumNãolow / medium / high
toolsobjectNãoPermissões de ferramentas
prompt_appendstringNãoPrompt anexado
is_unstable_agentbooleanNãoMarca como agente instável (força modo em segundo plano)

Configuração de thinking

CampoTipoObrigatórioValorDescrição
typestringSimenabled/disabledSe habilita Thinking
budgetTokensnumberNão-Número de tokens de orçamento para Thinking

Categorias Integradas

CategoriaModelo PadrãoTemperatureDescrição
visual-engineeringgoogle/gemini-3-pro0.7Tarefas de frontend, UI/UX, design
ultrabrainopenai/gpt-5.2-codex0.1Tarefas de raciocínio de alta inteligência
artistrygoogle/gemini-3-pro0.7Tarefas criativas e artísticas
quickanthropic/claude-haiku-4-50.1Tarefas rápidas e de baixo custo
unspecified-lowanthropic/claude-sonnet-4-50.1Tarefas médias de tipo não especificado
unspecified-highanthropic/claude-opus-4-50.1Tarefas de alta qualidade de tipo não especificado
writinggoogle/gemini-3-flash0.1Tarefas de documentação e escrita

Exemplo de Configuração

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 - Configuração de Compatibilidade com Claude Code

Controla vários recursos da camada de compatibilidade com Claude Code.

Campos

CampoTipoObrigatórioPadrãoDescrição
mcpbooleanNão-Se carrega o arquivo .mcp.json
commandsbooleanNão-Se carrega Commands
skillsbooleanNão-Se carrega Skills
agentsbooleanNão-Se carrega Agents (reservado)
hooksbooleanNão-Se carrega hooks do settings.json
pluginsbooleanNão-Se carrega plugins do Marketplace
plugins_overrideobjectNão-Desabilita plugins específicos ({pluginName: boolean})

Exemplo de Configuração

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

sisyphus_agent - Configuração do Agente Sisyphus

Controla o comportamento do sistema de orquestração Sisyphus.

Campos

CampoTipoObrigatórioPadrãoDescrição
disabledbooleanNãofalseDesabilita o sistema de orquestração Sisyphus
default_builder_enabledbooleanNãofalseHabilita o agente OpenCode-Builder
planner_enabledbooleanNãotrueHabilita o agente Prometheus (Planner)
replace_planbooleanNãotrueRebaixa o agente plan padrão para subagent

Exemplo de Configuração

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

background_task - Configuração de Tarefas em Segundo Plano

Controla o comportamento de concorrência do sistema de gerenciamento de agentes em segundo plano.

Campos

CampoTipoObrigatórioPadrãoDescrição
defaultConcurrencynumberNão-Número máximo de concorrência padrão
providerConcurrencyobjectNão-Limite de concorrência no nível do provedor ({providerName: number})
modelConcurrencyobjectNão-Limite de concorrência no nível do modelo ({modelName: number})
staleTimeoutMsnumberNão180000Tempo de timeout (milissegundos), mínimo 60000

Ordem de Prioridade

modelConcurrency > providerConcurrency > defaultConcurrency

Exemplo de Configuração

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 - Configuração da Habilidade Git Master

Controla o comportamento da habilidade Git Master.

Campos

CampoTipoObrigatórioPadrãoDescrição
commit_footerbooleanNãotrueAdiciona rodapé "Ultraworked with Sisyphus" na mensagem de commit
include_co_authored_bybooleanNãotrueAdiciona trailer "Co-authored-by: Sisyphus" na mensagem de commit

Exemplo de Configuração

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

browser_automation_engine - Configuração de Automação de Navegador

Seleciona o provedor de automação de navegador.

Campos

CampoTipoObrigatórioPadrãoDescrição
providerenumNãoplaywrightProvedor de automação de navegador

Valores Possíveis para provider

ValorDescriçãoRequisitos de Instalação
playwrightUsa servidor MCP PlaywrightInstalação automática

Exemplo de Configuração

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

tmux - Configuração de Sessão Tmux

Controla o comportamento do gerenciamento de sessão Tmux.

Campos

CampoTipoObrigatórioPadrãoDescrição
enabledbooleanNãofalseSe habilita o gerenciamento de sessão Tmux
layoutenumNãomain-verticalLayout do Tmux
main_pane_sizenumberNão60Tamanho do painel principal (20-80)
main_pane_min_widthnumberNão120Largura mínima do painel principal
agent_pane_min_widthnumberNão40Largura mínima do painel do agente

Valores Possíveis para layout

ValorDescrição
main-horizontalPainel principal no topo, painéis de agente empilhados embaixo
main-verticalPainel principal à esquerda, painéis de agente empilhados à direita (padrão)
tiledGrade com todos os painéis do mesmo tamanho
even-horizontalTodos os painéis dispostos horizontalmente
even-verticalTodos os painéis empilhados verticalmente

Exemplo de Configuração

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

ralph_loop - Configuração do Ralph Loop

Controla o comportamento do fluxo de trabalho em loop Ralph Loop.

Campos

CampoTipoObrigatórioPadrãoDescrição
enabledbooleanNãofalseSe habilita a funcionalidade Ralph Loop
default_max_iterationsnumberNão100Número máximo de iterações padrão (1-1000)
state_dirstringNão-Diretório personalizado de arquivos de estado (relativo à raiz do projeto)

Exemplo de Configuração

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

notification - Configuração de Notificações

Controla o comportamento das notificações do sistema.

Campos

CampoTipoObrigatórioPadrãoDescrição
force_enablebooleanNãofalseForça a habilitação de session-notification, mesmo se detectar plugin de notificação externo

Exemplo de Configuração

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

comment_checker - Configuração do Verificador de Comentários

Controla o comportamento do verificador de comentários.

Campos

CampoTipoObrigatórioPadrãoDescrição
custom_promptstringNão-Prompt personalizado, substitui a mensagem de aviso padrão. Use o placeholder para representar o XML de comentários detectados

Exemplo de Configuração

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

experimental - Configuração de Recursos Experimentais

Controla a habilitação de recursos experimentais.

Campos

CampoTipoObrigatórioPadrãoDescrição
aggressive_truncationbooleanNão-Habilita comportamento de truncamento mais agressivo
auto_resumebooleanNão-Habilita retomada automática (recupera de erros de bloco de pensamento ou violações de desabilitação de pensamento)
truncate_all_tool_outputsbooleanNãofalseTrunca todas as saídas de ferramentas, não apenas ferramentas da lista branca
dynamic_context_pruningobjectNão-Configuração de poda dinâmica de contexto

Configuração de dynamic_context_pruning

CampoTipoObrigatórioPadrãoDescrição
enabledbooleanNãofalseHabilita poda dinâmica de contexto
notificationenumNãodetailedNível de notificação: off / minimal / detailed
turn_protectionobjectNão-Configuração de proteção de turno
protected_toolsstring[]Não-Lista de ferramentas que nunca são podadas
strategiesobjectNão-Configuração de estratégias de poda

Configuração de turn_protection

CampoTipoObrigatórioPadrãoDescrição
enabledbooleanNãotrueHabilita proteção de turno
turnsnumberNão3Protege saídas de ferramentas dos últimos N turnos (1-10)

Configuração de strategies

CampoTipoObrigatórioPadrãoDescrição
deduplicationobjectNão-Configuração de estratégia de deduplicação
supersede_writesobjectNão-Configuração de estratégia de substituição de escritas
purge_errorsobjectNão-Configuração de estratégia de limpeza de erros

Configuração de deduplication

CampoTipoObrigatórioPadrãoDescrição
enabledbooleanNãotrueRemove chamadas de ferramentas duplicadas (mesma ferramenta + mesmos parâmetros)

Configuração de supersede_writes

CampoTipoObrigatórioPadrãoDescrição
enabledbooleanNãotruePoda entradas de escrita em leituras subsequentes
aggressivebooleanNãofalseModo agressivo: poda QUALQUER escrita se houver QUALQUER leitura subsequente

Configuração de purge_errors

CampoTipoObrigatórioPadrãoDescrição
enabledbooleanNãotruePoda entradas de ferramentas com erro após N turnos
turnsnumberNão5Número de turnos para podar entradas de ferramentas com erro (1-20)

Exemplo de Configuração

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 - Configuração de Skills

Configura o carregamento e comportamento de Skills (habilidades especializadas).

Formato de Configuração

Skills suporta dois formatos:

Formato 1: Array Simples

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

Formato 2: Configuração de Objeto

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

Campos de Definição de Skill

CampoTipoObrigatórioDescrição
descriptionstringNãoDescrição da Skill
templatestringNãoTemplate da Skill
fromstringNãoOrigem
modelstringNãoModelo usado
agentstringNãoAgente usado
subtaskbooleanNãoSe é uma subtarefa
argument-hintstringNãoDica de argumento
licensestringNãoLicença
compatibilitystringNãoCompatibilidade
metadataobjectNãoMetadados
allowed-toolsstring[]NãoLista de ferramentas permitidas
disablebooleanNãoDesabilita esta Skill

Skills Integradas

SkillDescrição
playwrightAutomação de navegador (padrão)
agent-browserAutomação de navegador (Vercel CLI)
frontend-ui-uxDesign de UI/UX frontend
git-masterEspecialista em Git

Listas de Desabilitação

Os seguintes campos são usados para desabilitar módulos de funcionalidade específicos.

disabled_mcps - Lista de MCPs Desabilitados

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

disabled_agents - Lista de Agentes Desabilitados

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

disabled_skills - Lista de Habilidades Desabilitadas

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

disabled_hooks - Lista de Hooks Desabilitados

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

disabled_commands - Lista de Comandos Desabilitados

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

Apêndice: Referência do Código Fonte

Clique para expandir locais do código fonte

Atualizado: 2026-01-26

FuncionalidadeCaminho do ArquivoLinha
Definição do Schema de Configuraçãosrc/config/schema.ts1-378
JSON Schemaassets/oh-my-opencode.schema.json1-51200
Documentação de Configuraçãodocs/configurations.md1-595

Tipos Principais:

  • OhMyOpenCodeConfig: Tipo de configuração principal
  • AgentOverrideConfig: Tipo de configuração de substituição de agente
  • CategoryConfig: Tipo de configuração de categoria
  • BackgroundTaskConfig: Tipo de configuração de tarefa em segundo plano
  • PermissionValue: Tipo de valor de permissão (ask/allow/deny)

Enumerações Principais:

  • BuiltinAgentNameSchema: Enumeração de nomes de agentes integrados
  • BuiltinSkillNameSchema: Enumeração de nomes de habilidades integradas
  • BuiltinCategoryNameSchema: Enumeração de nomes de categorias integradas
  • HookNameSchema: Enumeração de nomes de hooks
  • BrowserAutomationProviderSchema: Enumeração de provedores de automação de navegador

Prévia da Próxima Lição

Na próxima lição, aprenderemos sobre Servidores MCP Integrados.

Você aprenderá:

  • Funcionalidades e métodos de uso dos 3 servidores MCP integrados
  • Configuração e melhores práticas do Exa Websearch, Context7 e grep.app
  • Como usar MCP para pesquisar documentação e código