# 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
$ 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 会加密并安全地将密钥存储在本地。
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 免费吗?
aivo-starter 是内置的免费服务商,开箱即用,无需 API 密钥。需要更多选择时,添加你自己的密钥即可。 密钥存储在哪里?
~/.config/aivo/ 目录下。请求从你的机器直接发往服务商,Aivo 不做代理、不收集、也看不到你的数据。 支持哪些服务商和协议?
可以运行哪些编程代理?
能用本地模型吗?
aivo keys add ollama 连接本地实例。如果模型尚未下载,Aivo 会在启动前自动拉取。 怎么更新?
aivo update 会自动检测你是通过 Homebrew、npm 还是安装脚本安装的,然后执行对应的更新。