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 come
30s,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; accetta
1,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 file
ollamaprovider 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 di
ASH_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 per
run_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 come
1,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. Generico
SESSION_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)