← Indice documentazione Guida all'architettura › skill e servizi

Metnos

Skill e servizi di esecuzione
Che cosa è attivo, come viene scelto un fornitore e perché questa scelta non amplia i permessi.

Una skill stabilisce se un gruppo di capacità è disponibile. Un servizio di esecuzione, chiamato backend nel codice, stabilisce come una capacità raggiunge un archivio locale o un fornitore concreto. I due piani restano separati dal pianificatore e dall'autorizzazione.

Indice

  1. Cominciare da una richiesta naturale
  2. I tre tipi di skill
  3. Come viene scelto il servizio
  4. Abilitazione e dormienza
  5. Autorità e isolamento
  6. Skill importate e MCP
  7. Fonti correnti
  8. Esempi pronti da usare

1. Cominciare da una richiesta naturale

Chiedi a Metnos con una richiesta come quella di questo esempio: «Quali skill sono attive e quali sono dormienti?» Metnos legge il registro corrente e mostra, per ciascuna skill, stato, prerequisiti ed executor associati. Non occorre conoscere il nome di un comando.

Per scegliere un fornitore in una singola operazione, nominalo nella frase: «Cerca su Google Drive il bilancio 2025». Se non lo nomini, Metnos applica l'ordine configurato per quella famiglia di dati. La scelta non viene lasciata all'intuizione del modello linguistico.

ConcettoDomanda a cui rispondeEsempio
SkillQuesta famiglia di capacità è abilitata e dispone dei suoi prerequisiti?mail, photos, google-workspace
Servizio di esecuzione
backend
Dove e con quale adattatore viene eseguita l'operazione?file locali o Google Drive; calendario locale o Google Calendar
Servizio operativoQuale processo di Metnos è installato e in esecuzione?server HTTP, Playwright, SearXNG, Photon

I servizi operativi dell'ultima riga sono quelli mostrati nella chat web in Settings > Sistema > Servizi (/admin/services). Quella pagina controlla processi e unità di servizio; non è il registro delle skill e non sceglie il fornitore di una singola richiesta. Da Telegram il Tutor può indicare questo percorso, ma la pagina si apre nella chat web.

2. I tre tipi di skill

Il registro usa tre categorie stabili. La categoria esprime provenienza e regime di fiducia, non il modo in cui il pianificatore formula una richiesta.

CategoriaContenutoDisponibilità
coreCapacità senza un servizio esterno obbligatorio: file e processi locali, tempo, attività pianificate, firme, credenziali e operatori sulle liste.Il nucleo non può essere disabilitato come una skill ordinaria.
first_partySkill mantenute da Metnos, comprese posta, foto, web, georiferimento, calendari, GitHub, Google Workspace, amministrazione del sistema e archivi SQL.Sono incluse nel progetto; possono diventare dormienti se manca un prerequisito o se l'amministratore le disabilita.
importedSkill acquisite da una sorgente esterna e trasformate in executor Metnos con provenienza registrata.Passano firma, adattamento, verifica e isolamento previsti per il codice importato.

Le skill mantenute dal progetto sono classificate dal registro runtime/skills_catalog.py; i pacchetti dichiarano inoltre lingua, fiducia e abilitazione automatica nel frontespizio di SKILL.md. Il catalogo generato degli executor resta la fonte per nomi e quantità correnti.

3. Come viene scelto il servizio

Il risolutore centrale possiede la scelta per le famiglie con più servizi. Riceve il nome canonico dell'oggetto, la richiesta e lo schema degli argomenti; restituisce soltanto un valore ammesso dal contratto dell'executor. Il modello linguistico non sceglie da un elenco di marche.

FamigliaServizi correntiComportamento senza indicazione esplicita
file e cartellelocale, Google Workspacelocale; Google viene scelto quando la richiesta nomina Drive, Docs, Sheets o Google Workspace
eventiGoogle Workspace, calendario localeprimo servizio disponibile nell'ordine configurato; quello locale resta disponibile per le operazioni che supporta
contattiGoogle Workspaceil servizio viene usato soltanto se sono disponibili le credenziali richieste

