Skip to content

Latest commit

 

History

History
353 lines (237 loc) · 9.84 KB

File metadata and controls

353 lines (237 loc) · 9.84 KB

English | Español | 简体中文

Idioma: español (Spanish)


AISH

Dale al shell capacidad de pensar. Evoluciona las operaciones.

Official Website GitHub Python Version Platform License

Un shell de IA real: PTY completo + seguridad y control de riesgos configurables


Tabla de contenidos


Por qué elegir AISH

  • Shell interactivo real: compatibilidad PTY completa, ejecuta programas interactivos como vim / ssh / top
  • Integración nativa de IA: describe tareas en lenguaje natural, genera, explica y ejecuta comandos
  • Seguro y controlable: los comandos de IA tienen clasificación de riesgo y flujo de confirmación; preejecución en sandbox opcional para evaluar cambios
  • Extensible: sistema de plugins Skills con carga en caliente y sobrescritura de prioridad
  • Bajo costo de migración: compatible con comandos y flujos habituales, todo en la terminal por defecto

Comparación de funciones

Función AISH Claude Code
🎯 Posicionamiento principal CLI de operaciones/solución de problemas del sistema Asistente de desarrollo y código
🤖 Soporte multmodelo ✅ Totalmente abierto ⚠️ Principalmente Claude
🔧 Sistema de subagentes ✅ Agente de diagnóstico ReAct ✅ Múltiples tipos de agentes
🧩 Soporte de Skills ✅ Carga en caliente
🖥️ Integración nativa con terminal ✅ Compatibilidad PTY completa ⚠️ Soporte limitado
🛡️ Evaluación de riesgos de seguridad ✅ Confirmación de seguridad ✅ Confirmación de seguridad
🌐 Soporte de modelos locales ✅ Totalmente compatible ✅ Totalmente compatible
📁 Herramientas de operaciones de archivos ✅ Soporte mínimo esencial ✅ Soporte completo
💰 Completamente gratis ✅ Open source ❌ Servicio de pago
📊 Observabilidad ✅ Langfuse opcional ⚠️ Integrado
🌍 Salida multilingüe ✅ Detección automática

Inicio rápido

1) Instalar y lanzar

Opción 1: Instalación en una línea (recomendado)

curl -fsSL https://www.aishell.ai/repo/install.sh | bash

Opción 2: Instalación manual del bundle

Descarga el bundle correspondiente aish-<version>-linux-<arch>.tar.gz desde el directorio oficial de releases y luego ejecuta:

tar -xzf aish-<version>-linux-<arch>.tar.gz
cd aish-<version>-linux-<arch>
sudo ./install.sh

Luego inicia:

aish

Nota: aish sin subcomandos equivale a aish run.

2) Usar como un shell normal

aish> ls -la
aish> cd /etc
aish> vim hosts

3) Dejar que la IA haga el trabajo (comienza con ;)

Comenzar con ; o entra en modo IA:

aish> ;busca archivos mayores de 100M en el directorio actual y ordena por tamaño
aish> ;explica este comando: tar -czf a.tgz ./dir

Instalación

Bundle de release Linux

curl -fsSL https://www.aishell.ai/repo/install.sh | bash

El instalador resuelve la versión estable más reciente, descarga el bundle correspondiente para tu arquitectura e instala aish, aish-sandbox y aish-uninstall en /usr/local/bin.

Ejecutar desde el código fuente (desarrollo/prueba)

uv sync
uv run aish
# o
python -m aish

Desinstalación

Desinstalar (conservar archivos de configuración):

sudo aish-uninstall

Desinstalación completa (también elimina políticas de seguridad a nivel sistema):

sudo aish-uninstall --purge-config

Opcional: limpiar configuración del usuario (borra claves de modelo/API, etc.):

rm -rf ~/.config/aish

Configuración

Ubicación del archivo de configuración

  • Predeterminado: ~/.config/aish/config.yaml (o $XDG_CONFIG_HOME/aish/config.yaml si XDG_CONFIG_HOME está definido)

Prioridad (de mayor a menor)

  1. Argumentos de línea de comandos
  2. Variables de entorno
  3. Archivo de configuración

Ejemplo mínimo de configuración

# ~/.config/aish/config.yaml
model: openai/deepseek-chat
api_base: https://openrouter.ai/api/v1
api_key: your_api_key

Alternativamente vía variables de entorno (más adecuado para secretos):

export AISH_MODEL="openai/deepseek-chat"
export AISH_API_BASE="https://openrouter.ai/api/v1"
export AISH_API_KEY="your_api_key"

