CLI
Opzioni e comandi della CLI di ArmIn.
La CLI di ArmIn, per impostazione predefinita, avvia la TUI quando viene eseguita senza argomenti.
arminMa accetta anche i comandi documentati in questa pagina. Questo ti permette di interagire con ArmIn in modo programmatico.
armin run "Explain how closures work in JavaScript"tui
Avvia l’interfaccia testuale di ArmIn (interfaccia utente da terminale).
armin [project]Flag
| Flag | Breve | Descrizione |
|---|---|---|
--continue | -c | Continua l’ultima sessione |
--session | -s | ID sessione da continuare |
--fork | Duplica la sessione quando continui (usa con --continue o --session) | |
--prompt | Prompt da usare | |
--model | -m | Modello nel formato provider/model |
--agent | Agente da usare | |
--port | Porta su cui mettersi in ascolto | |
--hostname | Hostname su cui mettersi in ascolto |
Comandi
La CLI di ArmIn include anche i seguenti comandi.
agent
Gestisci gli agenti per ArmIn.
armin agent [command]attach
Collega un terminale a un backend server di ArmIn già in esecuzione avviato tramite i comandi serve o web.
armin attach [url]Questo consente di usare la TUI con un backend ArmIn remoto. Per esempio:
# Start the backend server for web/mobile accessarmin web --port 4096 --hostname 0.0.0.0
# In un altro terminale, collega la TUI al backend in esecuzionearmin attach http://10.20.30.40:4096Flag
| Flag | Breve | Descrizione |
|---|---|---|
--dir | Working directory in cui avviare la TUI | |
--session | -s | ID sessione da continuare |
create
Crea un nuovo agente con configurazione personalizzata.
armin agent createQuesto comando ti guida nella creazione di un nuovo agente con un system prompt personalizzato e configurazione degli strumenti.
list
Elenca tutti gli agenti disponibili.
armin agent listauth
Comando per gestire le credenziali e il login dei provider.
armin auth [command]login
ArmIn si basa sull’elenco provider di Models.dev, quindi puoi usare armin auth login per configurare le API key per qualunque provider tu voglia usare. Le credenziali vengono salvate in ~/.local/share/armin/auth.json.
armin auth loginQuando ArmIn si avvia, carica i provider dal file delle credenziali e, se presenti, anche eventuali key definite nell’ambiente o in un file .env nel progetto.
list
Elenca tutti i provider autenticati come salvati nel file delle credenziali.
armin auth listOppure la versione corta.
armin auth lslogout
Esegue il logout da un provider rimuovendolo dal file delle credenziali.
armin auth logoutgithub
Gestisci l’agente GitHub per l’automazione dei repository.
armin github [command]install
Installa l’agente GitHub nel tuo repository.
armin github installQuesto configura il workflow GitHub Actions necessario e ti guida nel processo di configurazione. Scopri di più.
run
Esegui l’agente GitHub. Tipicamente usato in GitHub Actions.
armin github runFlag
| Flag | Descrizione |
|---|---|
--event | Evento GitHub mock per cui eseguire l’agente |
--token | GitHub personal access token |
mcp
Gestisci i server Model Context Protocol.
armin mcp [command]add
Aggiungi un server MCP alla tua configurazione.
armin mcp addQuesto comando ti guida nell’aggiunta di un server MCP locale o remoto.
list
Elenca tutti i server MCP configurati e il loro stato di connessione.
armin mcp listOppure la versione corta.
armin mcp lsauth
Autentica con un server MCP con OAuth abilitato.
armin mcp auth [name]Se non fornisci un nome server, ti verrà chiesto di selezionare tra i server OAuth-capable disponibili.
Puoi anche elencare i server OAuth-capable e il loro stato di autenticazione.
armin mcp auth listOppure la versione corta.
armin mcp auth lslogout
Rimuovi le credenziali OAuth per un server MCP.
armin mcp logout [name]debug
Esegui debug di problemi di connessione OAuth per un server MCP.
armin mcp debug <name>models
Elenca tutti i modelli disponibili dai provider configurati.
armin models [provider]Questo comando mostra tutti i modelli disponibili tra i provider configurati nel formato provider/model.
È utile per capire l’esatto nome del modello da usare nella config.
Puoi anche passare opzionalmente un ID provider per filtrare i modelli a quel provider.
armin models anthropicFlag
| Flag | Descrizione |
|---|---|
--refresh | Aggiorna la cache modelli da models.dev |
--verbose | Output più verboso (include metadati come i costi) |
Usa --refresh per aggiornare l’elenco modelli in cache. È utile quando nuovi modelli vengono aggiunti a un provider e vuoi vederli in ArmIn.
armin models --refreshrun
Esegui armin in modalità non interattiva passando un prompt direttamente.
armin run [message..]È utile per scripting, automazione o quando vuoi una risposta rapida senza avviare la TUI completa. Per esempio:
armin run Explain the use of context in GoPuoi anche collegarti a una istanza armin serve già in esecuzione per evitare i cold boot dei server MCP ad ogni esecuzione:
# Avvia un server headless in un terminalearmin serve
# In un altro terminale, esegui comandi che si collegano ad essoarmin run --attach http://localhost:4096 "Explain async/await in JavaScript"Flag
| Flag | Breve | Descrizione |
|---|---|---|
--command | Il comando da eseguire; usa message per gli argomenti | |
--continue | -c | Continua l’ultima sessione |
--session | -s | ID sessione da continuare |
--fork | Duplica la sessione quando continui (usa con --continue o --session) | |
--share | Condividi la sessione | |
--model | -m | Modello nel formato provider/model |
--agent | Agente da usare | |
--file | -f | File da allegare al messaggio |
--format | Formato: default (formattato) o json (eventi JSON grezzi) | |
--title | Titolo sessione (usa prompt troncato se non viene fornito un valore) | |
--attach | Attach a un server armin in esecuzione (es. http://localhost:4096) | |
--port | Porta per il server locale (di default una porta casuale) |
serve
Avvia un server ArmIn headless per accesso via API. Vedi le server docs per l’interfaccia HTTP completa.
armin serveAvvia un server HTTP che espone accesso API alle funzionalità di armin senza la TUI. Imposta OPENCODE_SERVER_PASSWORD per abilitare HTTP basic auth (username di default armin).
Flag
| Flag | Descrizione |
|---|---|
--port | Porta su cui mettersi in ascolto |
--hostname | Hostname su cui mettersi in ascolto |
--mdns | Abilita discovery mDNS |
--cors | Origin browser addizionali per consentire CORS |
session
Gestisci le sessioni ArmIn.
armin session [command]list
Elenca tutte le sessioni ArmIn.
armin session listFlag
| Flag | Breve | Descrizione |
|---|---|---|
--max-count | -n | Limita alle N sessioni più recenti |
--format | Formato output: table o json (table) |
stats
Mostra statistiche di utilizzo token e costo per le sessioni ArmIn.
armin statsFlag
| Flag | Descrizione |
|---|---|
--days | Mostra statistiche per gli ultimi N giorni (all time) |
--tools | Numero di strumenti da mostrare (all) |
--models | Mostra breakdown di utilizzo modelli (nascosto di default). Passa un numero per top N |
--project | Filtra per progetto (tutti i progetti; stringa vuota: progetto corrente) |
export
Esporta i dati di sessione come JSON.
armin export [sessionID]Se non fornisci un ID sessione, ti verrà chiesto di selezionare tra le sessioni disponibili.
import
Importa i dati di sessione da un file JSON o da un URL di condivisione ArmIn.
armin import <file>Puoi importare da un file locale o da un URL di condivisione ArmIn.
armin import session.jsonarmin import https://opncd.ai/s/abc123web
Avvia un server ArmIn headless con interfaccia web.
armin webAvvia un server HTTP e apre un browser per accedere a ArmIn tramite interfaccia web. Imposta OPENCODE_SERVER_PASSWORD per abilitare HTTP basic auth (username di default armin).
Flag
| Flag | Descrizione |
|---|---|
--port | Porta su cui mettersi in ascolto |
--hostname | Hostname su cui mettersi in ascolto |
--mdns | Abilita discovery mDNS |
--cors | Origin browser addizionali per consentire CORS |
acp
Avvia un server ACP (Agent Client Protocol).
armin acpQuesto comando avvia un server ACP che comunica via stdin/stdout usando nd-JSON.
Flag
| Flag | Descrizione |
|---|---|
--cwd | Directory di lavoro |
--port | Porta su cui mettersi in ascolto |
--hostname | Hostname su cui mettersi in ascolto |
uninstall
Disinstalla ArmIn e rimuove tutti i file correlati.
armin uninstallFlag
| Flag | Breve | Descrizione |
|---|---|---|
--keep-config | -c | Mantieni i file di configurazione |
--keep-data | -d | Mantieni dati di sessione e snapshot |
--dry-run | Mostra cosa verrebbe rimosso senza rimuovere | |
--force | -f | Salta le richieste di conferma |
upgrade
Aggiorna armin all’ultima versione o a una versione specifica.
armin upgrade [target]Per aggiornare all’ultima versione:
armin upgradePer aggiornare a una versione specifica:
armin upgrade v0.1.48Flag
| Flag | Breve | Descrizione |
|---|---|---|
--method | -m | Metodo di installazione usato: curl, npm, pnpm, bun, brew |
Flag globali
La CLI di armin accetta i seguenti flag globali.
| Flag | Breve | Descrizione |
|---|---|---|
--help | -h | Mostra l’help |
--version | -v | Stampa il numero di versione |
--print-logs | Stampa i log su stderr | |
--log-level | Livello log (DEBUG, INFO, WARN, ERROR) |
Variabili d’ambiente
ArmIn può essere configurato tramite variabili d’ambiente.
| Variabile | Tipo | Descrizione |
|---|---|---|
OPENCODE_AUTO_SHARE | boolean | Condivide automaticamente le sessioni |
OPENCODE_GIT_BASH_PATH | string | Percorso all’eseguibile Git Bash su Windows |
OPENCODE_CONFIG | string | Percorso al file di configurazione |
OPENCODE_TUI_CONFIG | string | Percorso al file di configurazione TUI |
OPENCODE_CONFIG_DIR | string | Percorso alla directory di configurazione |
OPENCODE_CONFIG_CONTENT | string | Contenuto JSON di config inline |
OPENCODE_DISABLE_AUTOUPDATE | boolean | Disabilita i controlli automatici di aggiornamento |
OPENCODE_DISABLE_PRUNE | boolean | Disabilita la potatura dei dati vecchi |
OPENCODE_DISABLE_TERMINAL_TITLE | boolean | Disabilita aggiornamenti automatici del titolo terminale |
OPENCODE_PERMISSION | string | Config permessi JSON inline |
OPENCODE_DISABLE_DEFAULT_PLUGINS | boolean | Disabilita i plugin di default |
OPENCODE_DISABLE_LSP_DOWNLOAD | boolean | Disabilita download automatico dei server LSP |
OPENCODE_ENABLE_EXPERIMENTAL_MODELS | boolean | Abilita modelli sperimentali |
OPENCODE_DISABLE_AUTOCOMPACT | boolean | Disabilita compaction automatica del contesto |
OPENCODE_DISABLE_CLAUDE_CODE | boolean | Disabilita lettura da .claude (prompt + skill) |
OPENCODE_DISABLE_CLAUDE_CODE_PROMPT | boolean | Disabilita lettura di ~/.claude/CLAUDE.md |
OPENCODE_DISABLE_CLAUDE_CODE_SKILLS | boolean | Disabilita caricamento di .claude/skills |
OPENCODE_DISABLE_MODELS_FETCH | boolean | Disabilita fetch dei modelli da fonti remote |
OPENCODE_FAKE_VCS | string | Provider VCS finto per scopi di test |
OPENCODE_DISABLE_FILETIME_CHECK | boolean | Disabilita controllo file time per ottimizzazione |
OPENCODE_CLIENT | string | Identificatore client (default cli) |
OPENCODE_ENABLE_EXA | boolean | Abilita gli strumenti di web search Exa |
OPENCODE_SERVER_PASSWORD | string | Abilita basic auth per serve/web |
OPENCODE_SERVER_USERNAME | string | Sovrascrive lo username basic auth (default armin) |
OPENCODE_MODELS_URL | string | URL personalizzato per recuperare la configurazione modelli |
Sperimentale
Queste variabili d’ambiente abilitano funzionalità sperimentali che potrebbero cambiare o essere rimosse.
| Variabile | Tipo | Descrizione |
|---|---|---|
OPENCODE_EXPERIMENTAL | boolean | Abilita tutte le funzionalità sperimentali |
OPENCODE_EXPERIMENTAL_ICON_DISCOVERY | boolean | Abilita icon discovery |
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT | boolean | Disabilita copy on select nella TUI |
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS | number | Timeout di default per comandi bash in ms |
OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX | number | Massimo token di output per risposte LLM |
OPENCODE_EXPERIMENTAL_FILEWATCHER | boolean | Abilita file watcher per l’intera dir |
OPENCODE_EXPERIMENTAL_OXFMT | boolean | Abilita formatter oxfmt |
OPENCODE_EXPERIMENTAL_LSP_TOOL | boolean | Abilita strumento LSP sperimentale |
OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER | boolean | Disabilita file watcher |
OPENCODE_EXPERIMENTAL_EXA | boolean | Abilita funzionalità Exa sperimentali |
OPENCODE_EXPERIMENTAL_LSP_TY | boolean | Abilita Abilita TY LSP per i file python |
OPENCODE_EXPERIMENTAL_MARKDOWN | boolean | Abilita markdown sperimentale |
OPENCODE_EXPERIMENTAL_PLAN_MODE | boolean | Abilita plan mode |