Skip to content

Référence de Configuration : Schéma Complet du Fichier de Configuration

Cette page fournit les définitions complètes des champs et les explications du fichier de configuration oh-my-opencode.

Emplacement du Fichier de Configuration

  • Niveau projet : .opencode/oh-my-opencode.json
  • Niveau utilisateur (macOS/Linux) : ~/.config/opencode/oh-my-opencode.json
  • Niveau utilisateur (Windows) : %APPDATA%\opencode\oh-my-opencode.json

La configuration au niveau projet a la priorité sur la configuration au niveau utilisateur.

Activer l'Autocomplétion

Ajoutez le champ $schema en haut de votre fichier de configuration pour obtenir l'autocomplétion IDE :

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

Champs de Niveau Racine

ChampTypeRequisDéfautDescription
$schemastringNon-Lien JSON Schema pour l'autocomplétion
disabled_mcpsstring[]Non[]Liste des MCP désactivés
disabled_agentsstring[]Non[]Liste des agents désactivés
disabled_skillsstring[]Non[]Liste des compétences désactivées
disabled_hooksstring[]Non[]Liste des hooks désactivés
disabled_commandsstring[]Non[]Liste des commandes désactivées
agentsobjectNon-Configuration de remplacement des agents
categoriesobjectNon-Configuration personnalisée des catégories
claude_codeobjectNon-Configuration de compatibilité Claude Code
sisyphus_agentobjectNon-Configuration de l'agent Sisyphus
comment_checkerobjectNon-Configuration du vérificateur de commentaires
experimentalobjectNon-Configuration des fonctionnalités expérimentales
auto_updatebooleanNontrueVérification automatique des mises à jour
skillsobject|arrayNon-Configuration des compétences
ralph_loopobjectNon-Configuration Ralph Loop
background_taskobjectNon-Configuration de la concurrence des tâches en arrière-plan
notificationobjectNon-Configuration des notifications
git_masterobjectNon-Configuration de la compétence Git Master
browser_automation_engineobjectNon-Configuration du moteur d'automatisation du navigateur
tmuxobjectNon-Configuration de la gestion des sessions Tmux

agents - Configuration des Agents

Remplace les paramètres des agents intégrés. Chaque agent prend en charge les champs suivants :

Champs Généraux des Agents

