🍊 UglyOrange
💻 软件

cai:基于 Rust 的终端 AI 全能助手

frigidpluto Views: ...
cai 命令行工具在终端中的运行演示
cai:让 AI 帮你在终端里打野

对于常年浸泡在终端(Terminal)里的开发者来说,频繁切换到浏览器去使用 ChatGPT 或 Claude 往往会打断心流。虽然市面上已有不少 CLI 版的 AI 工具,但今天的主角是 cai (Github repo: https://github.com/ad-si/cai),性能极致,功能丰富,绝对是终端爱好者的必备 AI 利器。

Why cai

cai 不是一个简单的 API 套壳,它更像是一个为开发者定制的 AI 瑞士军刀。

  1. 速度与性能:基于 Rust 🦀 构建,启动极快,内存占用低,响应迅速。
  2. 模型聚合:不仅支持 OpenAI 和 Anthropic,还涵盖了 Google GeminiGroq(极速推理)、CerebrasDeepSeekxAI 以及本地运行的 OllamaLlamafile
  3. 任务导向:它不只是聊天,还内置了针对特定任务的命令,如 OCR、重构代码、生成提交记录等。

核心功能详解

1. 极简的交互体验

cai 的设计哲学是”用户友好”。使用者不需要记住复杂的参数,自然语言即可驱动:

# 直接提问
cai value capital of Australia

# 生成图片
cai image photo of a cyberpunk city

# 识别图片文字 (OCR)
cai ocr document.png

2. 强大的管道(Pipe)支持

这是 CLI 工具的灵魂。用户可以将其他命令的输出通过管道传给 cai 处理,这在重构代码或处理文本时非常有用:

# 读取剪贴板内容并优化措辞
pbpaste | cai rewrite 'more professional'

# 解释当前目录下的 Rust 代码
cat main.rs | cai Explain this code

3. 开发者专属模式

cai 懂得各种编程语言的上下文。通过简短的别名,你可以让 AI 扮演特定语言的专家:

# Python 专家模式
cai py "写一个 FastAPI 的 Hello World"

# Rust 专家模式
cai rs "解释生命周期"

# SQL 专家模式
cai sql "优化这个查询语句..."

支持的语言包括但不限于 Python (py), JavaScript (js), Rust (rs), Go (golang), Docker, Git 等 30 多种环境。

4. 多模型并发竞技场

拿不准哪个模型回答得更好?使用 all 命令,同时向所有配置的提供商发送提示词,然后选择最优答案:

# 看看 Claude、GPT 和 Llama 谁回答得更准确
cai all "Rust 和 Go 在并发模型上的主要区别是什么?"
cai 命令行工具在终端中的运行演示
cai:多模型并发竞技场

5. 实用工具集

除了问答,cai 还内置了一些非常实用的”小工具”:

  • 语音交互
    • cai say "Hello World":使用 OpenAI TTS 将文本转语音。
    • cai transcribe audio.mp3:将音频文件转录为文字。
  • 文件管理
    • cai rename *.pdf:智能分析文件内容并将其重命名为 时间戳_标题.pdf 格式。
    • cai changelog HEAD~5..HEAD:根据 Git 提交记录自动生成变更日志。
  • 结构化输出
    • 支持 JSON Schema 验证,确保输出格式符合程序要求。
# 强制输出 JSON 格式
cai --json-schema='{"properties":{"age":{"type":"number"}},"required":["age"]}' gp Barack Obama

安装与配置

安装非常简单,支持多平台:

使用 Cargo (Rust 包管理器):

cargo install cai

使用 Homebrew (macOS/Linux):

brew install cai

安装后运行 cai,它会引导你配置 API 密钥。支持的服务商非常全面:

常用命令速查表

命令/别名功能描述
cai fast使用 Groq (Llama 3) 进行极速回复
cai local使用本地 Ollama 默认模型
cai opus / cai sonnet调用 Claude Opus 或 Sonnet 模型
cai gpt41调用 GPT-4.1 模型
cai edit打开默认编辑器编写复杂的 Prompt
cai svg根据描述生成 SVG 矢量图

总结

AI CLI 工具多如牛毛,但 cai 的功能集(OCR、TTS、文件重命名)也确实丰富,而且支持管道命令,对于追求效率的开发者来说,这绝对是一个值得尝试的工具。