Salut tout le monde, Jake ici de clawgo.net. Nous sommes le 23 mars 2026, et si vous êtes comme moi, votre boîte de réception déborde probablement de titres sur « AI ceci » et « agent cela ». Il est facile de se sentir submergé par cet excès de battage médiatique, surtout lorsque vous essayez juste de trouver comment effectuer du travail réel. Oubliez les promesses utopiques pendant une minute. Aujourd’hui, je veux parler de quelque chose de tangible, quelque chose sur lequel j’ai travaillé ces dernières semaines et qui fait réellement une différence dans ma vie quotidienne : utiliser des agents AI pour gérer ma collection d’actifs numériques qui déborde. Plus précisément, je parle d’OpenClaw, et de la façon dont j’ai mis en place un système pour gérer mon nombre ridicule de captures d’écran, extraits de code et idées de design à moitié développées.
Ma vie numérique est en désordre. Voilà, je l’ai dit. En tant que blogueur tech, je prends constamment des captures d’écran, télécharge des exemples de code, enregistre des articles et prends des notes. Tout cela se retrouve dans une poignée de dossiers, généralement nommés quelque chose comme « Choses », « Nouveau Dossier (2) », ou « Bureau (final) (NE PAS SUPPRIMER) ». Quand j’ai réellement besoin de trouver la capture d’écran parfaite d’une sortie de console OpenClaw d’il y a trois semaines, ou de ce script Python que j’ai bricolé pour analyser du JSON, cela ressemble à une chasse au trésor. J’ai essayé tous les suspects habituels : stockage cloud avec recherche intégrée, outils de recherche sur le bureau, même en étiquetant religieusement tout. Rien n’a jamais fonctionné. Jusqu’à maintenant.
Le Désordre Qui Avait Besoin D’être Dompté : Mon Amoncellement Numérique
Soyons honnêtes. Mon « système » impliquait :
- Un dossier « Téléchargements » qui était essentiellement un trou noir.
- Un dossier « Captures d’écran » avec des centaines de PNG nommés comme « Capture d’écran 2026-03-01 à 10.34.12 AM.png ».
- Différents dossiers de projet, chacun avec son propre mini-dossier de téléchargements et de captures d’écran.
- Un compte Evernote rempli de notes que je ne relis jamais.
- Un Google Drive avec des fichiers organisés… par Google.
Le problème n’est pas seulement de trouver des choses ; c’est la charge cognitive de savoir par où commencer. C’est le frottement mental qui m’empêche de réutiliser du bon contenu, ou même de me souvenir que je l’avais en premier lieu.
Pourquoi OpenClaw ? Mon Approche Basée sur des Agents
J’ai essayé quelques cadres d’agents différents, mais OpenClaw a vraiment fonctionné pour moi grâce à son accent sur la modularité et le contrôle local. Je ne voulais pas que toute ma vie numérique soit téléchargée sur un service tiers. Je voulais quelque chose qui fonctionne sur ma machine, puisse accéder à mes fichiers locaux, et soit suffisamment flexible pour s’adapter à mes besoins étranges et spécifiques. La capacité d’OpenClaw à définir des « compétences » personnalisées et à les orchestrer avec de simples configurations YAML semblait exactement ce dont j’avais besoin.
Mon idée principale était simple : un agent qui pourrait surveiller des dossiers spécifiques, identifier de nouveaux fichiers, comprendre ce qu’ils étaient (image, code, document), puis les déplacer vers une structure organisée tout en extrayant des métadonnées et en les rendant recherchables. Pensez-y comme à un majordome numérique super-puissant pour mes fichiers.
Création de l’Agent « Archiviste Numérique »
Voici comment j’ai décomposé cela :
- La Compétence de Surveillance : Le travail de cette compétence est juste de remarquer quand de nouveaux fichiers apparaissent dans mes dossiers « entrants » (Téléchargements, Bureau, Captures d’écran).
- La Compétence de Classification : Une fois qu’un nouveau fichier est détecté, cette compétence utilise un LLM local (j’exécute une version quantifiée de Llama 3 sur mon bureau) pour déterminer le type et le contenu du fichier. Pour les images, elle essaie de décrire ce qu’il y a dans l’image. Pour le code, elle identifie le langage et essaie de déterminer son but. Pour les documents, elle extrait des mots-clés.
- La Compétence de Déplacement : En fonction de la classification, cette compétence déplace le fichier vers un dossier structuré approprié (par exemple,
~/Archive/Screenshots/2026/March/ou~/Archive/Code/Python/). - La Compétence d’Indexation : C’est la partie cruciale. Elle prend toutes les métadonnées extraites (description, mots-clés, chemin de fichier, date) et les insère dans une base de données SQLite locale, les rendant ainsi recherchables.
Ça a l’air complexe, mais avec OpenClaw, définir ces compétences comme des modules séparés et réutilisables, puis les orchestrer a été étonnamment simple. Voici une version simplifiée de mon agent_config.yaml :
agent_name: ArchivisteNumérique
description: Un agent pour organiser et indexer automatiquement des actifs numériques.
skills:
- name: FileWatcher
module: local_skills.file_management
function: watch_directory
config:
directories: ["/Users/jake/Downloads", "/Users/jake/Desktop/temp_incoming"]
interval_seconds: 60
- name: FileClassifier
module: local_skills.classification
function: classify_and_extract
dependencies: [FileWatcher]
config:
llm_model_path: "/Users/jake/llm_models/llama3-8b-quant.gguf"
image_processor_endpoint: "http://localhost:8000/image_describe" # Un API local pour la légende d'image
- name: FileMover
module: local_skills.file_management
function: move_file_to_archive
dependencies: [FileClassifier]
config:
archive_root: "/Users/jake/Archive"
- name: MetadataIndexer
module: local_skills.indexing
function: index_metadata
dependencies: [FileMover]
config:
db_path: "/Users/jake/Archive/metadata.db"
tasks:
- name: ProcessNewFiles
steps:
- skill: FileWatcher
output_key: new_files
- skill: FileClassifier
input_key: new_files
output_key: classified_data
- skill: FileMover
input_key: classified_data
output_key: moved_files
- skill: MetadataIndexer
input_key: classified_data
Et voici un aperçu d’une version simplifiée de la fonction classify_and_extract dans local_skills/classification.py. C’est là que le LLM local entre en jeu pour les fichiers basés sur du texte :
import os
from llama_cpp import Llama
import mimetypes
def classify_and_extract(file_path, llm_model_path, image_processor_endpoint=None):
llm = Llama(model_path=llm_model_path, n_ctx=2048, n_batch=512)
mime_type, _ = mimetypes.guess_type(file_path)
file_extension = os.path.splitext(file_path)[1].lower()
if mime_type and mime_type.startswith('image'):
# Dans un vrai scénario, cela appellerait l'image_processor_endpoint
# Pour simplifier, nous allons juste simuler une description ici
description = f"Fichier image : {os.path.basename(file_path)}. Probablement une capture d'écran."
keywords = ["image", "screenshot", "visual"]
file_type = "image"
elif file_extension in ['.py', '.js', '.html', '.css', '.md', '.txt']:
with open(file_path, 'r', encoding='utf-8', errors='ignore') as f:
content = f.read(2000) # Lire les 2 premiers Ko pour la classification
prompt = f"Analysez le contenu textuel suivant et déterminez son type (par exemple, code Python, JavaScript, Markdown, texte brut). Ensuite, extrayez 3 à 5 mots-clés et fournissez un bref résumé de son but probable. Formatez en JSON.\n\nContenu :\n{content}\n\nJSON:"
output = llm(prompt, max_tokens=200, stop=["\n\n"], echo=False)
try:
parsed_output = json.loads(output['choices'][0]['text'])
description = parsed_output.get('summary', 'Aucun résumé fourni.')
keywords = parsed_output.get('keywords', [])
file_type = parsed_output.get('type', 'document')
except json.JSONDecodeError:
description = "Impossible d'analyser la sortie du LLM. Document générique."
keywords = ["document", "non classifié"]
file_type = "document"
else:
description = f"Fichier générique : {os.path.basename(file_path)}"
keywords = ["générique", "non classifié"]
file_type = "autre"
return {
"file_path": file_path,
"description": description,
"keywords": keywords,
"file_type": file_type,
"timestamp": os.path.getmtime(file_path)
}
Le image_processor_endpoint est un petit service FastAPI séparé que j’exécute localement et qui utilise un modèle CLIP affiné pour la légende d’image. C’est un peu au-delà du cadre de cet article, mais c’est un excellent exemple de la façon dont vous pouvez intégrer des modèles locaux spécialisés avec des agents OpenClaw.
Les Résultats : Moins de Désordre, Plus de Concentration
Après avoir laissé cet agent fonctionner pendant quelques semaines, la différence est frappante. Mon dossier Téléchargements n’est plus un cimetière. Chaque nouveau fichier que je dépose sur mon bureau ou que je sauvegarde depuis un navigateur est traité en quelques minutes. J’ai maintenant un répertoire ~/Archive magnifiquement organisé, avec des sous-dossiers par année, mois et type de contenu. Mais ce n’est pas seulement une question d’organisation.
La vraie magie est la base de données recherchable. J’ai construit une petite interface web (une autre petite application FastAPI) qui interroge la base de données SQLite. Maintenant, si j’ai besoin de cette capture d’écran de « sortie de console OpenClaw », je tape juste « sortie de console OpenClaw » dans ma barre de recherche, et boom, la voici, avec le chemin du fichier et un lien pour l’ouvrir. Si je cherche « script Python pour analyser JSON », j’obtiens une liste de tous les scripts pertinents, accompagnés de résumés générés par le LLM. C’est comme avoir un bibliothécaire personnel pour mon désordre numérique.
Un Petit Revers, Une Solution Rapide
Un défi auquel j’ai été confronté dès le départ concernait des fichiers très volumineux. Le LLM avait parfois du mal à traiter des fichiers texte massifs. Ma solution a été d’ajouter un contrôle de taille de fichier dans le FileClassifier et, pour tout ce qui dépasse un certain seuil (disons, 5 Mo), d’extraire uniquement des métadonnées de base comme le nom de fichier, le type et la date de création, plutôt que d’essayer une analyse de contenu complète. C’est un compromis pragmatique : mieux vaut avoir quelques métadonnées que pas de métadonnées du tout parce que l’agent a planté.
Points à Retenir
Si vous êtes submergé par le désordre numérique comme je l’étais, voici comment vous pouvez commencer à construire votre propre archiviste numérique :
- Identifiez vos points de douleur : Quels types de fichiers avez-vous du mal à organiser ? Où finissent-ils généralement ? Pour moi, c’étaient des captures d’écran et des extraits de code.
- Commencez petit avec OpenClaw : Ne tentez pas de construire l’agent ultime d’un seul coup. Commencez par une compétence unique, comme simplement surveiller un dossier. Faites fonctionner cela.
- utilisez des LLMs locaux (ou des API) : Pour la classification et la résumation, un LLM local peut être incroyablement puissant et offre de la confidentialité. Si local n’est pas une option, envisagez un point de terminaison API privé pour des tâches spécifiques.
- Définissez des compétences claires : Décomposez votre flux de travail souhaité en compétences discrètes et gérables. Cela rend votre agent plus facile à déboguer et à étendre.
- Construisez une couche de recherche : L’organisation est géniale, mais la véritable utilité vient de la capacité à retrouver des choses. Une simple base de données SQLite et une interface de recherche basique peuvent faire toute la différence.
- Itérez et affinez : Mon agent n’est pas parfait, et je suis constamment en train d’ajuster les invites de classification et d’ajouter de nouvelles compétences (comme la suppression automatique des fichiers temporaires après traitement). Les agents IA sont des systèmes vivants ; ils s’améliorent avec l’utilisation et le perfectionnement.
Il ne s’agit pas de scénarios magiques où « l’IA prend le contrôle de ma vie ». Il s’agit d’utiliser des outils intelligents pour résoudre des problèmes réels et quotidiens. Mon agent OpenClaw ne se contente pas d’organiser des fichiers ; il libère de l’énergie mentale, réduit la frustration et, en fin de compte, me rend plus efficace. Et cela, à mes yeux, est une énorme victoire.
Articles Connexes
- Grammarly AI Checker Gratuit : Repérez le contenu IA instantanément !
- Au-delà de LangChain : Meilleures alternatives pour votre prochain projet IA
- Dream Companion AI : Trouvez votre âme sœur numérique parfaite
🕒 Published: