用你喜欢的 Coding Agent,搭配你想要的模型

已支持 Claude Code Codex Gemini CLI OpenCode Amp Pi Oh My Pi GitHub Copilot Grok CLI

~/project aivo zsh
$ 
用你自己的密钥
OpenRouter、Vercel、Fireworks、MiniMax、DeepSeek、Bedrock。
Coding Agent 和模型随意搭配
Claude Code 里跑 Kimi,Codex 里跑 Gemini,Pi 里跑 Opus。
本地优先
密钥加密存在本地,流量直连服务商。
<10M
单个静态二进制。

用脚本或包管理器安装 aivo。

curl -fsSL https://getaivo.dev/install.sh | bash
irm https://getaivo.dev/install.ps1 | iex
brew install yuanchuan/tap/aivo

运行一个 Coding Agent。

# or codex, gemini, opencode, pi, amp, grok aivo claude

用你自己的密钥

添加任何你信任的服务商的 API 密钥。密钥会加密保存在本地,你可以随时管理和切换。

# OpenRouter, Vercel AI Gateway, # OpenCode Go, DeepSeek, Cloudflare, # Google AI Studio, Kilo Gateway, # Amazon Bedrock, # OAuth: Codex, SuperGrok, GitHub Copilot, Cursor # Local: Ollama, LM Studio, llama.cpp # more... aivo keys add

导出与导入

通过一个用密码加密的文件在机器之间迁移密钥。

# prompts for a password aivo keys export ~/keys.aivo # same password on the other machine, or pass a URL aivo keys import ~/keys.aivo aivo keys import https://example.com/keys.aivo # non-interactive (CI / scripts) aivo keys export ~/keys.aivo --password-stdin <<< "my secret"

其他命令

# list all saved keys aivo keys # 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 # edit a saved key aivo keys edit # health-check aivo keys ping # OAuth re-login / rotate a key aivo keys reauth # for more options aivo keys --help

运行 Coding Agent

用你想要的任意服务商或模型启动一个 Coding Agent。多余的参数都会原样传给底层工具。

Claude Code Anthropic 官方的终端 Coding Agent。
aivo claude

-k 指定一个已保存的 API 密钥,或省略其值打开密钥选择器。把 -k 单独和 -m 一起使用,可以一次同时选好两者。

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

-m 固定一个模型,或省略其值打开模型选择器。一旦应用了某个模型,aivo claude 下次运行会记住它。

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

分槽位模型Claude Code 在一次会话里运行多个模型,haiku/sonnet/opus 槽位,外加 reasoning 和 subagent 的覆盖项。给每个槽位固定不同的模型,或传一个不带值的槽位参数来为该槽位打开选择器。

aivo claude --sonnet-model deepseek-v4-pro --haiku-model deepseek-v4-flash aivo claude --reasoning-model gpt-5.4 --subagent-model claude-haiku-4-5 # open the picker for one slot aivo claude --opus-model
Codex OpenAI 官方的 Codex CLI。
aivo codex

-k 指定一个已保存的 API 密钥,或省略其值打开选择器。

aivo codex -k vercel aivo codex -k

-m 固定一个模型,或省略其值打开模型选择器。

aivo codex -m xiaomi/mimo-v2-pro aivo codex -m

Codex 桌面应用(仅 macOS)用同一套后端启动原生 Codex。应用内置的模型选择器只显示以 gpt-claude- 开头的名字;其他模型照样能用,只是不会出现在那里。

aivo codex-app aivo codex-app -k
Gemini CLI Google 官方的 Gemini CLI。
aivo gemini

-k 指定一个已保存的 API 密钥,或省略其值打开选择器。

aivo gemini -k google aivo gemini -k

-m 固定一个模型,或省略其值打开模型选择器。

aivo gemini -m gemini-2.5-pro aivo gemini -m
OpenCode 一个开源的 Coding Agent。
aivo opencode

-k 指定一个已保存的 API 密钥,或省略其值打开选择器。

aivo opencode -k openrouter aivo opencode -k

-m 固定一个模型,或省略其值打开模型选择器。

aivo opencode -m z-ai/glm-4.7 aivo opencode -m
Amp Sourcegraph 的 Coding Agent。

先安装插件Amp 支持以独立插件的形式提供。安装一次,之后就能像其他 Coding Agent 一样运行它。

aivo plugins install github:yuanchuan/aivo-amp aivo amp

