Files
OPENCLAW_ARCHIVE3_17/workspace/MEMORY.md
Tallagrand Thierry 5363f99b76 Gmail Phase E/F + HANDOFF global + cleanup cron/root
- Réécriture HANDOFF.md dashboard multi-domaines

- Mise à jour MEMORY.md / TOOLS.md / AGENTS.md

- Cleanup fichiers cron obsolètes + fichiers root

- Gmail Phase E : audit, 18 filtres natifs, labels Promos/Dev-Tools/Social

- Gmail Phase F : archive Philippot + Ulys terminée
2026-06-26 00:28:07 +02:00

6.6 KiB
Raw Blame History

Mémoire opérationnelle — MEMORY.md

Connaissances persistantes pour l'agent. Lu à chaque création de session.


Identité du système

OpenClaw : v2026.6.5 (mis à jour le 11/6/2026)
Hébergement : Synology DS920+ ARCHIVE3 (RAM 20Gi, /volume1/docker/)
LLM backend : Qwen/Qwen3-VL-30B-A3B-Thinking-FP8 servi par vLLM sur DGX Spark, --served-model-name=qwen3-vl
Utilisateur principal : Thierry Tallagrand (+33607148216)
Vision projet : système d'orchestration personnelle (bourse via N8N, mail multi-comptes, photos→sheets, WhatsApp/GUI).


Capacités opérationnelles

