Commandes utilisateur ·ash(1)

ashdocumentation

Assistant shell pratique pour les flux de travail de commandes introuvables. Cette page est la version Web de l'installableash(1)page de manuel.

Installer sur Debian ou Ubuntu

Voir leGuide d'installation d'APTpour les conditions préalables, les clés de signature, la configuration du référentiel, les canaux, les mises à jour et la suppression.

Installer sur Fedora ou Linux compatible RHEL

Voir leGuide d'installation du DNFpour les conditions préalables, la vérification des métadonnées, la configuration du référentiel, les canaux, les mises à jour et la suppression.

Installer sur Arch Linux

Voir leGuide d'installation de Pacmanpour les conditions préalables, la vérification des clés, la configuration du référentiel, les canaux, les mises à jour et la suppression.

Résumé

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]

Description

ashenvoie un texte d'invite au point de terminaison AI configuré et imprime la réponse de l'assistant. Lorsqu'aucun texte de position n'est fourni,ashlit le texte d'invite à partir d'une entrée standard non interactive.

LeinstallLa sous-commande installe les actifs gérés. Les fichiers de démarrage du Shell ne sont modifiés que lorsque vous le demandez explicitement--shell-integration; Bash utilise~/.bashrc, zsh utilise~/.zshrc, et le poisson utilise$XDG_CONFIG_HOME/fish/config.fish.

Les connexions au fournisseur d'IA sont partagées via un courtier local. L’échec du courtier revient au HTTPS direct.

L'IA peut utiliser systemd pour planifier des tâches en arrière-plan. Il peut s’agir de tâches récurrentes ou ponctuelles. Les tâches planifiées utilisent HTTPS direct par défaut.

ashsuit les répertoires de base XDG : fichiers de configuration et d'espace de travail persistant sous$XDG_CONFIG_HOME/ash(défaut~/.config/ash), outils et plugins sous$XDG_DATA_HOME/ash(défaut~/.local/share/ash), historique et session scratch sous$XDG_STATE_HOME/ash(défaut~/.local/state/ash), et cache sous$XDG_CACHE_HOME/ash(défaut~/.cache/ash). Utilisation des sockets de courtier$XDG_RUNTIME_DIR/ashavec une solution de repli de répertoire d'état. Les chemins XDG explicites doivent être absolus.

Les sorties d’outils, de scripts, de fichiers, redirigés et enfants sont des données non fiables et ne doivent pas remplacer les instructions du système ou de l’utilisateur. La fonctionnalité d'exécution d'outil n'est pas un bac à sable lorsque l'exécution arbitraire de Python ou de shell est activée. Par défaut, Python est activé, alors méfiez-vous.

Serveurs MCP distants

Les serveurs MCP (Model Context Protocol) fournissent des outils qu'un modèle d'IA peut appeler.Ashprend en charge les serveurs HTTP MCP Streamable distants et conserve leurs sessions client dansash-brokerà traversAshinvocations dans le même shell.

Enregistrez un serveur de confiance en exécutantash mcp add <url>d'un interactifAshshell, ou en ajoutant son URL à$XDG_CONFIG_HOME/ash/.ash_allow(défaut~/.config/ash/.ash_allow). Aucun serveur distant n'est activé par défaut.

L'autorisation OAuth s'ouvre dans le navigateur de bureau lorsqu'une interface graphique est disponible. Si le navigateur ne peut pas être ouvert,Ashimprime une URL d'autorisation copiable et attend dans le terminal. Utiliserash mcp add <url> --no-browserde toujours utiliser ce flux terminal. L'autorisation manuelle d'URL nécessite toujours un navigateur sur le même hôte ; ce n'est pas un flux OAuth sans navigateur.

Lignes d'URL commençant parhttp://ouhttps://sont des enregistrements MCP, pas des commandes shell. Les schémas sont reconnus sans tenir compte de la casse.Ashdérive le nom local du serveur à partir des 8 premiers caractères hexadécimaux minuscules de SHA-256 sur le texte de l'URL découpé. HTTPS est requis sauf pour le développement localhost ; Les URL contenant des informations d'identification intégrées, des chaînes de requête ou des fragments sont rejetées. Pour les connexions OAuth directes, la découverte autorise les adresses IP non publiques uniquement pour l'autorité MCP enregistrée exacte ; les autres hôtes OAuth restent soumis au blocage des adresses non publiques. Un proxy de sortie configuré est chargé de filtrer ses adresses de destination. Les modifications sont lues au suivantAshdemande.

