cai
告别 LLM 调用繁琐配置,用自然语言指令完成 AI 任务
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
告别 LLM 调用繁琐配置,用自然语言指令完成 AI 任务
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你还在为写一条复杂的 grep 命令而翻遍手册吗?还在苦恼如何让 AI 帮你处理一段 PDF 文件?cai 告诉你——不需要 Python 脚本,不需要 API 文档,直接在终端敲一句话,AI 就帮你搞定。
想象这样一个场景:凌晨两点,你刚读完一篇技术报告,需要把核心要点整理成中文摘要,同时生成一张配图,发给团队 Slack。以往这套流程需要:打开浏览器 → 粘贴文本 → 选择 AI 服务 → 复制结果 → 打开绘图工具……至少切换 5 个应用。而用 cai,一行命令全部搞定。
大语言模型(LLM)正深刻改变开发者的工作方式,但现实是:每换一家模型提供商,就要学一套新 API。OpenAI 用 gpt- 前缀,Anthropic 用 claude-,Google 用 gemini-,再加上 Ollama 的本地模型、Llamafile 的本地服务……开发者疲于记忆各种调用方式,却无法专注于真正要解决的问题。
cai(CUI,即 Command-line User Interface 的谐音)的作者在 Rust 社区有多年开源经验,他观察到这一痛点,决定做一个统一的命令行抽象层:无论底层用哪家 LLM,用户的交互方式保持不变。只需学会 cai 的用法,就能在任意模型间无缝切换。
可以把 cai 想象成电视机的万能遥控器。以前每台电视配一个遥控器,换电视就得重新学;现在一个万能遥控器,控制所有品牌电视。同样地,cai 就是终端里的万能 AI 遥控器。不管你接入了 OpenAI、Anthropic 还是本地 Ollama,cai run "帮我写一个排序算法" 这条命令的语法完全一样,区别只是底层调用的模型不同。
cai 的功能远不止简单的问答,它更像一个AI 任务工具箱,覆盖了开发者日常工作的方方面面。
cai 提供多种文本处理命令:cai value 只返回答案无废话;cai rewrite 对通过管道输入的文本进行润色纠错;cai reply 生成对话回复;配合 pbpaste 可以快速处理剪贴板内容。这些功能在日常写作和沟通中非常实用。
cai 支持完整的图像和媒体处理能力:cai image 和 cai photo 调用 GPT-image-2 生成图片;cai ocr 和 cai google-ocr 分别用 GPT-4o 和 Gemini 进行 OCR 文字识别,后者支持高清分辨率;cai transcribe 将音频转录为文字;cai say 调用 OpenAI TTS 模型将文字转为语音;cai svg 根据描述生成 SVG 矢量图。
对开发者而言,cai 的 cai run 命令可以根据自然语言描述生成 shell 命令并确认后执行;cai commit 自动分析当前修改并生成符合约定的 commit message;cai changelog 从指定提交开始生成更新日志;cai agent 启动一个 Agent 循环,支持工具调用完成复杂多步任务。
cai 最大的差异化在于对多模型的深度整合:支持 OpenAI(GPT-5 系列)、Anthropic(Claude Opus 4.5/Sonnet/Haiku)、Google(Gemini 系列)、Groq、Cerebras、DeepSeek、xAI Grok、Perplexity Sonar 等主流云端 API,同时原生支持 Ollama 和 Llamafile 两个本地模型服务。用户可以自由选择性价比最高的模型。

图1:cai 支持同时向所有支持的 LLM 提供商发送指令,实时对比不同模型的回答质量。
cai 使用 Rust 编写,核心依赖包括:
数据流上:用户输入 → clap 解析 → 构建特定 provider 的 API 请求 → reqwest 发送 → 接收流式响应 → bat 语法高亮输出。整个链路完全本地执行,不经过任何中间服务器。
代码结构上,采用模块化分层设计:lib.rs 作为入口文件,agent/ 子模块处理 Agent 循环逻辑(agent_loop.rs 12066字节),tools/ 目录管理各类工具(shell 执行、文件读写等),types.rs 定义核心数据模型。

图2:cai 的使用界面,命令简洁明了,输出带语法高亮。
如果你只需要:查询信息、润色文本、生成代码片段——直接 cargo install cai 或 brew install cai,配置好 API key(运行 cai 按提示设置),5 分钟上手。crates.io 提供预编译二进制,Homebrew 支持 macOS/Linux 一键安装。
cai agent):涉及文件读写和 shell 命令执行权限,有一定安全风险cai all 命令会同时向多个提供商发送相同 prompt,这在快速模型对比时很方便,但很容易在短时间内消耗大量 API 配额。作者在文档中有提示,但缺乏内置的用量提醒,建议使用时留意各平台的用量仪表板。
作为一个 Rust CLI 工具,cai 没有提供 Dockerfile 或 docker-compose.yml,这在团队协作场景中是个缺憾——不同成员的 Rust 环境版本不一致时,可能出现编译问题。虽然 Rust 本身的跨平台兼容性好,但想要"一行命令启动可用的 AI CLI 环境"目前做不到。
cai agent 是一个简化版的 AI Agent,支持基本的文件读写和命令执行,但与专业 Agent 框架(如 LangChain、AutoGPT)相比,工具集非常有限,无法处理复杂的多步骤工作流。
cai 的 star 曲线反映了一个明显趋势:LLM 工具的「入口层」正在从 API 编程转向命令行交互。
从 changelog 可以看到项目活跃度:v0.11(2025年6月)到 v0.13(2026年1月),平均每2-3个月发布一个版本,持续跟进最新模型(GPT-5、Claude Opus 4.5、Gemini 3 等)。这种跟进速度在开源 CLI 工具中相当罕见,说明作者在全职维护。
截至分析时 cai 拥有 203 stars、12 forks,在同类 CLI AI 工具中属于中等规模,但增长趋势稳定。考虑到 LLM API 的持续降价和模型能力的提升,未来「命令行 + AI」的组合场景会越来越普遍,cai 这类统一抽象层的价值会进一步凸显。