n8n-nodes-opencode-sdk

Nodo ufficiale per n8n che permette di interagire con OpenCode AI — un potente AI coding agent — tramite il suo SDK ufficiale (@opencode-ai/sdk).
Requisiti
- n8n v1.0+
- Un server OpenCode in esecuzione (locale o remoto)
- (Opzionale) Una API Key configurata in
opencode.json
Installazione
Da npm
npm install n8n-nodes-opencode-sdk
Da Settings di n8n
- Vai su Settings > Community Nodes
- Clicca Install
- Inserisci
n8n-nodes-opencode-sdk
- Riavvia n8n
Configurazione
Credenziali
Crea una nuova credenziale di tipo OpenCode SDK API con:
| Campo |
Descrizione |
| Server URL |
URL del server OpenCode (default: http://localhost:17424) |
| API Key |
Chiave API dal tuo opencode.json (opzionale) |
| Directory |
Path del progetto sul server (opzionale, sovrascrivibile per-operazione) |
Nota: Molte operazioni supportano un campo Directory che sovrascrive quello impostato nelle credenziali, permettendoti di operare su progetti diversi nello stesso workflow.
Risorse e Operazioni
Il nodo espone 16 risorse per un totale di oltre 70 operazioni:
Session
| Operazione |
Descrizione |
Create |
Crea una nuova sessione AI |
Get |
Recupera una sessione per ID |
Get Many |
Elenca tutte le sessioni |
Update |
Aggiorna proprietà della sessione |
Delete |
Elimina una sessione |
Send Prompt |
Invia un prompt e attendi risposta |
Send Prompt Async |
Invia un prompt senza attendere |
Get Messages |
Recupera i messaggi di una sessione |
Get Message |
Recupera un singolo messaggio |
Get Children |
Elenca le sessioni figlie |
Get Todo |
Ottiene i todo della sessione |
Get Diff |
Ottiene il diff della sessione |
Init |
Analizza il progetto e crea AGENTS.md |
Fork |
Crea un fork a un messaggio specifico |
Abort |
Interrompe una sessione in esecuzione |
Share |
Crea un link di condivisione |
Unshare |
Rimuove il link di condivisione |
Summarize |
Riassume la sessione |
Execute Command |
Esegue un comando nella sessione |
Run Shell |
Esegue un comando shell |
Revert |
Annulla un messaggio |
Unrevert |
Ripristina messaggi annullati |
Delete Message |
Elimina un messaggio |
File
| Operazione |
Descrizione |
List |
Elenca file e directory |
Read |
Legge il contenuto di un file |
Status |
Mostra lo stato git dei file |
VCS (Version Control)
| Operazione |
Descrizione |
Get Info |
Informazioni sul repository (branch, default branch) |
Status |
File modificati |
Diff |
Diff git o branch |
Apply Patch |
Applica una patch |
Project
| Operazione |
Descrizione |
List All |
Elenca tutti i progetti |
Get Current |
Progetto corrente |
Init Git |
Inizializza un repository git |
Update |
Aggiorna impostazioni progetto |
Directories |
Elenca le directory del progetto |
Find
| Operazione |
Descrizione |
Find Text |
Cerca testo nei file (ripgrep) |
Find Files |
Cerca file per nome |
Find Symbols |
Cerca simboli LSP |
Server
| Operazione |
Descrizione |
Health |
Verifica stato del server |
Get Config |
Legge la configurazione |
Update Config |
Aggiorna la configurazione |
List Agents |
Elenca gli agenti disponibili |
List Providers |
Elenca i provider AI |
Dispose |
Distrugge l'istanza corrente |
Upgrade |
Aggiorna la versione di OpenCode |
Tool
| Operazione |
Descrizione |
List |
Elenca strumenti con schema JSON |
List IDs |
Elenca tutti gli ID strumento |
Worktree
| Operazione |
Descrizione |
List |
Elenca i worktree git |
Create |
Crea un worktree |
Remove |
Rimuove un worktree |
Reset |
Resetta un worktree |
MCP (Model Context Protocol)
| Operazione |
Descrizione |
Status |
Stato dei server MCP |
Add |
Aggiunge un server MCP |
Connect |
Connette un server MCP |
Disconnect |
Disconnette un server MCP |
PTY (Terminale)
| Operazione |
Descrizione |
List |
Elenca sessioni PTY |
Create |
Crea una sessione PTY |
Get |
Info sessione PTY |
Update |
Aggiorna sessione PTY (dimensioni, titolo) |
Remove |
Rimuove sessione PTY |
Question
| Operazione |
Descrizione |
List |
Elenca domande in sospeso |
Reply |
Risponde a una domanda |
Reject |
Respinge una domanda |
Permission
| Operazione |
Descrizione |
List |
Elenca richieste di permesso |
Reply |
Risponde (allow/deny) |
Provider
| Operazione |
Descrizione |
List |
Elenca i provider configurati |
Get Auth Methods |
Metodi di autenticazione disponibili |
Sync
| Operazione |
Descrizione |
Start |
Avvia la sincronizzazione workspace |
Replay |
Riproduce eventi di sync |
Steal |
Sposta una sessione nel workspace |
App
| Operazione |
Descrizione |
Log |
Scrive un messaggio nei log del server |
List Agents |
Elenca agenti disponibili |
List Skills |
Elenca skill disponibili |
System
| Operazione |
Descrizione |
Dispose Instance |
Distrugge l'istanza corrente |
Get Path |
Percorsi correnti (home, state, config) |
List Commands |
Comandi disponibili |
LSP Status |
Stato del server LSP |
Formatter Status |
Stato del formatter |
Esempi d'uso
Inviare un prompt a una sessione
Resource: Session
Operation: Send Prompt
Session ID: <id-sessione>
Prompt Text: Refattorizza questo codice usando i pattern più moderni
Creare una sessione e inviare un prompt
Resource: Session
Operation: Create
Title: Refactoring
Agent: build
Model: claude-sonnet-4-20250514
↓ (usa l'ID output come Session ID)
Resource: Session
Operation: Send Prompt
Prompt Text: Migliora la struttura del progetto
Ottenere il diff git del progetto corrente
Resource: VCS
Operation: Diff
Mode: git
Cercare file nel progetto
Resource: Find
Operation: Find Files
Query: *test*
File Type Filter: ts
Sviluppo
# Clona il repository
git clone https://github.com/marcostoduto/n8n-nodes-opencode-sdk.git
cd n8n-nodes-opencode-sdk
# Installa dipendenze
npm install
# Compila
npm run build
# Collega localmente per test in n8n
npm link
# In n8n (nella directory di installazione di n8n):
npm link n8n-nodes-opencode-sdk
Build
npm run build
Il comando compila TypeScript in dist/ e copia gli asset statici (icona SVG, metadata Codex).
Pubblicazione
npm publish
Il package name deve iniziare con n8n-nodes- e la keyword n8n-community-node-package deve essere presente in package.json.
Licenza
MIT - see LICENSE
Supporto