Un plugin è una cartella che può aggiungere a Kucedr diversi tipi di contributi. Gestisci i plugin in Impostazioni → Plugin: installali, attivali, disattivali o rimuovili senza riavviare l’app.
Cosa può contenere un plugin
| Tipo | Dove si trova | Cosa aggiunge |
|---|---|---|
| Estensioni | extensions/<id>/ | HTML, JS e CSS mostrati nella finestra principale in un frame isolato |
| App | apps/<id>/ | App autonome che si aprono in una finestra propria |
| Server MCP | mcp/<id>/mcp.json o mcp/servers.json | Strumenti per l’agente da server stdio locali o http remoti |
| Skill | skills/<id>/SKILL.md | Istruzioni che insegnano un’attività all’agente |
| Modelli | manifest.json → models | Modelli via API, o modelli locali tramite Ollama |
| Ricerca | manifest.json → web_search | Motori di ricerca web per l’agente |
| Database | manifest.json → vector_databases | Database vettoriali per la ricerca nella conoscenza |
| Archiviazione | manifest.json → storage | Archiviazione di file nel cloud |
| Bot | manifest.json → bots | Bot di messaggistica, come Telegram |
Il manifest non elenca i contributi nelle cartelle: Kucedr li trova dalle cartelle e il nome di ogni cartella è l’id del contributo. Un plugin il cui manifest contiene modelli, ricerca, database, archiviazione o bot è anche un provider. Vedi Provider.
Installare un plugin
- Apri Impostazioni → Plugin.
- Carica una cartella o un archivio
.tgz, oppure incolla un URL https di un.tgz. - Kucedr convalida il plugin e rende subito disponibili i suoi contributi.
I plugin installati si trovano in ~/.kucedr/plugins/<id>/. Un plugin installato sostituisce un plugin incluso con lo stesso id. Rimuovere un plugin elimina la sua cartella; disattivarlo nasconde tutti i suoi contributi insieme.
Plugin inclusi
Kucedr include plugin per provider di modelli, server MCP, ricerca, archiviazione e bot. Si possono disattivare ma non rimuovere. Il plugin principale Kucedr include le estensioni e le skill integrate e non può essere disattivato.
Struttura di un plugin
<plugin-id>/
manifest.json info sul plugin, più i servizi se è un provider
assets/ icone e altri dati
apps/<app-id>/ manifest.json dell’app + file di ingresso
extensions/<extension-id>/ manifest.json + index.html
mcp/servers.json facoltativo: configurazioni dei server per id
mcp/<server-id>/mcp.json un server per cartella
skills/<skill-id>/SKILL.md
Un manifest.json minimo:
{
"schemaVersion": 5,
"id": "acme-tools",
"title": "Acme Tools",
"version": "1.0.0",
"description": "Acme models, dashboard, and CRM tools.",
"categories": ["LLM"],
"minAppVersion": "1.3.0",
"icon": "icon.svg"
}
schemaVersion,id,title,versionedescriptionsono obbligatori. Le chiavi sconosciute vengono rifiutate.idè in kebab-case minuscolo e deve corrispondere al nome della cartella.iconè un file png, svg, jpg o webp inassets/, al massimo 256 KB.- Un plugin deve avere almeno un contributo e non può contenere link simbolici.
Estensioni e isolamento
Un’estensione richiede un index.html e un manifest.json con title, description e slot. Aprila da Estensioni nel menu dei comandi: sostituisce la chat e resta nella barra laterale finché è aperta.
Ogni estensione viene eseguita in un iframe con la propria origine, senza Node, senza window.api e senza accesso alla rete. Una policy di sicurezza dei contenuti rigorosa blocca gli script inline. Le estensioni si possono anche importare da sole in Impostazioni → Estensioni.
Limiti attuali
- I moduli di impostazione dei plugin, i permessi e un bridge verso l’host per le estensioni non sono ancora disponibili.
- Non ci sono ancora un catalogo di plugin né aggiornamenti automatici.
- La CLI di Kucedr usa un proprio formato di plugin e una propria cartella dati. L’app desktop non legge i plugin installati con la CLI.
Vedi App, Server MCP, Skill e la specifica dei plugin.