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.
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.
| Concetto | Domanda a cui risponde | Esempio |
|---|---|---|
| Skill | Questa famiglia di capacità è abilitata e dispone dei suoi prerequisiti? | mail, photos, google-workspace |
Servizio di esecuzionebackend | Dove e con quale adattatore viene eseguita l'operazione? | file locali o Google Drive; calendario locale o Google Calendar |
| Servizio operativo | Quale 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.
Il registro usa tre categorie stabili. La categoria esprime provenienza e regime di fiducia, non il modo in cui il pianificatore formula una richiesta.
| Categoria | Contenuto | Disponibilità |
|---|---|---|
core | Capacità 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_party | Skill 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. |
imported | Skill 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.
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.
| Famiglia | Servizi correnti | Comportamento senza indicazione esplicita |
|---|---|---|
| file e cartelle | locale, Google Workspace | locale; Google viene scelto quando la richiesta nomina Drive, Docs, Sheets o Google Workspace |
| eventi | Google Workspace, calendario locale | primo servizio disponibile nell'ordine configurato; quello locale resta disponibile per le operazioni che supporta |
| contatti | Google Workspace | il 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.
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.
list_skills legge il registro e il catalogo caricato; non usa un modello per inventariare lo stato.set_skills abilita o disabilita una skill nota, passa dalle normali regole di autorizzazione e ha effetto dal turno successivo.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.
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.
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.
| Fonte | Responsabilità |
|---|---|
runtime/skills_catalog.py | classificazione delle skill mantenute dal progetto e relativi prerequisiti |
runtime/skill_registry.py | pacchetti installati, lingua, fiducia e stato persistente di abilitazione |
runtime/skill_admin.py | inventario e modifica delle skill dalla conversazione |
runtime/backend_resolver.py | scelta deterministica dei servizi per file, cartelle, eventi e contatti |
runtime/mail_account_resolver.py | scelta dell'account e del servizio di posta |
| manifesti firmati | argomenti 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.
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