Benutzerbefehle ·ash(1)

ashDokumentation

Praktischer Shell-Assistent für Workflows, bei denen Befehle nicht gefunden werden. Diese Seite ist die Webversion der installierbaren Dateiash(1)Manpage.

Auf Debian oder Ubuntu installieren

Siehe dieAPT-Installationsanleitungfür Voraussetzungen, Signaturschlüssel, Repository-Einrichtung, Kanäle, Aktualisierungen und Entfernung.

Installation unter Fedora oder RHEL-kompatiblem Linux

Siehe dieDNF-Installationsanleitungfür Voraussetzungen, Metadatenüberprüfung, Repository-Einrichtung, Kanäle, Aktualisierungen und Entfernung.

Auf Arch Linux installieren

Siehe diePacman-Installationsanleitungfür Voraussetzungen, Schlüsselüberprüfung, Repository-Einrichtung, Kanäle, Aktualisierungen und Entfernung.

Zusammenfassung

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]

Beschreibung

ashSendet einen Eingabeaufforderungstext an den konfigurierten KI-Endpunkt und druckt die Antwort des Assistenten aus. Wenn kein Positionstext angegeben ist,ashLiest Eingabeaufforderungstext aus der nicht interaktiven Standardeingabe.

DerinstallDer Unterbefehl installiert verwaltete Assets. Shell-Startdateien werden nur geändert, wenn Sie dies ausdrücklich anfordern--shell-integration; Bash verwendet~/.bashrc, zsh verwendet~/.zshrc, und Fisch verwendet$XDG_CONFIG_HOME/fish/config.fish.

Verbindungen zum KI-Anbieter werden über einen lokalen Broker geteilt. Ein Broker-Ausfall fällt auf direktes HTTPS zurück.

Die KI kann systemd verwenden, um Hintergrundaufgaben zu planen. Dabei kann es sich um wiederkehrende oder einmalige Aufträge handeln. Geplante Jobs verwenden standardmäßig direktes HTTPS.

ashFolgt den XDG-Basisverzeichnissen: Konfiguration und persistente Arbeitsbereichsdateien unter$XDG_CONFIG_HOME/ash(Standard~/.config/ash), Tools und Plugins unter$XDG_DATA_HOME/ash(Standard~/.local/share/ash), Verlauf und Sitzungsscratch unten$XDG_STATE_HOME/ash(Standard~/.local/state/ash) und zwischenspeichern$XDG_CACHE_HOME/ash(Standard~/.cache/ash). Verwendung von Broker-Sockets$XDG_RUNTIME_DIR/ashmit einem State-Directory-Fallback. Explizite XDG-Pfade müssen absolut sein.

Tool-, Skript-, Datei-, Pipeline- und untergeordnete Ausgaben sind nicht vertrauenswürdige Daten und dürfen System- oder Benutzeranweisungen nicht außer Kraft setzen. Die Tool-Ausführungsfunktion ist keine Sandbox, wenn die beliebige Python- oder Shell-Ausführung aktiviert ist. Standardmäßig ist Python aktiviert, seien Sie also vorsichtig.

Remote-MCP-Server

MCP-Server (Model Context Protocol) stellen Tools bereit, die ein KI-Modell aufrufen kann.Ashunterstützt Remote-Streamable-HTTP-MCP-Server und hält ihre Client-Sitzungen aufrechtash-brokerüberAshAufrufe in derselben Shell.

Registrieren Sie einen vertrauenswürdigen Server, indem Sie Folgendes ausführenash mcp add <url>von einem interaktivenAshShell oder durch Hinzufügen der URL zu$XDG_CONFIG_HOME/ash/.ash_allow(Standard~/.config/ash/.ash_allow). Standardmäßig ist kein Remote-Server aktiviert.

Die OAuth-Autorisierung wird im Desktop-Browser geöffnet, wenn eine GUI verfügbar ist. Sollte sich der Browser nicht öffnen lassen,Ashgibt eine kopierbare Autorisierungs-URL aus und wartet im Terminal. Verwendenash mcp add <url> --no-browserdiesen Terminalfluss immer zu verwenden. Für die manuelle URL-Autorisierung ist weiterhin ein Browser auf demselben Host erforderlich. Es handelt sich nicht um einen browserlosen OAuth-Fluss.

URL-Zeilen beginnend mithttp://oderhttps://sind MCP-Registrierungen, keine Shell-Befehle. Schemata werden ohne Berücksichtigung der Groß-/Kleinschreibung erkannt.Ashleitet den lokalen Namen des Servers aus den ersten acht hexadezimalen Kleinbuchstaben von SHA-256 über dem gekürzten URL-Text ab. HTTPS ist außer für die Localhost-Entwicklung erforderlich; URLs mit eingebetteten Anmeldeinformationen, Abfragezeichenfolgen oder Fragmenten werden abgelehnt. Bei direkten OAuth-Verbindungen lässt die Erkennung nicht öffentliche IP-Adressen nur für die genau registrierte MCP-Autorität zu; Andere OAuth-Hosts unterliegen weiterhin der Blockierung nicht öffentlicher Adressen. Ein konfigurierter Egress-Proxy ist für die Filterung seiner Zieladressen verantwortlich. Änderungen werden auf der nächsten Seite gelesenAshAnfrage.

