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