đ ïž 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``.