Configuration
Pour une instance gérée, les réglages s’appliquent dans cet ordre de priorité : variables d’environnement → configuration de l’instance → configuration globale de l’utilisateur → valeurs par défaut. Les options passées à aircode start sont enregistrées avant le démarrage du service. Les options de aircode serve, lancé au premier plan, ne s’appliquent qu’au processus en cours.
La configuration globale se trouve dans ~/.config/aircode/config.json. Les instances gérées ont chacune un fichier ~/.config/aircode/instances/<id>.json, hors des dossiers de projets. Les fichiers contenant des secrets utilisent les permissions 0600. Pour Windows, consultez la référence de la ligne de commande Windows (CLI).
Configurer une instance au lancement
aircode start --projects-root /srv/workspaces --host 127.0.0.1 --port 7860 \
--password-file ~/.config/aircode/workspaces-password
Des options dédiées permettent de définir le dossier des projets, le nom, l’adresse, le port, l’URL publique, le mode de saisie du mot de passe et le Relay. Pour les autres réglages prévus par la configuration, répétez --set key=value. Une valeur au format JSON est interprétée comme telle :
aircode start --set maxSessions=64
aircode start --set workflows.maxConcurrent=2
aircode start --set 'browserAllowedHosts=["docs.example.com","*.internal.test"]'
Utilisez --json pour automatiser la création d’une instance. La sortie ne divulgue jamais un mot de passe déjà enregistré ; elle contient un mot de passe uniquement si cette commande vient de le générer.
Principaux réglages
| Variable d’environnement | config.json | Valeur par défaut | Fonction |
|---|---|---|---|
AIRCODE_HOST |
host |
Adresse IP Tailscale, sinon 127.0.0.1 |
Adresse d’écoute ; jamais 0.0.0.0 par défaut |
AIRCODE_PORT |
port |
7860 (recherche d’un port libre pour une nouvelle instance) |
Port d’écoute. Si un port enregistré ou demandé explicitement est occupé, le démarrage échoue |
AIRCODE_AUTH_PASSWORD |
authPassword |
Généré | Mot de passe d’accès. Une chaîne vide désactive l’authentification, uniquement pour le développement |
AIRCODE_PROJECTS_ROOT |
projectsRoot |
Dossier de lancement | Dossier dont les sous-dossiers peuvent être sélectionnés comme projets |
AIRCODE_MAX_SESSIONS |
maxSessions |
64 |
Nombre maximal de sessions simultanées |
AIRCODE_SESSION_IDLE_TTL_MS |
sessionIdleTtlMs |
21600000 |
Met en veille les sessions terminées après six heures d’inactivité ; 0 désactive aussi la mise en veille lorsque la limite de sessions est atteinte |
AIRCODE_DEFAULT_PERMISSION_MODE |
defaultPermissionMode |
bypass |
Mode d’autorisations par défaut de l’agent |
AIRCODE_DEFAULT_EXECUTION_MODE |
defaultExecutionMode |
local |
Environnement par défaut des sessions (local ou docker) |
AIRCODE_DOCKER_ENABLED |
dockerEnabled |
true |
Rend disponible l’exécution facultative dans Docker |
AIRCODE_DOCKER_IMAGE |
dockerImage |
aircode-session-runtime:local |
Image du conteneur d’exécution Docker |
AIRCODE_DOCKER_NETWORK |
dockerNetwork |
aircode-runtime |
Réseau dédié aux conteneurs d’exécution |
AIRCODE_DOCKER_CONTROL_PORT |
dockerControlPort |
Port AirCode Ø + 1000 | Port des échanges avec les conteneurs, limité aux capacités autorisées |
| — | updateChannel |
stable |
Canal de mise à jour (stable ou beta) |
La mise en veille ne concerne que les processus de session détachés dont le dernier échange est terminé et dont la conversation peut être reprise. Une session en cours, en attente d’une réponse, contrôlée à distance ou associée à un workflow reste active. Lorsque la limite de sessions est atteinte, AirCode Ø met aussitôt en veille la plus ancienne session éligible. Sa conversation reste dans l’historique et reprend normalement.
Les chemins des exécutables (claudeBin, codexBin, etc.) et les réglages propres aux fonctionnalités (navigateur, connaissances, orchestration et optimisation des tokens) figurent dans les paramètres du produit. Ils suivent le même ordre de priorité.
Consultez le guide Docker pour les limites des conteneurs, le réseau et tous les réglages Docker.
Fichiers et dossiers
| Chemin | Contenu |
|---|---|
~/.aircode/versions/<v> |
Version du produit, immuable et vérifiée par somme de contrôle |
~/.aircode/current |
Lien symbolique vers la version active |
~/.config/aircode/config.json |
Réglages globaux de l’utilisateur |
~/.config/aircode/instances/<id>.json |
Configuration de l’instance, mot de passe compris (0600) |
~/.config/aircode/providers.env |
Identifiants des fournisseurs partagés par l’utilisateur Unix (0600) |
~/.config/systemd/user/aircode@.service |
Modèle de service systemd généré pour les instances gérées |
~/.local/state/aircode/instances/<id>/ |
Processus, tunnel et données de session propres à l’instance |
~/.local/state/aircode/relay-account.json |
Identifiant du compte Relay géré, partagé par l’utilisateur Unix (0600) |
Les mises à jour ne modifient ni la configuration ni les données des instances.
Plusieurs instances
Le chemin canonique du dossier des projets détermine l’identité de l’instance par défaut. Des dossiers différents donnent donc des instances différentes. Pour un même dossier, indiquer un autre port crée ou retrouve une instance indépendante, nommée automatiquement : l’instance par défaut n’est ni modifiée ni redémarrée. Utilisez --name si vous souhaitez lui donner un nom stable. Chaque instance a son propre port, sa règle d’authentification, son espace tmux, ses données et son identité de tunnel.
aircode start --projects-root /srv/acme --port 7860 --generate-password
aircode start --projects-root /srv/acme --port 7861 --no-password --relay private
aircode start --projects-root /srv/acme --name demo --port 7862 --generate-password
aircode ps -a
Pour changer le port d’une instance existante, désignez-la par son nom ou son identifiant. Si vous indiquez seulement le dossier des projets et un nouveau port, AirCode Ø traite la commande comme une nouvelle instance pour éviter d’arrêter le serveur en cours par inadvertance.
Les commandes de gestion acceptent un nom, un identifiant complet ou abrégé, le chemin canonique du dossier des projets, ou le dossier courant. Si plusieurs instances nommées utilisent le même dossier, ce chemin ne suffit pas à les distinguer : précisez le nom ou l’identifiant.
Machines avec plusieurs utilisateurs
Chaque compte du système possède son propre registre d’instances, ses réglages globaux, ses identifiants de fournisseurs, son autorisation Relay et ses services systemd. Pour un même compte, chaque instance conserve son port, son mot de passe, ses données et ses sessions. aircode start crée et active le bon service à partir du modèle. L’ancienne commande aircode service install est conservée uniquement pour compatibilité.
Accès gratuit au produit
Pour utiliser AirCode Ø sur votre propre machine, vous n’avez besoin ni de clé de produit, ni d’activation, ni de carte bancaire, ni de période d’essai. Le produit reste utilisable hors ligne. L’expiration d’une ancienne licence ou d’un ancien essai ne bloque pas le lancement des sessions.
La commande aircode license permet seulement de consulter ou de supprimer les anciennes licences sur les installations concernées. Elles ne changent rien à l’accès actuel. La page Téléchargement précise les conditions de compte distinctes du Relay géré et des actions sur le Marketplace.