DocumentationOuvrir Moon AI
Parcourir la documentation

Configuration

Fichiers de réglages de Moon CLI et de l’agent, leurs emplacements par système, les clés disponibles, les variables d’environnement et leur ordre de priorité.

Sur cette page

Moon CLI lit deux familles de fichiers : ses propres réglages (moon.json), écrits par les commandes moon blur et moon guard, et la configuration de l’agent (opencode.json, tui.json et des dossiers de skills, de commandes et d’instructions). Chacune existe en version personnelle, valable pour tous vos projets, et la configuration de l’agent existe aussi au niveau d’un projet.

EmplacementsLien vers la section Emplacements

Fichier ou dossiermacOS, Linux, WSLWindows
Réglages de Moon CLI~/.config/moon/moon.json%USERPROFILE%\.config\moon\moon.json
Configuration personnelle de l’agent~/.config/moon/opencode.json%USERPROFILE%\.config\moon\opencode.json
Interface de l’agent~/.config/moon/tui.json%USERPROFILE%\.config\moon\tui.json
Instructions personnelles~/.config/moon/AGENTS.md%USERPROFILE%\.config\moon\AGENTS.md
Skills personnelles~/.claude/skills/, ~/.agents/skills/%USERPROFILE%\.claude\skills\, %USERPROFILE%\.agents\skills\
Commandes personnelles~/.config/moon/commands/%USERPROFILE%\.config\moon\commands\

La configuration de l’agent accepte aussi les noms opencode.jsonc (avec commentaires) et config.json dans le même dossier. Si vous définissez XDG_CONFIG_HOME, le dossier ~/.config est remplacé par sa valeur.

Dans un projet, l’agent lit les fichiers suivants, entre la racine du dépôt Git et le dossier ouvert :

Fichier ou dossierRôle
opencode.json, opencode.jsoncConfiguration de l’agent pour ce projet.
tui.json, tui.jsoncInterface de l’agent pour ce projet.
.opencode/Commandes, agents, skills et plugins du projet.
.claude/skills/, .agents/skills/Skills du projet.
AGENTS.md, CLAUDE.md, CONTEXT.mdInstructions du projet.

Réglages de Moon CLI (moon.json)Lien vers la section Réglages de Moon CLI (moon.json)

~/.config/moon/moon.json
{
  "blur": {
    "mode": "secrets",
    "projects": { "/home/alice/code/client": "redact" },
    "allow": ["<empreinte SHA-256 d’une valeur>"]
  },
  "guard": { "enabled": true },
  "updates": { "auto": true }
}
CléValeursEffetCommande qui l’écrit
blur.modeoff, secrets, redact, strict, detectMode de Moon Blur pour tous vos projets. Absent : secrets.moon blur <mode>
blur.projectschemin complet du dossier : modeMode de Moon Blur pour un dossier précis.moon blur <mode> --here
blur.allowliste d’empreintes SHA-256Valeurs que Moon Blur ne masque plus.moon blur allow <valeur>
guard.enabledtrue, falseMoon Guard activé ou non. Absent : désactivé.moon guard on, moon guard off
updates.autotrue, falsefalse coupe la mise à jour automatique.aucune, à écrire vous-même

Un dépôt ne peut pas modifier ce fichier, et les outils de l’agent n’y ont pas accès. Un fichier illisible est ignoré : tous les réglages reviennent alors à leur valeur par défaut.

Configuration de l’agent (opencode.json)Lien vers la section Configuration de l’agent (opencode.json)

Le même format sert pour le fichier personnel et pour celui d’un projet. Exemple de fichier de projet :

