CLI AI

为什么是 CLI,而不是聊天框:CliAI 的设计哲学

2026-01-07

几乎所有其他面向 shell 的 AI 工具最后都长成聊天框——侧边栏、弹窗、新标签页。我们故意不那么做。下面解释原因。

上下文切换的代价

每次你离开终端去问问题,都要交三种税:

  1. 窗口税。 手离开键盘,眼离开光标,专注被打断。
  2. 翻译税。 你的终端状态——pwd、$SHELL、环境变量、刚刚查看的文件——挪到浏览器后就消失了。
  3. 信任税。 聊天答案到达时不会展示在你的 shell 里到底会发生什么。所以你重读、心算模拟,然后再粘回去。

CLI 工具把这三件事压缩成一次按键。上下文就在身边,命令是为你正在使用的 shell生成的,而不是抽象生成。

三个原则

先审,后跑。 CliAI 从不静默执行。生成的命令在 prompt 上方一个面板里出现,附一行描述和安全等级标签。决定权在你。

clai
┌─ Task ───────────────────────────────────────────────┐│ print working directory                              │├─ Command ────────────────────────────────────────────┤│ pwd                                                  │├─ Description ────────────────────────────────────────┤│ 打印当前工作目录。                                    │├─ Shell: bash · Safety: SAFE · Quota: 1/100 ──────────┤│ Enter — 执行 · R — 改写 · Esc — 取消                  │└──────────────────────────────────────────────────────┘

本地历史。 你的 prompt 和对应命令记录在本机,不在某个需要登录的服务器面板上。clai log --tail 20 看最近 20 条。

没有浏览器。 CliAI 不开新标签页,不把你导去 UI,不让你走 OAuth。所有的体验就是你已经有的终端。

我们失去了什么

诚实列表:

  • 不接受图片输入。 聊天框可以贴截图,CLI 只接受文本。
  • 会话间没有对话记忆。 每次 prompt 独立(同一任务内可以用 R 改写,下一次是新的开始)。
  • 输出扁平。 没有可点击链接,不渲染 Markdown,就是终端里的文字。

我们认为,换来的速度和可预测性值得这个代价。

我们得到了什么

  • 任何 shell 上都是同一套流程。 bash、zsh、fish、cmd、PowerShell——Windows 适配那篇讲得更深。
  • 执行前的安全分级。 安全分级解析。
  • 一个肌肉记忆。 你学会一个词——clai——所有场合都用它。

还没试过的话,第一篇里有安装命令。