-k 指定一个已保存的 API 密钥,或省略其值打开选择器。

aivo amp -k openrouter aivo amp -k

-m 固定一个模型,或省略其值打开模型选择器。

aivo amp -m gpt-5.4 aivo amp -m

分模式模型Amp 在 rushsmartdeeplarge 几种模式之间路由。给每种模式固定不同的模型,或传一个不带值的模式参数来为该模式打开选择器。

aivo amp --smart-model claude-sonnet-4.6 --rush-model claude-haiku-4-5 aivo amp --deep-model gpt-5.4-thinking --large-model deepseek-v4-pro # pin the starting mode, or omit the value to open the mode picker aivo amp --mode deep aivo amp --mode
Pi 来自 pi-mono 工具集的终端 Coding Agent。
aivo pi

-k 指定一个已保存的 API 密钥,或省略其值打开选择器。

aivo pi -k cursor aivo pi -k

-m 固定一个模型,或省略其值打开模型选择器。

aivo pi -m composer-2.5 aivo pi -m

透明模式由于 Pi 支持多种上游协议,aivo 默认会把它的本地路由器放在中间,对数据流做归一化处理。使用 --transparent 把 URL 和正确的 API 类型直接交给 Pi,让它直连服务商。

aivo pi --transparent -k openrouter
Oh My Pi 基于 pi-mono 构建的终端 Coding Agent。

先安装插件omp 支持以独立插件的形式提供。安装一次,之后就能像其他 Coding Agent 一样运行它。

aivo plugins install github:yuanchuan/aivo-omp aivo omp

-k 指定一个已保存的 API 密钥,或省略其值打开选择器。

aivo omp -k openrouter aivo omp -k

-m 固定一个模型,或省略其值打开模型选择器。

aivo omp -m deepseek-v4-pro aivo omp -m
GitHub Copilot GitHub 官方的终端 Coding Agent。

先安装插件GitHub Copilot CLI 支持以独立插件的形式提供。安装一次,之后就能像其他 Coding Agent 一样运行它。

aivo plugins install github:yuanchuan/aivo-copilot aivo copilot

-k 指定一个已保存的 API 密钥,或省略其值打开选择器。

aivo copilot -k openrouter aivo copilot -k

-m 固定一个模型,或省略其值打开模型选择器。

aivo copilot -m claude-sonnet-4.6 aivo copilot -m
Grok CLI 面向 Grok API 的开源 Coding Agent。

先安装插件Grok CLI 支持以独立插件的形式提供。安装一次,之后就能像其他 Coding Agent 一样运行它。

aivo plugins install github:yuanchuan/aivo-grok aivo grok

-k 指定一个已保存的 API 密钥,或省略其值打开选择器。

aivo grok -k openrouter aivo grok -k

-m 固定一个模型,或省略其值打开模型选择器。

aivo grok -m gpt-5.4 aivo grok -m

快速开始

不带工具名时,aivo run 会打开一个 Coding Agent 和插件的交互式选择器,默认选中你上次的选择。

aivo run

启动别名

把一个 Coding Agent 和它常用的参数固定到一个名字下,然后用 aivo <名字>(或完整形式 aivo run <名字>)一键启动整套配置。运行时的内联参数会覆盖已保存的那些,对于那些每次会话都要重打的分槽位模型配置,这很省事。

# Claude Code with separate models per slot aivo alias work claude -k openrouter \ --opus-model deepseek/deepseek-v4-pro \ --sonnet-model deepseek/deepseek-v4-flash \ --haiku-model deepseek/deepseek-v4-flash \ # Amp with separate models per mode, pinned to deep mode aivo alias task amp -k openrouter \ --smart-model openai/gpt-5.5 \ --deep-model anthropic/claude-opus-4.7 \ --rush-model openai/gpt-5.4 \ --large-model deepseek/deepseek-v4-pro # run them aivo work aivo task

Aivo Code

aivo code 是终端里内置的 Coding Agent。它能配合你添加过的任意模型,从前沿的 API 到本地的 GGUF,并可通过 skills、MCP 和子 Agent 扩展。

