用自然语言驱动终端的开源工具 Pragmatic AI Shell(smartcli) 正式发布 v1.0:你说人话,它生成 shell 命令,安全过滤后确认执行,全程可审计。
一个"用 AI 造出来"的 AI 终端:这个项目本身就是一次 AI 编程实践——从架构设计到代码实现主要由 AI 完成,人负责把关方向与验收。用 AI 打造一个"帮你对 AI 说人话、把意图翻译成命令"的终端,多少有点自我指涉的趣味。
🤖 > 找出占用 8080 端口的进程
➜ 建议执行: lsof -i :8080
确认执行?[y/N] y
java 12345 user ... TCP *:http-alt (LISTEN)
🤖 > 杀掉这个进程 # 模型自动接住上一轮输出的 PID
➜ 建议执行: kill -9 12345
v1.0 关键特性
-
🔀 多模型接入与管理:
config.yaml用llm.profiles声明多个模型,/setup向导交互式增删模型、设默认;/model switch <id>运行中热切换(不清空上下文)、/model check探针健康状态。兼容任意 OpenAI 协议(DeepSeek / OpenAI / 智谱 / Ollama 本地模型)。 -
⚙️ 免 JRE 原生二进制:基于 GraalVM Native Image 编译为独立机器码,目标机无需安装 JDK/JRE,启动快、内存占用低。
-
📦 跨平台分发:macOS 一键打包拖拽安装的 DMG(Apple Silicon M1~M5 全系列原生支持);Linux amd64 经 Docker 交叉构建,产出 glibc ELF 二进制,适配 Ubuntu / Debian / CentOS。
-
🚢 自包含,随容器 / 虚拟机走:单个静态二进制不依赖运行环境,可直接塞进容器镜像、或拷进虚拟机分发运行,无需在目标机预装 Java。
-
🌐 环境感知:启动采集本机 OS / Shell / 已装工具及版本注入 LLM,生成的命令只用真实存在的工具、按版本选语法。
-
⏱️ 命令默认不限时 + Ctrl+C 中断:长任务(下载 / 构建 /
tail -f)不再被超时拦腰斩断,执行中按 Ctrl+C 强杀整棵进程树并回到提示符,会话不退出。
一以贯之的核心能力
自然语言语义模式、三层安全防线(模型自审 → 黑名单 / 风险分级 → 危险命令二次确认)、多轮对话上下文(含直通 ! 命令、密钥自动脱敏)、cd / export 等状态命令 REPL 级持久生效、全量审计日志、真终端体验(Tab 补全、ssh / vim 直连)。未配置 LLM 时自动降级为纯直通终端,没有 API Key 也能当普通终端用。
快速上手
git clone https://github.com/pragmatic-lee/pragmatic-ai-shell.git
cd pragmatic-ai-shell && bin/smartcli # 源码运行(JDK 17+)
mvn package -Pnative -DskipTests # 编译免 JRE 原生二进制
./bin/build-dmg.sh # macOS:打成拖拽安装 DMG
./bin/build-linux-amd64.sh # Linux:Docker 内交叉构建 amd64
macOS 用户也可直接下载 DMG,拖入 Applications 双击即用(免 Java 环境)。
项目完全开源,欢迎体验与共建: