CLI commands
Agents
openclaw agents
Gérer des agents isolés (espaces de travail + authentification + routage).
Associé :
- Routage multi-agent
- Espace de travail de l’agent
- Configuration des Skills : configuration de la visibilité des Skills.
Exemples
openclaw agents list
openclaw agents list --bindings
openclaw agents add work --workspace ~/.openclaw/workspace-work
openclaw agents add ops --workspace ~/.openclaw/workspace-ops --bind telegram:ops --non-interactive
openclaw agents bindings
openclaw agents bind --agent work --bind telegram:ops
openclaw agents unbind --agent work --bind telegram:ops
openclaw agents set-identity --workspace ~/.openclaw/workspace --from-identity
openclaw agents set-identity --agent main --avatar avatars/openclaw.png
openclaw agents delete work
Liaisons de routage
Utilisez les liaisons de routage pour associer le trafic entrant d’un canal à un agent spécifique.
Si vous voulez aussi des Skills visibles différentes par agent, configurez agents.defaults.skills et agents.list[].skills dans openclaw.json. Consultez Configuration des Skills et Référence de configuration.
Lister les liaisons :
openclaw agents bindings
openclaw agents bindings --agent work
openclaw agents bindings --json
Ajouter des liaisons :
openclaw agents bind --agent work --bind telegram:ops --bind discord:guild-a
Si vous omettez accountId (--bind <channel>), OpenClaw le résout à partir des valeurs par défaut du canal et des hooks de configuration du plugin lorsqu’ils sont disponibles.
Si vous omettez --agent pour bind ou unbind, OpenClaw cible l’agent par défaut actuel.
Comportement de portée des liaisons
- Une liaison sans
accountIdcorrespond uniquement au compte par défaut du canal. accountId: "*"est le repli à l’échelle du canal (tous les comptes) et est moins spécifique qu’une liaison de compte explicite.- Si le même agent possède déjà une liaison de canal correspondante sans
accountId, et que vous ajoutez ensuite une liaison avec unaccountIdexplicite ou résolu, OpenClaw met à niveau cette liaison existante sur place au lieu d’ajouter un doublon.
Exemple :
# initial channel-only binding
openclaw agents bind --agent work --bind telegram
# later upgrade to account-scoped binding
openclaw agents bind --agent work --bind telegram:ops
Après la mise à niveau, le routage de cette liaison est limité à telegram:ops. Si vous voulez aussi le routage du compte par défaut, ajoutez-le explicitement (par exemple --bind telegram:default).
Supprimer des liaisons :
openclaw agents unbind --agent work --bind telegram:ops
openclaw agents unbind --agent work --all
unbind accepte soit --all, soit une ou plusieurs valeurs --bind, mais pas les deux.
Surface de commande
agents
Exécuter openclaw agents sans sous-commande équivaut à openclaw agents list.
agents list
Options :
--json--bindings: inclure les règles de routage complètes, pas seulement les comptages/résumés par agent
agents add [name]
Options :
--workspace <dir>--model <id>--agent-dir <dir>--bind <channel[:accountId]>(répétable)--non-interactive--json
Notes :
- Passer des options d’ajout explicites fait basculer la commande vers le chemin non interactif.
- Le mode non interactif nécessite à la fois un nom d’agent et
--workspace. mainest réservé et ne peut pas être utilisé comme nouvel identifiant d’agent.- En mode interactif, l’amorçage de l’authentification copie uniquement les profils statiques portables
(
api_keyettokenstatique par défaut). Les profils OAuth avec jeton d’actualisation restent disponibles uniquement par héritage en lecture depuis le vrai magasin de l’agentmain. Si l’agent par défaut configuré n’est pasmain, connectez-vous séparément pour les profils OAuth sur le nouvel agent.
agents bindings
Options :
--agent <id>--json
agents bind
Options :
--agent <id>(par défaut, l’agent par défaut actuel)--bind <channel[:accountId]>(répétable)--json
agents unbind
Options :
--agent <id>(par défaut, l’agent par défaut actuel)--bind <channel[:accountId]>(répétable)--all--json
agents delete <id>
Options :
--force--json
Notes :
mainne peut pas être supprimé.- Sans
--force, une confirmation interactive est requise. - Les répertoires de l’espace de travail, de l’état de l’agent et des transcriptions de session sont déplacés vers la corbeille, pas supprimés définitivement.
- Lorsque le Gateway est joignable, la suppression est envoyée via le Gateway afin que le nettoyage de la configuration et du magasin de sessions utilise le même rédacteur que le trafic d’exécution. Si le Gateway n’est pas joignable, la CLI revient au chemin local hors ligne.
- Si l’espace de travail d’un autre agent est le même chemin, se trouve dans cet espace de travail ou contient cet espace de travail,
l’espace de travail est conservé et
--jsonindiqueworkspaceRetained,workspaceRetainedReasonetworkspaceSharedWith.
Fichiers d’identité
Chaque espace de travail d’agent peut inclure un IDENTITY.md à la racine de l’espace de travail :
- Chemin d’exemple :
~/.openclaw/workspace/IDENTITY.md set-identity --from-identitylit depuis la racine de l’espace de travail (ou depuis un--identity-fileexplicite)
Les chemins d’avatar sont résolus relativement à la racine de l’espace de travail.
Définir l’identité
set-identity écrit les champs dans agents.list[].identity :
namethemeemojiavatar(chemin relatif à l’espace de travail, URL http(s) ou URI de données)
Options :
--agent <id>--workspace <dir>--identity-file <path>--from-identity--name <name>--theme <theme>--emoji <emoji>--avatar <value>--json
Notes :
--agentou--workspacepeut être utilisé pour sélectionner l’agent cible.- Si vous vous appuyez sur
--workspaceet que plusieurs agents partagent cet espace de travail, la commande échoue et vous demande de passer--agent. - Lorsqu’aucun champ d’identité explicite n’est fourni, la commande lit les données d’identité depuis
IDENTITY.md.
Charger depuis IDENTITY.md :
openclaw agents set-identity --workspace ~/.openclaw/workspace --from-identity
Remplacer explicitement les champs :
openclaw agents set-identity --agent main --name "OpenClaw" --emoji "🦞" --avatar avatars/openclaw.png
Exemple de configuration :
{
agents: {
list: [
{
id: "main",
identity: {
name: "OpenClaw",
theme: "space lobster",
emoji: "🦞",
avatar: "avatars/openclaw.png",
},
},
],
},
}