aivo code 在终端中运行:一条提示词、模型的回复,以及一行显示当前模型、工作目录和 token 用量的状态栏
任意模型
从前沿 API 到本地 GGUF,带密钥和模型选择器。
会话工具
/plan/goal/review/rewind/config 等。
Skills
从 GitHub 或本地路径安装;支持项目级或用户级。
MCP 服务器
支持 stdio 或远程 HTTP;可从 Claude、Cursor、Gemini、Copilot、Amp 导入。
子 Agent
命名的专项 Agent — 在对话里创建,或用 /agents 管理。
实时分享
--share/share 把会话分享到查看器 URL。
Shell 管道
把标准输入管道进提示词,写 commit message、排查日志等。
aivo code # open the key picker aivo code -k # resume a saved session aivo code --resume aivo code --resume last # live-share the session to a viewer URL aivo code --share

附加文件

把文本文件或图片排队交给 Coding Agent 读取。需要几个就传几次 --attach,或者在会话里用 Ctrl+V 直接从剪贴板粘贴图片。

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

一次性提示词

发送一条提示词后退出,只返回纯文本、不调用工具。快捷写法是一个带引号的裸字符串:aivo "..." 会被改写成 aivo code -p "..."。当你还想加参数时,用 -p/--prompt

aivo "pro tips for git" aivo -p "pro tips for git" -m gpt-5.4 # type interactively, Ctrl-D to send aivo -p

Shell 管道

把任何内容通过管道传给 aivo。它会读取标准输入,加上你的提示词,再发给模型。

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

模型

添加好服务商并配置好密钥后,就可以用 models 命令查看该服务商提供的可用模型。大多数服务商通过 API 提供模型列表,所以 aivo 会按需拉取并缓存起来供之后使用。

# active key's models, or pick one aivo models aivo models -k openrouter # filter by name aivo models -s free aivo models -k openrouter -s claude # force refresh the cached list aivo models --refresh

JSON 输出

--json 会打印上游原始的模型列表,方便脚本处理。具体结构取决于服务商,用管道接 jq 来浏览和筛选。

aivo models --json aivo models -k openrouter --json | jq

模型别名

如果某个模型名太长,可以给它起个简短的别名。凡是 -m/--model 能用的地方,都接受模型别名。

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

Hugging Face

直接从 Hugging Face 仓库运行任意开放权重的 GGUF。第一次引用某个模型时,aivo 会把文件下载到 ~/.config/aivo/cache/huggingface,并通过内置的 llama-server 提供服务。之后的运行会复用缓存文件。

凡是能用模型名的地方,都接受 hf: 前缀和完整的 https://huggingface.co/… URL,在 aivo code、 Coding Agent 的 -m、裸 aivo 快捷方式等处都行。

aivo hf:Qwen/Qwen2.5-0.5B-Instruct-GGUF aivo https://huggingface.co/allenai/Olmo-3-1025-7B

指定量化版本

GGUF 仓库通常会发布多个量化版本。在后面追加 :<量化>(例如 Q5_K_MQ4_K_M)来选择特定文件;如果不指定,aivo 会在首次下载时提示你选择。

aivo code hf:bartowski/Llama-3.2-3B-Instruct-GGUF:Q5_K_M aivo claude -m hf:bartowski/Llama-3.2-3B-Instruct-GGUF:Q4_K_M

在 Coding Agent 里使用

凡是接受 -m/--model 的地方都可以传 hf:。配合 Claude Code 和 Amp 的分槽位参数,可以在同一次会话里混用本地和远程模型。

aivo claude -m hf:Qwen/Qwen2.5-0.5B-Instruct-GGUF aivo pi -m hf:Qwen/Qwen2.5-0.5B-Instruct-GGUF # mix: remote opus, local sonnet aivo claude \ --opus-model claude-opus-4.7 \ --sonnet-model hf:Qwen/Qwen2.5-0.5B-Instruct-GGUF

重新打开缓存的模型

hf: 会在本地缓存上打开一个选择器,当你已经拉取了几个模型、又不想重打仓库路径时很有用。

aivo code hf: aivo claude hf:

管理本地缓存

aivo hf 会列出已缓存的仓库;--verbose 会展开每个仓库,显示已下载的所有量化版本。其余都是日常维护命令。

# list cached repos aivo hf # pre-pull a model (handy before going offline) aivo hf pull hf:Qwen/Qwen2.5-0.5B-Instruct-GGUF # delete one quant or a whole repo aivo hf rm <repo> --quant Q5_K_M aivo hf rm <repo> --all -y # wipe the whole cache aivo hf clean -y

Serve

把你当前激活的服务商暴露成一个本地的 OpenAI 兼容接口。任何会说 OpenAI API 的工具都能用,VS Code 扩展、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"}]}'

