Comandi utente ·ash(1)

ashdocumentazione

Pratico assistente alla shell per flussi di lavoro con comandi non trovati. Questa pagina è la versione web dell'installabileash(1)pagina man.

Installa su Debian o Ubuntu

Vedi ilGuida all'installazione dell'APTper prerequisiti, chiavi di firma, configurazione del repository, canali, aggiornamenti e rimozione.

Installa su Fedora o Linux compatibile con RHEL

Vedi ilGuida all'installazione del DNFper prerequisiti, verifica dei metadati, configurazione del repository, canali, aggiornamenti e rimozione.

Installa su Arch Linux

Vedi ilGuida all'installazione di Pacmanper prerequisiti, verifica della chiave, configurazione del repository, canali, aggiornamenti e rimozione.

Sinossi

ash [text ...]
ash install [--shell bash|zsh] [--dry-run] [--overwrite]
ash mcp add <url> [--no-browser]
ash snooze [duration|off]
ash update [--version vX.Y.Z] [--yes|--skip-customized]

Descrizione

ashinvia un testo di richiesta all'endpoint AI configurato e stampa la risposta dell'assistente. Quando non viene fornito alcun testo posizionale,ashlegge il testo del prompt da un input standard non interattivo.

ILinstallil sottocomando installa le risorse gestite. I file di avvio della shell vengono modificati solo quando richiesto esplicitamente--shell-integration; Bash utilizza~/.bashrc, usa zsh~/.zshrce usi del pesce$XDG_CONFIG_HOME/fish/config.fish.

Le connessioni al provider AI sono condivise tramite un broker locale. Il fallimento del broker ricorre all'HTTPS diretto.

L'intelligenza artificiale può utilizzare systemd per pianificare attività in background. Questi possono essere lavori ricorrenti o una tantum. I processi pianificati utilizzano HTTPS diretto per impostazione predefinita.

ashsegue le directory di base XDG: file di configurazione e dell'area di lavoro persistente in$XDG_CONFIG_HOME/ash(predefinito~/.config/ash), strumenti e plugin sotto$XDG_DATA_HOME/ash(predefinito~/.local/share/ash), cronologia e sessione graffiata sotto$XDG_STATE_HOME/ash(predefinito~/.local/state/ash) e memorizzalo nella cache sotto$XDG_CACHE_HOME/ash(predefinito~/.cache/ash). Utilizzo delle prese del broker$XDG_RUNTIME_DIR/ashcon un fallback della directory di stato. I percorsi XDG espliciti devono essere assoluti.

Strumenti, script, file, reindirizzamenti e output secondari sono dati non attendibili e non devono sovrascrivere le istruzioni del sistema o dell'utente. La funzionalità di esecuzione dello strumento non è una sandbox quando è abilitata l'esecuzione arbitraria di Python o shell. Per impostazione predefinita Python è abilitato, quindi fai attenzione.

Server MCP remoti

I server MCP (Model Context Protocol) forniscono strumenti che un modello AI può chiamare.Ashsupporta server MCP HTTP streaming remoti e mantiene le sessioni clientash-brokerattraversoAshinvocazioni nella stessa shell.

Registra un server attendibile eseguendoash mcp add <url>da un interattivoAshshell o aggiungendo il suo URL a$XDG_CONFIG_HOME/ash/.ash_allow(predefinito~/.config/ash/.ash_allow). Nessun server remoto è abilitato per impostazione predefinita.

L'autorizzazione OAuth si apre nel browser desktop quando è disponibile una GUI. Se non è possibile aprire il browser,Ashstampa un URL di autorizzazione copiabile e attende nel terminale. Utilizzoash mcp add <url> --no-browserper utilizzare sempre questo flusso terminale. L'autorizzazione manuale dell'URL richiede ancora un browser sullo stesso host; non è un flusso OAuth senza browser.

Righe URL che iniziano conhttp://Ohttps://sono registrazioni MCP, non comandi di shell. Gli schemi vengono riconosciuti senza distinzione tra maiuscole e minuscole.Ashderiva il nome locale del server dai primi 8 caratteri esadecimali minuscoli di SHA-256 sul testo dell'URL tagliato. È richiesto HTTPS tranne che per lo sviluppo di localhost; Gli URL con credenziali, stringhe di query o frammenti incorporati vengono rifiutati. Per le connessioni OAuth dirette, il rilevamento consente indirizzi IP non pubblici solo per l'esatta autorità MCP registrata; gli altri host OAuth rimangono soggetti al blocco degli indirizzi non pubblici. Un proxy di uscita configurato è responsabile del filtraggio dei propri indirizzi di destinazione. Le modifiche verranno lette di seguitoAshrichiesta.

