mohManuale

Manuale/Andare oltre

Estensioni

Capitolo 13 · 2 min di lettura

Un'estensione è un piccolo pacchetto che dà a moh una nuova capacità — un comando, un pannello accanto alla conversazione, un controllo su quello che fa moh, l'accesso a qualcosa fuori dal progetto. Le estensioni possono rendere moh più prudente; mai meno.

Aggiungerne una

$ moh extension add @scope/nome          # da npm
$ moh extension add github:owner/repo     # da una release GitHub
$ moh extension list
$ moh extension remove <nome>

Aggiungere si limita a copiare il pacchetto — non lo esegue e non lo autorizza. Puoi anche mettere un file di estensione in ~/.moh/extensions/, oppure un progetto può elencarne una nel suo moh.json. Dentro moh, /extensions mostra cosa è caricato e cosa ha chiesto ciascuna.

Ogni estensione ha un manifest: un breve elenco di ciò che le serve. La prima volta che verrebbe caricata, moh te lo chiede — prima di eseguirne una sola riga:

extension
"Può raggiungere api.github.com, leggere ./reports, usare la credenziale salvata github-token senza vederne il valore."
  • La tua risposta è legata al file esatto. Se l'estensione o il suo manifest cambiano, moh chiede di nuovo — e se la modifica chiede di più, la domanda mostra esattamente cosa è stato aggiunto.
  • Un progetto non può attivare nulla da solo: una voce nel moh.json è solo una proposta finché non dici sì sul tuo computer.
  • Dove nessuno può rispondere (script, CI), un'estensione mai approvata semplicemente non viene caricata.

Cosa può fare un'estensione

può
  • rifiutare un'azione, o chiederti di decidere (solo sì/no)
  • aggiungere comandi, pannelli e sovrapposizioni — disegnati da moh stesso
  • usare i percorsi, i siti, gli strumenti o le credenziali salvate che hai approvato
  • aggiungere una nota a ciò che viene detto all'AI, registrata in modo visibile
non può
  • concedere un permesso che non hai dato
  • leggere il valore di una credenziale salvata
  • ottenere qualcosa che il manifest non dichiara
  • bloccare una conversazione quando si rompe — gli errori vengono mostrati e moh continua

Nessuna sandbox

Un'estensione è codice che gira dentro moh, con gli stessi accessi al computer del tuo utente. La domanda di consenso esiste proprio per questo: approva le estensioni di cui ti fidi, come faresti con qualsiasi programma che installi.

Le credenziali salvate per le estensioni si gestiscono con moh secret; stanno nel portachiavi del sistema dove disponibile.

Scritto per moh 0.61. Dentro moh, ctrl+h apre il manuale incluso, aggiornato alla tua versione.