DocumentationConfiguration

Configuration

Les surfaces externes sont éteintes par défaut. Vous les activez en écrivant leur fichier dans le répertoire d’état privé du daemon.

Le principe

  • Les fichiers sont écrits à la main par l’opérateur, dans le répertoire d’état privé du daemon.
  • Fichier absent : le daemon ne construit aucun client pour cette surface et le dit.
  • Fichier présent mais invalide ou mal protégé : le daemon refuse de démarrer, au lieu de se dégrader en silence. Deux exceptions : un egress-destinations invalide vaut une liste vide (toute exécution passant par le broker est alors refusée), et provider n’est lu qu’au lancement de chaque exécution.
  • Quelques portes sont des valeurs par défaut plutôt que des interrupteurs : la mémoire durable, la politique d’approbation et le mode shadow fonctionnent sans fichier.

Les surfaces

SurfaceFichierCe qu’elle fait
Telegramtelegram/bot.confInterroge l’API en long polling et répond aux commandes opérateur. Sans ligne allow= ni admin=, le jeton est validé puis abandonné et aucun client n’est construit.
Slackslack/slack.confUn worker Socket Mode qui lit les canaux, publie des messages, ouvre des modales et publie une vue App Home.
GitHubgithub/github.confCrée des issues, commente, édite des checklists et applique des mutations de gestion du travail, chacune activée séparément par une ligne action=, avec un marqueur d’idempotence vérifié avant création. Le schéma v1 est en lecture seule.
Intake supportsupport/fleet.confRécupère les tickets dans un stock durable et rédige des brouillons. L’intake n’envoie rien : un email ou un job ne part que sur intention explicite de l’opérateur.
Exécution fournisseurproviderCompose un document de lancement borné et exécute un vrai processus fournisseur à travers tout le sandbox. Lu au lancement de chaque exécution.
Sortie réseauegress-destinationsOuvre un broker CONNECT en loopback par exécution, sur un port éphémère attribué par le noyau, limité aux couples hôte et port listés.
Auto-améliorationimprovement-lab.jsonExécute un agent épinglé et les vérifications standard dans un worktree, puis ouvre une pull request ; une approbation administrateur liée par HMAC autorise la fusion et l’activation. Sans ce fichier, seule l’implémentation est désactivée : la rédaction et la revue du plan restent possibles.
Mémoire durablememory/memory.confFonctionne sans fichier, sous le tenant par défaut primary. Ne migre jamais des lignes écrites sous un autre tenant.

Autres fichiers lus par le daemon

FichierRôle
approvals/approvals.confPolitique d’approbation, rechargée à chaud par SIGHUP. Sans fichier, l’exigence par défaut s’applique.
mcp/servers.jsonServeurs MCP disponibles pour les actions (voir docs/operations/mcp-servers.md).
manage/manage.conf, manage/platform.confConnexion à l’instance Manage pour le worker de jobs.
shadow/shadow.confMode shadow par scope. Sans fichier, tous les scopes sont en mode principal.
share/share.conf, purge/purge.confCommandes share et purge.
knowledge/catalog.jsonCatalogue de connaissances locales.
platform-v2-policy.json et registres platform-v2-*Hôte de la plateforme v2.

L’identité de charge subordonnée n’est pas un fichier : c’est une option par plan du document de lancement (identity=subordinate).

Telegram

telegram/bot.conf est encadré par un en-tête et un terminateur, doit être un fichier régulier réservé au propriétaire et de taille bornée, et le jeton est validé contre son bot_id. Une ligne allow= nomme les utilisateurs autorisés, une ligne admin= les administrateurs ; l’une ou l’autre suffit à activer le bot.

StatutSituation
disabled_no_clientAucun fichier de configuration.
lease_owned_no_clientLe bail du bot est détenu, mais sans ligne allow= ni admin= : le jeton est abandonné.
polling_liveUn worker interroge l’API sous ce bail.

Un expéditeur hors liste est refusé sans que son message soit lu. /help, /status et /runs sont ouverts aux utilisateurs autorisés. /run, /work, /cancel, /approve et /deny sont réservés aux administrateurs : /cancel annule réellement une exécution, /approve et /deny tranchent une décision en attente. Le bot propose aussi /agents, /job, /tickets, /ticket, /slack, /say, les verbes de mémoire (/remember, /forget, /memory), /new, /mute, /archive et /admin. Les boutons inline sont acquittés.

Destinations réseau

egress-destinations se lit comme une liste d’autorisation de sécurité, et c’en est une. C’est aussi la seule chose qui relie une exécution au fournisseur qu’elle doit joindre. Chaque ligne nomme un hôte, un port et une portée, public ou loopback, dans la limite de 16 lignes et 8 Kio :

egress-destinations
chatgpt.com           443  public
developers.openai.com 443  public

La politique est chargée une seule fois, au démarrage du daemon : une modification s’applique à la génération suivante, pas à la prochaine exécution (voir Exploitation pour reload). Sans fichier valide, tout document passant par le broker est refusé. automonique doctor signale une route manquante avec le constat provider.route-unavailable.