Le registrazioni MCP rimangono abilitate conASH_STRICT=1. L'output restituito dallo strumento viene comunque trattato come prova non attendibile. Registra solo i server di cui ti fidi: i loro strumenti potrebbero eseguire azioni per tuo conto. Per i server protetti da OAuth,Ashapre il browser quando è disponibile una GUI mentre il broker gestisce la richiamata e i token. Le credenziali utilizzano il gestore credenziali del sistema operativo quando disponibile o un file crittografato protetto da un byte casuale a 32 byte fornito dall'utenteASH_MCP_CREDENTIAL_KEYIn$XDG_DATA_HOME/ash/mcp/.

Se l'inizializzazione di MCP fallisce,Ashcontinua la richiesta senza strumenti MCP remoti. Le corse interattive stampano un avviso; le esecuzioni non interattive falliscono silenziosamente.I lavori pianificati non dispongono del broker per shell interattiva e pertanto non possono utilizzare strumenti MCP remoti.Un prompt pianificato che dipende da MCP può comunque essere eseguito ma può terminare senza l'azione o i dati MCP richiesti. Non pianificare prompt che richiedono MCP.

Vedi ilDomande frequenti sull'MCPper una rapida panoramica e note di configurazione.

Comandi

ash [--attach path]... [text ...]
Esegui una singola richiesta dell'assistente.--attachallega un file (immagine o documento) alla richiesta; ripetibile. Dimensioni limitate daASH_ATTACHMENT_MAX_BYTESe attualmente inviato in rete solo a fornitori compatibili con OpenAI.
ash mcp add <url> [--no-browser]
Connetti e registra un server MCP remoto nell'effettivo.ash_allow. Apre l'autorizzazione OAuth in un browser desktop quando disponibile; ritorna a un URL copiabile nel terminale.--no-browserutilizza sempre il flusso terminale.
ash install [--shell bash|zsh|fish] [--shell-integration|--disable-shell-integration] [--dry-run]
Installa le risorse senza modificare i file di avvio della shell per impostazione predefinita.--shell-integrationaccetta di aggiungere/aggiornare il blocco gestito;--disable-shell-integrationrimuove solo quel blocco e preserva il contenuto utente circostante. Quando è interattivo, installa la configurazione automaticaASH_AI_ENDPOINT,ASH_AI_MODEL, EASH_AI_AUTH_TOKENquando necessario, preferendo una chiave del provider esistente o un endpoint locale prima di mostrare il menu del provider.
ash snooze [duration|off]
Interrompe l'elaborazione automatica del prompt della shell. Il valore predefinito è cinque minuti. Le durate utilizzano la sintassi Go come30s,5m, O1h. Utilizzooffper riprendere immediatamente.
ash update [--version vX.Y.Z] [--yes|--skip-customized]
Scarica e installa l'ultima versione stabile di macOS, Linux o FreeBSD per l'architettura attuale~/.local/bin/ash. Le versioni richiedono la verifica Sigstore e la verifica SHA-256.

Ambiente

