Torna alle guide
Agenti di programmazione·21 settembre 2026·Aggiornato il 24 settembre 2026·7 min di lettura

Alternative a Oh My Pi: scegli in base al workflow e al controllo dell'API

Due dei quattro motivi abituali per lasciare un agente di programmazione non si applicano affatto a omp, e migrare da esso costa più che migrarvi.

Ultima revisione: .

Non c’è alcun motivo urgente per abbandonare Oh My Pi, e l’elenco onesto delle alternative è breve: un client che chiede conferma prima di eseguire comandi, oppure una superficie gestita che non esegui tu stesso. Oh My Pi è attivo e gratuito: l’API di GitHub segnala can1357/oh-my-pi come non archiviato, con licenza MIT, circa 32.300 stelle e ultimo push il giorno della verifica, mentre omp.sh pubblica un’Offer leggibile automaticamente da $0 (entrambi verificati il 21 settembre 2026). Questa è quindi una pagina di orientamento, non un intervento di emergenza.

Due combinazioni sono già trattate e non vengono ripetute qui. Per il progetto upstream da cui è stato forkato, consulta Oh My Pi vs Pi. Per l’altro agente terminale che la maggior parte delle persone prende in considerazione come alternativa, consulta Oh My Pi vs OpenCode. Tutto ciò che segue riguarda i client che quelle due pagine non menzionano.

Due dei quattro motivi abituali per cambiare non si applicano

Le raccolte di alternative normalmente dividono gli agenti di coding in categorie local-first, open-API, autonomi e nativi per IDE. Rispetto a Oh My Pi, due di queste categorie sono vuote, e dirlo è più utile che riempirle artificialmente.

Local-first non è un motivo per uscire. Il README di omp contiene una sezione «Run it yourself» che recita «OpenAI-compatible /v1/models. Local instances skip the key.» e include Ollama, Ollama Cloud, LM Studio, llama.cpp, vLLM e LiteLLM. Leggi i tag, non solo l’elenco: il README contrassegna Ollama, LM Studio, llama.cpp e vLLM con local — la sua legenda definisce questo tag come «runs against a local server with the key optional» — mentre LiteLLM e Ollama Cloud non hanno tale tag, e docs/models.md descrive il rilevamento di LiteLLM tramite LITELLM_API_KEY o credenziali memorizzate quando il proxy richiede una chiave. Il relativo campo discovery.type accetta ollama, llama.cpp, lm-studio, openai-models-list, proxy e litellm (stesso file, letto il 21 settembre 2026). Lasciare omp per eseguire un modello locale significa abbandonarlo per qualcosa che sa già fare.

Anche una superficie API aperta e senza restrizioni non è un motivo per uscire. omp ha licenza MIT, non vende nulla e il suo models.yml documentato accetta undici valori api — openai-completions, openai-responses, openai-codex-responses, azure-openai-responses, anthropic-messages, bedrock-converse-stream, google-generative-ai, google-gemini-cli, google-vertex, typesafe e openrouter-decisions — dei quali la documentazione nota che gli ultimi due sono API di giudizio, non trasporti chat (docs/models.md, letto il 21 settembre 2026). Il titolo del README conta «60+ provider». Nulla in questo percorso è vincolato a un piano, perché non esiste alcun piano.

I motivi che invece restano validi

Perché dovresti andarteneOh My Pi lo copre già?Dove guardare invece
Vuoi che l’agente si fermi e chieda conferma prima di eseguire un comandoNon per impostazione predefinita. yolo è la modalità predefinita documentata e approva automaticamente read, write e exec, senza chiedere nullaCambia prima tools.approvalMode in always-ask o write. Solo se non basta, passa a un client la cui impostazione predefinita richieda conferma
Vuoi una superficie gestita o autonoma che non esegui tu stessoNo. omp è un CLI terminale sul tuo computerOpenHands, che dispone di un proprio prodotto hosted. Per questa pagina non sono stati verificati prezzi o licenza di OpenHands
Vuoi la superficie inline del tuo editor invece di un terminaleNo. omp è un client terminaleCline, Continue o Zed
Vuoi modelli localiSì: sono elencati sei backend eseguibili autonomamente, quattro dei quali contrassegnati con local, dove la chiave è facoltativaResta. Consulta la documentazione dell’API compatibile con Ollama se stai combinando uso locale e hosted
Vuoi un client aperto senza account o pianoSì: MIT, $0 nel proprio JSON-LD, nessuna pagina di checkout nella sitemap, nove protocolli wire chat più due API di giudizioResta

