$ 

Aivo 是一个轻量级 CLI 工具,用于管理 API 密钥和跨服务商启动编程代理。 它会在需要时自动转换协议, 让你可以在 Claude Code 或 Codex 等编程代理中使用 DeepSeek、MiniMax、Kimi 或本地运行的模型。

curl -fsSL https://getaivo.dev/install.sh | bash
brew install yuanchuan/tap/aivo
npm install -g @yuanchuan/aivo

安装完成后,可以直接试用 Claude Code,无需登录或 API 密钥。

aivo claude

Aivo 内置了一个 免费 服务商,开箱即用,方便大家上手体验。

为什么做这个工具

获取编程代理的 API 并不总是那么简单—— 支付方式、地区限制、繁琐的配置。 Aivo 想让更多人更容易地用上好的编程代理。

  • 内置免费额度。不需要任何 API 密钥就能上手。先试试看,准备好了再添加自己的服务商。
  • 用你已有的服务商。DeepSeek、MiniMax、Kimi、智谱,或任何 API 端点。Aivo 自动在协议之间转换。
  • 支持 Ollama。在本地运行模型,无需联网。

管理 API 密钥

为了获得最佳体验,建议添加你信任的服务商的 API 密钥。 你可以保存多个不同服务商的密钥,随时切换使用。 Aivo 会加密并安全地将密钥存储在本地。

# list all saved keys aivo keys # interactively add a key aivo keys add # or quickly add a key with options aivo keys add --base-url https://openrouter.ai/api --key sk-xxx # activate a key to use aivo keys use aivo keys use mykey # print saved data of a key aivo keys cat # for more options aivo keys --help

GitHub Copilot

如果你有 GitHub Copilot 订阅, 可以把它作为服务商添加到 aivo 中。 (注意 GitHub Copilot 按请求次数计费,而非按 token 用量计费)

aivo keys add copilot

Ollama

通过 aivo,你可以轻松连接 Ollama,使用本地或其云服务上的模型。 如果模型尚未下载,aivo 会在使用前自动拉取。

aivo keys add ollama # chat with ollama model aivo chat -m ministral-3:3b

浏览模型

添加服务商并设置密钥后, 可以用 models 命令查看该服务商提供的可用模型。 大多数服务商通过 API 提供模型列表,aivo 会按需获取并缓存。

aivo models aivo models --key openrouter # search by name aivo models -s sonnet # force refresh the cached list aivo models --refresh

别名

模型名太长的话,可以给它起一个短别名。

aivo alias fast=claude-haiku-4-5 aivo alias mimo xiaomi/mimo-v2-pro # use it aivo claude -m fast aivo chat -k vercel -m mimo # list and remove aivo alias aivo alias rm fast

运行编程代理

使用当前激活的密钥启动编程代理。 所有额外参数会原样传递给底层工具。 run 关键字是可选的——aivo claude 等同于 aivo run claude

aivo claude aivo codex aivo gemini aivo opencode aivo pi # all extra args pass through aivo claude --dangerously-skip-permissions aivo claude --resume 16354407-050e-4447-a068-4db222ff841

指定模型

为本次运行指定模型。不带值时会打开模型选择器。

aivo claude --model moonshotai/kimi-k2.5 aivo claude -m

使用其他密钥

仅本次启动切换服务商,不改变默认设置。

aivo claude --key openrouter aivo claude --key copilot aivo claude -k

Dry run 与环境变量

预览解析后的命令和环境变量,但不实际启动。 也可以向编程代理进程注入额外的环境变量。

aivo claude --dry-run aivo claude --env BASH_DEFAULT_TIMEOUT_MS=60000

快速启动

不指定工具名时,aivo run 会记住上次的密钥和工具选择, 下次直接启动,跳过选择步骤。

aivo run

与 LLM 对话

直接在终端和任何模型对话。支持全屏 TUI 交互模式, 也支持单次提问模式,方便快速获取答案或集成到 shell 管道中。

全屏 TUI

在终端中进行交互式对话,支持流式输出和 Markdown 渲染。 每个密钥会记住上次选择的模型。

aivo chat aivo chat --model gpt-4o aivo chat -m claude-sonnet-4-5 aivo chat -m # opens model picker

单次提问

发送一条提示然后退出。当 -x 带有消息时,管道输入的 stdin 会作为上下文附加。 当 -x 不带消息时,整个 stdin 就是提示内容。

aivo -x "Summarize this repository" aivo -x # type interactively, Ctrl-D to send

Shell 管道

任何内容都可以通过管道传给 aivo。它会读取 stdin,加上你的提示,发送给模型。

