n8n-nodes-opencode-sdk
v0.1.0
Published
n8n node per interagire con il SDK di OpenCode AI
Maintainers
Readme
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-sdkDa 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
Directoryche 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ù moderniCreare 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 progettoOttenere il diff git del progetto corrente
Resource: VCS
Operation: Diff
Mode: gitCercare file nel progetto
Resource: Find
Operation: Find Files
Query: *test*
File Type Filter: tsSviluppo
# 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-sdkBuild
npm run buildIl comando compila TypeScript in dist/ e copia gli asset statici (icona SVG, metadata Codex).
Pubblicazione
npm publishIl package name deve iniziare con
n8n-nodes-e la keywordn8n-community-node-packagedeve essere presente inpackage.json.
Licenza
MIT - see LICENSE