ChampTypeRequisDescription
modelstringNonRemplace le modèle utilisé par l'agent (obsolète, utilisez category)
variantstringNonVariante du modèle
categorystringNonHérite du modèle et de la configuration depuis une catégorie
skillsstring[]NonListe des compétences injectées dans le prompt de l'agent
temperaturenumberNon0-2, contrôle le caractère aléatoire
top_pnumberNon0-1, paramètre d'échantillonnage nucléaire
promptstringNonRemplace complètement le prompt système par défaut
prompt_appendstringNonAjoute à la fin du prompt par défaut
toolsobjectNonRemplacement des permissions d'outils ({toolName: boolean})
disablebooleanNonDésactive cet agent
descriptionstringNonDescription de l'agent
modeenumNonsubagent / primary / all
colorstringNonCouleur hexadécimale (ex. #FF0000)
permissionobjectNonRestrictions de permissions de l'agent

permission - Permissions des Agents

ChampTypeRequisValeursDescription
editstringNonask/allow/denyPermission d'édition de fichiers
bashstring/objectNonask/allow/deny ou par commandePermission d'exécution Bash
webfetchstringNonask/allow/denyPermission de requêtes web
doom_loopstringNonask/allow/denyRemplacement de la détection de boucle infinie
external_directorystringNonask/allow/denyPermission d'accès aux répertoires externes

Liste des Agents Configurables

Nom de l'AgentDescription
sisyphusAgent orchestrateur principal
prometheusAgent planificateur stratégique
oracleAgent conseiller stratégique
librarianAgent expert en recherche multi-dépôts
exploreAgent expert en exploration rapide de codebase
multimodal-lookerAgent expert en analyse média
metisAgent d'analyse pré-planification
momusAgent réviseur de planification
atlasAgent orchestrateur principal
sisyphus-juniorAgent exécuteur de tâches généré par catégorie

Exemple de Configuration

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 - Configuration des Catégories

Définit les catégories (abstractions de modèles) utilisées pour la composition dynamique d'agents.

Champs des Catégories

ChampTypeRequisDescription
descriptionstringNonDescription de l'objectif de la catégorie (affiché dans le prompt delegate_task)
modelstringNonRemplace le modèle utilisé par la catégorie
variantstringNonVariante du modèle
temperaturenumberNon0-2, température
top_pnumberNon0-1, échantillonnage nucléaire
maxTokensnumberNonNombre maximum de tokens
thinkingobjectNonConfiguration Thinking {type, budgetTokens}
reasoningEffortenumNonlow / medium / high / xhigh
textVerbosityenumNonlow / medium / high
toolsobjectNonPermissions d'outils
prompt_appendstringNonAjout de prompt
is_unstable_agentbooleanNonMarquer comme agent instable (force le mode arrière-plan)

Configuration thinking

ChampTypeRequisValeursDescription
typestringOuienabled/disabledActive ou désactive Thinking
budgetTokensnumberNon-Nombre de tokens budget pour Thinking

Catégories Intégrées

CatégorieModèle par DéfautTemperatureDescription
visual-engineeringgoogle/gemini-3-pro0.7Tâches frontend, UI/UX, design
ultrabrainopenai/gpt-5.2-codex0.1Tâches de raisonnement haute intelligence
artistrygoogle/gemini-3-pro0.7Tâches créatives et artistiques
quickanthropic/claude-haiku-4-50.1Tâches rapides et économiques
unspecified-lowanthropic/claude-sonnet-4-50.1Tâches moyennes non spécifiées
unspecified-highanthropic/claude-opus-4-50.1Tâches haute qualité non spécifiées
writinggoogle/gemini-3-flash0.1Tâches de documentation et d'écriture

Exemple de Configuration

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 - Configuration de Compatibilité Claude Code

Contrôle les différentes fonctionnalités de la couche de compatibilité Claude Code.

Champs

ChampTypeRequisDéfautDescription
mcpbooleanNon-Charger ou non le fichier .mcp.json
commandsbooleanNon-Charger ou non les commandes
skillsbooleanNon-Charger ou non les compétences
agentsbooleanNon-Charger ou non les agents (réservé)
hooksbooleanNon-Charger ou non les hooks settings.json
pluginsbooleanNon-Charger ou non les plugins Marketplace
plugins_overrideobjectNon-Désactiver des plugins spécifiques ({pluginName: boolean})

Exemple de Configuration

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

sisyphus_agent - Configuration de l'Agent Sisyphus

Contrôle le comportement du système d'orchestration Sisyphus.

Champs

ChampTypeRequisDéfautDescription
disabledbooleanNonfalseDésactive le système d'orchestration Sisyphus
default_builder_enabledbooleanNonfalseActive l'agent OpenCode-Builder
planner_enabledbooleanNontrueActive l'agent Prometheus (Planner)
replace_planbooleanNontrueRétrograde l'agent plan par défaut en subagent

Exemple de Configuration

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

background_task - Configuration des Tâches en Arrière-plan

Contrôle le comportement de concurrence du système de gestion des agents en arrière-plan.

Champs

ChampTypeRequisDéfautDescription
defaultConcurrencynumberNon-Nombre maximum de concurrences par défaut
providerConcurrencyobjectNon-Limite de concurrence au niveau du fournisseur ({providerName: number})
modelConcurrencyobjectNon-Limite de concurrence au niveau du modèle ({modelName: number})
staleTimeoutMsnumberNon180000Délai d'expiration (millisecondes), minimum 60000

Ordre de Priorité

modelConcurrency > providerConcurrency > defaultConcurrency

Exemple de Configuration

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 - Configuration de la Compétence Git Master

Contrôle le comportement de la compétence Git Master.

Champs

ChampTypeRequisDéfautDescription
commit_footerbooleanNontrueAjoute le footer "Ultraworked with Sisyphus" dans les messages de commit
include_co_authored_bybooleanNontrueAjoute le trailer "Co-authored-by: Sisyphus" dans les messages de commit

Exemple de Configuration

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

browser_automation_engine - Configuration de l'Automatisation du Navigateur

Sélectionne le fournisseur d'automatisation du navigateur.

Champs

ChampTypeRequisDéfautDescription
providerenumNonplaywrightFournisseur d'automatisation du navigateur

Valeurs Possibles pour provider

ValeurDescriptionExigences d'Installation
playwrightUtilise le serveur MCP PlaywrightInstallation automatique

Exemple de Configuration

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

tmux - Configuration des Sessions Tmux

Contrôle le comportement de la gestion des sessions Tmux.

Champs

ChampTypeRequisDéfautDescription
enabledbooleanNonfalseActive ou non la gestion des sessions Tmux
layoutenumNonmain-verticalDisposition Tmux
main_pane_sizenumberNon60Taille du panneau principal (20-80)
main_pane_min_widthnumberNon120Largeur minimale du panneau principal
agent_pane_min_widthnumberNon40Largeur minimale du panneau agent

Valeurs Possibles pour layout

ValeurDescription
main-horizontalPanneau principal en haut, panneaux agents empilés en bas
main-verticalPanneau principal à gauche, panneaux agents empilés à droite (par défaut)
tiledGrille de panneaux de même taille
even-horizontalTous les panneaux disposés horizontalement
even-verticalTous les panneaux empilés verticalement

Exemple de Configuration

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

ralph_loop - Configuration Ralph Loop

Contrôle le comportement du workflow en boucle Ralph Loop.

Champs

ChampTypeRequisDéfautDescription
enabledbooleanNonfalseActive ou non la fonctionnalité Ralph Loop
default_max_iterationsnumberNon100Nombre maximum d'itérations par défaut (1-1000)
state_dirstringNon-Répertoire personnalisé des fichiers d'état (relatif à la racine du projet)

Exemple de Configuration

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

notification - Configuration des Notifications

Contrôle le comportement des notifications système.

Champs

ChampTypeRequisDéfautDescription
force_enablebooleanNonfalseForce l'activation de session-notification, même si un plugin de notification externe est détecté

Exemple de Configuration

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

comment_checker - Configuration du Vérificateur de Commentaires

Contrôle le comportement du vérificateur de commentaires.

Champs

ChampTypeRequisDéfautDescription
custom_promptstringNon-Prompt personnalisé, remplace le message d'avertissement par défaut. Utilisez le placeholder pour représenter le XML des commentaires détectés

Exemple de Configuration

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

experimental - Configuration des Fonctionnalités Expérimentales

Contrôle l'activation des fonctionnalités expérimentales.

Champs

ChampTypeRequisDéfautDescription
aggressive_truncationbooleanNon-Active un comportement de troncature plus agressif
auto_resumebooleanNon-Active la reprise automatique (récupération des erreurs de bloc de réflexion ou des violations de désactivation de réflexion)
truncate_all_tool_outputsbooleanNonfalseTronque toutes les sorties d'outils, pas seulement les outils en liste blanche
dynamic_context_pruningobjectNon-Configuration de l'élagage dynamique du contexte

Configuration dynamic_context_pruning

ChampTypeRequisDéfautDescription
enabledbooleanNonfalseActive l'élagage dynamique du contexte
notificationenumNondetailedNiveau de notification : off / minimal / detailed
turn_protectionobjectNon-Configuration de la protection des tours
protected_toolsstring[]Non-Liste des outils à ne jamais élaguer
strategiesobjectNon-Configuration des stratégies d'élagage

Configuration turn_protection

ChampTypeRequisDéfautDescription
enabledbooleanNontrueActive la protection des tours
turnsnumberNon3Protège les sorties d'outils des N derniers tours (1-10)

Configuration strategies

ChampTypeRequisDéfautDescription
deduplicationobjectNon-Configuration de la stratégie de déduplication
supersede_writesobjectNon-Configuration de la stratégie de remplacement d'écriture
purge_errorsobjectNon-Configuration de la stratégie de nettoyage des erreurs

Configuration deduplication

ChampTypeRequisDéfautDescription
enabledbooleanNontrueSupprime les appels d'outils en double (même outil + mêmes paramètres)

Configuration supersede_writes

ChampTypeRequisDéfautDescription
enabledbooleanNontrueÉlague les entrées d'écriture lors de lectures ultérieures
aggressivebooleanNonfalseMode agressif : élague TOUTE écriture si TOUTE lecture ultérieure

Configuration purge_errors

ChampTypeRequisDéfautDescription
enabledbooleanNontrueÉlague les entrées d'outils en erreur après N tours
turnsnumberNon5Nombre de tours pour élaguer les entrées d'outils en erreur (1-20)

Exemple de Configuration

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 - Configuration des Compétences

Configure le chargement et le comportement des compétences (Skills).

Format de Configuration

Les compétences prennent en charge deux formats :

Format 1 : Tableau Simple

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

Format 2 : Configuration Objet

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

Champs de Définition des Compétences

ChampTypeRequisDescription
descriptionstringNonDescription de la compétence
templatestringNonModèle de compétence
fromstringNonSource
modelstringNonModèle utilisé
agentstringNonAgent utilisé
subtaskbooleanNonEst-ce une sous-tâche
argument-hintstringNonIndication d'argument
licensestringNonLicence
compatibilitystringNonCompatibilité
metadataobjectNonMétadonnées
allowed-toolsstring[]NonListe des outils autorisés
disablebooleanNonDésactive cette compétence

Compétences Intégrées

CompétenceDescription
playwrightAutomatisation du navigateur (par défaut)
agent-browserAutomatisation du navigateur (Vercel CLI)
frontend-ui-uxDesign frontend UI/UX
git-masterExpert Git

Listes de Désactivation

Les champs suivants sont utilisés pour désactiver des modules fonctionnels spécifiques.

disabled_mcps - Liste des MCP Désactivés

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

disabled_agents - Liste des Agents Désactivés

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

disabled_skills - Liste des Compétences Désactivées

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

disabled_hooks - Liste des Hooks Désactivés

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

disabled_commands - Liste des Commandes Désactivées

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

Annexe : Référence du Code Source

Cliquez pour développer et voir les emplacements du code source

Dernière mise à jour : 2026-01-26

FonctionnalitéChemin du FichierLignes
Définition du schéma de configurationsrc/config/schema.ts1-378
JSON Schemaassets/oh-my-opencode.schema.json1-51200
Documentation de configurationdocs/configurations.md1-595

Types Clés :

  • OhMyOpenCodeConfig : Type de configuration principal
  • AgentOverrideConfig : Type de configuration de remplacement d'agent
  • CategoryConfig : Type de configuration de catégorie
  • BackgroundTaskConfig : Type de configuration de tâche en arrière-plan
  • PermissionValue : Type de valeur de permission (ask/allow/deny)

Énumérations Clés :

  • BuiltinAgentNameSchema : Énumération des noms d'agents intégrés
  • BuiltinSkillNameSchema : Énumération des noms de compétences intégrées
  • BuiltinCategoryNameSchema : Énumération des noms de catégories intégrées
  • HookNameSchema : Énumération des noms de hooks
  • BrowserAutomationProviderSchema : Énumération des fournisseurs d'automatisation du navigateur

Aperçu du Prochain Cours

Dans le prochain cours, nous étudierons Serveurs MCP Intégrés.

Vous apprendrez :

  • Les fonctionnalités et méthodes d'utilisation des 3 serveurs MCP intégrés
  • Configuration et meilleures pratiques pour Exa Websearch, Context7, grep.app
  • Comment utiliser MCP pour rechercher de la documentation et du code