Iniziare
Di cosa ho bisogno prima di poterlo utilizzareash?
Hai bisogno diasheseguibile, un endpoint AI e un nome di modello. Corsaash installli configura automaticamente: utilizza una chiave API del provider cloud già impostata o un server di inferenza locale in esecuzione quando viene trovato, altrimenti mostra un menu del provider numerato e richiede una chiave API, quindi consente di scegliere un modello dall'elenco dei modelli dell'endpoint. Puoi anche impostareASH_AI_ENDPOINTEASH_AI_MODELmanualmente. Può utilizzare un endpoint locale come Ollamahttp://localhost:11434e un host LAN similehttp://brain.local:11434oppure anche un IP privato viene trattato come locale (a meno cheASH_STRICT=1); gli endpoint cloud devono utilizzare HTTPS e in genere richiedonoASH_AI_AUTH_TOKEN. L'integrazione della shell è opzionale: puoi sempre eseguireash "your question"direttamente.
Dove vaashinstall e come posso verificare che la mia shell possa trovarlo?
L'installatore verificato posizionaashIn~/.local/bin/ash. Aggiungi quella directory al tuoPATHusando la normale configurazione della tua shell;ash installnon modifica i file di avvio della shell a meno che tu non passi--shell-integration. Apri un nuovo terminale, quindi eseguicommand -v ashper confermare. L'autoaggiornamento installa il file binario sostitutivo nella stessa posizione locale dell'utente. Il programma di installazione richiede Sigstorecosignper verificare il manifest del checksum firmato.
Come si usaashsenza cambiare la mia shell?
Passa direttamente un prompt citato:ash "how do I find large files?". Senza argomenti,ashaccetta anche un prompt di input standard non interattivo, comegit diff | ash. L'uso diretto è l'opzione meno sorprendente quando stai imparandoasho scrivere una sceneggiatura.
Perché lo faashdici che la mia configurazione AI è incompleta?
ControllaloASH_AI_ENDPOINTEASH_AI_MODELnon sono vuoti nell'ambiente in cuiashcorre. Per un nome host cloud, impostare ancheASH_AI_AUTH_TOKENquando richiesto dal fornitore. Correreprintf '%s\n' "$ASH_AI_ENDPOINT" "$ASH_AI_MODEL"per confermare che i primi due valori sono presenti, ma non stampare un token di autenticazione in una registrazione del terminale o in un registro condiviso.
Installazione e aggiornamento
Faashfunziona su Windows 11?
Non nativamente.ashsupporta bash, zsh e Fish su macOS, Linux e FreeBSD; non esiste una destinazione di installazione di PowerShell. Utilizza WSL per l'esperienza Linux supportata.
Come si installaashnel sottosistema Windows per Linux (WSL)?
Segui ilIstruzioni per l'installazione di Linuxall'interno della distribuzione WSL, preferendo il relativo gestore di pacchetti. Poiconfigurare un provider e facoltativamente abilitare l'integrazione Bash. Non esiste un programma di installazione nativo di Windows.
Come faccio ad aggiornareashall'ultima versione rilasciata?
Utilizzare il gestore pacchetti proprietario per le installazioni Homebrew/APT/DNF/Pacman.ash updateè solo per le installazioni della versione stabile in~/.local/bin; verifica il manifest firmato Sigstore e il digest dell'archivio e rifiuta una firma non riuscita. Le installazioni native di .pkg e di directory personalizzate richiedono la sostituzione del programma di installazione/manuale originale. Vedereaggiornamenti e iscrizioni ai canaliper versione, beta e notturna.
Ho corsoash install. Perché non cambia nulla in questo terminale?
L'integrazione della shell è disabilitata per impostazione predefinita. Per abilitarlo, eseguiash install --shell bash --shell-integration(o selezionazshOfish); non riscrive il processo di shell già in esecuzione. Apri un nuovo terminale o ricarica il file di avvio selezionato. Correreash install --shell bash --disable-shell-integrationrimuovereAshblocco gestito preservando il contenuto circostante.
I comandi sconosciuti dicono ancora "non trovato". Come posso risolvere i problemi di integrazione della shell?
Per prima cosa conferma di aver abilitato l'integrazione della shell conash install --shell bash --shell-integration(sostituisci la tua shell), quindi eseguicommand -v ash; l'hook non può invocare un binario che la tua shell non riesce a trovare. Ricarica o riavvia la shell e controlla che il suo file di avvio contenga il file>>> ash install >>>blocco gestito. Finalmente corriash snooze off, perché la ripetizione lascia intenzionalmente i comandi sconosciuti come normali errori "non trovati".
Cosa fa il fileash installcambiare e posso visualizzarne l'anteprima?
Gestisce la configurazione in$XDG_CONFIG_HOME/ash(predefinito~/.config/ash), dati sotto$XDG_DATA_HOME/ash(predefinito~/.local/share/ash), precisare sotto$XDG_STATE_HOME/ash(predefinito~/.local/state/ash) e memorizzalo nella cache sotto$XDG_CACHE_HOME/ash(predefinito~/.cache/ash). I file di avvio vengono modificati solo con--shell-integration. Utilizzoash install --shell bash --shell-integration --dry-runvisualizzare in anteprima; il funzionamento a secco non scrive file. La riesecuzione dell'installazione è idempotente; utilizzo--overwritesolo quando si desidera aggiornare i file bootstrap gestiti.
Faashsostenere Pesce?
SÌ. Correreash install --shell fish --shell-integrationper aderire.ashaggiunge un blocco gestito a$XDG_CONFIG_HOME/fish/config.fish, O~/.config/fish/config.fishquando XDG_CONFIG_HOME non è impostato. Usi del pescefish_command_not_found, quindi arriva un comando irrisoltoashcon le sue argomentazioni originali.
Perché non in minuscolotestEtypenel pesce?
Fish riserva questi nomi in minuscolo come built-in essenziali e non consente a una funzione di sostituirli. UtilizzoTest ...OType ...esprimereashintento o invocareash "..."direttamente. Restano disponibili altri wrapper di collisione compatibili.
Che ne dici di ksh93?
ksh93 non è supportato per l'integrazione della shell. SuoFPATHil comportamento può caricare solo un file che prende il nome da un comando sconosciuto; non ha un callback generico di comando non trovato che possa essere implementato in sicurezzaashinstradamento rapido o ciclo di vita del broker.
IA e connessioni
Faashincludere l'intelligenza artificiale?
NO.ashè un client per un endpoint AI configurato da te. ImpostatoASH_AI_ENDPOINTEASH_AI_MODEL;ashsupporta Ollama locale e altri server locali compatibili con OpenAI (LM Studio, llama.cpp, MLX, LocalAI, vLLM, text- generation-webui, Jan, GPT4All) e rileva gli adattatori del provider cloud supportati dall'endpoint, con un'opzioneASH_AI_PROVIDERsovrascrivere.
Cosa sono i server MCP e come posso aggiungerne uno?
I server MCP (Model Context Protocol) espongono strumenti che un modello AI può chiamare, come ricerca, analisi o azioni specifiche del servizio. I server remoti non sono abilitati per impostazione predefinita. Per aggiungere un server MCP HTTP streaming affidabile, utilizzareash mcp add <url>oppure aggiungi il suo URL nella propria riga$XDG_CONFIG_HOME/ash/.ash_allow(predefinito~/.config/ash/.ash_allow).Ashsi connette tramite il suo broker e offre gli strumenti del server al modello. Utilizza solo server di cui ti fidi: i loro strumenti potrebbero eseguire azioni per tuo conto. È richiesto HTTPS, ad eccezione dei server di sviluppo localhost. Se l'inizializzazione di MCP fallisce,ashcontinua senza strumenti MCP remoti: avvisa nelle sessioni interattive e rimane silenzioso nelle sessioni non interattive.
I lavori pianificati possono utilizzare i server MCP?
No. I lavori pianificati e altri lavori non interattivi non ereditano il broker di una shell interattiva, quindi gli strumenti MCP remoti non sono disponibili.Ashesegue comunque il prompt senza strumenti MCP ed elimina questo errore di inizializzazione previsto. Un prompt che si basa su MCP potrebbe quindi terminare senza i dati o l'azione richiesti. Non pianificare prompt che richiedono MCP.
MCP funziona quandoASH_STRICT=1?
SÌ. Una riga URL HTTP(S) registra esplicitamente un server MCP e non viene trattata come un eseguibile della shell. La modalità rigorosa non disabilita i server MCP configurati. Si applica ancoraAshle protezioni dell'output non attendibile di al contenuto dello strumento restituito.
Come funziona MCP OAuth e dove vengono archiviate le credenziali?
Per un server protetto da OAuth,Ashapre la pagina di autorizzazione nel browser desktop quando è disponibile una GUI; se non riesce ad aprire un browser, stampa un URL per autorizzare manualmente in un browser sullo stesso host. Utilizzoash mcp add <url> --no-browserper utilizzare sempre il flusso terminale. 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. Il broker gestisce la richiamata, lo scambio di token, l'aggiornamento e la sessione MCP persistente. Le credenziali vengono archiviate nel gestore credenziali del sistema operativo quando disponibili. Se non è disponibile, configurare il fallback del file crittografato utilizzando un 32 byte casualeASH_MCP_CREDENTIAL_KEY;Ashnon memorizza mai la chiave stessa.
Dove posso trovare AUTH_KEY per i provider di intelligenza artificiale cloud più popolari?
ashusiASH_AI_AUTH_TOKENper il suo token al portatore opzionale; non crea né distribuisce chiavi del provider. Crea una chiave nel tuo account fornitore, ad esempioOpenAI,Antropico,Studio sull'intelligenza artificiale di Google,Azure OpenAI,Maestrale,Coerenza,Groq,xAI,DeepSeek,Insieme AI,OpenRouter,Abbracciare il viso, OOllama, quindi esportarlo come variabile di ambiente del provider (o setASH_AI_AUTH_TOKENdirettamente).ash installrileva automaticamente le variabili di ambiente specifiche del provider supportate. Gli endpoint cloud devono utilizzare HTTPS e richiedere un token eccetto AWS Bedrock; indirizzi privati/LAN e.locali nomi host vengono trattati come locali a meno cheASH_STRICT=1è impostato.
Faashaprire una nuova connessione ogni volta?
Non per il normale utilizzo interattivo della shell Unix. Bash, zsh e Fish avviano un broker per sessione di shell, comunicano con esso tramite un socket Unix privato e riutilizzano il suo pool di connessioni HTTP limitato. Il broker esce dopo l'inattività; i lavori pianificati utilizzano richieste dirette anziché un broker di shell persistente.
Fish utilizza il broker?
SÌ. Il wrapper Fish avvia e riutilizza lo stesso broker per sessione di bash e zsh, aggiorna il suo lease immediatamente prima di unashrichiesta e mantiene silenziosa la configurazione del broker.
Cosa succede se una richiesta è lenta, non disponibile o cambio idea?
PremereCtrl-Cper annullare una richiesta in volo. Il timeout predefinito della richiesta AI è di tre minuti; impostatoASH_AI_TIMEOUT, Per esempioASH_AI_TIMEOUT=90s, per cambiarlo.ashper impostazione predefinita, riprova gli errori IA ripetibili fino a tre volte con un breve backoff limitato; sintonizzare quel comportamento conASH_RETRY_MAX_ATTEMPTS,ASH_RETRY_BASE_DELAY, EASH_RETRY_MAX_DELAY.
Sicurezza e controllo
Come posso bloccarmi?ashessere più sicuri e quali sono le implicazioni?
Mantieni ristretta la lista consentita degli eseguibili, privilegia gli strumenti di sola lettura e non aggiungere comandi privilegiati o distruttivi. ImpostatoASH_STRICT=1per bloccare i modelli di prompt- injection riconosciuti da strumenti, file, script, pipeline e output di agenti secondari non attendibili. Ciò può anche nascondere testo legittimo che assomiglia a un tentativo di injection. La lista consentita è un limite di esecuzione, non una sandbox:ashe gli strumenti consentiti continuano a funzionare come te.
Potereasheseguire comandi distruttivi comerm?
Non con la lista consentita predefinita installata. Lo sconsiglia esplicitamenterm,mv,dd,chmod,chown,kill, Esudo. Se ne aggiungi uno,ashpuò richiederlo con i tuoi permessi; rivedere attentamente tale decisione.
Come faccio a modificare i comandiashè consentito eseguire?
Modificare$XDG_CONFIG_HOME/ash/.ash_allow(predefinito~/.config/ash/.ash_allow) ed elencare i nomi degli eseguibili semplici, uno per riga o separati da virgole. È autonomo$TOOLS_DIR_LISTE$PLUGINS_DIR_LISTle direttive consentono script gestiti e plugin nativi idonei; sostituirli con nomi letterali per una politica restrittiva. Gli script e i plug-in idonei sono normali file eseguibili di seguito$XDG_DATA_HOME/ash/toolsE$XDG_DATA_HOME/ash/plugins(base predefinita~/.local/share/ash). Aggiungi comandi negati a$XDG_CONFIG_HOME/ash/.ash_denyo impostareASH_ALLOW/ASH_DENYagli elenchi separati da virgole. Le modifiche verranno lette di seguitoashrichiesta.
Che utente èashcorrere sotto?
ashe ogni strumento consentito viene eseguito come utente che avviaash. Non eleva i privilegi.Ash-le directory e i file XDG gestiti utilizzano autorizzazioni restrittive, ma i loro contenuti rimangono accessibili all'utente e a qualsiasi processo esplicitamente consentito.
Faashconsiderare attendibile il testo ricevuto tramite pipe come il testo dell'utente? Quali protezioni esistono per i dati dannosi?
SÌ. Quandoashnon riceve argomenti dalla riga di comando e viene inviato tramite pipe l'input standard, tratta quell'input come il prompt dell'utente. Non reindirizzare direttamente pagine Web, registri o testo generato non attendibiliasha meno che tu non intenda autorizzarlo come prompt. Questo differisce daash-strumento gestito, file, script, pipeline e output dell'agente figlio:ashetichetta questi risultati come prove non attendibili e indica al modello di non seguire mai le istruzioni da essi fornite. ImpostatoASH_STRICT=1per sostituire inoltre le frasi riconosciute di pronta iniezione in prove non attendibili. Le regole di esecuzione della lista consentita e dell'argv diretto si applicano ancora all'esecuzione dello strumento.
Sono mieiashfile privati da altri utenti su questo computer?
Ash-le directory e i file XDG gestiti utilizzano autorizzazioni restrittive riservate al solo proprietario, ove supportato. Ciò protegge da altri account locali con normali autorizzazioni Unix, ma non dal tuo account, dagli amministratori, dai backup o dal software che scegli di eseguire con accesso alla tua directory home.
Strumenti e flusso di lavoro
Faashsupportano pipe e altre tradizioni Unix?
SÌ. Puoi reindirizzare il testoashcome suggerimento, ad esempiogit diff | ash. Per le pipeline di strumenti richiesti dall'intelligenza artificiale,ashsupporta da due a sedici eseguibili consentiti collegati direttamente senza shell, comels | grep pattern | pbcopy. I modelli di controllo della shell negli argomenti dello strumento sono bloccati e ogni eseguibile in un fileash-la pipeline gestita deve essere inclusa nella lista consentita.
Volereashreinterpretare i comandi all'interno dei miei script di shell, comandi SSH o lavori cron?
No. I wrapper di integrazione Bash e zsh ritornano immediatamente in shell non interattive, quindi script, processi CI, one-liner SSH e comandi cron mantengono il normale comportamento di comando non trovato. Utilizzare un'invocazione esplicita comeash "summarize this log"Osome-command | ashquando l'automazione dovrebbe chiamareash.
Come mi fermo?ashdall'interpretare i miei comandi per qualche minuto?
Correreash snoozeper i cinque minuti predefiniti oppure specificare una durata comeash snooze 30sOash snooze 1h. Correreash snooze offper riprendere immediatamente. La funzione Snooze sospende il routing automatico dei comandi non trovati e del wrapper; esplicitoash ...i comandi funzionano ancora.
Come posso eseguire il debugashe visualizzare ulteriori informazioni su ciò che sta facendo?
ImpostatoASH_VERBOSE=1prima di correreashper abilitare l'output di debug strutturato e un dashboard di esecuzione del terminale. ImpostatoASH_LOG_FILEscrivere il JSON di debug in un file;ASH_LOG_MAX_BYTEScontrolla la rotazione e il valore predefinito è 1 MiB quando viene configurato un file di registro.
Quali limiti si applicano e quandoashesegue gli strumenti?
Per impostazione predefinita, ogni chiamata allo strumento ha un timeout di 15 secondi e acquisisce fino a 8192 byte di output. Una richiesta AI può contenere fino a 16 iterazioni del ciclo di strumenti e unashLa pipeline gestita prevede da due a sedici fasi. Regolare il timeout dello strumento e il limite di output conASH_TOOL_TIMEOUTEASH_TOOL_OUTPUT_MAX; mantieni l'output focalizzato con comandi comehead,tail, Ogrep.
Dov'è il prompt di sistema predefinito?
Il file di prompt canonico è$XDG_CONFIG_HOME/ash/.ash_system(predefinito~/.config/ash/.ash_system), installato dal pacchetto predefinito durante l'esecuzioneash install. File esistenti sotto il vecchio~/.ashl'area di lavoro non viene migrata o letta automaticamente. Ordinario$VARIABLEi valori vengono espansi dall'ambiente, ma$TOOLS_DIR_LIST,$PLUGINS_DIR_LIST, E$IF_PYTHON_AVAILABLEsono riservati interniAshsostituzioni e mai derivate dall’ambiente.
Dove inserisco i miei script e i plugin nativiashchiamare come strumenti?
Inserisci gli script Python dell'utente$XDG_DATA_HOME/ash/tools/e plugin binari nativi in$XDG_DATA_HOME/ash/plugins/(base predefinita~/.local/share/ash). Assicurati che siano eseguibili e aggiungi il semplice nome dell'eseguibile a$XDG_CONFIG_HOME/ash/.ash_allow(o fare affidamento su$TOOLS_DIR_LIST/$PLUGINS_DIR_LIST).Ashnon invoca una shell per i comandi e i plugin Unix consentiti.
Quali sono le migliori pratiche per uno strumento o un plug-in in modo che l'intelligenza artificiale ne comprenda lo scopo e l'utilizzo?
Segui ilcontratto di plugin nativo: esporre opzioni CLI prevedibili, implementare--help,--versione JSON con versione--ai-docsmetadati e descrivere gli schemi di input/output e il comportamento degli errori. Emetti JSON strutturato compatto con astatusdettagli sugli errori sul campo e su cui si può intervenire invece che prosa mescolata con i dati. Mantieni l'output limitato, convalida gli input, imposta i timeout di rete e rendi lo strumento sicuro da chiamare ripetutamente. Aggiungi il suo nome file nudo a$XDG_CONFIG_HOME/ash/.ash_allow;ashpuò eseguirlo solo quando è nella lista consentita e non elencato in$XDG_CONFIG_HOME/ash/.ash_deny.
Quali sono gli script degli strumenti forniti e i plugin nativi?
Gli script Python bootstrap installati sonoheadlines.py,wikipedia.py, Eyfinance.pyIn$XDG_DATA_HOME/ash/tools/. I plugin nativi forniti sonowhat_time_is_it(Andare),flip_a_coin(Ruggine) ecalculator(TypeScript) in$XDG_DATA_HOME/ash/plugins/.
I plugin Rust, incluso flip_a_coin, sono inclusi solo su Linux e FreeBSD. Le build macOS includono what_time_is_it e calculator, ma escludono i plugin Rust.
Perché manca il plugin Rust su macOS e come posso installarlo manualmente?
macOS omette i plugin Rust, incluso flip_a_coin, per compilare entrambe le architetture su Linux senza runner macOS e ridurre i costi CI. Non è una limitazione di compatibilità. Homebrew mantiene i plugin Go e TypeScript; Linux e FreeBSD mantengono Rust.
Sul Mac, installa gli strumenti a riga di comando Xcode (xcode-select --install se necessario) e Rust tramite rustup. Esegui questi comandi dove desideri creare una nuova copia del repository. Il Makefile del plugin compila per l'architettura nativa del Mac e installa nella directory utente, senza sudo.
git clone https://github.com/Jonconradt/ash.git
cd ash
rustup toolchain install 1.99.0 --profile minimal
plugin_dir="${XDG_DATA_HOME:-$HOME/.local/share}/ash/plugins"
make -C internal/app/ash_bootstrap/plugins_src/flip_a_coin build BUILD_DIR="$plugin_dir"
"$plugin_dir/flip_a_coin" --version
"$plugin_dir/flip_a_coin" --ai-docs
Usa il Makefile del plugin, non make plugins-build, che salta Rust su macOS. Mantieni $PLUGINS_DIR_LIST in ${XDG_CONFIG_HOME:-$HOME/.config}/ash/.ash_allow o aggiungi flip_a_coin; non deve essere in .ash_deny. Avvia una nuova invocazione di ash. Esegui "$plugin_dir/flip_a_coin" per provarlo senza un fornitore IA.
Potereashchiamare i subagenti?
SÌ. Un agente principale può utilizzarerun_sub_agentper un compito mirato e indipendente. Un figlio eredita la directory di lavoro, la configurazione, gli strumenti e le autorizzazioni del sistema operativo, restituisce un risultato limitato e non può creare un altro figlio. Il numero massimo predefinito è di sei agenti secondari per esecuzione principale e può essere modificato conASH_MAX_AGENTS.
Potereashgenerare file di memoria per tenere traccia di attività complesse e cosa ha imparato durante la sessione?
SÌ. Può scrivere file di spazio di lavoro persistenti sotto$XDG_CONFIG_HOME/ash(predefinito~/.config/ash), che vengono tracciati nell'inventario dell'area di lavoro e nei file temporanei con ambito sessione in$XDG_STATE_HOME/ash/scratch/<session-id>/(base predefinita~/.local/state/ash). Scratch è facoltativo: usalo per script riutilizzabili, dati intermedi, risultati accumulati o artefatti rivedibili quando aggiungono valore. I suoi strumenti sonoread_scratch_file,write_scratch_file,append_scratch_file,replace_scratch_file,edit_scratch_file, Elist_scratch_files. AttivoAshe i processi del broker proteggono la loro sessione con un blocco del sistema operativo. Le directory sbloccate vengono ripuliteAshuscire solo dopo aver superato le 48 ore e non aver effettuato l'accesso da 24 ore; i file di blocco rimanenti in caso di arresto anomalo non bloccano la pulizia successiva. Utilizza file dell'area di lavoro persistenti per le informazioni che intendi conservare.
Potereashprogrammare il lavoro per dopo?
Sì, attraverso i suoi strumenti di intelligenza artificiale. Su macOS, la pianificazione una tantum utilizza un'impostazione per utentelaunchdLaunchAgent e richiedelaunchctl. Su Linux, le pianificazioni ricorrenti sono supportate tramite l'utentecrontab;ashgestisce solo le proprie voci contrassegnate. Quello una tantumlaunchdlo scheduler non è disponibile su Linux, quindi utilizza una voce cron o un altro scheduler Linux per un lavoro Linux una tantum. Le esecuzioni pianificate ricevono un ambiente limitato e utilizzano HTTPS diretto anziché un broker di shell interattivo, quindi assicurati che la configurazione AI richiesta sia disponibile per il processo pianificato. Non possono utilizzare strumenti MCP remoti;Ashfunziona senza di essi e non avvisa nelle sessioni non interattive. Non pianificare prompt che richiedono MCP.
Sessioni e archiviazione
Dove si trovano la cronologia o i file di registroash?
La cronologia delle conversazioni viene archiviata come JSON in$XDG_STATE_HOME/ash/history/(predefinito~/.local/state/ash/history/). La cronologia pianificata e i registri di debug vengono archiviati nella stessa directory di stato. Puoi scegliere un altro percorso di registro di debug conASH_LOG_FILE.
Per quanto tempo vengono conservati i file della cronologia?
ashrimuove i file JSON della cronologia più vecchi di 14 giorni durante la normale pulizia dell'applicazione, con un budget di pulizia di 300 ms in modo che l'uscita non venga ritardata. La finestra dei messaggi recenti è separata: conserva fino a 40 messaggi per conversazione per impostazione predefinita e può essere modificata conASH_HISTORY_MAX.
Come posso cancellare una conversazione o ricominciare da capo?
La cronologia è separata dall'ID sessione e dalla chiave endpoint/modello AI. Avvia una nuova sessione del terminale per un nuovo ID sessione o rimuovi il file JSON pertinente in$XDG_STATE_HOME/ash/history/(predefinito~/.local/state/ash/history/) quando desideri intenzionalmente eliminare la cronologia delle conversazioni locali. La rimozione di un file di cronologia non revoca la chiave del provider né elimina i dati lato provider; gestirli separatamente con il fornitore.
Cosa èASH_SESSION_IDe dove viene generato?
È ilAshIdentificatore per sessione di proprietà utilizzato per separare la cronologia, lo spazio di lavoro, i socket del broker e i nomi dei log pianificati. L'ambiente della shell gestita ne crea uno all'avvio della shell e lo preserva quando viene re-source;Ashne crea uno per le invocazioni senza un valore fornito dalla shell. Un genericoSESSION_IDviene ignorato.
Posso fornire il mio?ASH_SESSION_ID?
SÌ.Ashconvalida gli ID espliciti e rifiuta i valori non validi anziché sostituirli silenziosamente. Gli ID validi contengono al massimo 128 caratteri e utilizzano lettere, cifre, caratteri di sottolineatura, trattini, con un suffisso punto facoltativo per la sessione figlio. Non utilizzare valori non attendibili o condivisi: le collisioni combinano la cronologia della sessione e lo stato di runtime.
Supporto e comunità
Come posso segnalare un bug?
Apri un problema sugithub.com/Jonconradt/ash/issuescon ilashversione o commit, il sistema operativo e la shell, la configurazione pertinente al problema con i segreti rimossi, i passaggi riproducibili e il risultato osservato. Per una vulnerabilità della sicurezza, non aprire un problema pubblico; segnalalo in privato tramite e-mail o avviso di sicurezza GitHub.
C'è un forum di discussione nelashprogetto?
SÌ. UtilizzoDiscussioni su GitHubper domande e idee, eProblemi di GitHubper bug riproducibili e lavoro monitorato.