git diff | aivo -x "Write a commit message" cat error.log | aivo -x "Find the root cause" cat error.log | aivo -x

附加文件

随提示一起发送文件,也支持图片。

aivo chat --attach README.md --attach screenshot.png

使用其他密钥

aivo chat --key openrouter aivo chat -k # opens key picker

本地服务

将你当前的服务商暴露为本地 OpenAI 兼容端点。 任何支持 OpenAI API 的工具都能直接使用——VS Code 扩展、Cursor、 Python 脚本,什么都行。

启动服务

aivo serve aivo serve --port 8080 aivo serve --host 0.0.0.0

故障转移

如果请求遇到限速(429)或服务端错误(5xx),aivo 会自动切换到下一个已保存的密钥重试。

aivo serve --failover

日志记录

记录每个请求和响应。可以用 jq 格式化输出,或写入文件。

aivo serve --log | jq . aivo serve --log /tmp/requests.jsonl

认证、CORS 与超时

aivo serve --auth-token aivo serve --auth-token my-secret aivo serve --cors aivo serve --timeout 60

用 curl 试试

curl http://localhost:24860/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "hello"}]}'

日志与统计

每个请求都会记录到本地 SQLite 数据库——对话、编程代理启动、本地服务, 包括 token 用量、模型、响应时间和错误信息。全部可以通过命令行查询。

查看日志

aivo logs

筛选与搜索

按来源、工具或文本筛选。--errors 只显示失败的请求。

aivo logs --source chat -n 5 aivo logs --tool claude --errors aivo logs "rate limit" aivo logs --json

实时监控

实时跟踪日志,新条目会即时显示。

aivo logs --watch aivo logs --watch --jsonl aivo logs --watch --interval 2

日志详情

aivo logs show 7m2q8k4v9cpr aivo logs path aivo logs status

用量统计

汇总 aivo chat、Claude Code、Codex、Gemini、OpenCode 和 Pi 的 token 用量, 通过读取各工具的原生数据文件来统计。

aivo stats aivo stats claude aivo stats chat

筛选与格式化

# raw numbers for scripts aivo stats -n # filter by provider aivo stats -s openrouter # show all models aivo stats -a # bypass cache aivo stats -r

输出示例

$ aivo stats ───────────────────────────────────────────────────── 948M tokens · 5.9B cached · 3.3K sessions · 52 models By tool sessions tokens codex 166 697M ████████████████████ claude 2.8K 231M ██████▋ opencode 145 9.8M ▎ chat 63 8.0M ▎ gemini 139 2.9M ▏ pi 32 113K ▏ By model tokens gpt-5.4 651M ████████████████████ claude-sonnet-4.6 74M ██▎ minimax-m2.5 63M ██ gpt-5.3-codex 47M █▍ minimax-m2.7 37M █▏ claude-opus-4.6 27M ▉ claude-haiku-4-5-20251001 17M ▌ glm-4.7-free 6.0M ▏ claude-sonnet-4.5 5.0M ▏ claude-haiku-4.5 3.3M ▏ gpt-5.1-codex 1.5M ▏ deepseek-reasoner 1.1M ▏ kimi-k2.5 1.1M ▏ others (39 models) 5.4M ▏

常见问题

Aivo 免费吗?
免费,开源,MIT 协议。aivo-starter 是内置的免费服务商,开箱即用,无需 API 密钥。需要更多选择时,添加你自己的密钥即可。
密钥存储在哪里?
密钥加密后存储在本地 ~/.config/aivo/ 目录下。请求从你的机器直接发往服务商,Aivo 不做代理、不收集、也看不到你的数据。
支持哪些服务商和协议?
任何兼容 OpenAI、Anthropic 或 Gemini 协议的端点都可以。Aivo 会自动在协议之间转换。OpenRouter、DeepSeek、MiniMax、Kimi、Groq、Vercel AI Gateway、GitHub Copilot、Ollama、Cloudflare 全部开箱即用。
可以运行哪些编程代理?
Claude Code、Codex、Gemini CLI、OpenCode 和 Pi。Aivo 负责配置环境,所有额外参数原样传递,不会丢失任何功能。
能用本地模型吗?
当然可以,创建一个指向本地服务端点的密钥就行。Ollama 用户可以运行 aivo keys add ollama 连接本地实例。如果模型尚未下载,Aivo 会在启动前自动拉取。
怎么更新?
aivo update 会自动检测你是通过 Homebrew、npm 还是安装脚本安装的,然后执行对应的更新。
怎么报告 bug 或反馈建议?
在 GitHub 上提 issue。 github.com/yuanchuan/aivo