日志与统计

一个统一的信息流,涵盖 aivo 自身的事件(code、run、serve)、原生 CLI 会话(claude、codex、gemini、pi、opencode)以及 amp 的线程,从每个工具落盘的会话文件和 aivo 本地的 SQLite 读取。默认只针对当前项目。

查看日志

# recent activity in the current project aivo logs # every project on this machine aivo logs --all

筛选与搜索

按来源、模型、密钥、时间或文本来收窄范围。--errors 只显示失败的记录。

aivo logs --by code -n 5 aivo logs --by claude --errors aivo logs --by native aivo logs --model glm-4.7 aivo logs -s "rate limit" aivo logs --since 24h aivo logs --json

分享

通过一个隧道化的查看器 URL 发布某次会话,方便给同事展示一个 bug 复现、一段 Coding Agent 记录,或一次有意思的模型运行。

服务器只是个中转,它把查看器的请求通过隧道转发到你的机器,不保留任何会话副本。

# pick a session in the current project aivo logs share # share a specific row by id prefix aivo logs share 1335c631 # pick from every project on this machine aivo logs share --all # follow updates and open in the browser aivo logs share --live --open # skip redaction (be sure) aivo logs share --no-redact

用量统计

通过读取每个工具的原生数据文件,汇总来自 aivo code、Claude Code、Codex、Gemini、OpenCode、Amp 和 Pi 的 token 计数。

aivo stats aivo stats claude aivo stats code

筛选与格式

# raw numbers for scripts aivo stats -n # filter by provider aivo stats -s openrouter # last N units (m, h, d, w) aivo stats --since 7d aivo stats claude --since 24h # show all models aivo stats -a # bypass cache aivo stats -r

输出示例

$ aivo stats ──────────────────────────────────────────────────── 408M tokens · 14B cached · 5.0K sessions · 77 models By tool sessions tokens claude 4.2K 295M ████████████████████ codex 256 87M █████▉ opencode 166 10M ▊ code 91 8.0M ▌ gemini 204 4.2M ▎ pi 85 3.8M ▎ By model tokens gpt-5.4 75M ████████████████████ minimax-m2.5 63M ████████████████▊ claude-sonnet-4.6 53M ██████████████▏ claude-opus-4.6 40M ██████████▋ minimax-m2.7 38M ██████████▏ claude-opus-4.7 31M ████████▏ laguna-m.1 22M █████▉ claude-haiku-4-5-20251001 14M ███▉ kimi-k2.5:cloud 11M ██▉ claude-sonnet-4.5 6.6M █▊ gpt-5.3-codex 6.1M █▋ glm-4.7-free 6.0M █▋ glm-4.7 5.0M █▍ mercury-2 4.3M █▏ deepseek-v4-flash 3.7M █ gpt-5.5 3.6M █ kimi-k2.5 2.0M ▌ starter 1.8M ▌ gpt-5.1-codex 1.5M ▍ kat-coder-pro-v1 1.4M ▍ others (57 models) 9.8M ██▋

入门模型

无需先配置服务商就能试用 aivo。aivo-starter 内置了几个用于学习和测试的模型,足够让你在用上自己的密钥之前先感受一下 aivo 怎么工作。

  • aivo/starter DeepSeek V4 Flash · official API 适合日常各类任务的通用默认模型。
  • poolside/laguna-m.1 Laguna M.1 · Poolside 针对代码生成和编辑做过调优。

试一下

aivo 装好之后,就可以直接开始用。

aivo "tell me a short story" aivo codex

登录

把你的设备关联到一个账号,以获得入门池更高的每日额度。

aivo account login aivo account usage

额度限制

入门池每天的预算是有限的,用途是交互式的 Coding Agent 会话。如果是常规或自动化使用,请添加你自己的 API 密钥。

不适用于 自动化脚本 批量任务 跑分 第三方客户端 OpenClaw

更新

aivo update 会检测你是通过 Homebrew 还是安装脚本安装的,并相应地更新。更新失败会自动回滚;如果新版本出问题,也可以手动回滚。

aivo update # force update even if installed via a package manager aivo update --force # restore the previous version from the last backup aivo update --rollback

同步模型数据

模型的限制信息来自 models.dev,并随每个发行版一起打包。--sync-model-data 会在两次发布之间刷新这份快照,而不动二进制本身。

aivo update --sync-model-data