MCP-Registrierungen bleiben mit aktiviertASH_STRICT=1. Zurückgesandte Werkzeugausgaben werden weiterhin als nicht vertrauenswürdige Beweise behandelt. Registrieren Sie nur Server, denen Sie vertrauen: Ihre Tools können in Ihrem Namen Aktionen ausführen. Für OAuth-geschützte Server:AshÖffnet den Browser, wenn eine GUI verfügbar ist, während der Broker den Rückruf und die Token verarbeitet. Anmeldeinformationen verwenden den Anmeldeinformations-Manager des Betriebssystems, sofern verfügbar, oder eine verschlüsselte Datei, die durch eine vom Benutzer bereitgestellte zufällige 32-Byte-Datei geschützt istASH_MCP_CREDENTIAL_KEYIn$XDG_DATA_HOME/ash/mcp/.

Wenn die MCP-Initialisierung fehlschlägt,Ashsetzt die Anfrage ohne Remote-MCP-Tools fort. Interaktive Läufe geben eine Warnung aus; Nicht interaktive Läufe schlagen stillschweigend fehl.Geplante Jobs verfügen nicht über den Per-Interactive-Shell-Broker und können daher keine Remote-MCP-Tools verwenden.Eine geplante Eingabeaufforderung, die von MCP abhängt, wird möglicherweise weiterhin ausgeführt, kann jedoch ohne die angeforderte MCP-Aktion oder die angeforderten MCP-Daten beendet werden. Planen Sie keine Eingabeaufforderungen, die MCP erfordern.

Siehe dieMCP-FAQfür einen schnellen Überblick und Einrichtungshinweise.

Befehle

ash [--attach path]... [text ...]
Führen Sie eine einzelne Assistentenanfrage aus.--attachhängt der Anfrage eine Datei (Bild oder Dokument) an; wiederholbar. Größenbegrenzt durchASH_ATTACHMENT_MAX_BYTESund werden derzeit nur an OpenAI-kompatible Anbieter per Kabel gesendet.
ash mcp add <url> [--no-browser]
Stellen Sie eine Verbindung her und registrieren Sie einen Remote-MCP-Server.ash_allow. Öffnet die OAuth-Autorisierung in einem Desktop-Browser, sofern verfügbar; greift auf eine kopierbare URL im Terminal zurück.--no-browserVerwendet immer den Terminalfluss.
ash install [--shell bash|zsh|fish] [--shell-integration|--disable-shell-integration] [--dry-run]
Installieren Sie Assets standardmäßig, ohne die Shell-Startdateien zu ändern.--shell-integrationentscheidet sich für das Hinzufügen/Aktualisieren des verwalteten Blocks;--disable-shell-integrationEntfernt nur diesen Block und behält den umgebenden Benutzerinhalt bei. Wenn Sie interaktiv sind, installieren Sie die automatische KonfigurationASH_AI_ENDPOINT,ASH_AI_MODEL, UndASH_AI_AUTH_TOKENBei Bedarf wird ein vorhandener Anbieterschlüssel oder ein lokaler Endpunkt bevorzugt, bevor ein Anbietermenü angezeigt wird.
ash snooze [duration|off]
Unterbrechen Sie die automatische Verarbeitung der Shell-Eingabeaufforderung. Der Standardwert beträgt fünf Minuten. Dauern verwenden Go-Syntax wie z30s,5m, oder1h. Verwendenoffsofort fortfahren.
ash update [--version vX.Y.Z] [--yes|--skip-customized]
Laden Sie die neueste stabile macOS-, Linux- oder FreeBSD-Version für die aktuelle Architektur herunter und installieren Sie sie~/.local/bin/ash. Für Veröffentlichungen ist eine Sigstore-Verifizierung und eine SHA-256-Verifizierung erforderlich.

Umgebung

