dwgx@blog:~$dwgx
> cd ../posts

SKIBOX:管住一堆 AI 工具的 API Key

// created

SKIBOX 是跑在终端里的 API key 管家。机子上装了 claude code、codex、cline、gemini cli、openclaw 一堆 AI 编程工具,每个存 key 的地方和格式都不一样,换 token 或者把某工具切到别的后端,就得挨个翻配置手改,改错一个字符还得排查半天。SKIBOX 把这事一次管掉:登录一个 OpenAI 兼容后端(默认挂我自己的 https://skiapi.dev,也能换成你自己的),在 TUI 里查、建、删、切 token。选中哪个,它就直接把 token 写进本机各个 AI 工具的配置文件,不用再手动编辑。这是核心。

顺手塞了个聊天界面,拉后端模型列表选一个就能在终端直接聊,支持流式。配置经常被自己或别的工具搞坏,所以加了诊断,能检测异常并尝试自动修复。

纯终端的东西要启动快、单文件、跨平台随手跑,所以用 Go。界面走 charm 那套:Bubble Tea 做 TUI、Bubbles 出组件、Lip Gloss 管样式、Markdown 渲染交给 Glamour、配置读写用 Viper。更新逻辑是状态机,登录、主界面、聊天、初始化、修复几个屏切起来很清爽。

最花心思的是 toolswitch 往别人家配置里塞 token,每个工具结构不一样,得一个个适配。写文件最怕写一半崩了把人家配置写坏,所以做了原子写,先写临时文件再 rename,fileutil 就干这个。平台路径单独交给 platform 探测和拼接。

登录支持用户名密码加可选 2FA。数据只留本机,不写回仓库:配置在 ~/.skibox/config.json,聊天记录在 ~/.skibox/sessions.json。早期用的是 ~/.skiapi-helper/,新文件不在就去老路径读一下做迁移。

从源码构建要 Go 1.24.2 以上,脚本优先用仓库里的本地 Go/ 工具链,没有再回退系统 go。Windows build.bat release,mac build-mac.bat release,或者最直接 go build -o skibox.exe。开发我一般 go run .。MIT。