La plupart des assistants IA oublient vos directives après chaque session. Vous réexpliquez votre contexte, vos outils et vos préférences en boucle. OpenHuman prend le contre-pied absolu de cette approche en proposant un cerveau artificiel personnel, orienté local-first. Le projet, accessible sur le dépôt OpenHuman sur GitHub, s’est hissé au premier rang des tendances dès sa sortie pendant neuf jours d’affilée.
Ce n’est pas une AGI. C’est un moteur logiciel structuré qui combine mémoire locale persistante, orchestration d’agents en graphes et recherche autonome.
Architecture et piliers fondamentaux
Le système repose sur trois blocs interconnectés.
1. Le Cerveau (Memory Tree + Obsidian Wiki)
Au lieu de stocker vos données dans une base vectorielle opaque, OpenHuman compresse vos documents, emails et discussions dans des arbres Markdown hiérarchisés sous SQLite. Ces fichiers se synchronisent directement avec un coffre (vault) Obsidian sur votre machine. Vous inspectez, modifiez ou supprimez vos données sans passerelle propriétaire.
L’outil intègre plus de 100 connecteurs OAuth, 5 000 serveurs MCP et 90 000 compétences (skills). Toutes les 20 minutes, une routine locale (auto-fetch) extrait vos nouveaux messages et rendez-vous. La compression TokenJuice réduit la taille des sorties d’outils jusqu’à 80 % avant injection dans le modèle.
2. L’Orchestrateur (tinyagents et tinyflows)
Les boucles d’agents classiques tournent souvent en rond dès qu’un outil plante. OpenHuman gère l’exécution via des graphes avec points de reprise (checkpoints) propulsés par tinyagents. Si un sous-agent se bloque, l’orchestrateur remonte la cause racine et permet la reprise manuelle.
L’architecture scinde les opérations : un agent réflexe rapide trie les flux entrants tandis qu’un noyau de raisonnement profond délègue le travail à des sous-agents jusqu’à trois niveaux de profondeur. Deux instances OpenHuman communiquent de manière chiffrée de bout en bout avec le protocole Signal, permettant des échanges de services et des micropaiements en USDC via x402 sur tiny.place.
3. Le Chercheur Tout-en-un
OpenHuman inclut le moteur de recherche web Exa (sans clé obligatoire, avec option BYO key), un scraper, un navigateur pilotable, la transcription vocale Whisper intégrée et la génération d’images/vidéos (Seedream, SeedEdit, Seedance, Veo). L’assistant est joignable sur 17 canaux de messagerie, dont Telegram, Discord, Slack, WhatsApp, Signal, iMessage et le courrier électronique natif via IMAP IDLE et SMTP.
Tableau comparatif des moteurs d’agents
| Fonctionnalité | Claude Cowork | OpenClaw | Hermes Agent | OpenHuman |
|---|---|---|---|---|
| Licence | Propriétaire | MIT | MIT | GNU |
| Prise en main | Bureau + CLI | Terminal prioritaire | Terminal prioritaire | Interface graphique propre |
| Coût d’usage | Abonnement + ajouts | Modèles externes requis | Modèles externes requis | Un abonnement + TokenJuice |
| Gestion mémoire | Limitée au fil de discussion | Dépend des extensions | Auto-apprentissage | Memory Tree + Obsidian + agentmemory |
| Intégrations | Connecteurs limités | Configuration manuelle | Configuration manuelle | 100+ OAuth, 5k+ MCP, 90k+ Skills |
| Synchro continue | Absente | Absente | Absente | Auto-fetch toutes les 20 minutes |
| Orchestration | Sous-tâches simples | Boucle unique | Boucle unique | Graphes tinyagents + E2E Signal |
| Workflows | Aucun | Scripts manuels | Scripts manuels | Visuels tinyflows avec validation |
| Réunions | Non géré | Non géré | Non géré | Rejoint Meet, Zoom, Teams, Webex |
| Canaux de message | Aucun | Quelques-uns | Quelques-uns | 17 canaux + email IMAP/SMTP |
| Mode 100 % local | Cloud obligatoire | Configuration manuelle | Configuration manuelle | Privacy Mode strict en Rust |
| Observabilité | Fermée | Journaux bruts | Journaux bruts | Rejeu de graphes + coûts par appel |
Installation et Configuration
Les binaires d’installation sont disponibles sur tinyhumans.ai/openhuman ou sur les releases GitHub. Les utilisateurs Linux et macOS peuvent utiliser les paquets Homebrew, .deb Debian/Ubuntu ou AUR.
Si vous utilisez déjà un serveur partagé agentmemory avec d’autres agents de code comme Cursor, Claude Code ou Codex, vous pouvez brancher OpenHuman dessus. Modifiez votre fichier config.toml :
[memory]
backend = "agentmemory"
Exécution avec un modèle local via Ollama
Vous pouvez basculer l’inférence sur votre machine pour garder l’intégralité du traitement confidentiel. Prévoyez au moins 8 Go de mémoire vive pour faire tourner un modèle de discussion et un modèle d’intégration (embeddings).
Étape 1 : Démarrer et vérifier Ollama
curl http://localhost:11434/api/tags
Si la réponse renvoie une liste JSON (même vide), le démon d’inférence répond.
Étape 2 : Activer le mode local dans l’interface
Allez dans Settings → AI & Skills → Local AI. Choisissez le palier adapté à votre machine (ex: ram_2_4gb). Par défaut, ce réglage conserve les calculs d’embeddings sur votre machine et route la réflexion complexe vers le cloud.
Étape 3 : Télécharger les poids de modèles
ollama pull gemma3:1b-it-qat
ollama pull bge-m3
Diagnostics de l’inférence locale
| Message affiché | Origine de l’erreur | Solution |
|---|---|---|
| Ollama server is not running or not reachable | Le port par défaut 11434 est inaccessible. | Lancez ollama serve ou corrigez l’URL dans les réglages. |
| Reachable but cannot execute models | Le processus d’exécution interne d’Ollama est bloqué. | Redémarrez complètement l’application Ollama. |
| Chat model ‘…’ is not installed | Le modèle ciblé est absent du disque. | Exécutez ollama pull <nom_du_modele>. |
| Embedding model rejected for context window too small | La fenêtre de contexte du modèle d’embedding est insuffisante. | Installez un modèle compatible comme bge-m3. |
Résolution des problèmes d’authentification et de liens profonds
Lors d’un blocage pendant l’authentification OAuth ou lors de l’usage d’un noyau distant, suivez cette séquence de tests.
Vérification des serveurs distants
curl -I https://tinyhumans.ai/
curl -I https://api.tinyhumans.ai/health
Test du noyau distant (Remote Core)
curl -sS https://your-core.example/rpc \
-H "Content-Type: application/json" \
-H "Authorization: Bearer CORE_TOKEN" \
-d '{"jsonrpc":"2.0","id":1,"method":"core.ping","params":{}}'
Une erreur 401 indique une divergence entre le jeton de l’application cliente et celui du noyau distant.
Correction du protocole openhuman:// sous Windows
Sur Windows, le protocole de rappel (deep link) est parfois corrompu dans le registre utilisateur (HKCU). Si l’URL de rappel ne revient jamais dans l’application après la validation dans le navigateur, exécutez ce script dans PowerShell :
$exe = 'C:\Path\To\OpenHuman.exe'
New-Item -Path 'HKCU:\Software\Classes\openhuman' -Force | Out-Null
Set-ItemProperty -Path 'HKCU:\Software\Classes\openhuman' -Name '(Default)' -Value 'URL:OpenHuman Protocol'
New-ItemProperty -Path 'HKCU:\Software\Classes\openhuman' -Name 'URL Protocol' -Value '' -Force | Out-Null
New-Item -Path 'HKCU:\Software\Classes\openhuman\shell\open\command' -Force | Out-Null
Set-ItemProperty -Path 'HKCU:\Software\Classes\openhuman\shell\open\command' -Name '(Default)' -Value ('"' + $exe + '" "%1"')
Si vous devez tester l’injection manuelle d’une session OAuth sur un noyau distant :
curl -sS https://your-core.example/rpc \
-H "Content-Type: application/json" \
-H "Authorization: Bearer CORE_TOKEN" \
-d '{"jsonrpc":"2.0","id":1,"method":"openhuman.auth_store_session","params":{"token":"JWT_FROM_CALLBACK"}}'
Gestion de la vie privée et limites opérationnelles
OpenHuman n’entraîne aucun modèle sur vos données. Le stockage des secrets utilise le trousseau natif de votre système d’exploitation (macOS Keychain, Windows Credential Manager ou Linux Secret Service).
Voici la répartition exacte des traitements :
| Élément | Emplacement | Détail du fonctionnement |
|---|---|---|
| Base Memory Tree | Disque local | Fichier SQLite local contenant l’historique structuré. |
| Coffre Obsidian | Disque local | Fichiers Markdown bruts modifiables directement. |
| Requêtes LLM Cloud | Serveurs modèles | Uniquement la consigne active et les extraits pertinents extraits de la mémoire. |
| Recherche web | Proxy OpenHuman / Exa | La requête de recherche transite par l’API pour éviter la gestion de clés tierces. |
| Jetons des services connectés | Serveur d’authentification | Les jetons OAuth Gmail, Slack ou Notion sont gérés côté passerelle. |
Par défaut, l’option workspace_only restreint l’accès de l’agent à son répertoire de travail. Les dossiers sensibles du système comme ~/.ssh, ~/.gnupg ou ~/.aws restent inaccessibles à l’agent quel que soit le niveau d’autonomie configuré.