Automazione e script

Ultimo aggiornamento: 2026-07-15

Plainva non ha un sistema di plugin che esegue codice di terze parti. È invece il vault stesso a fare da interfaccia di estensione: le tue note sono semplice Markdown, i database sono puro YAML (.base), e le convenzioni OKF danno a ogni file una struttura prevedibile. Qualsiasi cosa sia in grado di leggere e scrivere file — uno script shell, un programma Python, uno strumento CLI, un job pianificato o un agente IA — può estendere, generare o riorganizzare il tuo vault senza bisogno di un’unica API specifica di Plainva.

Questa pagina spiega come farlo in sicurezza. Il formato esatto di ogni file, a livello di byte, è documentato separatamente nella File Format Reference; questa pagina ne è il compagno pratico: le regole, il flusso di lavoro e cosa consegnare a un assistente IA.

Perché file invece di una sandbox per plugin

Se vuoi qualcosa che Plainva non fa di serie, non aspetti un plugin — scrivi un piccolo script che agisce sui file.

Leggere un vault in sicurezza

Tutto è testo UTF-8:

Leggere non richiede mai particolare attenzione — i file di testo non possono essere “corrotti” leggendoli. Le regole seguenti riguardano tutte la scrittura.

Scrivere un vault in sicurezza

Segui queste regole e Plainva (e Obsidian) accetteranno le tue modifiche senza problemi. Plainva osserva la cartella del vault: una scrittura esterna viene rilevata e re-indicizzata automaticamente, di solito entro un secondo.

  1. Scrivi in UTF-8 senza BOM, con terminatori di riga LF. Gli strumenti Windows che usano UTF-16 o CRLF come impostazione predefinita producono file che Plainva considera modificati a ogni sincronizzazione.
  2. Scrivi in modo atomico. Scrivi in un file temporaneo nella stessa cartella, poi rinominalo sopra il file di destinazione. Una nota scritta solo a metà (ad esempio dopo un arresto anomalo) è peggio di nessuna modifica. Plainva stesso scrive ogni nota in questo modo.
  3. Conserva il frontmatter OKF e le chiavi sconosciute. Mantieni type e okf_version quando riscrivi una nota, e non scartare mai le chiavi del frontmatter che non riconosci — falle sopravvivere invariate. Non “ripulire” chiavi che non capisci.
  4. Non toccare mai .plainva/. Quella cartella contiene l’indice locale di Plainva, i backup, i fissaggi del grafo e lo stato di sincronizzazione. Non fa parte dei tuoi contenuti e i tuoi script non devono mai scriverla, sincronizzarla o includerla in un commit su Git.
  5. Rispetta le regole della .base. Una .base usa solo le quattro chiavi di primo livello di Obsidian (filters, formulas, properties, views); ogni vista richiede un name; i filtri sono a radice singola. Tutti i dati specifici di Plainva vanno sotto sotto-chiavi annidate plainva:. La File Format Reference contiene il contratto completo, incluso un esempio di relazioni a due vie.
  6. Non entrare in conflitto con l’editor. Se una nota è aperta e ha modifiche non salvate in Plainva, evita di riscriverla da uno script nello stesso momento. Plainva ha un risolutore di conflitti come rete di sicurezza, ma il percorso più pulito è lasciare che l’app salvi per prima (oppure modificare note che al momento non sono aperte).

Casi d’uso

Alcuni compiti comuni, tutti semplici operazioni sui file:

Mantieni gli script idempotenti quando possibile: eseguirli due volte non dovrebbe duplicare i contenuti.

Consegnare il vault a un assistente IA

Un agente IA con accesso in lettura/scrittura a una cartella del vault è esattamente il caso per cui questo design è pensato. Perché funzioni correttamente:

  1. Dagli la File Format Reference. È scritta per un lettore automatico: il contratto del frontmatter OKF, la serializzazione proprietà→YAML, lo schema .base completo con le sue regole rigide di Obsidian, il contratto di index.md e le regole di sicurezza — tutto ciò di cui un agente ha bisogno per modificare i file senza romperli.
  2. Puntalo sulla cartella del vault, non sulla cartella .plainva/. Chiarisci che .plainva/ è vietata.
  3. Chiedi modifiche atomiche e minime. Un agente che riscrive un’intera nota per cambiare una sola proprietà dovrebbe conservare il resto del frontmatter e del corpo del testo invariato.

Poiché il contratto è un documento e non un’API in esecuzione, le stesse istruzioni funzionano con qualsiasi assistente, offline o online.

Sicurezza in breve

Vedi anche