La riga relativa alla modalità di approvazione è quella importante. Secondo la tabella delle modalità di approvazione di omp, letta il 21 settembre 2026, always-ask approva automaticamente read e chiede conferma per write e exec; write approva automaticamente read e write e chiede conferma per exec; yolo, la modalità predefinita, non chiede nulla. È un’impostazione predefinita documentata, non un difetto, e cambiare un’impostazione costa meno che cambiare client. È importante segnalare una cautela: Roo Code è archiviato (archived=true, ultimo push 2026-05-15, API di GitHub, 21 settembre 2026), e nell’apertura del suo README non è stato indicato alcun successore; quindi non è una destinazione di migrazione, qualunque cosa dica una raccolta più vecchia. Il motivo dell’archiviazione non è stato accertato qui.

Abbandonare costa più che entrare

Questa è l’asimmetria che nessuno valuta prima di iniziare. Il README di omp afferma che «Al primo avvio omp eredita ciò che è già sul disco: regole, skill e server MCP da .claude, .cursor, .windsurf, .gemini, .codex, .cline, .github/copilot e .vscode» — senza alcuno script di migrazione. Entrare è gratuito. Nulla nella superficie documentata di omp riscrive questi formati, quindi uscire significa riscrivere manualmente la configurazione dei provider, le voci dei modelli e le regole nella destinazione.

Le trascrizioni sono un secondo costo separato. omp conserva le sessioni come JSONL sotto ~/.omp/agent/sessions/<encoded-cwd>/, mentre i comandi di esportazione nella sua pagina sulle operazioni delle sessioni producono HTML (/export) e testo negli appunti, oltre a un sidecar JSON temporaneo (/dump): nessuno dei due è il formato di sessione di un altro agente. La documentazione di omp avverte che il sidecar «rimane dopo il comando e può contenere contesto grezzo o segreti; proteggilo o rimuovilo di conseguenza». Non è stato verificato per questa pagina se un altro agente o convertitore di terze parti possa leggere quel JSONL; quindi prevedi di trasferire il contesto manualmente anziché importarlo.

Il rollback è semplice, ed è la buona notizia. Poiché l’importazione legge soltanto le directory degli altri agenti, provare un’alternativa lascia intatto ~/.omp/: mantieni ~/.omp/agent/models.yml e config.yml al loro posto e omp continuerà a funzionare esattamente come prima. Esegui il controllo inverso prima di eliminare qualcosa: verifica che la destinazione completi prima un’attività reale sul tuo repository.

Una trappola di denominazione mentre sposti i file: cercando omp.json trovi Oh My Posh, un renderer di prompt shell multipiattaforma non correlato, i cui temi si chiamano letteralmente *.omp.json. La configurazione di Oh My Pi è ~/.omp/agent/models.yml, e nessun file che termina in .omp.json gli appartiene.

Cosa richiede ogni alternativa alla tua chiave API

Nessuno di questi client conteggia autonomamente i tuoi token; la fattura arriva da chi ha emesso la chiave. Crush, Codex CLI, goose e OpenHands sono tutti scaricabili gratuitamente; per questa pagina non sono state verificate le condizioni proprie di Claude Code. Ciò che cambia è la struttura della configurazione e, in due casi, il fatto che il tuo endpoint parli o meno del protocollo previsto dal client.

