- 真正的交互式 Shell:完整 PTY 支持,可运行
vim/ssh/top等交互程序 - AI 原生集成:用自然语言描述任务,生成、解释并执行命令
- 安全可控:AI 命令有风险分级与确认流程;可选沙箱预跑做变更评估
- 可扩展:Skills 插件系统,支持热加载与优先级覆盖
- 低迁移成本:兼容常规命令与工作流,默认在终端里完成
| 特性 | AISH | Claude Code |
|---|---|---|
| 🎯 核心定位 | 运维/系统排障 CLI | 开发编码助手 |
| 🤖 多模型支持 | ✅ 完全开放 | |
| 🔧 子代理系统 | ✅ ReAct 诊断代理 | ✅ 多类型代理 |
| 🧩 Skills 支持 | ✅ 热加载 | ✅ |
| 🖥️ 原生终端集成 | ✅ PTY 完整支持 | |
| 🛡️ 安全风险评估 | ✅ 安全确认 | ✅ 安全确认 |
| 🌐 本地模型支持 | ✅ 完全支持 | ✅ 完全支持 |
| 📁 文件操作工具 | ✅ 核心能力支持 | ✅ 完整支持 |
| 💰 完全免费 | ✅ 开源 | ❌ 付费服务 |
| 📊 可观测性 | ✅ Langfuse 可选 | |
| 🌍 多语言输出 | ✅ 自动检测 | ✅ |
curl -fsSL https://www.aishell.ai/repo/install.sh | bash先从官方发布目录下载对应架构的 aish-<version>-linux-<arch>.tar.gz,然后执行:
tar -xzf aish-<version>-linux-<arch>.tar.gz
cd aish-<version>-linux-<arch>
sudo ./install.sh然后启动:
aish说明:aish 无子命令时等价于 aish run。
aish> ls -la
aish> cd /etc
aish> vim hosts以 ; 或 ; 开头会进入 AI 模式:
aish> ;查找当前目录大于 100M 的文件并按大小排序
aish> ;解释一下这个命令:tar -czf a.tgz ./dircurl -fsSL https://www.aishell.ai/repo/install.sh | bash该安装器会解析最新稳定版本,下载与你当前架构匹配的 bundle,并把 aish、aish-sandbox 和 aish-uninstall 安装到 /usr/local/bin。
uv sync
uv run aish
# 或
python -m aish卸载(保留配置文件):
sudo aish-uninstall彻底卸载(同时删除系统级安全策略):
sudo aish-uninstall --purge-config可选:清理用户级配置(会清空模型/API Key 等):
rm -rf ~/.config/aish- 默认:
~/.config/aish/config.yaml(如设置了XDG_CONFIG_HOME,则在$XDG_CONFIG_HOME/aish/config.yaml)
- 命令行参数
- 环境变量
- 配置文件
# ~/.config/aish/config.yaml
model: openai/deepseek-chat
api_base: https://openrouter.ai/api/v1
api_key: your_api_key也可通过环境变量(更适合放置密钥):
export AISH_MODEL="openai/deepseek-chat"
export AISH_API_BASE="https://openrouter.ai/api/v1"
export AISH_API_KEY="your_api_key"
提示:LiteLLM 也支持读取特定厂商的环境变量(如
OPENAI_API_KEY、ANTHROPIC_API_KEY)。
交互式配置(可选):
aish setup工具调用兼容性检查(确认所选模型/渠道支持 tool calling):
aish check-tool-support --model openai/deepseek-chat --api-base https://openrouter.ai/api/v1 --api-key your_api_keyLangfuse(可选观测性):
- 在配置里打开:
enable_langfuse: true- 设置环境变量:
export LANGFUSE_PUBLIC_KEY="..."
export LANGFUSE_SECRET_KEY="..."
export LANGFUSE_HOST="https://cloud.langfuse.com"aish check-langfuse 会在项目根目录存在 check_langfuse.py 时执行检查。
| 类型 | 示例 | 说明 |
|---|---|---|
| Shell 命令 | ls -la、cd /path、git status |
直接执行常规命令 |
| AI 请求 | ;如何查看端口占用、;查找大于100M的文件 |
以 ;/; 前缀进入 AI 模式 |
| 内置命令 | help、clear、exit、quit |
Shell 内置控制命令 |
| 模型切换 | /model gpt-4 |
查看或切换模型 |
aish> ssh user@host
aish> top
aish> vim /etc/hostsAI Shell 仅对 AI 生成并准备执行 的命令进行安全评估。
- LOW:默认放行
- MEDIUM:执行前确认
- HIGH:默认阻断
策略文件按以下顺序解析:
/etc/aish/security_policy.yaml(系统级)~/.config/aish/security_policy.yaml(用户级;若不存在会自动生成模板)
默认策略 未开启 沙箱预跑。启用方法:
- 在安全策略中设置:
global:
enable_sandbox: true- 启动特权沙箱服务(systemd):
sudo systemctl enable --now aish-sandbox.socketSocket 默认:/run/aish/sandbox.sock。
沙箱不可用时,会按策略里的 sandbox_off_action(BLOCK/CONFIRM/ALLOW)兜底。
Skills 用于扩展 AI 的专用知识与工作流,支持热加载与覆盖优先级。
默认扫描目录与优先级:
~/.config/aish/skills/(或$AISH_CONFIG_DIR/skills)~/.claude/skills/
打包版本会在首次启动时尝试把系统级技能复制到用户目录(如 /usr/share/aish/skills)。
更多说明见:docs/skills-guide.md
本项目会在本地存储以下数据(便于排障与可追溯性):
- 日志:默认
~/.config/aish/logs/aish.log - 会话/历史:默认
~/.local/share/aish/sessions.db(SQLite) - 大输出 offload:默认
~/.local/share/aish/offload/
建议:
- 不要把真实 API Key 提交到仓库;优先使用环境变量或密钥管理系统。
- 生产环境可结合安全策略限制 AI 触达目录范围。
- 配置说明:
CONFIGURATION.md - 快速入门:
QUICKSTART.md - Skills 使用:
docs/skills-guide.md - 命令纠错机制:
docs/command-interaction-correction.md
| 链接 | 说明 |
|---|---|
| 官方网站 | 项目官网与更多信息 |
| GitHub 仓库 | 源码与问题反馈 |
| GitHub Issues | Bug 报告 |
| GitHub Discussions | 社区讨论 |
| Discord | 加入社区 |
| LINUX DO 社区 | 友链 |
如果 AISH 对你有帮助,欢迎给项目点一个 Star ⭐
这会帮助更多人发现它,也是我们持续迭代的重要动力。
uv sync
uv run aish
uv run pytest请参阅 CONTRIBUTING.md 了解贡献指南。
LICENSE(Apache 2.0)
