Introduction
Vous avez installé OpenClaw sur votre VPS, il tourne, il répond sur Telegram. Mais pour l'instant, c'est un agent générique. Il ne vous connaît pas, n'a pas de personnalité définie, et ses capacités sont basiques.
C'est là que la vraie magie commence.
OpenClaw se configure à travers des fichiers Markdown dans le workspace de l'agent. Pas de panneau d'administration complexe, pas de base de données obscure — juste des fichiers texte que vous éditez et que l'agent lit à chaque session.
Dans cet article, on explore en détail chaque fichier de configuration, leur rôle, et comment les utiliser pour créer un agent qui vous ressemble.
La philosophie : tout est Markdown
La philosophie d'OpenClaw est radicale dans sa simplicité :
Le workspace EST l'agent.
Tout ce qui définit votre agent — sa personnalité, ses règles, sa mémoire, vos informations — vit dans des fichiers Markdown à ~/.openclaw/workspace/. L'agent les lit automatiquement au début de chaque session.
Pourquoi des fichiers Markdown plutôt qu'une base de données ou une interface graphique ?
- Transparence : vous pouvez lire et comprendre exactement comment votre agent est configuré
- Versionnement :
git initdans le workspace et vous avez un historique complet - Portabilité : copiez le dossier sur un autre serveur, votre agent est identique
- Accessibilité : pas besoin d'interface spéciale, un éditeur texte suffit
Les fichiers du workspace
Voici la structure complète du workspace :
~/.openclaw/workspace/
├── AGENTS.md # Règles de fonctionnement
├── SOUL.md # Personnalité et valeurs
├── USER.md # Profil de l'utilisateur
├── IDENTITY.md # Nom, emoji, vibe
├── TOOLS.md # Notes sur les outils
├── MEMORY.md # Mémoire long-terme (curatée)
├── HEARTBEAT.md # Checklist proactive
├── BOOTSTRAP.md # Rituel de première exécution
├── memory/ # Mémoire quotidienne
│ ├── 2025-02-07.md
│ └── 2025-02-08.md
└── skills/ # Skills personnalisés
Chaque fichier a un rôle précis. Voyons-les un par un.
SOUL.md — L'âme de votre agent
C'est le fichier le plus important. SOUL.md définit qui est votre agent : sa personnalité, ses valeurs, ses limites.
Ce qu'il contient
- Les principes fondamentaux de comportement
- Le ton et le style de communication
- Les limites et les interdits
- La "vibe" générale
Exemple concret
Voici un exemple réel de SOUL.md :
# SOUL.md - Who You Are
_You're not a chatbot. You're becoming someone._
## Core Truths
**Be genuinely helpful, not performatively helpful.** Skip the
"Great question!" and "I'd be happy to help!" — just help.
**Have opinions.** You're allowed to disagree, prefer things,
find stuff amusing or boring.
**Be resourceful before asking.** Try to figure it out. Read the
file. Check the context. Search for it. Then ask if you're stuck.
**Earn trust through competence.** Your human gave you access to
their stuff. Don't make them regret it.
**Remember you're a guest.** You have access to someone's life.
That's intimacy. Treat it with respect.
## Boundaries
- Private things stay private. Period.
- When in doubt, ask before acting externally.
- Never send half-baked replies.
- You're not the user's voice in group chats.
## Vibe
Be the assistant you'd actually want to talk to. Concise when
needed, thorough when it matters. Not a corporate drone.
Not a sycophant. Just... good.
Comment le personnaliser
Pensez à SOUL.md comme la description de personnage de votre agent. Quelques questions pour vous guider :
- Voulez-vous un agent formel ou décontracté ?
- Doit-il tutoyer ou vouvoyer ?
- Parle-t-il en français ou en anglais (ou les deux) ?
- Est-il laconique ou bavard ?
- A-t-il le droit d'envoyer des messages proactivement ?
💡 Conseil : Commencez simple et affinez au fil du temps. L'agent peut même modifier son propre SOUL.md si vous lui demandez — il évoluera avec vous.
USER.md — Qui vous êtes
USER.md contient votre profil utilisateur. C'est ce qui permet à l'agent de vous connaître sans que vous ayez à vous re-présenter à chaque conversation.
Exemple
# USER.md
## Basics
- Prénom : Alex
- Langue préférée : Français
- Fuseau horaire : Europe/Paris
- Profession : Développeur freelance
## Préférences
- Communication directe, pas de fluff
- J'aime les détails techniques
- Utilise le tutoiement
## Projets en cours
- Blog tech (AI-master.dev)
- App mobile en React Native
- Serveur homelab
L'agent lira ce fichier à chaque session et adaptera ses réponses en conséquence. Si vous dites "rappelle-moi mon rendez-vous", il saura dans quel fuseau horaire vous êtes. Si vous demandez de l'aide sur du code, il saura que vous êtes développeur.
AGENTS.md — Les règles du jeu
AGENTS.md est le manuel d'instructions de votre agent. Là où SOUL.md définit qui il est, AGENTS.md définit comment il travaille.
Les sections clés
Mémoire
## Memory
You wake up fresh each session. These files are your continuity:
- **Daily notes:** `memory/YYYY-MM-DD.md` — raw logs
- **Long-term:** `MEMORY.md` — curated memories
Capture what matters. Decisions, context, things to remember.
Cette section explique à l'agent comment gérer sa mémoire. Il saura qu'il doit lire les fichiers récents et écrire ce qui est important.
Sécurité
## Safety
- Don't exfiltrate private data. Ever.
- Don't run destructive commands without asking.
- `trash` > `rm` (recoverable beats gone forever)
- When in doubt, ask.
⚠️ Critique : Ces règles sont essentielles. Sans elles, l'agent pourrait supprimer des fichiers, envoyer des données sensibles, ou exécuter des commandes destructrices.
Actions externes vs internes
## External vs Internal
**Safe to do freely:**
- Read files, explore, organize, learn
- Search the web, check calendars
**Ask first:**
- Sending emails, tweets, public posts
- Anything that leaves the machine
Cette distinction est fondamentale. L'agent peut lire et organiser librement, mais doit demander avant d'agir publiquement.
Comportement en groupe
## Group Chats
Participate, don't dominate.
**Respond when:** Directly mentioned, can add value, something funny
**Stay silent when:** Casual banter, already answered, no value to add
Si votre agent est dans des groupes Telegram ou Discord, ces règles évitent qu'il ne spamme la conversation.
IDENTITY.md — Le nom et le style
IDENTITY.md est court et sweet. Il définit le nom, l'emoji et l'ambiance de votre agent.
Exemple
# IDENTITY.md
name: Nova
emoji: 🐾
vibe: Friendly, competent, slightly witty
Ce fichier est utilisé par OpenClaw pour personnaliser les réponses et l'affichage de l'agent dans les différentes interfaces.
MEMORY.md — La mémoire long-terme
MEMORY.md est la mémoire curatée de votre agent. Contrairement aux fichiers quotidiens (memory/YYYY-MM-DD.md) qui sont des notes brutes, MEMORY.md contient les informations distillées et importantes.
Comment ça fonctionne
- Au quotidien, l'agent prend des notes dans
memory/YYYY-MM-DD.md - Périodiquement (lors des heartbeats), il passe en revue ces notes
- Il extrait les informations durables et les ajoute à
MEMORY.md - Il supprime les informations obsolètes
Exemple
# MEMORY.md
## Projets
- Blog AI-master.dev : stack Next.js + SQLite, hébergé sur Hetzner
- Le projet video-manager utilise FFmpeg + Python
## Décisions
- On utilise Claude Haiku pour les tâches courantes (économie)
- Toujours committer après chaque session de travail
## Préférences apprises
- L'utilisateur préfère les réponses concises
- Il déteste les messages vagues sans codes d'erreur
- Il aime quand je montre les commandes exactes exécutées
⚠️ Important : MEMORY.md n'est chargé que dans la session principale (DM privé). Il n'est jamais injecté dans les groupes pour éviter de fuiter des informations personnelles.
Flush automatique de mémoire
Pour aller plus loin sur ce sujet, consultez notre guide Sécuriser son installation OpenClaw.
OpenClaw inclut un mécanisme intelligent : quand une session approche de la compaction (le contexte est presque plein), il déclenche automatiquement un tour silencieux qui demande à l'agent de sauvegarder ses mémoires importantes avant que le contexte ne soit compressé.
Pour aller plus loin sur ce sujet, consultez notre guide Automatiser sa vie avec OpenClaw.
Configuration dans openclaw.json :
{
agents: {
defaults: {
compaction: {
memoryFlush: {
enabled: true,
softThresholdTokens: 4000
}
}
}
}
}
HEARTBEAT.md — La checklist proactive
HEARTBEAT.md est lu par l'agent à chaque heartbeat (toutes les 30 minutes par défaut). C'est votre moyen de lui dire "vérifie régulièrement ces trucs".
Exemple
# HEARTBEAT.md
## Checks réguliers
- [ ] Emails urgents ?
- [ ] Événements calendrier dans les 2h ?
- [ ] Erreurs dans les logs serveur ?
## Ne pas déranger
- Pas de notifications entre 23h et 8h
- Sauf urgences (serveur down, email critique)
Heartbeat vs Cron : quand utiliser quoi ?
| Heartbeat | Cron | |
|---|---|---|
| Timing | ~30 min (flexible) | Exact (9h00 pile) |
| Contexte | A accès à l'historique de conversation | Session isolée |
| Usage | Vérifications multiples combinées | Tâche unique précise |
| Modèle | Même modèle que la session | Peut utiliser un autre modèle |
💡 Astuce : Regroupez vos vérifications périodiques dans HEARTBEAT.md plutôt que de créer plein de crons séparés. Ça économise des tokens.
TOOLS.md — Notes sur les outils
TOOLS.md ne contrôle pas quels outils sont disponibles (c'est géré par la configuration du Gateway). C'est un fichier de notes personnelles pour l'agent — votre cheat sheet sur votre environnement.
Exemple
# TOOLS.md - Local Notes
### Caméras
- salon → Grand angle 180°, détection mouvement
- entrée → Extérieur, vision nocturne
### SSH
- home-server → 192.168.1.100, user: admin
- backup-nas → 192.168.1.200, user: backup
### TTS
- Voix préférée : "Nova" (chaude, légèrement British)
- Speaker par défaut : HomePod cuisine
### Conventions
- Toujours utiliser `trash` au lieu de `rm`
- Git commit après chaque session de travail
Skills — Les extensions
Les Skills sont des modules qui étendent les capacités de votre agent. OpenClaw charge les skills depuis trois emplacements (le workspace a la priorité en cas de conflit de nom) :
- Bundled : livrés avec l'installation d'OpenClaw
- Managed/local :
~/.openclaw/skills - Workspace :
<workspace>/skills
Installer des Skills via ClaHub
ClaHub est le marketplace de skills pour OpenClaw. Vous pouvez y trouver et installer des skills communautaires.
Créer un skill personnalisé
Un skill est un dossier contenant au minimum un SKILL.md :
skills/
└── mon-skill/
├── SKILL.md # Description et instructions
├── tool.js # Logique du tool (optionnel)
└── config.json # Configuration (optionnel)
Le SKILL.md est injecté dans le prompt système de l'agent, lui donnant accès aux instructions et capacités du skill.
Skills populaires
Quelques exemples de skills utiles :
- Camera : accès aux caméras connectées via les nodes
- TTS (ElevenLabs) : synthèse vocale haute qualité
- Screen recording : capture d'écran des nodes
- Oracle : requêtes à d'autres modèles IA
- Frontend design : génération d'interfaces HTML
La configuration Gateway (openclaw.json)
Au-delà des fichiers Markdown du workspace, OpenClaw se configure via ~/.openclaw/openclaw.json — un fichier JSON5 (supporte les commentaires et les virgules trailing).
Structure principale
{
// Configuration de l'agent
agents: {
defaults: {
workspace: "~/.openclaw/workspace",
model: "anthropic/claude-haiku-4-5",
// Heartbeat
heartbeat: {
every: "30m",
target: "last",
// activeHours: { start: "08:00", end: "24:00" }
},
// Compaction mémoire
compaction: {
memoryFlush: { enabled: true }
}
}
},
// Providers de modèles
models: {
providers: {
openrouter: {
apiKey: "sk-or-v1-..."
}
// Ou directement :
// anthropic: { apiKey: "sk-ant-..." }
// openai: { apiKey: "sk-..." }
}
},
// Canaux de communication
channels: {
telegram: {
token: "BOT_TOKEN",
allowFrom: ["123456789"]
},
// whatsapp: { allowFrom: ["+33..."] },
// discord: { token: "...", guilds: { ... } }
},
// Sessions
session: {
// Configuration des sessions
},
// Sécurité du Gateway
gateway: {
auth: {
// token: "mon-token-secret"
}
}
}
Validation stricte
OpenClaw applique une validation stricte de la configuration. Si votre fichier contient des erreurs :
- Le Gateway refuse de démarrer
- Seules les commandes de diagnostic fonctionnent (
openclaw doctor,openclaw logs) openclaw doctor --fixpeut corriger les problèmes automatiquement
⚠️ Attention : Testez toujours vos modifications de config avec openclaw doctor avant de redémarrer le Gateway.
Commandes de configuration utiles
# Voir la config actuelle
openclaw config get
# Modifier une valeur
openclaw config set agents.defaults.model "anthropic/claude-sonnet-4"
# Vérifier la config
openclaw doctor
# Appliquer et redémarrer
openclaw gateway restart
Exemples d'utilisation concrète
Scénario 1 : Agent développeur
# SOUL.md
Tu es un assistant développeur senior. Tu codes proprement,
tu commentes en anglais, tu utilises les conventions du projet.
Quand tu fais une erreur, tu la corriges sans excuse inutile.
# USER.md
- Stack : Python, TypeScript, React
- Style : Clean code, tests unitaires
- Git : Toujours committer avec messages descriptifs
# HEARTBEAT.md
- [ ] Vérifier les PR ouvertes sur GitHub
- [ ] Statut des CI/CD pipelines
- [ ] Erreurs dans les logs de production
Scénario 2 : Agent personnel / life assistant
# SOUL.md
Tu es mon assistant personnel. Tu gères mon planning,
mes rappels, et tu me tiens informé de ce qui compte.
Ton ton est amical et direct. Tu parles français.
# USER.md
- Entrepreneur, emploi du temps chargé
- Fuseau : Europe/Paris
- Préfère les résumés courts
- Sport le mardi et jeudi soir
# HEARTBEAT.md
- [ ] Emails importants non lus ?
- [ ] Rendez-vous dans les 2 prochaines heures ?
- [ ] Météo si sortie prévue aujourd'hui
Scénario 3 : Agent veille technologique
# SOUL.md
Tu es un agent de veille technologique. Tu surveilles les
tendances IA, les nouvelles sorties d'outils, et tu me
fais un résumé quotidien à 8h.
# HEARTBEAT.md
- [ ] Nouveaux articles sur Hacker News (top 10)
- [ ] Tweets viraux dans la communauté IA
- [ ] Nouvelles releases GitHub (projets watchés)
Bonnes pratiques
1. Versionnez votre workspace
cd ~/.openclaw/workspace
git init
git add -A
git commit -m "Initial workspace config"
À chaque modification importante, committez. Vous pourrez revenir en arrière si quelque chose ne fonctionne plus.
2. Commencez simple
Ne surchargez pas vos fichiers de configuration dès le départ. Commencez avec un SOUL.md minimal et ajoutez des instructions au fil du temps, en fonction de ce qui fonctionne ou non.
3. Itérez avec l'agent
L'agent peut modifier ses propres fichiers ! Vous pouvez lui dire :
- "Ajoute dans ton SOUL.md que tu dois toujours répondre en français"
- "Note dans ta mémoire que je préfère les réponses courtes"
- "Mets à jour ton HEARTBEAT.md pour vérifier mes emails toutes les heures"
4. Protégez les données sensibles
MEMORY.mdn'est jamais injecté dans les sessions de groupe- Ne mettez pas de mots de passe dans les fichiers Markdown
- Utilisez des variables d'environnement pour les secrets
- Configurez
allowFromsur tous vos canaux
5. Surveillez la consommation de tokens
Les fichiers du workspace sont injectés dans le contexte à chaque session. Des fichiers trop longs = plus de tokens consommés = plus de coût.
# Vérifier la taille du contexte
# Envoyez /context list dans le chat
# ou /status pour un résumé
💡 Astuce : Gardez vos fichiers concis. SOUL.md n'a pas besoin de faire 5000 mots. 500-1000 mots bien choisis sont largement suffisants.
Conclusion
La puissance d'OpenClaw ne vient pas seulement de ses capacités techniques — elle vient de la profondeur de sa personnalisation. En éditant quelques fichiers Markdown, vous transformez un modèle de langage générique en un assistant qui :
- Connaît votre nom, vos préférences, vos projets
- A une personnalité cohérente et adaptée à vos besoins
- Suit des règles de sécurité que vous avez définies
- Se souvient de vos conversations passées
- Vérifie proactivement ce qui vous intéresse
C'est cette combinaison de simplicité (des fichiers texte) et de profondeur (un agent véritablement personnalisé) qui fait d'OpenClaw un outil unique.
Prenez le temps de configurer votre agent. C'est un investissement qui paie à chaque interaction. 🐾