ClientLicenzaCome viene dichiarato un endpoint personalizzatoLa restrizione da controllare
CrushFSL-1.1-MIT, non una licenza OSIprovider add --type openai-compat --base-url --api-key in un crushrc, poi model add per modelloLa finestra di contesto e i quattro campi dei prezzi vengono digitati manualmente per ogni modello. Un crushrc è Bash ed esegue una shell completa, e il README di Crush afferma che qualsiasi $(...) in crush.json viene eseguito al caricamento
Claude CodeNon verificato quiANTHROPIC_BASE_URL più una credenziale gatewayLa guida alla compatibilità di Anthropic richiede il formato Anthropic Messages, Bedrock InvokeModel o Agent Platform rawPredict: un endpoint Chat-Completions non è nessuno di questi. Anthropic afferma inoltre che una credenziale gateway sostituisce un abbonamento claude.ai per quella sessione e che i limiti dell’abbonamento cessano di applicarsi, mentre impostare solo il base URL non basta. Consulta la documentazione del base URL
Codex CLIApache-2.0~/.codex/config.toml, model_providers.<id>.base_url e env_keyÈ la restrizione più difficile per un endpoint Chat-Completions. Secondo il codice sorgente del provider, wire_api accetta solo responses; chat è stato rimosso e ora produce un errore indicandone il nome. Un endpoint che offre solo Chat-Completions non può alimentarlo
gooseApache-2.0OPENAI_API_KEY, OPENAI_HOST, OPENAI_BASE_PATHIl progetto è passato a aaif-goose/goose e la documentazione a goose-docs.ai; la radice di block.github.io/goose ora serve soltanto uno stub di reindirizzamento «goose has moved», mentre i percorsi sottostanti restituiscono 404
OpenHandsNon verificato quiLLM_BASE_URL, LLM_API_KEY, LLM_MODEL — impostati nelle preferenze dell’interfaccia oppure come variabili d’ambiente o voci config.tomlLe stringhe dei modelli seguono l’elenco dei provider di LiteLLM, quindi per un modello non elencato serve l’id con prefisso del provider LiteLLM, come openai/<id> (documentazione LLM di OpenHands)

Le licenze e i dati dei repository sono stati letti dall’API di GitHub e dai file propri di ciascun progetto il 21 settembre 2026; la formulazione di Anthropic proviene dalla sua pagina sui gateway LLM, che afferma anche che Anthropic «non approva, non mantiene e non verifica i prodotti gateway di terze parti». Le variabili di goose sono state rilette lo stesso giorno nella pagina attuale dei provider di goose, che documenta OPENAI_HOST come «Custom endpoint URL (defaults to api.openai.com)» e OPENAI_BASE_PATH come «Request path appended to the host (defaults to v1/chat/completions)».

goose: endpoint compatibile con OpenAI
# goose reaches an OpenAI-compatible endpoint through the built-in
# OpenAI provider. OPENAI_HOST is the host root; OPENAI_BASE_PATH is the
# request path appended to it, and defaults to v1/chat/completions.
export OPENAI_API_KEY="your-key"
export OPENAI_HOST="https://api.kunavo.com"
export OPENAI_BASE_PATH="v1/chat/completions"

Kunavo pubblica guide di configurazione per ciascuno di questi client — Crush, Claude Code, Codex CLI, goose, OpenHands — e una configurazione pubblicata non è un test di compatibilità. Nessuno di questi client è stato testato a runtime contro l’endpoint di Kunavo, incluso Oh My Pi.

Cambia il client; non cambia la fattura dei token

Poiché nessuno di questi client addebita costi propri, il modello selezionato incide sul costo molto più del client in cui lo esegui. Le cifre seguenti sono un calcolo illustrativo dei token, non costi misurati di un’attività e non un limite massimo di fatturazione. Supponi una sessione che invii 200.000 token di input non memorizzati nella cache e riceva 15.000 token di output, alle tariffe attuali del catalogo Kunavo per milione di token.

ModelloInput / output per 1MCosto stimato per quella sessione
Claude Haiku 4.5$0,70 / $3,50$0,192
GPT-5.6 Terra$0,70 / $4,20$0,203
Claude Sonnet 4.6$2,10 / $10,50$0,578
Claude Opus 5$3,50 / $17,50$0,963