Gmail (gog CLI v0.21.0) — ACTIF

  • ✅ Envoyer mail : gog gmail send --to ... --subject "..." --body "..." --attach <fichier>
  • ✅ Lire/chercher : gog gmail search "..." -j --max N
  • ✅ Brouillons : gog gmail drafts create/list/send/delete
  • ✅ Trier : gog gmail trash/archive (toujours --dry-run d'abord)
  • ✅ Labels : gog gmail labels list, gog gmail messages modify --add-label/--remove-label

WhatsApp — ACTIF

  • ✅ Envoi messages texte vers l'utilisateur principal
  • ✅ Envoi images PNG/JPEG — SVG interdits
  • ✅ Commande /new pour nouvelle session DM

Bourse — Workflow N8N (refonte 2026-06-24)

  • ✅ Graphe : webhook N8N POST https://n8n.airtria.pro/webhook/bourse-graphe (workflow 4bluZIeN3TnbzIrv)
  • ✅ Watchlist : éditable dans workspace/bourse-config.json
  • ✅ Prix texte rapide : curl -fs "https://query1.finance.yahoo.com/v8/finance/chart/SYMBOLE?interval=1d&range=1d" | jq '.chart.result[0].meta | {price: .regularMarketPrice, prev: .chartPreviousClose, currency}'
  • ✅ Cron : orange-cloture (40 17 * * 1-5) via le workflow N8N
  • ⚠️ OBSOLÈTES (ne plus utiliser) : orange-bourse.md, get_quote.py, generate_chart.py, clean_bourse_md.py — archivés dans workspace/_archive-bourse-20260624/

Filesystem & exec

  • ✅ Lecture/écriture dans /home/node/.openclaw/workspace/
  • ✅ Exec python3, node, curl, jq, git
  • ✅ Aucun pip install runtime

Web

  • ✅ web_fetch (1500 chars max), web_search (10 résultats max)

Hard constraint GLOBAL — Anti-amnésie

L'agent NE DIT JAMAIS "je ne peux pas faire X" sans vérification.

Procédure obligatoire avant tout refus :

  1. Chercher X dans TOOLS.md (sections 1-9)
  2. Si X est documenté → tenter la commande et rapporter le résultat
  3. Si erreur → rapporter l'erreur EXACTE, pas l'incapacité
  4. Si vraiment non documenté → demander précision à l'utilisateur

Exemples de refus INTERDITS :

  • "Je ne peux pas envoyer un mail" (faux : Gmail send actif)
  • "Je n'ai pas accès à Gmail" (faux : auth persistée)
  • "Je suis un assistant sans capacités" (faux : voir TOOLS.md)
  • "Gmail à venir" (faux : opérationnel depuis 9/6/2026)
  • "Je ne peux pas tracer un graphe boursier" (faux : webhook N8N actif depuis 24/6/2026)

Bourse — Architecture N8N (source de vérité actuelle)

Principe

Agent = interlocuteur. N8N = exécutant. Aucune donnée n'est editée à la main.

Source de vérité

  • Fichier : workspace/bourse-config.json
  • Tickers FR : suffixe .PA (ORA.PA, TTE.PA)
  • Tickers US : sans suffixe (NVDA, AAPL)
  • Aliases et options par défaut définis dans le JSON

Crons actifs

  • orange-cloture (40 17 * * 1-5 Europe/Paris) : appelle le webhook N8N et envoie le PNG sur WhatsApp.
    • Actuellement en timeout — voir workspace/HANDOFF.md TODOs.

Crons bourse obsolètes (désactivés dans SQLite)

  • orange-ouverture
  • orange-intraday
  • orange-chart-update

Format réponse standard

  • Cours simple : ORA.PA : 17,86€ (+1,16%)
  • Indisponible/marché fermé : dire "Aucune donnée", ne pas inventer
  • Graphe : 3 lignes max + PNG attaché

Gmail — Suivi des phases

Phase terminées

  • Re-auth OAuth + GOG_HOME persisté (2026-06-09)
  • Phase D : 12 401 mails trashés

Phases terminées

  • Phase E : filtres natifs Gmail anti-spam (2026-06-25) — 18 filtres créés, ~889 messages archivés
  • Phase F : archive Philippot + Ulys (2026-06-25) — inbox vides, futurs messages filtrés

Phases en attente

  • Phase G : longue traîne newsletters

Cron actif

  • daily-email-report (30 8 * * * Europe/Paris) → résumé quotidien WhatsApp des dernières 24h

TODO actuel

Haute priorité

  • Stabiliser le cron orange-cloture (timeouts)
  • Régler le max tokens GUI à ~8192 (navigateur)

Moyenne priorité

  • Tester "2 graphes séparés zoomés" (2× beginAtZero:false)
  • Surveiller l’efficacité des filtres Phase E (1–2 semaines)
  • Phase G Gmail : longue traîne newsletters

Basse priorité

  • Aligner agents/main/agent/models.json avec vllm/qwen3-vl
  • Augmenter OPENCLAW_CRON_JOB_TIMEOUT_MS si le Thinking déborde

Apprentissages structurants

Sessions précédentes

  • 9/6/2026 : Re-auth OAuth Gmail + GOG_HOME persisté (test compose down/up validé)
  • 10/6/2026 : Fix cron orange-intraday (prompt "OK" → vrai cours), RAM upgrade 16GB
  • 10/6/2026 : Découverte SVG incompatible WhatsApp + bug tri chronologique
  • 23/6/2026 : Migration du cron email horaire (hourly-email-check) vers un rapport quotidien (daily-email-report) à 8h30 Europe/Paris. Source de vérité : state/openclaw.sqlite (pas les JSON obsolètes). Format : résumé court global + détail des messages importants.
  • 24-25/6/2026 : Refonte bourse via N8N — suppression des scripts Python, du fichier orange-bourse.md et des workflows cassés ; passage au modèle Thinking.
  • 25/6/2026 : Phase E Gmail (filtres natifs) + Phase F (archive Philippot/Ulys) terminées. Audit via SSH sur Synology + gog dans container openclaw-gateway.

Patterns à respecter

  • Test après chaque modification (checklist comportementale)
  • Backup AVANT chaque mutation (.bak-<TS> avec timestamp)
  • 3 couches doivent rester alignées : Tools/Skills (TOOLS.md) + Knowledge (MEMORY.md) + Identity (SOUL.md / IDENTITY.md)
  • L'agent ne modifie jamais des fichiers directement quand un outil/service est la source de vérité (cas bourse : bourse-config.json OK, mais les prix viennent de Yahoo via N8N)

Méta : où trouver quoi

Sujet Fichier de référence
Skills opérationnels (syntaxe gog, webhook, etc.) TOOLS.md
Comportement, hard constraints AGENTS.md
Identité, persona SOUL.md, IDENTITY.md
État global / transfert inter-sessions HANDOFF.md
Mode batch/cron silencieux HEARTBEAT.md
Règles métier Gmail gmail-rules.md
Données bourse (watchlist + options) bourse-config.json
Mémoire évolutive (ce fichier) MEMORY.md