Les inscriptions MCP restent activées avecASH_STRICT=1. Les résultats de l'outil renvoyés sont toujours traités comme des preuves non fiables. Enregistrez uniquement les serveurs en qui vous avez confiance : leurs outils peuvent effectuer des actions en votre nom. Pour les serveurs protégés par OAuth,Ashouvre le navigateur lorsqu'une interface graphique est disponible pendant que le courtier gère le rappel et les jetons. Les informations d'identification utilisent le gestionnaire d'informations d'identification du système d'exploitation lorsqu'il est disponible, ou un fichier crypté protégé par un fichier aléatoire de 32 octets fourni par l'utilisateur.ASH_MCP_CREDENTIAL_KEYdans$XDG_DATA_HOME/ash/mcp/.

Si l'initialisation MCP échoue,Ashcontinue la demande sans outils MCP distants. Les exécutions interactives impriment un avertissement ; les exécutions non interactives échouent silencieusement.Les tâches planifiées ne disposent pas du courtier per-interactive-shell et ne peuvent donc pas utiliser les outils MCP distants.Une invite planifiée qui dépend de MCP peut toujours s'exécuter mais peut se terminer sans l'action ou les données MCP demandées. Ne planifiez pas d'invites nécessitant MCP.

Voir leFAQ MCPpour un aperçu rapide et des notes de configuration.

Commandes

ash [--attach path]... [text ...]
Exécutez une seule demande d’assistant.--attachjoint un fichier (image ou document) à la demande ; reproductible. Taille limitée parASH_ATTACHMENT_MAX_BYTESet actuellement envoyé sur le fil uniquement aux fournisseurs compatibles OpenAI.
ash mcp add <url> [--no-browser]
Connectez-vous et enregistrez un serveur MCP distant dans le.ash_allow. Ouvre l'autorisation OAuth dans un navigateur de bureau lorsqu'elle est disponible ; revient à une URL copiable dans le terminal.--no-browserutilise toujours le flux du terminal.
ash install [--shell bash|zsh|fish] [--shell-integration|--disable-shell-integration] [--dry-run]
Installez les ressources sans modifier les fichiers de démarrage du shell par défaut.--shell-integrationaccepte d'ajouter/mettre à jour le bloc géré ;--disable-shell-integrationsupprime uniquement ce bloc et préserve le contenu utilisateur environnant. Lorsqu'il est interactif, installez les configurations automatiquesASH_AI_ENDPOINT,ASH_AI_MODEL, etASH_AI_AUTH_TOKENsi nécessaire, en préférant une clé de fournisseur existante ou un point de terminaison local avant d'afficher un menu de fournisseur.
ash snooze [duration|off]
Suspendre le traitement automatique des invites du shell. La valeur par défaut est de cinq minutes. Les durées utilisent la syntaxe Go telle que30s,5m, ou1h. Utiliseroffreprendre immédiatement.
ash update [--version vX.Y.Z] [--yes|--skip-customized]
Téléchargez et installez la dernière version stable de macOS, Linux ou FreeBSD pour l'architecture actuelle dans~/.local/bin/ash. Les versions nécessitent une vérification Sigstore et une vérification SHA-256.

Environnement