Con queste ipotesi, la stessa sessione varia da $0,192 su Claude Haiku 4.5 a $0,963 su Claude Opus 5: una differenza che nessuna scelta del client in questa pagina si avvicina a colmare. Nota che la tariffa elencata più bassa e il costo minore per completare l’attività sono affermazioni diverse: un modello più economico che richieda tre tentativi può costare più di uno che riesca al primo passaggio, quindi misura sul tuo repository. L’importo del catalogo Kunavo è una soglia di fatturazione, non un tetto: quando l’upstream comunica il proprio addebito, la fattura è il maggiore tra il costo del catalogo e il costo upstream moltiplicato per il markup applicabile. Gli addebiti per la cache e gli strumenti esterni sono esclusi da questo esempio, e la ricarica minima è di $10 di credito prepagato, che finanzia un saldo invece di acquistare un piano. Consulta i dettagli della fatturazione.

Una nota sull’ambito prima di pianificare il passaggio a un IDE: Kunavo non offre alcun modello di embedding, quindi un client che indicizza localmente il tuo repository deve organizzare quel passaggio altrove. Il catalogo di Kunavo comprende modelli di completamento chat e modelli multimediali.

Prova un’attività circoscritta prima di impegnarti

Scegli l’unica alternativa indicata dal motivo reale per cui vuoi uscire, configúrala secondo la struttura della tabella sopra ed esegui un’attività che hai già eseguito in omp. Mantieni intatto ~/.omp/ durante la prova. Se la destinazione è Codex CLI, verifica prima la restrizione del protocollo: un endpoint che offre solo Chat-Completions non funzionerà, indipendentemente dal resto della configurazione. Se resti con omp e volevi soltanto un controllo più rigoroso dell’esecuzione, la modifica consiste in un’unica impostazione. In ogni caso, parti dalla guida all’integrazione di Oh My Pi e crea un account Kunavo quando sei pronto a finanziare una chiave. Per una panoramica più ampia dei client, consulta la directory delle API per agenti AI.

Domande frequenti

Quali sono le migliori alternative a Oh My Pi?

Dipende dal motivo per cui vuoi abbandonarlo, e due motivi comuni non sono motivi validi. Se vuoi modelli locali, resta: il README di omp elenca Ollama, Ollama Cloud, LM Studio, llama.cpp, vLLM e LiteLLM nella sezione "Run it yourself"; docs/models.md documenta la rilevazione implicita del runtime per Ollama, llama.cpp, LM Studio e LiteLLM; inoltre il README afferma "Local instances skip the key". Il tag local include Ollama, LM Studio, llama.cpp e vLLM, ma non LiteLLM, la cui rilevazione richiede ancora una chiave quando il proxy ne richiede una. Se vuoi un client aperto e senza blocchi, resta: omp è MIT, omp.sh pubblica un prezzo leggibile dalle macchine pari a $0 e la sua sitemap di 36 URL non contiene pagine di prezzi, pagamento, registrazione, accesso o account. Due motivi invece restano validi. Se vuoi un agente che si fermi e chieda conferma prima di eseguire un comando, la modalità di approvazione predefinita documentata di omp è yolo, che approva automaticamente lettura, scrittura ed esecuzione e non chiede nulla: cambia prima questa impostazione e solo dopo valuta Cline, Continue o Zed per un'interfaccia integrata nell'editor, oppure OpenHands per una gestita. Se stai scegliendo specificamente tra omp e Pi o OpenCode, su questo sito esistono già i confronti tra queste due coppie.

Oh My Pi è ancora mantenuto?

Sì, secondo ogni segnale datato disponibile al 2026-09-21. L'API di GitHub indica can1357/oh-my-pi come archived=false, fork=false e con licenza MIT; il repository è stato creato il 2025-12-31, ha circa 32.300 stelle e l'ultimo push risale proprio al 2026-09-21. A quella data venivano pubblicate release quotidiane: v18.2.6 il 2026-09-18, poi v18.2.7 e v18.2.8 entrambe il 2026-09-21, con il pacchetto npm @oh-my-pi/pi-coding-agent che riportava le versioni corrispondenti. Questi conteggi e tag cambiano continuamente, quindi trattali come un'istantanea di quel giorno, non come un dato attuale. Nota inoltre che il README di omp lo definisce un fork di Pi, mentre i due numerano le release su scale non collegate: omp alla 18.x e Pi alla 0.x. Nessuno dei due numeri indica quindi la maturità relativa. Il motivo della divergenza non è stato stabilito qui.

