这类工具接收一句话——「找出这周修改过的、超过 100 MB 的文件」——然后返回能完成它的命令。你读一遍命令,再决定要不要执行。最后这一步就是整个设计的核心:工具负责写,你负责批准。
1. 实际长这样
$ clai 找出最近一周修改过的、大于 100MB 的文件→ find . -type f -size +100M -mtime -7./dumps/db-2026-08-20.sql./video/raw-take-3.mov
不用开浏览器标签页,不用复制粘贴,也不用把某个针对别的发行版写的 Stack Overflow 答案改来改去。
2. 你外包的是参数,不是判断
你早就知道要用 find。你记不住的是到底写 -size +100M 还是 +100MB,以及 -mtime -7 指的是最近七天还是更早的全部。查文档这件事才是成本,也正是值得自动化的部分。
3. 为什么是 CLI,而不是聊天窗口
聊天标签页不知道你的 shell、你的操作系统,也不知道你当前在哪个目录。终端里的工具会针对你真正所处的 shell 生成命令:在新版 Ubuntu 上给你 ss,而不是 2013 年博客里的 netstat。
4. 未经你确认,什么都不会执行
$ clai 删除所有已停止的容器和未使用的镜像→ docker system prune -a⚠ CAUTION — 将删除所有没有被运行中容器使用的镜像是否执行?输入 yes 确认:
生成和执行是两个独立的步骤。CliAI 把每条命令标记为 SAFE、CAUTION 或 DANGER,破坏性操作必须手动输入确认。那些把模型输出直接灌进 shell 的工具,跳过的正是唯一能保护你的那一步。
5. 第一次给的答案不对时
这会发生,而且通常是因为需求本身有歧义,而不是模型出错。直接细化,不用重新输入:
$ clai 显示这里最大的几个文件夹→ du -sh * | sort -rh | head[R] 只要前 5 个,并且进到子目录里看→ du -h --max-depth=2 . | sort -rh | head -5
6. 这不是 AI 编码智能体
Claude Code、Aider 和 OpenCode 是智能体:它们读取你的仓库、跨文件修改代码、运行测试。命令生成器只做一件事——把一句话变成一条正确的命令交还给你。工具不同,影响范围也不同。要做重构就用智能体;只是不想再去搜 tar 的参数,那你要的就是这个。
坑
- 一定要读命令。 这类工具很好用,但不是绝对可靠。你唯一一次没读,就会是它指错路径的那次。
- 含糊的需求得到含糊的命令。 「清理一下日志」可能是截断、轮转或删除。请说清楚是哪种。
- 凡是碰生产环境的都值得先空跑一次。 先要那个只显示「会做什么」的版本。
相关问题
需要 API key 吗? CliAI 不需要,装上就能用。基于 shell_gpt 或 ai-shell 的工具通常要你自己的 OpenAI key。
Windows 上能用吗? 能。它会识别 shell 并生成 PowerShell 或 cmd 语法,而不是把 Linux 命令粘到根本跑不了的地方。
它能自己执行命令吗? 只有在你确认之后。这是刻意设下的边界,不是没做完的功能。
另请参阅
一行命令安装,在你已经在用的终端里就能运行——从这里开始。