ASH_AI_AUTH_TOKEN
Jeton au porteur facultatif. Obligatoire pour les points de terminaison cloud, à l'exception d'AWS Bedrock. Adresses privées/LAN et.localles noms d'hôtes sont traités comme non cloud, sauf siASH_STRICT=1.
ASH_AI_CACHE
Bascule facultative du cache natif du fournisseur. Activé par défaut lorsqu'il est pris en charge ; accepte1,true,yes,on,enabled,0,false,no,off, oudisabled(insensible à la casse).
ASH_AI_ENDPOINT
URL de base requise pour le point de terminaison de l’API de chat.
ASH_AI_MODEL
Nom du modèle requis envoyé au point de terminaison.
ASH_AI_PROVIDER
Remplacement facultatif du fournisseur. Lorsqu'il n'est pas réglé,ashdétecte le fournisseur à partir du point de terminaison.
ASH_AI_TIMEOUT
Délai d’expiration de la demande facultatif. Défaut:3m.
ASH_ALWAYS_OPENAI_API
Bascule de test facultative. Lorsqu'il est vrai, achemine leollamafournisseur via l’adaptateur SDK compatible OpenAI au lieu de son implémentation manuelle. Accepte les mêmes valeurs booléennes queASH_AI_CACHE. Par défaut : activé.
ASH_ATTACHMENT_MAX_BYTES
Taille maximale facultative en octets pour un fichier transmis via--attach. Défaut:10485760(10 Mo).
ASH_HISTORY_MAX
Messages d'historique maximum facultatifs par clé. Défaut:40.
ASH_LOG_FILE
Chemin du journal de débogage facultatif lorsque la journalisation détaillée est activée.
ASH_LOG_MAX_BYTES
Taille maximale facultative du journal avant la rotation. Défaut:1048576.
ASH_MAX_AGENTS
Nombre maximum de sous-agents facultatifs générés par un processus parent. Défaut:6.
ASH_MAX_TOOL_ITERS
Itérations maximales facultatives de boucle d’appel d’outil d’IA. Défaut:16.
ASH_RELEVANCE_WINDOW
Observations récentes facultatives de l'outil incluses dans l'état d'exécution. Défaut:4.
ASH_RETRY_BASE_DELAY
Délai de base d’attente de nouvelle tentative facultatif. Défaut:250ms.
ASH_RETRY_MAX_ATTEMPTS
Tentatives de demande réessayables facultatives. Défaut:3.
ASH_SCHEDULED_TASK
Indicateur du planificateur interne utilisé parash-invocations gérées.
ASH_STREAM
Bascule facultative. Lorsqu'il est vrai, diffuse la réponse des fournisseurs dont l'adaptateur la prend en charge (actuellement OpenAI uniquement). Accepte les mêmes valeurs booléennes queASH_AI_CACHE. Par défaut : activé.
ASH_TASK_MAX
Plafond facultatif sur les tâches d’exécution dérivées d’une demande. Défaut:6.
ASH_TASK_STALL_ROUNDS
L'assistant facultatif décroche des rondes avant de s'arrêter. Défaut:2.
ASH_ALLOW
Liste autorisée facultative d'exécutables séparés par des virgules pourrun_unix_command. Sinon$XDG_CONFIG_HOME/ash/.ash_allow(défaut~/.config/ash/.ash_allow) est utilisé ; ce remplacement ne se développe pas en interneAshjetons.
ASH_DENY
Liste de refus facultative séparée par des virgules pour bloquer explicitement les commandes, les outils et les plugins. Sinon$XDG_CONFIG_HOME/ash/.ash_deny(défaut~/.config/ash/.ash_deny) est utilisé.
ASH_TOOL_OUTPUT_MAX
Sortie maximale facultative de l’outil capturé en octets. Défaut:8192.
ASH_TOOL_TIMEOUT
Délai d’expiration de la commande d’outil local facultatif. Défaut:15s.
ASH_VERBOSE
Tableau de bord facultatif de journalisation et d’exécution du débogage. Des valeurs telles que1,true,on, etdebugactivez-le.
ASH_SESSION_ID
Ashidentifiant de session pour l’historique persistant et la dénomination des journaux. Généré en cas d'absence ; les valeurs explicites invalides sont rejetées. GénériqueSESSION_IDest ignoré.

Les paramètres numériques et de durée explicites sont validés. Les limites entières doivent être positives saufASH_MAX_TOOL_ITERS, qui peut être nul. Les délais d'attente de l'IA/des outils doivent être positifs ; les délais de nouvelle tentative peuvent être nuls mais pas négatifs. Les durées utilisent la syntaxe Go telle que30s,5m, ou1h. Les valeurs mal formées ou hors plage produisent une erreur de configuration au lieu d'utiliser silencieusement les valeurs par défaut.

Fichiers

  • $XDG_CONFIG_HOME/ash/(défaut~/.config/ash/)—Fichiers d'invite canonique, de stratégie et d'espace de travail persistant.
  • $XDG_DATA_HOME/ash/(défaut~/.local/share/ash/)—outils groupés, plugins, packs de langue et informations d'identification MCP.
  • $XDG_STATE_HOME/ash/(défaut~/.local/state/ash/)—historique, scratch, journaux et état de répétition.
  • $XDG_CACHE_HOME/ash/(défaut~/.cache/ash/)—fichiers de cache régénérables.

Statut de sortie

ash renvoie 0 en cas de succès. Il renvoie une valeur différente de zéro lorsque la configuration, les requêtes réseau ou l'exécution de l'outil échouent.

Exemples

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

Voir aussi

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

Source:documents/ash.1·LISEZMOI·Politique de sécurité