找回密码
 立即注册
搜索
查看: 72|回复: 6

告别背命令:Pragmatic AI Shell 把自然语言带进日常终端操作

[复制链接]

主题

0

回帖

0

积分

积分
0
发表于 2026-8-26 13:02:50 | 显示全部楼层 |阅读模式
用自然语言驱动终端,Pragmatic AI Shell 让运维排障"说话就行"

还在为记不住 lsof、awk、find 的参数写法头疼?还在 ps + netstat + 文档之间来回切换?Pragmatic AI Shell(smartcli) 试图改变这一切——你只需要用自然语言描述意图,它替你生成命令,安全过滤后确认执行,全程可审计。
一句话介绍
你说人话,它出命令,确认后执行。

  1. 🤖 > 找出占用 8080 端口的进程
  2. ➜ 建议执行: lsof -i :8080
  3. 确认执行?[y/N] y
  4. java    12345 user   45u  IPv6 0x1234 ... TCP *:http-alt (LISTEN)
  5. (退出码 0)
  6. 🤖 > 杀掉这个进程
  7. ➜ 建议执行: kill -9 12345
复制代码
核心特性


🧠 语义模式:自然语言 → LLM 生成 shell 命令 → 二次确认 → 执行;支持 Ctrl+C 取消,超时或服务异常自动降级直通模式,不中断会话。


💬 多轮对话上下文:保留最近 10 轮对话与命令执行结果(直通 ! 命令同样入史),模型可引用上一步输出完成后续操作;/context 查看、/clear 清空,退出会话即清空,不跨会话持久化;密钥类信息(sk-、token= 等)入史前自动脱敏。


🛡️ 三层安全防线:模型自审(UNSAFE)→ 黑名单与风险分级过滤 → 危险命令强制人工确认;默认拦截内网地址扫描类请求。被安全策略拒绝的命令会入史,模型不会被诱导生成规避安全策略的命令。


⚡ 直通模式:! 前缀或 /mode direct,命令原样执行,与原生终端无异。


📂 会话状态 REPL 级处理:cd/export/source 等状态命令在 REPL 层模拟,跨命令持久生效,弥补子进程隔离带来的状态丢失问题。


📋 全量审计日志:每条命令的来源、原文、执行结果、耗时,JSON 落盘,事后复盘一目了然。


🔌 真终端体验:JLine REPL、Tab 路径补全、命令历史、等待动画;ssh/vim/top 等交互命令直连终端,可正常分配伪终端。


和 AI 编程助手(Claude Code / CodeBuddy 等)有什么区别?

它们是“AI 程序员”——面向代码仓库,自主读写文件、重构、跑测试;Pragmatic AI Shell 是“AI 终端”——面向命令本身,专注运维排障与日常终端操作。核心差异:


人主导,AI 辅助:每条命令强制人工确认后才执行,配合三层安全防线,AI 生成的命令敢在真实生产环境里跑;


会话状态真实持久:cd/export/source 在 REPL 层模拟,跨命令生效(对子进程隔离的补偿设计);


上下文围绕“命令 + 结果”:多轮历史包含命令执行输出,直通 ! 命令同样入史,密钥自动脱敏;


无 Key 也能用:不配置 LLM 就退化为纯直通终端,交互命令(ssh/vim/top)直连终端。


技术亮点


多模型支持:基于 LangChain4j,兼容任意 OpenAI 协议(DeepSeek / OpenAI / 智谱 / Ollama 等),本地模型同样可用;


多轮消息组装:每轮历史按「用户输入 → 命令 → 执行结果块」组装为结构化消息,让模型"看得见"上一步发生了什么;


输出回流:命令实时打印的同时收集尾部摘要(默认 2000 字符,超出保留最新),供上下文引用;


健壮的进程管理:命令超时递归销毁整棵进程树,不残留孤儿进程;


跨平台:macOS / Linux / Windows 均可运行,配置中心化(config.yaml),支持只读模式(适合生产环境排障)。


快速上手

  1. git clone https://github.com/pragmatic-lee/pragmatic-ai-shell.git
  2. cd pragmatic-ai-shell
  3. cp config.example.yaml config.yaml   # 填入 LLM 配置bin/smartcli
复制代码

未配置 LLM 时程序自动降级为纯直通模式,即使没有 API Key 也能当普通终端用。
结语

Pragmatic AI Shell 面向"想用终端但不想背命令"的开发者与运维,以安全为底线,把 AI 能力做进最常用的工具里。项目开源,欢迎体验与共建。

原文链接

打赏作者

当前余额:0 Token,打赏后立即到账

主题

0

回帖

0

积分

积分
0
发表于 2026-8-26 13:03:50 | 显示全部楼层
🤖 > 找出占用 8080 端口的进程 ➜ 建议执行: lsof -i :8080 确认执行?
讲得挺透,Shell这块就该这么理解。

主题

0

回帖

0

积分

积分
0
发表于 2026-8-26 13:24:05 | 显示全部楼层
mark 一下,回头补上Shell的实践经验。

主题

0

回帖

0

积分

积分
0
发表于 2026-8-26 13:29:04 | 显示全部楼层
补充一点个人体会:Pragmatic这块不同场景下表现差异挺大的,选型还是要结合自己的业务。

主题

0

回帖

0

积分

积分
0
发表于 2026-8-26 13:56:00 | 显示全部楼层
支持原创,内容很扎实,持续关注。

主题

0

回帖

0

积分

积分
0
发表于 2026-8-26 13:52:33 | 显示全部楼层
这篇干货浓度很高,Shell和告别背命令两个点都讲到位了。

主题

0

回帖

0

积分

积分
0
发表于 2026-8-26 14:14:53 | 显示全部楼层
这种认真写长文的楼主不多了,必须支持。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

{ template common/footer}