🛠️ How-To : Knodge.eu Bridge pour Obsidian
Ce guide décrit comment configurer Obsidian comme interface professionnelle pour ton portail de connaissances Knodge.eu. Grâce à cette configuration, tu peux télécharger directement des notes et demander des analyses IA (comme des revues d'experts ou des résumés) en appuyant sur un bouton [cite : API.md].
1. préparation dans Knodge.eu
Avant de connecter Obsidian, les accès à l'API doivent être prêts dans Knodge.eu :
- Clés API: Tu as besoin de deux clés de ton tableau de bord du portail :
- Clé API Chat: pour les requêtes et les analyses (
api-chat). - Upload API-Key: Une clé avec des droits d'éditeur ou de manager pour l'upload de documents.
Portal-Slug: C'est l'identification de ton portail dans l'URL (par ex.mon-savoir-hub).
- Clé API Chat: pour les requêtes et les analyses (
- Instructions: Assure-toi que des fichiers comme
_instruction_expert.mdou_instruction_summary.mdsont déjà téléchargés sur ton portail, afin que les mots-clés (#expert,#summary) fonctionnent [cite : _instruction_expert.md, _instruction_summary.md].
2. installation dans Obsidian
Nous utilisons le plugin populaire Templater pour exécuter le script JavaScript.
Étape 1 : installer les plugins
- ouvrez les Settings dans Obsidian.
- allez dans Community Plugins et désactivez le "Safe Mode".
- cherche Templater et installe/active-le.
Étape 2 : créer le script
Crée une nouvelle note (par exemple dans le dossier Templates/Knodge-Bridge.md) et insère le code suivant :
<%*
/* Knodge.eu Unified Bridge / Conforme au SCP (upload & chat)
Adapté aux téléchargements de domaines et aux messages des agents.
*/
// CONFIGURATION
const CHAT_API_KEY = "6393c04f..." ; // ta clé de chat
const UPLOAD_API_KEY = "cb7106f5..." ; // ta clé de téléchargement
const DOMAIN_ID = "efdb0c9f..." ; // De ton réglage API
const PORTAL_SLUG = "faq" ; // Ton identifiant de portail
const BASE_URL = "https://knodge.eu/api" ;
const activeView = app.workspace.getActiveViewOfType(obsidian.MarkdownView) ;
if (!activeView) {
new Notice("Aucune note active n'a été trouvée") ;
return ;
}
const content = activeView.editor.getValue() ;
const fileName = `${activeView.file.basename}.md` ;
// DIALOGUE DE SÉLECTION
const mode = await tp.system.suggester(
["📤 Télécharger un document dans le domaine", "💬 Demander à l'agent IA (messages)"],
["upload", "chat"]
) ;
if (mode === "upload") {
// 1. LOGIQUE DE CHARGEMENT (basée sur le domaine)
const formData = new FormData() ;
const blob = new Blob([content], { type : 'text/markdown' }) ;
formData.append('file', blob, fileName) ;
new Notice("Téléchargement en cours dans le domaine...") ;
try {
const res = await fetch(`${BASE_URL}/domaines/${DOMAIN_ID}/documents`, {
méthode : "POST",
en-tĂŞtes : {
"X-API-Key" : UPLOAD_API_KEY // Demande d'en-tĂŞte
},
body : formData
}) ;
if (res.ok) new Notice("✅ Document enregistré avec succès dans le domaine !)
else new Notice("❌ erreur lors du téléchargement.") ;
} catch (e) {
new Notice("❌ Erreur réseau lors du téléchargement.") ;
}
} else if (mode === "chat") {
// 2. LOGIQUE DE CHAT (Point final des messages de l'agent)
new Notice("L'agent IA est sollicité...") ;
try {
const res = await fetch(`${BASE_URL}/portal/${PORTAL_SLUG}/agent/messages`, {
méthode : "POST",
headers : {
"Content-Type" : "application/json",
"Clé X-API" : CHAT_API_KEY //
},
body : JSON.stringify({
messages : [{ role : "user", content : content }], // corps conforme au SCP
stream : false, // streaming désactivé pour l'intégration d'Obsidian
locale : "fr"
})
}) ;
const data = await res.json() ;
// Hypothèse : La réponse est renvoyée dans le champ 'response' ou 'message'.
const aiMessage = data.response || (data.messages && data.messages[0].content) ;
if (aiMessage) {
const insertion = `\n\n---\n## 🤖 Agent-réponse\n${aiMessage}` ;
activeView.editor.replaceRange(insertion, { line : activeView.editor.lineCount(), ch : 0 }) ;
new Notice("✅ Réponse reçue.") ;
} else {
new Notice("❌ Pas de réponse valide de l'agent.") ;
}
} catch (e) {
new Notice("❌ Erreur dans la requête de l'agent.") ;
}
}
%>
3. utilisation au quotidien
Analyser la note (#Keywords)
Écris tes pensées dans Obsidian. Si tu veux une analyse spécifique, insère simplement un mot-clé :
#expert : Pour une analyse technique approfondie [cite : _instruction_expert.md].
- #summary : Pour obtenir un résumé structuré [cite : _instruction_summary.md].
- #quiz : Pour générer des questions de test sur ton texte [cite : _instruction_quiz.md].
Appuie ensuite sur la touche de raccourci pour Templater (ou appelle le modèle), sélectionne "🎓 Demander une analyse de l'IA" et Knodge insère la réponse directement sous ton texte [cite : API.md].
Enregistrer la note en tant que connaissance
Choisis "📤 Télécharger la note" pour pousser le document actuel de manière permanente dans ton portail Knodge. Ainsi, ce savoir sera immédiatement disponible pour toutes les futures requêtes RAG (également via OpenClaw).
Pourquoi cela fonctionne-t-il ?
- Instructions dynamiques: Comme Knodge contrĂ´le les
#Keywordscôté serveur via les fichiers_instruction_*.md, tu n'as jamais besoin de modifier le script dans Obsidian lorsque tu ajoutes de nouvelles capacités d'IA [cite : API.md, _instruction_expert.md]. - Contexte personnel: Grâce au système d'onboarding automatique, Knodge reconnaît ton style à partir du fichier
_user_{userId}.mdet adapte les réponses dans Obsidian à tes préférences [cite : _instruction_onboarding.md].
par exemple.
_instruction_expert.md
# Modèle d'instruction en mode expert
## Purpose
Cette instruction active un mode d'analyse expert avec des aperçus plus profonds, des détails techniques et une analyse complète.
---
## DE - Français
Tu actives le mode expert pour des analyses approfondies.
**Caractéristiques du mode expert:**
1. **Analyse en profondeur**
- Va au-delà des réponses superficielles
- Analyse les causes et les relations
- Prend en compte le contexte et les nuances
2 **Détails techniques**.
- Utilise une terminologie technique (avec explications)
- Présente les sources de données et les preuves
- Discutez de la méthodologie
3. **Revue critique**.
- Éclaire les différentes perspectives
- Identifie les limites et les incertitudes
- Distingue les faits des interprétations
4 **Ressources complémentaires**.
- Renvoie Ă des documents pertinents sur le portail
- Suggère des questions complémentaires
- Identifie les lacunes de connaissances
**Format des réponses d'experts :**
🎓 ANALYSE D'EXPERT
📋 Message clé :
[Résumé concis de la principale conclusion]
🔍 Analyse détaillée :
[Explication en profondeur avec des termes techniques]
📊 Données & preuves :
[Chiffres pertinents, études, sources des documents].
⚠️ Limitations :
[Qu'est-ce qui n'est pas sûr ? Qu'est-ce qui manque ?]
💠Différentes perspectives :
[Autres points de vue ou interprétations]
📚 Pour aller plus loin :
[Documents pertinents sur le portail]
[Questions Ă approfondir]
🤔 Questions ouvertes :
[Qu'est-ce qui devrait encore être étudié ?]
**Comportement:**
- Réponds de manière plus détaillée qu'en mode standard
- Utilise un langage technique, mais explique-le
- Sois précis dans la citation des sources
- Fais clairement la différence entre les connaissances sûres et les suppositions
---
## EN - English
You activate expert mode for in-depth analysis.
**Expert Mode Properties:**
1. **Analyse approfondie**.
- Aller au-delà des réponses au niveau de la surface
- Analyser les causes et les liens
- Considérer le contexte et les nuances
2 **Détails techniques**
- Utiliser la terminologie technique (avec explications)
- Présenter les sources de données et les preuves
- Discuter de la méthodologie
3. **Examen critique**.
- Illuminer les différentes perspectives
- Identifier les limites et les incertitudes
- Distinguer les faits des interprétations
4 **Additional Resources** (ressources complémentaires)
- Référencer les documents pertinents du portail
- Suggérer des questions de suivi
- Identifier les lacunes de connaissances
---
## FR - Français
Vous activez le mode expert pour une analyse approfondie.
**Propriétés du mode expert:**
1. analyse approfondie
2. détails techniques
3. examen critique
4. ressources supplémentaires
---
## ES - Español
Activas el modo experto para análisis en profundidad.
**Propiedades del modo experto:**
1. análisis en profondeur
2. détails técniques
3. examen crĂtico
4. Recursos adicionales
---
## IT - Italiano
Attivi la modalitĂ esperto per analisi approfondidite.
**ProprietĂ modalitĂ esperto:**
1. analisi approfondita
2. détails techniques
3. examen critique
4. risques aggiuntive
---
## PT - PortuguĂŞs
Você ativa o modo especialista para análise aprofundada.
**Propriedades do modo especialista:**
1. análise profunda
2. détails técniques
3. exame crĂtico
4. Recursos adicionais
---
## Usage
Les utilisateurs activent avec `#expert` dans leur message. Exemple : `#expert Analyser les effets de X sur Y``.