Chaque pensée est capturée, indexée et récupérée par recherche sémantique, pas par mot-clé. C'est la mémoire de long terme du système.
Assistant IA · Second brain · 01/11
Igor
Mon assistant personnel : un second cerveau qui capture mes pensées, se souvient, cherche sémantiquement et agit. Multi-agents, pipelines, mission control — tout tourne sur mon VPS.
Comment ça est né
Igor est né d'un constat simple : mes idées, mes décisions, mes retours d'expérience, c'est partout et ça s'échappe. Dans un chat, sur une montre, dans un message, dans un appel. Le problème n'était pas la capture — c'est que je pouvais capturer partout — le problème était que rien ne s'assemblait.
L'idée est montée en couches : d'abord une mémoire (capturer et retrouver par sens, pas par mot), puis des mains (déléguer à des agents qui codent, cherchent, agissent), puis un cockpit (voir l'état de tout en temps réel). Igor, c'est la somme de ces couches, et il est le projet qui relie tous les autres — c'est lui qui les pilote, qui s'en souvient et qui les relie.
Le contexte
Igor est un orchestrateur personnel qui capture ce que je dis — dans un chat, sur une montre, par message — et qui en fait quelque chose : il cherche, se souvient, délègue à des agents, rapporte. Tout tourne sur mon VPS, en Python asyncio, avec du streaming SSE et du WebSocket pour le temps réel.
Le cœur, c'est le second brain : chaque pensée est capturée, indexée, stockée en SQLite avec un miroir Obsidian pour la lecture humaine, et récupérée plus tard par recherche sémantique plutôt que par mot-clé. Je parle, il se souvient, il répond avec le bon contexte. Les embeddings sont calculés côté modèle, et le miroir Obsidian rend le tout navigable sans toucher à la base.
Autour du cerveau, il y a un vrai système multi-agents : des modèles distants (Claude, Codex), des modèles locaux (Qwen, Gemma) routés derrière une API OpenAI-compatible via un provider Ollama, des pipelines multi-phases, un mission control et un dashboard unifié qui affiche l'état de tout en temps réel — chaque appel laisse une trace que l'on peut relire et rejouer.
Ce qui distingue Igor d'un simple chatbot, c'est la mémoire de long terme et la délégation. Un chatbot oublie à la fin de la session ; Igor, lui, se souvient de ce que j'ai fait il y a trois mois, le retrouve, et peut m'enchaîner dessus. Et quand une tâche est grosse, il ne la fait pas seul : il la découpe et la délègue.
Le point dur
Le point dur, c'est le retrieval : retrouver la bonne pensée au bon moment, vite, et pas la première qui vient. Une recherche par mot-clé échoue dès que la formulation change ; une recherche vectorielle brute renvoie du bruit. J'ai dû combiner index sémantique, reranking et filtre temporel pour que le bon contexte remonte, en restant sous la seconde de latence sur du SQLite local.
Le deuxième point dur, c'est de faire tourner des modèles locaux sans qu'ils plombent la latence : préchargement, contexte borné, streaming vérifié, et un routing qui envoie les taches faciles aux petits modèles et les taches dures aux gros. C'est tout le routing LiteLLM qui existe pour ça.
Fonctionnalités
Igor délègue à des agents spécialisés. Les modèles distants et locaux sont unifiés derrière un même contrat d'appel.
Un provider Ollama branché directement : host, taille de contexte (num_ctx), mode « think », resynchronisation, streaming vérifié.
Des chaînes de travail planifiées, codées, testées et déployées, avec rôles séparés et scoring qualité — voir la page Pipelines.
Un écran de contrôle unique : tâches, agents, notifications, état du système. Tout est observable, chaque appel est tracé.
Les événements remonter en temps réel vers le web et la montre (Brain Addon), avec un service de notification en foreground.
Arbitrages techniques
Stack technique
En chiffres
Parcours du projet
-
Base
Capture des pensées, indexation, second brain SQLite + Obsidian, retrieval sémantique.
-
Multi-agents
Intégration de Claude et Codex derrière un contrat commun, délégation de tâches.
-
Modèles locaux
Provider Ollama branché (Qwen, Gemma), routing LiteLLM, streaming vérifié.
-
Pipelines & mission control
Chaînes multi-phases, dashboard unifié temps réel, notifications et observabilité.
-
Écosystème
Brain Addon, Tether, Brain Map 3D et Brain Addon branchés sur le noyau Igor.
Ce que ça a rendu
-
01
Mémoire qui tient
Je retrouve, par sens, ce que j'ai fait il y a des mois — et je peux m'enchaîner dessus.
-
02
Production déléguée
Les pipelines (V3/V4) produisent du code de bout en bout, en se basant sur Igor.
-
03
Presque tout en dérive
Brain Addon (montre), Tether (widgets), Brain Map (visualisation) s'appuient sur Igor.