Empower the Shell to think. Evolve Operations.
# Add to your Claude Code skills
git clone https://github.com/AI-Shell-Team/aishEnglish | 简体中文
Empower the Shell to think. Evolve Operations.

A Real AI Shell: Complete PTY + Configurable Security & Risk Control
No comments yet. Be the first to share your thoughts!
vim / ssh / top| Feature | AISH | Claude Code | |---------|------|-------------| | 🎯 Core Positioning | Ops/System Troubleshooting CLI | Development Coding Assistant | | 🤖 Multi-Model Support | ✅ Fully Open | ⚠️ Mainly Claude | | 🔧 Sub-Agent System | ✅ ReAct Diagnostic Agent | ✅ Multiple Agent Types | | 🧩 Skills Support | ✅ Hot Loading | ✅ | | 🖥️ Native Terminal Integration | ✅ Full PTY Support | ⚠️ Limited Support | | 🛡️ Security Risk Assessment | ✅ Security Confirmation | ✅ Security Confirmation | | 🌐 Local Model Support | ✅ Fully Supported | Fully Supported | | 📁 File Operation Tools | ✅ Minimal Essential Suppport | ✅ Full Support | | 💰 Completely Free | ✅ Open Source | ❌ Paid Service | | 📊 Observability | ✅ Langfuse Optional | ⚠️ Built-in | | 🌍 Multi-language Output | ✅ Auto Detection | ✅ |
curl -fsSL https://www.aishell.ai/repo/install.sh | bash
Download the matching aish-<version>-linux-<arch>.tar.gz bundle from the official release directory, then run:
tar -xzf aish-<version>-linux-<arch>.tar.gz
cd aish-<version>-linux-<arch>
sudo ./install.sh
Then launch:
aish
Note: aish without subcommands is equivalent to aish run.
aish> ls -la
aish> cd /etc
aish> vim hosts
Starting with ; or ; enters AI mode:
aish> ;find files larger than 100M in current directory and sort by size
aish> ;explain this command: tar -czf a.tgz ./dir
curl -fsSL https://www.aishell.ai/repo/install.sh | bash
The installer resolves the latest stable version, downloads the matching bundle for your architecture, and installs aish, aish-sandbox, and aish-uninstall into /usr/local/bin.
uv sync
uv run aish
# or
python -m aish
Uninstall (keep configuration files):
sudo aish-uninstall
Complete uninstallation (also removes system-level security policies):
sudo aish-uninstall --purge-config
Optional: Clean user-level configuration (will clear model/API keys etc.):
rm -rf ~/.config/aish
~/.config/aish/config.yaml (or $XDG_CONFIG_HOME/aish/config.yaml if XDG_CONFIG_HOME is set)# ~/.config/aish/config.yaml
model: openai/deepseek-chat
api_base: https://openrouter.ai/api/v1
api_key: your_api_key
Alternatively via environment variables (more suitable for secrets):
export AISH_MODEL="openai/deepseek-chat"
export AISH_API_BASE="https://openrouter.ai/api/v1"
export AISH_API_KEY="your_api_key"
Tip: LiteLLM also supports reading vendor-specific environment variables (e.g.,
OPENAI_API_KEY,ANTHROPIC_API_KEY).
Interactive configuration (optional):
aish setup
Tool calling compatibility check (confirm selected model/channel supports tool calling):
aish check-tool-support --model openai/deepseek-chat --api-base https://openrouter.ai/api/v1 --api-key your_api_key
Langfuse (optional observability):
enable_langfuse: true
export LANGFUSE_PUBLIC_KEY="..."
export LANGFUSE_SECRET_KEY="..."
export LANGFUSE_HOST="https://cloud.langfuse.com"
aish check-langfuse will run checks when check_langfuse.py exists in project root.
| Type | Example | Description |
|:----:|---------|-------------|
| Shell Commands | ls -la, cd /path, git status | Execute regular commands directly |
| AI Requests | ;how to check port usage, ;find files larger than 100M | Enter AI mode with ;/; prefix |
| Built-in Commands | help, clear, exit, quit | Shell built-in control commands |
| Model Switching | /model gpt-4 | View or switch model |
aish> ssh user@host
aish> top
aish> vim /etc/hosts
AI Shell only performs security assessment on AI-generated and ready-to-execute commands.
Policy files are resolved in this order:
/etc/aish/security_policy.yaml (system-level)~/.config/aish/security_policy.yaml (user-level; auto-generated template if not exists)Default policy has sandbox pre-run disabled. To enable:
global:
enable_sandbox: true
sudo systemctl enable --now aish-sandbox.socket
Default socket: /run/aish/sandbox.sock.
When sandbox is unavailable, it will fallback according to sandbox_off_action (BLOCK/CONFIRM/ALLOW) in policy.
Skills extend AI's domain knowledge and workflows, supporting hot loading and priority override.
Default scan directories and priority:
~/.config/aish/skills/ (or $AISH_CONFIG_DIR/skills)~/.claude/skills/Packaged versions will attempt to copy system-level skills to user directory on first launch (e.g., /usr/share/aish/skills).
For more details, see: docs/skills-guide.md
This project stores the following data locally (for troubleshooting and traceability):
~/.config/aish/logs/aish.log~/.local/share/aish/sessions.db (SQLite)~/.local/share/aish/offload/Recommendations:
CONFIGURATION.mdQUICKSTART.mddocs/skills-guide.mddocs/command-interaction-correction.md| Link | Description | |------|-------------| | Official Website | Project homepage and more information | | GitHub Repository | Source code and issue tracking | | GitHub Issues | Bug reports | | GitHub Discussions | Community discussions | | Discord | Join the community | | LINUX DO | Community friend link |
If you find AISH helpful, please consider giving us a Star ⭐ It helps more people discover the project and keeps us motivated to continue improving it.
uv sync
uv run aish
uv run pytest
LICENSE (Apache 2.0)