Posso trasferire la configurazione di Oh My Pi a un altro agente di coding?

Non automaticamente. L'importazione funziona in una sola direzione. Il README di Oh My Pi afferma che al primo avvio eredita dal disco regole, competenze e server MCP già presenti in .claude, .cursor, .windsurf, .gemini, .codex, .cline, .github/copilot e .vscode, senza alcuno script di migrazione. Nulla nell'interfaccia documentata di omp riscrive questi formati, quindi arrivare a omp è gratuito, mentre uscirne significa ricreare manualmente alla destinazione la configurazione del provider, le voci dei modelli e ogni regola specifica di omp. Le sessioni sono un problema separato: omp le memorizza come JSONL in ~/.omp/agent/sessions, mentre i comandi di esportazione documentati nella pagina delle operazioni sulle sessioni producono HTML (/export) e testo negli appunti, oltre a un sidecar JSON temporaneo (/dump): nessuno dei due è il formato di sessione di un altro agente. Qui non è stata verificata l'esistenza di un convertitore di terze parti per quel JSONL.

Quali agenti di coding non possono usare un gateway OpenAI Chat Completions?

Due di quelli presenti qui: Codex CLI e Claude Code, secondo la lettura del codice sorgente e della documentazione effettuata il 2026-09-21. Codex CLI è il caso più netto. In openai/codex, in codex-rs/model-provider-info/src/lib.rs, l'enum WireApi contiene esattamente una variante, Responses, descritta come Responses API all'indirizzo /v1/responses; una costante denominata rifiuta la vecchia impostazione con il messaggio secondo cui wire_api = "chat" non è più supportato e indica di impostare invece wire_api = "responses". Un endpoint che espone solo /v1/chat/completions non può quindi supportare Codex CLI, qualunque sia il base_url inserito in ~/.codex/config.toml. La configurazione di Codex specifica per progetto non può inoltre sovrascrivere il provider o l'autenticazione locali della macchina: il riferimento advanced-config elenca model_provider e model_providers tra le chiavi che un .codex/config.toml locale al progetto non può modificare. Claude Code è il caso più discreto e quello che è più facile descrivere in modo troppo generale: la guida di compatibilità dei gateway di Anthropic afferma che un gateway deve esporre il formato Anthropic Messages, Amazon Bedrock InvokeModel o Agent Platform rawPredict; un endpoint Chat Completions non è nessuno di questi. Pertanto ANTHROPIC_BASE_URL richiede un endpoint con formato Anthropic, non un endpoint Chat Completions. Tra i client rimanenti nella tabella precedente, Crush, goose e OpenHands documentano ciascuno un percorso Chat Completions compatibile con OpenAI. Le estensioni degli editor non rientrano nelle verifiche effettuate qui.

Crush è open source?

Non con una licenza approvata dall'OSI, almeno oggi. La lettura di charmbracelet/crush/LICENSE.md effettuata il 2026-09-21 riporta il titolo "Functional Source License, Version 1.1, MIT Future License", l'abbreviazione FSL-1.1-MIT e la riga di copyright "Copyright 2025-2026 Charmbracelet, Inc." L'API proprietaria di GitHub riporta la licenza solo come NOASSERTION. Questa è la differenza di licenza più netta rispetto a Oh My Pi, Pi e OpenCode, tutti e tre con licenza MIT. Crush può essere scaricato gratuitamente; la distinzione da pubblicare riguarda la licenza, non un costo. Esiste anche un progetto separato, con proprietari diversi, chiamato OpenCode, opencode-ai/opencode, archiviato con ultimo push del 2025-09-18, il cui lavoro è proseguito come Crush: non usare mai la documentazione o il formato di configurazione di quel repository archiviato per nessuno dei due progetti.

