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

TipoDove si trovaCosa aggiunge
Estensioniextensions/<id>/HTML, JS e CSS mostrati nella finestra principale in un frame isolato
Appapps/<id>/App autonome che si aprono in una finestra propria
Server MCPmcp/<id>/mcp.json o mcp/servers.jsonStrumenti per l’agente da server stdio locali o http remoti
Skillskills/<id>/SKILL.mdIstruzioni che insegnano un’attività all’agente
Modellimanifest.json → modelsModelli via API, o modelli locali tramite Ollama
Ricercamanifest.json → web_searchMotori di ricerca web per l’agente
Databasemanifest.json → vector_databasesDatabase vettoriali per la ricerca nella conoscenza
Archiviazionemanifest.json → storageArchiviazione di file nel cloud
Botmanifest.json → botsBot 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

  1. Apri Impostazioni → Plugin.
  2. Carica una cartella o un archivio .tgz, oppure incolla un URL https di un .tgz.
  3. 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, version e description sono 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 in assets/, 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.