ASH_AI_AUTH_TOKEN
Optionaler Inhabertoken. Erforderlich für Cloud-Endpunkte außer AWS Bedrock. Private/LAN-Adressen und.localHostnamen werden als Nicht-Cloud-Hostnamen behandelt, es sei dennASH_STRICT=1.
ASH_AI_CACHE
Optionale anbieternative Cache-Umschaltung. Standardmäßig aktiviert, sofern unterstützt; akzeptiert1,true,yes,on,enabled,0,false,no,off, oderdisabled(Groß- und Kleinschreibung wird nicht beachtet).
ASH_AI_ENDPOINT
Erforderliche Basis-URL für den Chat-API-Endpunkt.
ASH_AI_MODEL
Erforderlicher Modellname, der an den Endpunkt gesendet wird.
ASH_AI_PROVIDER
Optionale Anbieterüberschreibung. Wenn nicht aktiviert,ashErkennt den Anbieter vom Endpunkt aus.
ASH_AI_TIMEOUT
Optionales Anforderungszeitlimit. Standard:3m.
ASH_ALWAYS_OPENAI_API
Optionaler Testschalter. Wenn es wahr ist, werden die Routen weitergeleitetollamaAnbieter über den OpenAI-kompatiblen SDK-Adapter anstelle seiner manuellen Implementierung. Akzeptiert die gleichen booleschen Werte wieASH_AI_CACHE. Standard: ein.
ASH_ATTACHMENT_MAX_BYTES
Optionale maximale Größe in Bytes für eine übergebene Datei--attach. Standard:10485760(10 MiB).
ASH_HISTORY_MAX
Optionale maximale Verlaufsnachrichten pro Schlüssel. Standard:40.
ASH_LOG_FILE
Optionaler Debug-Protokollpfad, wenn die ausführliche Protokollierung aktiviert ist.
ASH_LOG_MAX_BYTES
Optionale maximale Protokollgröße vor der Rotation. Standard:1048576.
ASH_MAX_AGENTS
Optionale maximale Unteragenten, die von einem übergeordneten Prozess generiert werden. Standard:6.
ASH_MAX_TOOL_ITERS
Optionale maximale Iterationen der AI-Tool-Call-Schleife. Standard:16.
ASH_RELEVANCE_WINDOW
Optionale aktuelle Werkzeugbeobachtungen im Ausführungsstatus enthalten. Standard:4.
ASH_RETRY_BASE_DELAY
Optionale Backoff-Basisverzögerung für Wiederholungsversuche. Standard:250ms.
ASH_RETRY_MAX_ATTEMPTS
Optional wiederholbare Anforderungsversuche. Standard:3.
ASH_SCHEDULED_TASK
Internes Scheduler-Flag, das von verwendet wirdash-verwaltete Aufrufe.
ASH_STREAM
Optionaler Umschalter. Bei true-like wird die Antwort von Anbietern gestreamt, deren Adapter dies unterstützt (derzeit nur OpenAI). Akzeptiert die gleichen booleschen Werte wieASH_AI_CACHE. Standard: ein.
ASH_TASK_MAX
Optionale Obergrenze für Ausführungsaufgaben, die von einer Anfrage abgeleitet werden. Standard:6.
ASH_TASK_STALL_ROUNDS
Optionale Helfer-Stallrunden vor dem Anhalten. Standard:2.
ASH_ALLOW
Optionale durch Kommas getrennte ausführbare Zulassungsliste fürrun_unix_command. Ansonsten$XDG_CONFIG_HOME/ash/.ash_allow(Standard~/.config/ash/.ash_allow) wird verwendet; Diese Überschreibung wird nicht intern erweitertAshToken.
ASH_DENY
Optionale durch Kommas getrennte Sperrliste zum expliziten Blockieren von Befehlen, Tools und Plugins. Ansonsten$XDG_CONFIG_HOME/ash/.ash_deny(Standard~/.config/ash/.ash_deny) verwendet wird.
ASH_TOOL_OUTPUT_MAX
Optionale maximale erfasste Werkzeugausgabe in Bytes. Standard:8192.
ASH_TOOL_TIMEOUT
Optionales Zeitlimit für lokale Toolbefehle. Standard:15s.
ASH_VERBOSE
Optionales Debug-Protokollierung und Ausführungs-Dashboard. Werte wie1,true,on, Unddebugaktivieren Sie es.
ASH_SESSION_ID
AshSitzungskennung für persistenten Verlauf und Protokollbenennung. Wird bei Abwesenheit generiert; Ungültige explizite Werte werden abgelehnt. GenerischSESSION_IDwird ignoriert.

Explizite numerische und Dauereinstellungen werden validiert. Ganzzahlgrenzen müssen positiv sein, außerASH_MAX_TOOL_ITERS, was Null sein kann. KI-/Tool-Timeouts müssen positiv sein; Wiederholungsverzögerungen können Null, aber nicht negativ sein. Dauern verwenden Go-Syntax wie z30s,5m, oder1h. Falsch formatierte oder außerhalb des gültigen Bereichs liegende Werte führen zu einem Konfigurationsfehler, anstatt stillschweigend Standardwerte zu verwenden.

Dateien

  • $XDG_CONFIG_HOME/ash/(Standard~/.config/ash/)—kanonische Eingabeaufforderungs-, Richtlinien- und persistente Arbeitsbereichsdateien.
  • $XDG_DATA_HOME/ash/(Standard~/.local/share/ash/)—gebündelte Tools, Plugins, Sprachpakete und MCP-Anmeldeinformationen.
  • $XDG_STATE_HOME/ash/(Standard~/.local/state/ash/)—Verlauf, Scratch, Protokolle und Schlummerstatus.
  • $XDG_CACHE_HOME/ash/(Standard~/.cache/ash/)—regenerierbare Cache-Dateien.

Exit-Status

ash gibt bei Erfolg 0 zurück. Es wird ein Wert ungleich Null zurückgegeben, wenn Konfiguration, Netzwerkanforderungen oder Toolausführung fehlschlagen.

Beispiele

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

Siehe auch

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

Quelle:Dokumente/ash.1·README·Sicherheitspolitik