Goose si è spostato? È ancora un progetto di Block?

Si è spostato. L’API di GitHub risolve block/goose in aaif-goose/goose, con licenza Apache-2.0 e homepage goose-docs.ai, verificato il 2026-09-21. Il post di annuncio del progetto, datato 7 aprile 2026, afferma che Block ha donato goose alla Agentic AI Foundation presso la Linux Foundation, insieme a MCP di Anthropic e ad AGENTS.md di OpenAI, e che goose «è ancora open source, ancora sviluppato attivamente e ancora lo stesso agente che conosci». Il vecchio host della documentazione è scomparso solo in parte, non del tutto: block.github.io/goose risponde ancora alla radice, ma soltanto con una pagina «goose has moved» che reindirizza a goose-docs.ai, mentre i percorsi della documentazione sottostanti — /goose/docs/ e quelli successivi — restituiscono 404. In ogni caso, un segnalibro o un comando copiato che punta al vecchio host non è aggiornato.

Oh My Pi ha un costo? E le sue alternative?

Il client omp è gratuito: omp.sh pubblica un blocco JSON-LD SoftwareApplication con un’Offer dal prezzo «0» in USD e un URL di licenza MIT, verificato il 2026-09-21, e la sua sitemap di 36 URL dello stesso giorno non conteneva pagine di prezzi, checkout, registrazione, accesso o account. Anche Crush, goose e Codex CLI si scaricano gratuitamente. In ogni caso, ciò che paghi davvero sono i token del modello, fatturati da chi ha emesso la chiave API; quindi cambiare client, di per sé, non modifica la fattura. Un’alternativa vende invece un proprio piano per il modello: Charm Hyper, che il README di Crush definisce «il provider ufficiale di Crush», ha pubblicato il 2026-09-21 un livello gratuito di 100 Hypercredit al mese, un abbonamento da $20 al mese con 250 Hypercredit rinnovati ogni giorno e pacchetti prepagati da $5 per 100, $10 per 200 e $20 per 400 crediti che non scadono mai, dichiarando che un Hypercredit «attualmente vale 5¢». Queste sono le tariffe pubblicate da Charm per il servizio di Charm, non quelle di Kunavo, e Crush non le richiede: accetta anche la tua chiave tramite un provider personalizzato compatibile con OpenAI.

Dovrei passare da Oh My Pi a Pi o a OpenCode?

Queste due domande hanno pagine dedicate su questo sito e non ricevono una nuova risposta qui, perché la risposta dipende da dettagli che questa pagina non contiene. Pi è il progetto upstream da cui Oh My Pi è stato forkato; il suo repository è passato da badlogic/pi-mono a earendil-works/pi, è attivo e con licenza MIT, con circa 108.000 stelle il 2026-09-21, e legge un file di configurazione diverso — ~/.pi/agent/models.json invece di ~/.omp/agent/models.yml — quindi la configurazione scritta per uno non viene caricata dall’altro. Qui OpenCode indica l’attuale anomalyco/opencode, a cui sst/opencode reindirizza, non il CLI Go archiviato con lo stesso nome.

Verificato il 21 settembre 2026 recuperando, per questa pagina: il README di Oh My Pi, docs/models.md, docs/approval-mode.md e la pagina sulle operazioni delle sessioni al branch main; l’enum WireApi di Codex; LICENSE.md e il README di Crush; la guida alla compatibilità dei gateway di Anthropic; la documentazione attuale dei provider di goose e il suo annuncio dello spostamento; e i prezzi pubblicati di hyper.charm.land. Conteggi dei repository, date, licenze e numeri di versione provengono da letture delle API di GitHub e npm effettuate lo stesso giorno. Nessun client in questa pagina è stato testato a runtime contro l’endpoint di Kunavo. Le tariffe dei token Kunavo sono state lette dal catalogo attuale e ogni cifra in dollari qui riportata è un calcolo illustrativo dei token.