Skip to content

Obsidian

Connettere l'agent Triggerfish a uno o più vault Obsidian per poter leggere, creare e cercare note. L'integrazione accede ai vault direttamente sul filesystem -- non è richiesta l'app Obsidian né alcun plugin.

Cosa Fa

L'integrazione Obsidian fornisce all'agent questi tool:

ToolDescrizione
obsidian_readLeggere il contenuto e il frontmatter di una nota
obsidian_writeCreare o aggiornare una nota
obsidian_listElencare le note in una cartella
obsidian_searchCercare nei contenuti delle note
obsidian_dailyLeggere o creare la nota giornaliera di oggi
obsidian_linksRisolvere wikilink e trovare backlink
obsidian_deleteEliminare una nota

Configurazione

Passo 1: Connettere il Vault

bash
triggerfish connect obsidian

Questo richiede il percorso del vault e scrive la configurazione. È possibile anche configurarlo manualmente.

Passo 2: Configurare in triggerfish.yaml

yaml
obsidian:
  vaults:
    main:
      vaultPath: ~/Obsidian/MainVault
      defaultClassification: INTERNAL
      excludeFolders:
        - .obsidian
        - .trash
      folderClassifications:
        "Private/Health": CONFIDENTIAL
        "Private/Finance": RESTRICTED
        "Work": INTERNAL
        "Public": PUBLIC
OpzioneTipoObbligatorioDescrizione
vaultPathstringPercorso assoluto alla radice del vault Obsidian
defaultClassificationstringNoClassificazione predefinita per le note (predefinito: INTERNAL)
excludeFoldersstring[]NoCartelle da ignorare (predefinito: .obsidian, .trash)
folderClassificationsobjectNoMappare percorsi cartella a livelli di classificazione

Vault Multipli

È possibile connettere vault multipli con livelli di classificazione diversi:

yaml
obsidian:
  vaults:
    personal:
      vaultPath: ~/Obsidian/Personal
      defaultClassification: CONFIDENTIAL
    work:
      vaultPath: ~/Obsidian/Work
      defaultClassification: INTERNAL
    public:
      vaultPath: ~/Obsidian/PublicNotes
      defaultClassification: PUBLIC

Classificazione Basata sulle Cartelle

Le note ereditano la classificazione dalla loro cartella. La cartella corrispondente più specifica vince:

yaml
folderClassifications:
  "Private": CONFIDENTIAL
  "Private/Health": RESTRICTED
  "Work": INTERNAL

Con questa configurazione:

  • Private/todo.md è CONFIDENTIAL
  • Private/Health/records.md è RESTRICTED
  • Work/project.md è INTERNAL
  • notes.md (radice del vault) usa defaultClassification

Il gating della classificazione si applica: l'agent può leggere solo le note il cui livello di classificazione fluisce verso il taint della sessione corrente. Una sessione con taint PUBLIC non può accedere a note CONFIDENTIAL.

Sicurezza

Confinamento del Percorso

Tutte le operazioni sui file sono confinate alla radice del vault. L'adattatore usa Deno.realPath per risolvere i symlink e prevenire attacchi di path traversal. Qualsiasi tentativo di leggere ../../etc/passwd o simile viene bloccato prima che il filesystem venga toccato.

Verifica del Vault

L'adattatore verifica che una directory .obsidian/ esista alla radice del vault prima di accettare il percorso. Questo garantisce che si stia puntando a un vault Obsidian reale, non a una directory arbitraria.

Applicazione della Classificazione

  • Le note portano la classificazione dalla loro mappatura di cartella
  • Leggere una nota CONFIDENTIAL aumenta il taint della sessione a CONFIDENTIAL
  • La regola no write-down impedisce di scrivere contenuto classificato in cartelle a classificazione inferiore
  • Tutte le operazioni sulle note passano attraverso gli hook di policy standard

L'adattatore comprende la sintassi [[wikilink]] di Obsidian. Il tool obsidian_links risolve i wikilink in percorsi file reali e trova tutte le note che linkano a una determinata nota (backlink).

Note Giornaliere

Il tool obsidian_daily legge o crea la nota giornaliera di oggi usando la convenzione della cartella delle note giornaliere del vault. Se la nota non esiste, ne crea una con un template predefinito.

Frontmatter

Le note con frontmatter YAML vengono analizzate automaticamente. I campi del frontmatter sono disponibili come metadati durante la lettura delle note. L'adattatore preserva il frontmatter durante la scrittura o l'aggiornamento delle note.