ASH_AI_AUTH_TOKEN
Gettone al portatore opzionale. Obbligatorio per gli endpoint cloud ad eccezione di AWS Bedrock. Indirizzi privati/LAN e.locali nomi host vengono trattati come non cloud a meno cheASH_STRICT=1.
ASH_AI_CACHE
Attivazione/disattivazione cache nativa del provider opzionale. Abilitato per impostazione predefinita quando supportato; accetta1,true,yes,on,enabled,0,false,no,off, Odisabled(senza distinzione tra maiuscole e minuscole).
ASH_AI_ENDPOINT
URL di base obbligatorio per l'endpoint API chat.
ASH_AI_MODEL
Nome del modello obbligatorio inviato all'endpoint.
ASH_AI_PROVIDER
Override facoltativo del provider. Quando non impostato,ashrileva il provider dall'endpoint.
ASH_AI_TIMEOUT
Timeout della richiesta facoltativo. Predefinito:3m.
ASH_ALWAYS_OPENAI_API
Attivazione/disattivazione test facoltativo. In modalità true-like, instrada il fileollamaprovider tramite l'adattatore SDK compatibile con OpenAI anziché la sua implementazione manuale. Accetta gli stessi valori booleani diASH_AI_CACHE. Impostazione predefinita: attiva.
ASH_ATTACHMENT_MAX_BYTES
Dimensione massima facoltativa in byte per un file passato--attach. Predefinito:10485760(10 MiB).
ASH_HISTORY_MAX
Messaggi storici massimi opzionali per chiave. Predefinito:40.
ASH_LOG_FILE
Percorso del registro di debug facoltativo quando è abilitata la registrazione dettagliata.
ASH_LOG_MAX_BYTES
Dimensione massima del registro opzionale prima della rotazione. Predefinito:1048576.
ASH_MAX_AGENTS
Numero massimo di agenti secondari facoltativi generati da un processo principale. Predefinito:6.
ASH_MAX_TOOL_ITERS
Iterazioni massime opzionali del ciclo di chiamate allo strumento AI. Predefinito:16.
ASH_RELEVANCE_WINDOW
Osservazioni recenti facoltative dello strumento incluse nello stato di esecuzione. Predefinito:4.
ASH_RETRY_BASE_DELAY
Ritardo base backoff tra tentativi facoltativo. Predefinito:250ms.
ASH_RETRY_MAX_ATTEMPTS
Tentativi di richiesta riprovabili facoltativi. Predefinito:3.
ASH_SCHEDULED_TASK
Flag di pianificazione interno utilizzato daash-invocazioni gestite.
ASH_STREAM
Commutatore facoltativo. In modalità true-like, trasmette la risposta dai provider il cui adattatore la supporta (attualmente solo OpenAI). Accetta gli stessi valori booleani diASH_AI_CACHE. Impostazione predefinita: attiva.
ASH_TASK_MAX
Limite facoltativo sulle attività di esecuzione derivate da una richiesta. Predefinito:6.
ASH_TASK_STALL_ROUNDS
L'assistente facoltativo effettua un giro di stallo prima di fermarsi. Predefinito:2.
ASH_ALLOW
Lista consentita facoltativa di eseguibili separati da virgole perrun_unix_command. Altrimenti$XDG_CONFIG_HOME/ash/.ash_allow(predefinito~/.config/ash/.ash_allow) viene utilizzato; questa sostituzione non si espande internamenteAshgettoni.
ASH_DENY
Lista bloccata facoltativa separata da virgole per bloccare esplicitamente comandi, strumenti e plug-in. Altrimenti$XDG_CONFIG_HOME/ash/.ash_deny(predefinito~/.config/ash/.ash_deny) viene utilizzato.
ASH_TOOL_OUTPUT_MAX
Output massimo opzionale dello strumento acquisito in byte. Predefinito:8192.
ASH_TOOL_TIMEOUT
Timeout comando strumento locale opzionale. Predefinito:15s.
ASH_VERBOSE
Dashboard di esecuzione e registrazione del debug facoltativo. Valori come1,true,on, Edebugabilitarlo.
ASH_SESSION_ID
Ashidentificatore di sessione per la cronologia persistente e la denominazione dei registri. Generato quando assente; i valori espliciti non validi vengono rifiutati. GenericoSESSION_IDviene ignorato.

Le impostazioni numeriche e di durata esplicite vengono convalidate. I limiti interi devono essere positivi tranneASH_MAX_TOOL_ITERS, che potrebbe essere zero. I timeout AI/strumento devono essere positivi; i ritardi tra i tentativi possono essere pari a zero ma non negativi. Le durate utilizzano la sintassi Go come30s,5m, O1h. Valori non corretti o fuori intervallo producono un errore di configurazione invece di utilizzare silenziosamente i valori predefiniti.

File

  • $XDG_CONFIG_HOME/ash/(predefinito~/.config/ash/)—file di prompt, policy e aree di lavoro persistenti canonici.
  • $XDG_DATA_HOME/ash/(predefinito~/.local/share/ash/)—strumenti in bundle, plug-in, pacchetti linguistici e credenziali MCP.
  • $XDG_STATE_HOME/ash/(predefinito~/.local/state/ash/)—cronologia, scratch, registri e stato di posticipazione.
  • $XDG_CACHE_HOME/ash/(predefinito~/.cache/ash/)—file di cache rigenerabili.

Stato di uscita

ash restituisce 0 in caso di successo. Restituisce un valore diverso da zero quando la configurazione, le richieste di rete o l'esecuzione dello strumento falliscono.

Esempi

echo "summarize this directory" | ash
ash install --shell bash
ash install --shell zsh --dry-run

Vedi anche

bash(1),zsh(1),man(1)

Fonte:documenti/ash.1·LEGGIMI·Politica di sicurezza