opencode.json
{
  "model": "moonai/anthropic/claude-haiku-4.5",
  "instructions": ["guides/conventions.md"],
  "permission": {
    "bash": {
      "*": "ask",
      "npm test": "allow"
    }
  },
  "mcp": {
    "context7": { "type": "remote", "url": "https://mcp.context7.com/mcp", "enabled": true }
  }
}
CléEffet
modelModèle par défaut, au format moonai/<identifiant>. Voir Modèle par défaut.
permissionRègles de confirmation des outils. Voir Permissions.
mcpServeurs MCP. Voir Serveurs MCP.
instructionsFichiers d’instructions en plus d’AGENTS.md : chemins ou motifs (guides/*.md), absolus, commençant par ~/ ou relatifs au projet.
commandCommandes personnalisées. Voir Commandes personnalisées.
skills.pathsDossiers de skills en plus des emplacements habituels.
compaction.thresholdSeuil de compaction automatique : une part de la fenêtre de contexte (de 0 à 1, 0.8 par défaut) ou un nombre de jetons.

Une valeur peut reprendre une variable d’environnement avec {env:NOM}, ou le contenu d’un fichier avec {file:chemin} (chemin relatif au fichier de configuration, ou commençant par ~/). Utilisez-les pour ne pas écrire de secret en clair dans un fichier versionné.

Moon CLI ne laisse passer aucun autre fournisseur de modèles que Moon AI : une clé provider ou enabled_providers qui en ajouterait un est ignorée, et le partage de session reste désactivé.

Ordre de prioritéLien vers la section Ordre de priorité

Configuration de l’agentLien vers la section Configuration de l’agent

Les sources sont fusionnées dans cet ordre ; une clé définie plus bas remplace la même clé définie plus haut.

  1. Votre configuration personnelle (~/.config/moon/opencode.json).
  2. Les réglages de session posés par Moon CLI à chaque lancement : fournisseur Moon AI et ses modèles, modèle Auto, petit modèle pour les tâches de fond, compaction automatique, permissions par défaut.
  3. La configuration du projet, si vous l’avez approuvée : les fichiers opencode.json de la racine du dépôt jusqu’au dossier ouvert, puis les dossiers .opencode/.
  4. La configuration gérée par l’administrateur du poste (voir plus bas).
  5. Les clés verrouillées par Moon CLI : fournisseur unique Moon AI, partage désactivé, pas de mise à jour de l’agent par lui-même.

Les listes instructions s’additionnent d’une source à l’autre. Conséquence de cet ordre : dans votre configuration personnelle, les clés model, small_model, compaction.auto, compaction.prune et les règles edit, bash, webfetch, websearch sont remplacées par celles de Moon CLI. Pour les changer, utilisez la configuration d’un projet.

Réglages de Moon CLILien vers la section Réglages de Moon CLI

RéglageOrdre, du plus fort au plus faible
Mode de Moon Blurvariable MOON_BLUR_MODE, réglage du dossier, réglage par défaut, secrets. Un workspace qui impose Moon Blur remplace off par secrets.
Moon Guardvariable MOON_GUARD, clé guard.enabled, désactivé.
Mise à jour automatiquecoupée par MOON_DISABLE_AUTOUPDATE=1, par la variable CI, par updates.auto: false, sans terminal interactif ou avec MOON_API_KEY. Sinon active.

Modèle par défautLien vers la section Modèle par défaut

Au lancement, l’agent choisit son modèle dans cet ordre :

  1. l’option -m moonai/<identifiant> (ou --model) de moon ou de moon run ;
  2. la clé model de la configuration du projet approuvée ;
  3. Auto, le modèle par défaut de Moon CLI.

Le modèle choisi dans l’agent avec /models vaut pour la session en cours ; au lancement suivant, Moon CLI repart sur la règle ci-dessus. moon models liste les identifiants disponibles, déjà préfixés par moonai/.

Terminal
moon models
moon -m moonai/anthropic/claude-haiku-4.5

Le choix du modèle et les niveaux de coût sont détaillés dans Workspaces et modèles.

PermissionsLien vers la section Permissions

Par défaut, l’agent demande votre accord avant :

CléAction
editCréer, modifier ou supprimer un fichier.
bashLancer une commande.
webfetchLire une page web.
websearchFaire une recherche sur le web.
<serveur>_*Utiliser un outil d’un serveur MCP (par exemple context7_*).

Les outils de fichiers de l’agent n’ont jamais accès au dossier d’état de Moon CLI (votre session) ni à ~/.config/moon.

Trois façons de réduire les demandes :

  • Le mode de la session : modifications acceptées ou approbation automatique, avec MajTab, /modifications ou /auto. Voir Modes de permission.
  • « Toujours autoriser » sur une demande, quand elle le propose.
  • Des règles dans la configuration du projet, sous la clé permission.

Une règle vaut allow (sans demande), ask (demande) ou deny (refus). Pour bash, une règle peut viser un motif de commande, où * remplace n’importe quelle suite de caractères ; quand plusieurs motifs correspondent, la dernière règle écrite l’emporte.

opencode.json du projet
{
  "permission": {
    "bash": {
      "*": "ask",
      "npm test": "allow",
      "git status": "allow",
      "rm *": "deny"
    },
    "webfetch": "deny",
    "context7_*": "allow"
  }
}

Moon BlurLien vers la section Moon Blur

Le mode se règle avec moon blur (enregistré dans moon.json), pour un terminal avec MOON_BLUR_MODE, et pendant une session avec /blur.

Terminal
moon blur redact          # tous vos projets
moon blur strict --here   # ce dossier seulement

Modes, détection et valeurs autorisées : Moon Blur dans Moon CLI.

Moon GuardLien vers la section Moon Guard

Moon Guard est désactivé par défaut. moon guard on l’active pour les lancements suivants (clé guard.enabled), MOON_GUARD=on pour un seul lancement. Voir Moon Guard.

Serveurs MCPLien vers la section Serveurs MCP

/mcp écrit les serveurs dans votre configuration personnelle (~/.config/moon/opencode.json). Vous pouvez aussi les déclarer à la main, dans ce fichier ou dans celui d’un projet, sous la clé mcp :

CléType de serveurEffet
typetouslocal (lancé sur votre machine) ou remote (à une adresse).
enabledtousfalse : le serveur n’est pas lancé au démarrage.
timeouttousDélai d’une requête au serveur, en millisecondes (5 000 par défaut).
commandlocalCommande et arguments, sous forme de liste.
environmentlocalVariables d’environnement passées au serveur.
cwdlocalDossier de travail du serveur, relatif au projet.
urlremoteAdresse du serveur.
headersremoteEn-têtes HTTP, par exemple un jeton : "Authorization": "Bearer {env:MON_JETON}".
oauthremoteRéglages de connexion OAuth (clientId, clientSecret, scope, callbackPort), ou false pour ne pas tenter de connexion OAuth.

Ajout, connexion et sécurité des serveurs : Serveurs MCP dans Moon CLI.

SkillsLien vers la section Skills

Une skill est un dossier qui contient un fichier SKILL.md : un nom et une description en en-tête, puis les consignes, et éventuellement des scripts. L’agent la charge quand la tâche s’y prête.

PortéeDossiers
Personnelle~/.claude/skills/<nom>/, ~/.agents/skills/<nom>/
Projet (après accord).opencode/skills/<nom>/, .claude/skills/<nom>/, .agents/skills/<nom>/

Dans l’agent, /skills liste les skills disponibles ; chacune s’appelle aussi directement avec /<nom>.

Fichiers d’instructionsLien vers la section Fichiers d’instructions

Les fichiers d’instructions accompagnent chaque appel au modèle. L’agent lit :

  1. une seule instruction personnelle : ~/.config/moon/AGENTS.md, sinon ~/.claude/CLAUDE.md ;
  2. dans le projet approuvé, les fichiers AGENTS.md de la racine du dépôt jusqu’au dossier ouvert. S’il n’y en a aucun, les CLAUDE.md, sinon les CONTEXT.md ;
  3. les fichiers listés par la clé instructions ;
  4. en cours de session, l’AGENTS.md d’un sous-dossier dont l’agent lit un fichier.

Chaque fichier est coupé au-delà de 40 Ko (le début est gardé), et l’ensemble est limité à 100 Ko. Au lancement, Moon CLI signale tout fichier de plus de 40 Ko avec une estimation des jetons envoyés à chaque appel. /init crée ou met à jour l’AGENTS.md du projet.

Commandes personnaliséesLien vers la section Commandes personnalisées

Un fichier Markdown dans ~/.config/moon/commands/ (pour vous) ou .opencode/commands/ (pour le projet) devient une commande / de l’agent, du nom du fichier.

.opencode/commands/test-module.md
---
description: Lance les tests d’un module et explique les échecs
---
Lance les tests du module $ARGUMENTS, puis résume chaque échec et propose une correction.

/test-module paiement envoie le texte au modèle en remplaçant $ARGUMENTS par paiement ; $1, $2 désignent les arguments un par un. L’en-tête accepte aussi agent (agent qui exécute la commande), model et subtask (true : exécutée par un sous-agent).

Interface de l’agent (tui.json)Lien vers la section Interface de l’agent (tui.json)

~/.config/moon/tui.json
{
  "keybinds": {
    "leader": "ctrl+x",
    "session_new": "<leader>n"
  },
  "mouse": true,
  "diff_style": "auto"
}
CléEffet
keybindsRaccourcis clavier. leader est la touche préfixe (CtrlX par défaut) ; la valeur none désactive un raccourci.
mousefalse : la souris n’est plus capturée par l’interface.
diff_styleauto (s’adapte à la largeur du terminal) ou stacked (toujours une colonne).
scroll_speedVitesse de défilement.

Le thème se choisit avec /themes. La liste des raccourcis par défaut est dans Raccourcis clavier.

Configuration gérée par l’administrateurLien vers la section Configuration gérée par l’administrateur

Sur un poste d’entreprise, l’administrateur peut imposer une configuration de l’agent, appliquée après celle de la personne et du projet :

SystèmeFichier
Linux/etc/moon/opencode.json
macOS/Library/Application Support/moon/opencode.json, ou un profil de gestion des appareils (domaine ai.realmoon.moon.managed)
WindowsC:\ProgramData\moon\opencode.json

Le dossier et le fichier doivent appartenir à l’administration du poste (root sans écriture pour le groupe ni les autres sous Linux et macOS, Administrateurs ou SYSTEM sous Windows) ; sinon ils sont ignorés.

Variables d’environnementLien vers la section Variables d’environnement

Moon CLILien vers la section Moon CLI

VariableEffet
MOON_BLUR_MODEMode de Moon Blur pour ce terminal (off, secrets, redact, strict, detect). L’emporte sur moon.json.
MOON_GUARDon ou off pour un lancement (1, true, oui et 0, false, non sont acceptés).
MOON_API_KEYClé d’API de workspace, pour une exécution sans terminal. Voir En intégration continue.
MOON_TRUST_PROJECT1 : charge la configuration du dépôt sans poser la question.
MOON_ALLOW_BROAD_DIR1 : pas d’avertissement dans le dossier personnel ou à la racine d’un disque.
MOON_DISABLE_AUTOUPDATE1 : coupe la mise à jour automatique.
CIDéfinie (comme dans la plupart des services d’intégration continue) : pas de mise à jour automatique.
NO_COLORSorties du lanceur sans couleurs.
XDG_CONFIG_HOME, XDG_DATA_HOME, XDG_CACHE_HOME, XDG_STATE_HOMERemplacent ~/.config, ~/.local/share, ~/.cache et ~/.local/state.

InstallationLien vers la section Installation

VariableEffet
MOON_INSTALL_DIRDossier de la commande moon, lu par l’installeur et par les mises à jour.
MOON_NO_MODIFY_PATH1 : l’installeur ne modifie pas le PATH.
MOON_VERSIONVersion à installer (installeur Windows).

Détail : Options d’installation.

RéseauLien vers la section Réseau

VariableEffet
HTTPS_PROXY, HTTP_PROXY, ALL_PROXYProxy réseau vers Moon AI.
NO_PROXYAdresses jointes sans proxy. Moon CLI y ajoute lui-même 127.0.0.1, localhost et ::1 pour l’agent.
NODE_EXTRA_CA_CERTSCertificat de votre entreprise, quand un proxy intercepte le HTTPS.

AgentLien vers la section Agent

L’agent reçoit votre environnement, sauf les variables MOON_* et OTEL_*. Parmi ses propres variables, seules celles-ci lui sont transmises :

VariableEffet
OPENCODE_SERVER_PASSWORD, OPENCODE_SERVER_USERNAMEIdentifiants du serveur local lancé par moon serve.
OPENCODE_DISABLE_MOUSE1 : la souris n’est plus capturée.
OPENCODE_DISABLE_TERMINAL_TITLE1 : l’agent ne change pas le titre du terminal.
OPENCODE_DISABLE_AUTOCOMPACT1 : pas de compaction automatique de la conversation.
OPENCODE_GIT_BASH_PATHWindows : chemin de bash.exe de Git, pour l’outil de commandes.
OPENCODE_LOG_LEVELNiveau du journal : DEBUG, INFO, WARN ou ERROR.

Les autres variables de votre environnement, comme GITHUB_TOKEN, restent visibles par l’agent et par les commandes qu’il lance.

Voir aussiLien vers la section Voir aussi

Moon AI

Moon AI en action

0:00

À découvrir

Captures de chat.realmoon.ai du 29 octobre 2026, avec des données fictives.

Moon AI

Vos préférences

Aucun suivi publicitaire.

Ce site ne dépose aucun cookie publicitaire ni cookie de mesure d’audience : notre serveur compte les visites sans cookie. Votre thème et la fermeture de l’information sur les cookies sont mémorisés sur cet appareil.

L’application Moon AI possède ses propres réglages de confidentialité.