工作原理与设计
VibeCLI 怎么修改你的工具配置、为什么只合并不覆盖、令牌怎么保存和发送、模型菜单从哪来、为什么按优先级而不是按速度选接入地址
一次 setup 做了什么
以 vibecli setup --key sk-xxx 为例:
令牌无效时立即停下并说明原因,不写任何配置。在终端里运行时,VibeCLI 会先列出要修改的文件和要先安装的工具,你确认后才保存令牌、写配置;选「否」则什么都不改。加 --yes、--non-interactive 或 --json 时不询问。
还没有安装的命令行工具(Claude Code、Codex、Grok Build、agy)先安装、再写配置,不安装就不写。Claude Desktop 例外:在 macOS 和 Windows 上没安装也会先写好配置,安装后打开即可使用。
每个工具由独立的模块负责,一个工具出问题不影响别的工具。
只合并,不覆盖
配置文件里大部分是你自己积累的设置,整份覆盖会抹掉它们。原文件已经损坏(不是合法的 JSON / TOML)时,VibeCLI 会停下提示,不猜测着修复;确实要重来,用 --force,它先完整备份再重写。
每次修改前,VibeCLI 在原文件旁边留一份 <文件名>.bak-<时间>(每个文件保留最近 10 份)。写入时先写临时文件再整体替换,中途被打断也不会留下写了一半的配置。卸载 VibeCLI 不影响已经配置好的工具。
令牌怎么保存、发给谁
令牌明文保存,不加密。早期的加密版本把密钥和主机名绑在一起,换电脑就解不开;而 Claude Code、Codex 本来就明文保存同一个令牌,再存一份加密副本并不更安全。vibecli status 只显示令牌的指纹。
令牌只发给 VibeCLI 内置的接入地址和你当前使用的地址。有人诱导你「试试这条线路」时,对方的地址拿不到令牌。
模型菜单从哪来
不同分组能用的模型不同,按分组名推算容易出错,所以 VibeCLI 直接用这个令牌请求模型列表。同步只改菜单,不动你选中的模型和令牌。工具里的令牌已经不是 VibeCLI 保存的那个时,跳过这个工具。
接入地址:按优先级,不按速度
只有主站无法连接时才换,即使备用地址测速更快也不换。「能用」指用你的令牌实际拉到了模型列表。--base 在 setup、init、auth、config 和交互菜单里会保存,在其它命令里只对这一次有效。
升级与国内镜像
镜像里的程序和官方下载的是同一个文件,都核对过校验值。电脑上常有 npm 安装的和官方安装器安装的两份,VibeCLI 按终端实际运行的那份升级,再询问你是否删到只剩一份。
VibeCLI 自己的更新
只有全局安装时才自动更新(每次启动都检查新版本),更新失败不影响正在运行的命令。用 npx 运行,或带 --json、--non-interactive、--dry-run 时不更新;设置 VIBECLI_DISABLE_AUTO_UPDATE=1 可以关闭自动更新。
最后更新于