VT Code e OpenCode sono entrambi agent di coding da terminale gratuiti, che non addebitano nulla al client ed entrambi accettano il proprio endpoint compatibile con OpenAI, quindi non si tratta di un confronto di prezzi. Le differenze reali riguardano dove ciascuno consente di dichiarare quell'endpoint, in che direzione puntano le impostazioni predefinite delle autorizzazioni e se si desidera un abbonamento da 10 $ al mese nella stessa soluzione. VT Code è un singolo binario Rust di un progetto indipendente guidato da un solo maintainer. OpenCode è un agent TypeScript dell'azienda Anomaly, con un'app desktop, estensioni per editor e due portafogli proprietari.
È necessario chiarire prima due trappole nei nomi, perché sbagliarne anche solo una invalida tutto ciò che segue. "VT Code" non è Visual Studio Code e VT Code, in modo fuorviante, distribuisce una propria estensione complementare per VS Code con una serie di versioni separata. Inoltre, tre cose diverse si chiamano OpenCode — solo una di esse rientra in questo confronto.
Cosa stai confrontando realmente
| Progetto | Cosa sono oggi | Linguaggio e licenza | Versione al 21 settembre 2026 |
|---|---|---|---|
| vinhnx/VTCode | Attivo. Un agent di coding da terminale in Rust guidato da un solo maintainer, con contributori esterni accreditati nel README. Scritto "VT Code" nel testo, vtcode come binario e crate | Rust. "MIT OR Apache-2.0" secondo il README; GitHub rileva Apache-2.0 | CLI 0.165.0, pubblicata quel giorno; crates.io corrisponde |
| anomalyco/opencode | Attivo. L'OpenCode pubblicato su opencode.ai. github.com/sst/opencode ora restituisce un 301 qui e il footer del sito riporta "© 2026 Anomaly" | TypeScript. MIT | Due righe contemporaneamente: release v1.18.31 (14 settembre) e npm @opencode/cli 2.0.12 |
| opencode-ai/opencode | Archiviato. La CLI Go proseguita come Crush di Charm. Non è l'OpenCode di questa pagina — non ricavare da essa configurazione o prezzi | Go. MIT | Ultimo push il 18 settembre 2025 |
Metadati del repository, release e dist-tag letti dall'API di GitHub, npm e crates.io il 21 settembre 2026. Una quarta collisione: "OpenCode Go" è anche il nome del piano di abbonamento da 10 $ al mese di Anomaly, che non ha nulla a che vedere con il linguaggio Go o con la CLI Go archiviata — e VT Code peggiora la situazione chiamando una delle proprie chiavi provider integrate opencode-go. Si noti anche la rapidità con cui cambia la versione di VT Code: 0.164.0, 0.164.2 e 0.165.0 sono state tutte distribuite in circa 27 ore tra il 20 e il 21 settembre; leggere quindi il tag invece di fidarsi di una versione stampata su una pagina qualsiasi, inclusa questa.
Chi dovrebbe scegliere quale
| Se questa descrizione corrisponde al tuo caso | Scegli | Perché, nello specifico |
|---|---|---|
| Si desidera che il gateway sia fissato nel repository, così che ogni clone e ogni job CI lo utilizzi | OpenCode | Un opencode.json salvato nella root del progetto è un normale dato del progetto e registra il provider. VT Code rifiuta la stessa configurazione |
| Si desidera l'opposto: un repository clonato non deve mai poter reindirizzare il traffico del proprio modello | VT Code | Un [[custom_providers]] non vuoto proveniente da un workspace o da un livello di progetto viene rifiutato prima della registrazione del provider — un livello nominato nel proprio modello di sicurezza |
| Si desidera che l'agent si fermi e chieda prima di toccare qualsiasi cosa, già dalla configurazione predefinita | VT Code | Impostazioni predefinite documentate: tools.default_policy "prompt", security.human_in_the_loop true, sandbox.default_policy "read_only", automation.full_auto.enabled false |
| Si preferisce che proceda e venga poi limitato con pattern per singolo strumento | OpenCode | La maggior parte delle autorizzazioni è impostata per impostazione predefinita su "allow", mentre doom_loop e external_directory sono impostati su "ask"; le regole sono pattern glob per strumento, e prevale l'ultima corrispondenza |
| Serve più di un terminale — un'app desktop, estensioni per editor, GitHub o GitLab | OpenCode | Distribuisce un'app desktop tramite brew install --cask opencode-desktop, oltre a un'estensione per VS Code e i fork Cursor, Windsurf e VSCodium che si installa quando si esegue opencode nel terminale integrato |
| Si desidera gestire l'agent dal proprio servizio tramite HTTP | OpenCode | opencode serve espone una specifica OpenAPI 3.1 su 127.0.0.1:4096 e l'SDK viene generato da essa; la TUI è solo un client |
| Si desidera un singolo binario statico con una whitelist rigida dei comandi, invece di una toolchain Node | VT Code | Un singolo binario Rust. Il livello 1 del suo modello di sicurezza consente nove comandi — ls, cat, cp, head, printenv, pwd, rg, sed, which — e per impostazione predefinita blocca tutto il resto |
| Si desidera un costo fisso di 10 $ al mese per un insieme selezionato, invece di token a consumo | OpenCode | OpenCode Go è quel prodotto, con limiti per modello e un abbonato per workspace. VT Code distribuisce la chiave provider, ma non compare in nessuno dei due elenchi di client di Go |
| Si desidera un unico saldo prepagato per le famiglie Claude e GPT di punta | Entrambi | Entrambi accettano un endpoint di terze parti compatibile con OpenAI senza vincoli legati al piano. Nessuno applica un paywall ai provider personalizzati |
Sul costo della migrazione. La metà economica è AGENTS.md: entrambi lo leggono dalla root del progetto, quindi il file che descrive le convenzioni sopravvive intatto a uno spostamento in entrambe le direzioni. La metà costosa è tutto il resto. I due formati di configurazione sono disgiunti — TOML con array-of-tables contro JSON che nomina un pacchetto npm per provider — e non esiste alcun convertitore, quindi una configurazione locale al progetto va riscritta manualmente. Se definizioni MCP, skill, plugin, agent personalizzati o cronologia delle sessioni vengano trasferiti è qualcosa che questa pagina non ha stabilito; pertanto non stima il tempo di migrazione oltre quella riscrittura.
L'unica asimmetria che vale la decisione: dove può risiedere l'endpoint
Questa è la differenza che nessun template generico menziona e che ribalta il consueto istinto da monorepo. OpenCode tratta un provider personalizzato come un normale dato del progetto: un opencode.json salvato nel repository funziona, ed è così che un team standardizza tutti su un gateway con un unico file revisionato. VT Code lo rifiuta deliberatamente.
Il riferimento ai campi di configurazione di VT Code lo dichiara direttamente nel campo: "I valori non vuoti provenienti dai livelli workspace/progetto controllati dal repository vengono rifiutati; definire gli endpoint dei provider nella configurazione attendibile di sistema/utente o in una configurazione selezionata esplicitamente." Lo stesso rifiuto è ripetuto su custom_providers[].base_url, su custom_providers[].auth.command e su provider_overrides.*.base_url e .api_key_env. Il suo modello di sicurezza esplicita il ragionamento come un livello autonomo: il loader registra l'origine vincente di ogni campo unito, tratta i file nella root del workspace, i file .vtcode/ del workspace e i profili di progetto come controllati dal repository e interrompe il processo prima della validazione del provider; secondo la documentazione, ciò impedisce a un repository di introdurre l'eseguibile auth.command di un provider personalizzato o di reindirizzare le richieste tramite un base URL sovrascritto.
La conseguenza pratica è quindi questa: con OpenCode, una pull request unificata indirizza l'intero team verso un gateway. Con VT Code, la stessa modifica è un'installazione per macchina nella configurazione utente o di sistema, oppure un percorso --config passato all'avvio. È un compromesso reale — una soluzione offre comodità di distribuzione, l'altra un controllo sulla supply chain — e qualunque si preferisca costituisce una ragione più forte per scegliere qui un client rispetto a qualsiasi elenco di funzionalità. Entrambi i fatti sono stati letti da main il 21 settembre 2026.
Autorizzazioni, autonomia e superfici distribuite da ciascuno
| Comportamento | VT Code | OpenCode |
|---|---|---|
| Comportamento predefinito degli strumenti | Chiedi prima: tools.default_policy è "prompt" e security.human_in_the_loop è true | Consenti per lo più; read è consentito, ma i file .env sono negati per impostazione predefinita |
| Modalità autonoma | Disattivata per impostazione predefinita e soggetta a vincoli: require_profile_ack true, max_turns 100 e un elenco esplicito di strumenti consentiti | --auto approva tutto ciò che non è esplicitamente negato; le negazioni esplicite continuano a essere applicate |
| Sandbox | Documentata come livello opzionale con isolamento del filesystem e una whitelist di rete | Nessuna documentata — /docs/sandbox/ restituisce 404 e la sandbox che viene effettivamente mostrata è un plugin Daytona di terze parti nell'elenco dell'ecosistema dei plugin. L'assenza di documentazione non dimostra che il runtime sia privo di isolamento |
| Governance dei provider | providers_whitelist limita i provider che possono essere raggiunti in assoluto; la guida lo presenta come un controllo per configurazioni con gateway aziendale o air-gapped | whitelist e blacklist operano sui modelli all'interno di un provider, nascondendoli al selettore /models |
| Integrazione con gli editor | ACP tramite vtcode acp, un'estensione Zed nel repository e un companion per VS Code con una propria serie di versioni | ACP tramite opencode acp, un'app desktop ed estensioni che si installano dal terminale integrato |
| Superficie per l'esecuzione senza supervisione | Sottocomandi su un unico binario — vtcode exec con eventi JSON, review, eval, schedule — oltre a un server di compatibilità Anthropic-Messages | Separazione client/server: opencode serve con una specifica OpenAPI 3.1 e un SDK generato da essa |
Fonti: il riferimento ai campi di configurazione, il modello di sicurezza e la guida ai provider di VT Code; la documentazione di OpenCode su autorizzazioni, provider, server e ACP. Tutto letto il 21 settembre 2026 e tutto descrive impostazioni predefinite: ciascun client può essere riconfigurato nella direzione opposta. Entrambi supportano ACP ed entrambi supportano MCP, quindi l'integrazione con gli editor è quasi alla pari, non un elemento distintivo.
È il portafoglio, non il client, a determinare dove finiscono i soldi
OpenCode vende due prodotti propri. VT Code non vende nulla, il che è di per sé un elemento da considerare: ogni token che invia viene fatturato da chiunque si sia configurato e non esiste un piano proprietario su cui ripiegare.
| Portafoglio | Prezzo pubblicato | Cosa monitorare |
|---|---|---|
| VT Code | Niente. Nessun account, nessun livello, nessun servizio ospitato | Il finanziamento consiste in sponsorizzazioni volontarie. L'intero addebito è quello dell'endpoint a cui lo si indirizza |
| OpenCode Go | "un abbonamento a basso costo da 10 $/mese" su un elenco pubblicato di modelli di coding open, che la stessa pagina afferma "potrebbe cambiare mentre ne testiamo e aggiungiamo di nuovi" | Non è illimitato. Ogni modello ha un limite mensile espresso in dollari di utilizzo, pubblicato da 15 $ a 60 $, con il limite di 5 ore pari al 20% di tale importo e il limite settimanale pari al 50%. Un membro per workspace può abbonarsi |
| OpenCode Zen | Credito prepagato a consumo, per milione di token | Ricarica automaticamente 20 $ quando il saldo scende sotto 5 $, salvo modifica o disattivazione; le commissioni della carta vengono trasferite all'utente al 4,4% più 0,30 $ per transazione. La documentazione indica inoltre che modelli economici possono comparire nella cronologia di utilizzo perché Zen li usa per generare i titoli delle sessioni |
| Qualsiasi endpoint di terze parti | Le tariffe di quel provider | Supportato da entrambi i client senza vincoli legati al piano. Zen e Go sono descritti nella documentazione proprietaria di OpenCode come completamente opzionali |
Prezzi e quote letti dalla documentazione proprietaria di OpenCode il 21 settembre 2026. Due aspetti da conoscere prima di confrontarli. Go pubblica termini sui dati per modello che non sono uniformi: la maggior parte delle righe indica che i dati non vengono usati per l'addestramento e una conservazione pari a zero giorni, mentre alcune indicano una conservazione di 30 giorni e due modelli dei contributori sono contrassegnati come usati per l'addestramento e non a conservazione zero; controllare quindi la riga relativa al modello che si intende utilizzare. Inoltre, Zen pubblica deprecazioni datate, quindi un confronto ancorato a un singolo model ID può diventare obsoleto più rapidamente della pagina in cui compare. OpenCode Enterprise è un modulo di contatto senza prezzo pubblicato e questa pagina non ne cita alcuno.
Quanto costa una sessione sul proprio endpoint
Le cifre riportate di seguito sono calcoli illustrativi sui token, non costi misurati delle attività e non un limite massimo di fatturazione. Si supponga una sessione agent che invia 200.000 token di input non memorizzati nella cache e riceve 15.000 token di output: un'ipotesi per il confronto, non una misurazione del proprio repository. Le tariffe sono prezzi aggiornati del catalogo Kunavo per milione di token; l'ultima colonna esegue semplicemente una divisione, quindi eredita ogni ipotesi precedente.
| Modello | Input / output per 1M | Stima per una sessione | Sessioni per 10 $ di credito |
|---|---|---|---|
| Claude Haiku 4.5 | $0,70 / $3,50 | $0,192 | 51 |
| GPT-5.6 Terra | $0,70 / $4,20 | $0,203 | 49 |
| Claude Sonnet 4.6 | $2,10 / $10,50 | $0,578 | 17 |
| Claude Sonnet 5 | $1,40 / $7,00 | $0,385 | 25 |
Confrontare quell'ultima colonna con i 10 $ al mese di OpenCode Go e poi resistere alla tentazione di considerarlo un verdetto. Le due grandezze non sono la stessa unità: i limiti di Go sono espressi in dollari di utilizzo del suo elenco, non in dollari spesi, e i due insiemi si sovrappongono solo in parte: GPT 5.6 Luna è nell'elenco pubblicato da Go, mentre le righe Claude e Gemini nella tabella sopra non lo sono. Un abbonamento offre inoltre prevedibilità, non una tariffa. Ciò che la tabella stabilisce è la forma della domanda: se il lavoro consiste in poche sessioni lunghe alla settimana su un modello economico, i token a consumo arrivano prima; se consiste in un uso intenso per tutta la giornata sui modelli effettivamente inclusi in Go, un piano fisso smette di essere chiaramente peggiore. Misurare le proprie sessioni prima di scegliere, perché un modello che richiede un secondo tentativo annulla immediatamente il vantaggio di tariffa.
L'importo indicato nel catalogo di Kunavo è una soglia minima di fatturazione, non un limite massimo: quando il fornitore a monte comunica il proprio addebito, l'importo fatturato è il maggiore tra il costo di catalogo e il costo del fornitore a monte moltiplicato per il ricarico applicabile. I costi della cache e degli strumenti esterni sono esclusi da questo esempio. La ricarica minima è di $10 in credito prepagato — un importo minimo da versare, non una tariffa per attività né un abbonamento. Consulta i dettagli sulla fatturazione.
Indirizzare l'uno o l'altro verso il proprio endpoint
Il lato VT Code è un blocco [[custom_providers]] e la regola di posizionamento della sezione precedente è l'aspetto che più spesso viene sbagliato:
# This block is rejected if it arrives from a repository-controlled
# layer. Put it in your user config, in the Unix system layer
# (/etc/vtcode/vtcode.toml), or pass it with --config / VTCODE_CONFIG_PATH.
[[custom_providers]]
name = "kunavo"
display_name = "Kunavo"
base_url = "https://api.kunavo.com/v1"
api_key_env = "KUNAVO_API_KEY"
api_format = "openai-chat"
model = "claude-sonnet-5"
models = ["claude-sonnet-5", "claude-haiku-4-5"]
context_window = 1000000 # omit this and VT Code assumes 128000Quattro note su quel blocco, tutte tratte dalla guida ai provider e dal riferimento ai campi. La chiave viene letta dalla variabile d'ambiente indicata in api_key_env e la documentazione di configurazione contiene un'avvertenza esplicita a non inserire mai chiavi API in vtcode.toml. api_format accetta auto, openai-chat, openai-responses o anthropic-messages: un valore esplicito viene rispettato invece di ricadere silenziosamente su un valore predefinito; il percorso Anthropic merita un esame separato perché le due convenzioni del base URL differiscono, come spiega il riferimento al base URL. Impostare context_window è importante: ometterlo fa assumere al provider 128.000 token, limitando silenziosamente compattazione e controlli preliminari su un contesto molto più ampio. VT Code applica inoltre gate di campionamento OpenAI basati sul nome anche agli endpoint personalizzati: un model ID che corrisponde a gpt-6-astra, per esempio, non riceve mai temperature o top_p; la guida consiglia infatti di "preferire model ID neutri sui gateway se servono valori fissati per tali nomi".
L'equivalente di OpenCode è un file di dati e il campo npm seleziona il formato wire: @ai-sdk/openai-compatible per un endpoint che serve /v1/chat/completions, @ai-sdk/openai per /v1/responses:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"kunavo": {
"npm": "@ai-sdk/openai-compatible",
"name": "Kunavo",
"options": {
"baseURL": "https://api.kunavo.com/v1",
"apiKey": "{env:KUNAVO_API_KEY}"
},
"models": {
"claude-sonnet-5": {
"name": "Claude Sonnet 5",
"limit": { "context": 1000000, "output": 128000 }
}
}
}
}
}OpenCode può anche sovrascrivere il baseURL di un provider integrato invece di dichiararne uno personalizzato; la documentazione spiega che i metadati dei modelli per i provider noti provengono da Models.dev, quindi un provider dichiarato manualmente deve fornire il proprio limit; inoltre, le chiavi aggiunte tramite il comando /connect vengono inserite in ~/.local/share/opencode/auth.json. Kunavo pubblica una pagina di configurazione per questo client: la guida all'integrazione di OpenCode. Qui non esiste una pagina di integrazione per VT Code e il blocco TOML sopra è un riferimento di configurazione assemblato dalle definizioni documentate dei campi di VT Code: nessuno dei due client è stato testato a runtime con Kunavo e non viene dichiarata alcuna compatibilità per nessuno dei due. Tenere disponibile un percorso funzionante, eseguire un'attività limitata e leggere l'addebito registrato dal proprio account prima di passare al client usato quotidianamente. Crea un account Kunavo quando si è pronti a finanziare una chiave.
Un'avvertenza sull'installazione che può costare tempo reale. Il pacchetto npm pubblico chiamato vtcode non è l'attuale VT Code: il suo dist-tag latest era 0.52.8, pubblicato il 24 dicembre 2025, mentre crates.io era alla versione 0.165.0 il 21 settembre 2026. La documentazione di installazione di VT Code indica un percorso npm diverso — npm install -g @vinhnx/vtcode --registry=https://npm.pkg.github.com — insieme a cargo install vtcode e a un tap Homebrew che richiede brew trust vinhnx/tap prima di brew install vinhnx/tap/vtcode. Lo stesso documento avverte che gli artefatti Windows sono forniti senza garanzia e potrebbero non comparire in ogni release, mentre la pagina di installazione di OpenCode raccomanda WSL su Windows; pertanto nessuno dei due è uno strumento Windows di prima classe sulla base della propria documentazione.
Confronto con alternative più lontane? Crush vs OpenCode confronta lo stesso OpenCode con l'agent di Charm, Prezzi di OpenCode approfondisce Zen e Go e il riferimento all'API compatibile con OpenAI illustra la convenzione dell'endpoint su cui entrambi i client fanno affidamento.
Domande frequenti
VT Code è la stessa cosa di VS Code?
No, e i risultati di ricerca li confondono continuamente. VT Code è un agente di coding da terminale scritto in Rust, distribuito come binario vtcode da github.com/vinhnx/VTCode e come crate vtcode su crates.io. Visual Studio Code è l'editor di Microsoft. La confusione è aggravata dal fatto che VT Code pubblica una propria estensione complementare per VS Code, il cui nome visualizzato nel manifest dell'estensione è letteralmente "VT Code"; inoltre, quell'estensione segue una propria serie di versioni, 0.50.14 nel repository il 21 settembre 2026, mentre la CLI era alla 0.165.0 nello stesso giorno. Quindi "VT Code 0.50" indica l'estensione dell'editor, mai l'agente. Verificate a quale artefatto appartiene un numero di versione prima di fissarlo.
Quale OpenCode sto installando, v1 o v2?
Dipende interamente dalla pagina che avete seguito e, il 21 settembre 2026, entrambe erano attuali. Il README del repository e l'introduzione della documentazione distribuiscono ancora la linea v1: curl -fsSL https://opencode.ai/install | bash, oppure npm install -g opencode-ai, il cui dist-tag latest era 1.18.31, pubblicato il 14 settembre 2026, la voce più recente in GitHub Releases. La homepage di marketing e opencode.ai/download promuovono solo la v2: curl -fsSL https://opencode.ai/v2/install | bash, npm install -g @opencode/cli oppure brew install anomalyco/tap/opencode-v2. Il pacchetto npm @opencode/cli aveva dist-tag latest 2.0.12, corrispondente al tag del repository v2.0.12, e nessun tag v2 aveva una voce in GitHub Releases. Nessuna delle due linee è una beta nel senso ordinario e non è stato trovato alcun annuncio ufficiale datato che dichiarasse la v2 generalmente disponibile; verificate quindi il nome del pacchetto che state effettivamente installando, invece di fidarvi di un numero di versione citato ovunque.
Qual è più economico, VT Code o OpenCode?
Nessuno dei due client addebita alcunché, quindi il prezzo del client è pari a zero per entrambi. OpenCode è distribuito con licenza MIT. Il README di VT Code afferma che il codice di prima parte è distribuito con licenza MIT OR Apache-2.0, mentre il rilevamento della licenza di GitHub riporta Apache-2.0; l'unica superficie monetaria è la sponsorizzazione volontaria. In entrambi i casi pagate i token del modello presso l'endpoint configurato. La differenza di costo nasce a valle: OpenCode offre due portafogli propri di prima parte, i crediti pay-as-you-go OpenCode Zen e un abbonamento OpenCode Go da 10 $ al mese con limiti di utilizzo pubblicati per modello; VT Code non dispone invece di account, livelli o alcun servizio ospitato, quindi ogni token inviato viene fatturato da qualcun altro. Notate inoltre che la tariffa indicata più bassa e il costo minimo per completare un'attività sono questioni diverse: un modello che richiede tre tentativi può costare più di uno più caro che riesce al primo tentativo.
Posso indirizzare VT Code a un gateway personalizzato compatibile con OpenAI?
Sì, tramite una voce [[custom_providers]] in vtcode.toml, ma esiste una regola che sorprende. Il riferimento ai campi di configurazione di VT Code stabilisce che i valori non vuoti di custom_providers provenienti dai livelli workspace o project controllati dal repository vengono rifiutati e che gli endpoint dei fornitori devono essere definiti nella configurazione di sistema o dell'utente considerata attendibile, oppure in un file di configurazione selezionato esplicitamente. Pertanto, un vtcode.toml sottoposto a commit nella radice del repository non registrerà un gateway. Usate la configurazione utente della piattaforma, il livello di sistema Unix in /etc/vtcode/vtcode.toml oppure passate --config. La voce deve includere name, display_name e base_url; la chiave viene letta dalla variabile d'ambiente indicata in api_key_env; api_format accetta auto, openai-chat, openai-responses o anthropic-messages, e la documentazione stabilisce che un valore esplicito viene rispettato senza ricadere silenziosamente su un'alternativa. Impostate anche context_window, perché un valore omesso viene impostato per impostazione predefinita a 128000 token e tale cifra determina la visualizzazione del contesto, la compattazione automatica e i controlli preliminari.
Posso usare un abbonamento OpenCode Go dall'interno di VT Code?
VT Code fornisce il collegamento; OpenCode non ha convalidato VT Code come client, e queste sono due affermazioni diverse. La guida ai fornitori di VT Code documenta opencode-go come chiave di un fornitore integrato, con OPENCODE_GO_API_KEY e URL di base https://opencode.ai/zen/go/v1, insieme a opencode-zen. Dall'altra parte, la documentazione Go di OpenCode afferma che il traffico viene monitorato per rilevare abusi, chiede ai client di identificarsi con il proprio user agent e di inviare un ID di sessione stabile in un'intestazione x-opencode-session, e pubblica una tabella dei Client convalidati che elenca Hermes, Claude Code, Codex, ZCode, Pi, jcode e Kilo Code CLI, oltre a una tabella dei Client con problemi noti che elenca DeepSeek Harness, GitHub Copilot Chat, Kimi Code e MiMo Code. VT Code non compare in nessuna delle due tabelle e la stessa OpenCode precisa di non garantire che i client elencati continueranno a funzionare. L'assenza da un elenco non dimostra che qualcosa non funzioni e questa pagina non fornisce prove in un senso o nell'altro. Considerate inoltre la regola sui posti: solo un membro per workspace può abbonarsi a OpenCode Go.
Quanto è difficile migrare tra VT Code e OpenCode?
Le istruzioni del progetto sono la metà economica e la configurazione è la metà costosa. Entrambi gli strumenti leggono un AGENTS.md nella radice del progetto: VT Code lo carica in ogni turno e ne crea uno con vtcode init, mentre OpenCode lo genera con /init e indica di sottoporlo a commit; il file che descrive le vostre convenzioni può quindi essere trasferito intatto. Nient'altro viene trasferito. VT Code legge TOML con blocchi di fornitori array-of-tables e unisce nove livelli di configurazione, dai valori predefiniti integrati fino ai livelli di sistema, utente, profilo del progetto, workspace e a un percorso --config esplicito, eseguendo un merge profondo delle tabelle mentre scalari e array vengono sostituiti dal livello superiore. OpenCode legge un file di dati opencode.json le cui voci dei fornitori indicano un pacchetto npm AI SDK per ogni formato wire. Non esiste un convertitore, quindi una configurazione locale del progetto deve essere riscritta manualmente. Questa pagina non ha potuto stabilire se le definizioni dei server MCP, le skill, i plugin, le definizioni personalizzate degli agenti o la cronologia delle sessioni vengano trasferiti in qualche forma; pertanto non fa alcuna affermazione sulla durata della migrazione oltre alla riscrittura della configurazione.
VT Code è abbastanza stabile per standardizzarlo per un team?
Leggete innanzitutto la nota sullo stato del progetto: il README parla di sviluppo attivo, con alcuni flussi di automazione sperimentali e soggetti a cambiamenti tra una release e l'altra. La cadenza lo conferma, anziché contraddirlo: il 20 e 21 settembre 2026 il progetto ha pubblicato 0.164.0, 0.164.2 e 0.165.0, tre release in circa 27 ore, e il record di crates.io si è aggiornato di conseguenza. Il README afferma che il progetto viene sviluppato e mantenuto nel tempo libero, con GitHub Sponsors e Buy Me a Coffee come unica superficie di finanziamento; tuttavia, lo stesso README ringrazia un elenco di collaboratori esterni, uno dei quali accreditato con 52 commit, quindi si tratta del progetto di un maintainer, non del codice di una sola persona. La scala è l'altra asimmetria: 852 stelle contro le 209.102 di OpenCode nello stesso giorno. Le stelle misurano l'attenzione, non la qualità, ma un progetto sviluppato nel tempo libero e guidato da un solo maintainer e uno mantenuto da un'azienda comportano rischi diversi legati al bus factor, e questa è una questione di approvvigionamento, non tecnica. Entrambi i repository erano attivi quel giorno.
Verificato il 21 settembre 2026: l'API di GitHub per tutti e tre i repository, oltre all'elenco delle release di VT Code; i dist-tag npm per opencode-ai, @opencode/cli e vtcode; il record crates.io per vtcode; il README, il modello di sicurezza, la guida ai provider, il riferimento ai campi di configurazione, il documento di installazione e il manifest dell'estensione VS Code di VT Code su main; e le pagine di OpenCode su autorizzazioni, provider, server, Zen, Go e download. Le tariffe dei token Kunavo provengono dal catalogo aggiornato. Nessuno dei due client è stato installato, eseguito o indirizzato a un endpoint Kunavo per questa pagina; non è stato effettuato alcun benchmark o confronto delle prestazioni e non se ne dichiara alcuno; ogni cifra in dollari qui riportata è un calcolo illustrativo sui token, non il costo misurato di un'attività.