Consejo: LiteLLM también admite leer variables de entorno específicas del proveedor (p. ej., OPENAI_API_KEY, ANTHROPIC_API_KEY).

Configuración interactiva (opcional):

aish setup

Verificación de compatibilidad de tool calling (confirma que el modelo/canal seleccionado admite tool calling):

aish check-tool-support --model openai/deepseek-chat --api-base https://openrouter.ai/api/v1 --api-key your_api_key

Langfuse (observabilidad opcional):

  1. Habilitar en la configuración:
enable_langfuse: true
  1. Configurar variables de entorno:
export LANGFUSE_PUBLIC_KEY="..."
export LANGFUSE_SECRET_KEY="..."
export LANGFUSE_HOST="https://cloud.langfuse.com"

aish check-langfuse ejecutará comprobaciones cuando check_langfuse.py exista en la raíz del proyecto.


Uso

Tipos de entrada comunes

Tipo Ejemplo Descripción
Comandos de shell ls -la, cd /path, git status Ejecutar comandos normales directamente
Solicitudes de IA ;cómo comprobar el uso de puertos, ;busca archivos mayores de 100M Entrar en modo IA con el prefijo ;/
Comandos integrados help, clear, exit, quit Comandos de control integrados del shell
Cambio de modelo /model gpt-4 Ver o cambiar modelo

Compatibilidad de shell (PTY)

aish> ssh user@host
aish> top
aish> vim /etc/hosts

Seguridad y control de riesgos

AI Shell solo realiza la evaluación de seguridad sobre comandos generados por IA y listos para ejecutarse.

Niveles de riesgo

  • LOW: Permitido por defecto
  • MEDIUM: Confirmación antes de ejecutar
  • HIGH: Bloqueado por defecto

Ruta del archivo de políticas de seguridad

Los archivos de políticas se resuelven en este orden:

  1. /etc/aish/security_policy.yaml (nivel sistema)
  2. ~/.config/aish/security_policy.yaml (nivel usuario; plantilla generada automáticamente si no existe)

Pre-ejecución en sandbox (opcional, recomendada en producción)

La política predeterminada tiene la pre‑ejecución en sandbox deshabilitada. Para habilitarla:

  1. Configurar en la política de seguridad:
global:
  enable_sandbox: true
  1. Iniciar el servicio de sandbox privilegiado (systemd):
sudo systemctl enable --now aish-sandbox.socket

Socket predeterminado: /run/aish/sandbox.sock. Cuando el sandbox no está disponible, se aplica la regla sandbox_off_action (BLOCK/CONFIRM/ALLOW) de la política.


Skills (Plugins)

Los Skills amplían el conocimiento y los flujos de trabajo de la IA, con carga en caliente y sobrescritura de prioridad.

Directorios de escaneo predeterminados y prioridad:

  • ~/.config/aish/skills/ (o $AISH_CONFIG_DIR/skills)
  • ~/.claude/skills/

Las versiones empaquetadas intentan copiar las skills a nivel sistema en el directorio del usuario en el primer inicio (p. ej., /usr/share/aish/skills).

Para más detalles: docs/skills-guide.md


Datos y privacidad

Este proyecto almacena los siguientes datos localmente (para diagnóstico y trazabilidad):

  • Logs: predeterminado ~/.config/aish/logs/aish.log
  • Sesiones/Historial: predeterminado ~/.local/share/aish/sessions.db (SQLite)
  • Descarga de salida grande: predeterminado ~/.local/share/aish/offload/

Recomendaciones:

  • No cometas claves API reales en el repositorio; prefiere variables de entorno o sistemas de gestión de secretos.
  • En producción, combina políticas de seguridad para limitar el alcance de directorios accesibles por la IA.

Documentación

  • Guía de configuración: CONFIGURATION.md
  • Inicio rápido: QUICKSTART.md
  • Uso de Skills: docs/skills-guide.md
  • Mecanismo de corrección de comandos: docs/command-interaction-correction.md

Comunidad y soporte

Enlace Descripción
Official Website Página del proyecto y más información
GitHub Repository Código fuente y seguimiento de issues
GitHub Issues Reportes de errores
GitHub Discussions Debates de la comunidad
Discord Unirse a la comunidad

Desarrollo y pruebas

uv sync
uv run aish
uv run pytest

Contribuir

Consulta CONTRIBUTING.md para las directrices.

Licencia

LICENSE (Apache 2.0)