🛠️ Come fare: ponte Knodge.eu per Obsidian
Questa guida descrive come configurare Obsidian come interfaccia professionale per il vostro portale della conoscenza Knodge.eu. Con questa configurazione, è possibile caricare direttamente le note e richiedere le analisi dell'intelligenza artificiale (come le recensioni degli esperti o i riassunti) con la semplice pressione di un pulsante [citazione: API.md].
#1 Preparazione in Knodge.eu
Prima di collegare Obsidian, gli accessi API devono essere disponibili in Knodge.eu:
Chiavi API: Sono necessarie due chiavi dal cruscotto del portale:
1. Chat API key: Per le query e le analisi (api-chat).
2. Chiave API di caricamento: Una chiave con diritti di editor o manager per il caricamento dei documenti.
Portal slug: È l'identificatore del vostro portale nell'URL (ad esempio, my-knowledge-hub).
Istruzioni: Assicurarsi che file come _istruzione_esperto.md o _istruzione_sommario.md siano già stati caricati sul portale, in modo che le parole chiave (#esperto, #sommario) funzionino [citare: _istruzione_esperto.md, _istruzione_sommario.md].
2a configurazione in Obsidian
Utilizziamo il popolare plugin Templater per eseguire lo script JavaScript.
Passo 1: installare i plugin
- aprire le Impostazioni di Obsidian.
- andare su Community Plugins e disattivare la "Modalità sicura".
- cercare Templater e installarlo/attivarlo.
Passo 2: creare lo script
Creare una nuova nota (ad esempio nella cartella Templates/Knodge-Bridge.md) e inserire il seguente codice:
<%*
/* Knodge.eu Unified Bridge / SCP compatibile (Upload e Chat)
Personalizzato per il caricamento dei domini e i messaggi degli agenti.
*/
// CONFIGURAZIONE
const CHAT_API_KEY = "6393c04f..."; // La vostra chiave di chat
const UPLOAD_API_KEY = "cb7106f5..."; // La vostra chiave di upload
const DOMAIN_ID = "efdb0c9f..."; // Dalla vostra impostazione API
const PORTAL_SLUG = "faq"; // Il vostro identificativo del portale
const BASE_URL = "https://knodge.eu/api";
const activeView = app.workspace.getActiveViewOfType(obsidian.MarkdownView);
if (!activeView) {
new Notice("Nessuna nota attiva trovata.");
return;
}
const content = activeView.editor.getValue();
const fileName = `${activeView.file.basename}.md`;
// DIALOGO DI SELEZIONE
const mode = await tp.system.suggester(
["📤 Carica il documento sul dominio", "💬 Richiedi l'agente AI (Messaggi)"],
["upload", "chat"]
);
if (mode === "upload") {
// 1° LOGICA DI CARICAMENTO (basata sul dominio)
const formData = new FormData();
const blob = new Blob([content], { type: 'text/markdown' });
formData.append('file', blob, fileName);
nuovo avviso("Caricamento sul dominio in corso...");
try {
const res = await fetch(`${BASE_URL}/domains/${DOMAIN_ID}/documents`, {
metodo: "POST",
intestazioni: {
"X-API-Key": UPLOAD_API_KEY // Richiesta di header
},
corpo: formData
});
if (res.ok) new Notice("✅ Documento salvato con successo nel dominio!");
altrimenti new Notice("❌ Errore durante il caricamento.");
} catch (e) {
new Notice("❌ Errore di rete durante il caricamento.");
}
} else if (mode === "chat") {
// 2a LOGICA CHAT (endpoint messaggi agente)
new Notice("È stato richiesto un agente AI...");
try {
const res = await fetch(`${BASE_URL}/portal/${PORTAL_SLUG}/agent/messages`, {
metodo: "POST",
intestazioni: {
"Content-Type": "application/json",
"X-API-Key": CHAT_API_KEY //
},
body: JSON.stringify({
messaggi: [{ruolo: "utente", contenuto: contenuto }], // corpo conforme a SCP
stream: false, // Streaming disabilitato per l'integrazione con Obsidian
locale: "de"
})
});
const data = await res.json();
// Assunzione: la risposta viene restituita nel campo "response" o "message".
const aiMessage = data.response || (data.messages && data.messages[0].content);
if (aiMessage) {
const insertion = `\n\n---\n### 🤖 Agent response\n${aiMessage}`;
activeView.editor.replaceRange(insertion, { line: activeView.editor.lineCount(), ch: 0 });
nuovo avviso("✅ Risposta ricevuta.");
} else {
new Notice("❌ Nessuna risposta valida dall'agente.");
}
} catch (e) {
new Notice("❌ Errore con la richiesta dell'agente.");
}
}
%>
3. uso nella vita quotidiana
Nota di analisi (#parole chiave)
Scrivete i vostri pensieri in Obsidian. Se volete un'analisi specifica, aggiungete una parola chiave:
- #esperto: Per un'analisi tecnica approfondita [citare: _istruzione_esperto.md].
- #summary: Per ottenere un riassunto strutturato [citare: _instruction_summary.md].
- #quiz: Per generare domande di prova per il testo [citare: _instruction_quiz.md].
Quindi premere il tasto di scelta rapida per Templater (o chiamare il modello), selezionare "🎓 Richiedi analisi AI" e Knodge inserirà la risposta direttamente sotto il testo [citare: API.md].
Salva la nota come conoscenza
Selezionate "📤 Carica nota" per spostare definitivamente il documento corrente nel vostro portale Knodge. Questa conoscenza è immediatamente disponibile per tutte le future interrogazioni RAG (anche tramite OpenClaw).
Perché funziona
Istruzioni dinamiche: Poiché Knodge controlla le #parole chiave sul lato server tramite i file istruzioni_*.md, non dovrete mai cambiare lo script in Obsidian quando aggiungete nuove abilità AI [citare: API.md, _istruzioni_expert.md].
**Attraverso il sistema automatico di onboarding, Knodge riconosce il vostro stile dal file _user_{userId}.md e adatta le risposte in Obsidian alle vostre preferenze [cita: _instruction_onboarding.md].
ad esempio.
istruzione_esperto.md
# Modello di istruzione per la modalità esperto
## Scopo
Questa istruzione attiva una modalità di analisi per esperti con approfondimenti, dettagli tecnici e analisi complete.
---
## DE - Tedesco
Si attiva la modalità esperto per analisi approfondite.
**Caratteristiche della modalità esperto
1 **Analisi approfondita**
- Andare oltre le risposte superficiali
- Analizzare cause e connessioni
- Considerare il contesto e le sfumature
2 **Dettagli tecnici**
- Utilizzare una terminologia specializzata (con spiegazioni)
- Mostrare le fonti dei dati e le prove
- Discutere la metodologia
3. **Visione critica**
- Illuminare le diverse prospettive
- Identificare limiti e incertezze
- Distinguere i fatti dalle interpretazioni
4 **Altre risorse**
- Fare riferimento ai documenti pertinenti nel portale
- Suggerire ulteriori domande
- Identificare le lacune nella conoscenza
**Formato per le risposte degli esperti
🎓 ANALISI DEGLI ESPERTI
📋 Messaggio chiave:
[Riassunto conciso del risultato principale]
🔍 Analisi dettagliata:
[Spiegazione approfondita con termini tecnici]
📊 Dati e prove:
[Cifre, studi e fonti rilevanti tratte dai documenti].
⚠️ Limitazioni:
[Cosa c'è di incerto, cosa manca?]
💭 Prospettive diverse:
[Punti di vista o interpretazioni alternative].
📚 Ulteriori informazioni:
[Documenti rilevanti nel portale]
[Domande di approfondimento]
🤔 Domande aperte:
[Cos'altro si dovrebbe indagare?]
**Comportamento:**
- Rispondere in modo più dettagliato rispetto alla modalità standard
- Utilizzare un linguaggio tecnico, ma spiegarlo
- Essere precisi nel citare le fonti
- Distinguere chiaramente tra conoscenze comprovate e supposizioni.
---
## IT - Inglese
Si attiva la modalità esperto per un'analisi approfondita.
**Proprietà della modalità esperto:**
1. **Analisi approfondita**
- Andare oltre le risposte di superficie
- Analizzare cause e connessioni
- Considerare il contesto e le sfumature
2. **Dettagli tecnici**
- Utilizzare la terminologia tecnica (con spiegazioni)
- Mostrare le fonti dei dati e le prove
- Discutere la metodologia
3. **Esame critico**
- Illuminare le diverse prospettive
- Identificare limiti e incertezze
- Distinguere i fatti dalle interpretazioni
4. **Risorse aggiuntive**
- Fare riferimento ai documenti rilevanti del portale
- Suggerire domande di approfondimento
- Identificare le lacune di conoscenza
---
## FR - Français
Attivate la modalità esperto per un'analisi approfondita.
**Proprietà dell'esperto di modalità:**
1. analisi approfondita
2. tecniche di dettaglio
3. esame critico
4. risorse aggiuntive
---
## ES - Español
Attiva il modo esperto per un'analisi approfondita.
**Proprietà del modo experto:**
1. analisi approfondita
2. dettagli tecnici
3. esame critico
4. risorse aggiuntive
---
## IT - Italiano
Attivi la modalità esperto per analisi approfondite.
**Proprietà modalità esperto:**
1. analisi approfondita
2. approfondimenti tecnici
3. analisi critica
4. rischi aggiuntivi
---
## PT - Português
Você ativa o modo especialista para análise aprofundada.
**Proprietà del modo especialista:**
1. analisi approfondita
2. dettagli tecnici
3. esame critico
4. risorse aggiuntive
---
## Uso
Gli utenti si attivano con `#esperto` nel loro messaggio. Esempio: `#esperto Analizza gli effetti di X su Y`.