La posta applica lo stesso principio attraverso il risolutore degli account: l'account indicato esplicitamente prevale, altrimenti vale l'account predefinito configurato. GitHub conserva executor qualificati dal fornitore; il motore li recluta semanticamente quando la richiesta nomina GitHub. Gli archivi SQL scelgono invece il servizio dal registro dello specifico archivio. Sono forme diverse di una regola unica: la configurazione e il contesto esplicito possiedono la scelta, non un'ipotesi libera del pianificatore.

Se il servizio richiesto non è disponibile o non è ammesso dallo schema di quell'executor, Metnos restituisce un errore esplicito. Non sostituisce in silenzio il fornitore richiesto con quello predefinito.

4. Abilitazione e dormienza

Una skill può essere abilitata ma dormiente: rimane visibile nell'inventario, mentre i suoi executor non entrano fra le scelte del pianificatore. Accade, per esempio, quando mancano credenziali OAuth, un indice necessario o un archivio registrato.

  1. list_skills legge il registro e il catalogo caricato; non usa un modello per inventariare lo stato.
  2. set_skills abilita o disabilita una skill nota, passa dalle normali regole di autorizzazione e ha effetto dal turno successivo.
  3. La modifica invalida la memoria del catalogo mediante lo stato persistente; non richiede il riavvio del server.
  4. Il nucleo non è disattivabile. Un nome sconosciuto produce un errore con l'elenco dei nomi ammessi.

L'abilitazione è configurazione dell'installazione, non una preferenza dedotta dalla prosa di un singolo utente. Soltanto un'identità autorizzata può modificarla; lingua, conversazioni e sessioni restano invece isolate per utente.

5. Autorità e isolamento

Scegliere un servizio non concede il permesso di usarlo. Gli executor che raggiungono un fornitore dichiarano la capacità chiusa provider:access, con un vincolo sul valore finale del selettore quando necessario. Il motore calcola prima il servizio effettivo e poi valuta capacità, credenziali, rete, ruolo dell'utente e consenso.

Il nome dell'executor, una parola nella richiesta o un argomento proposto dal modello non sono da soli fonti di autorità. Il profilo di isolamento deriva dal manifesto firmato e riceve soltanto le risorse richieste dalle capacità effettive. La separazione fra skill e servizio serve quindi a cambiare l'adattatore senza aggirare regole, firme o postcondizioni.

6. Skill importate e MCP

Una skill esterna non viene eseguita direttamente. L'importatore ne analizza i comandi, li associa al vocabolario governato, genera o riusa executor con un contratto Metnos, registra la provenienza e applica le verifiche di ammissione. La pagina Importazione delle skill descrive il processo e i suoi rifiuti.

MCP risolve la scoperta e l'invocazione di strumenti esposti da un server; non sostituisce il contratto di autorità di Metnos. Non è disponibile un executor generico che accetti liberamente server, tool e argomenti MCP. Un eventuale adattatore deve restare dietro un executor canonico, con schema, capacità e verifica dell'esito dichiarati.

7. Fonti correnti

FonteResponsabilità
runtime/skills_catalog.pyclassificazione delle skill mantenute dal progetto e relativi prerequisiti
runtime/skill_registry.pypacchetti installati, lingua, fiducia e stato persistente di abilitazione
runtime/skill_admin.pyinventario e modifica delle skill dalla conversazione
runtime/backend_resolver.pyscelta deterministica dei servizi per file, cartelle, eventi e contatti
runtime/mail_account_resolver.pyscelta dell'account e del servizio di posta
manifesti firmatiargomenti ammessi, capacità, collocazione, isolamento e prove dell'executor

Per i processi installati e controllabili dall'interfaccia, consulta la guida all'interfaccia e apri Settings > Sistema > Servizi nella chat web.

8. Esempi pronti da usare

Le prime quattro frasi agiscono sul catalogo o su una capacità. L'ultima chiede invece al Tutor di spiegare la pagina dei processi operativi. Questa distinzione evita che la parola «servizio» venga interpretata come skill, fornitore o unità systemd senza il contesto necessario.


Metnos — skill e servizi di esecuzione