À propos du projet
obsidian-agent est un bot Telegram auto-hébergé qui agit comme un agent IA sur un coffre Obsidian local. Plutôt que de conserver les réponses dans un fil de discussion ou un index cloud, il ancre les réponses dans des fichiers markdown, JSON et SQLite à l'intérieur du coffre, qui restent modifiables dans Obsidian à tout moment.
Les composants principaux sont le bot Telegram, le coffre et un LLM compatible OpenAI (DeepSeek, OpenRouter, Groq, vLLM local et hôtes similaires sont pris en charge via LLM_API_KEY / LLM_BASE_URL / LLM_MODEL). Tout le reste est optionnel.
Capacités
- Capture : le texte, la voix (ASR), les photos, les PDF et les liens envoyés via Telegram sont transformés en fichiers structurés dans le coffre. Les entrées monétaires nécessitent une confirmation dans le chat avant d'atteindre le registre.
- Planification : tableaux kanban stockés en markdown (colonnes, identifiants, journaux), objectifs, routines, réflexion hebdomadaire, superposition de calendrier optionnelle et archivage mensuel des éléments terminés.
- Connaissances : ingestion, balises, wikilinks et recherche RAG sur le corpus existant, plus un resurfaçage planifié optionnel et des passes de maintenance.
- Finance : dépenses en langage naturel, revenus, transferts, dettes et plans, avec des tableaux de bord rendus comme pages Obsidian et données conservées dans une base locale.
- Requêtes inter-domaines : une seule phrase peut être routée entre les outils, par exemple comparer ce qui a été livré avec ce qui a été dépensé sur la même période.
Conception des modules
Trois domaines (planification, connaissances, finance) fonctionnent derrière un seul processus. Un manifeste de capacités régit ce qui est actif : désactiver un module le retire de l'interface, des outils, des invites et de la synchronisation, plutôt que de simplement le masquer. Les connecteurs tels que les API de courtier, les flux de données de santé ou les scripts de synchronisation de bureau sont désactivés par défaut et configurés par utilisateur.
Hébergement
Les bots et les tâches de longue durée peuvent fonctionner sur un VPS ou un ordinateur portable pour une capture 24/7, tandis que le coffre vit là où l'utilisateur édite. Les options de synchronisation incluent Obsidian Sync, Syncthing ou des scripts de bureau optionnels ; la documentation note qu'aucun Mac n'est requis et que les métriques de santé sont traitées comme des instantanés texte plutôt que des API exclusives Apple.
Configuration
L'intégration est conçue pour être pilotée par un chat de codage IA : ouvrir la racine du dépôt dans Cursor et exécuter /setup, ou suivre le même fichier de compétences dans Claude Code ou des outils similaires. Un chemin CLI existe via scripts/onboarding_wizard.sh avec des choix de playbook (planification, finance, connaissances, complet), suivi de l'initialisation de la structure du coffre et d'un test de fumée. Les exigences sont Python 3.10–3.12, un chemin de coffre Obsidian, un jeton de bot Telegram et une clé API LLM. Docker est décrit comme une option d'exécution après l'amorçage, pas un remplacement de la configuration.
Structure du dépôt
unified_bot/ contient l'hôte Telegram de production, shared/ contient la plateforme d'agent, le LLM et la logique de capacité, avec planning_bot/, knowledge_bot/ et finance_bot/ comme modules de domaine. La configuration et les textes utilisateur vivent dans des fichiers YAML, gardant Python indépendant de la locale ; l'anglais est la locale par défaut avec le russe disponible.
Évaluation et tests
Un ensemble public assaini de requêtes de récupération synthétiques est inclus sous eval/, et le mainteneur rapporte un Recall@1 / MRR dans la fenêtre d'environ 0,76 sur des exécutions étiquetées privées. Les tests passent par scripts/run_tests.sh, avec CI configuré dans GitHub Actions.
Licence MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.