这个项目能做什么

AI Switch 是一个自称为“本地 AI API 密钥中心”的工具,用于管理跨多个 AI 编码工具的转接或多供应商 API 密钥。其理念是,更改一次密钥应该传播到每个已安装的工具,并且一个失效的密钥不应该导致整个堆栈崩溃。它将自己定位为一个管理/探测/推送实用程序,而不是聊天客户端。 它做什么 - 密钥存储:多供应商密钥表,具有搜索、标签、批量启用/禁用/删除、批量导入、“MetaAPI”合并和去重功能,因此密钥存储在一个地方,而不是在多个配置文件中手动编辑。 - 健康和端点检查:带有模型级端点检测(聊天、响应、消息、Gemini)的计划健康监控,供应商分组的质量检查,带有每供应商和每模型的动作,可读的错误,自适应的检查间隔,可选的自动禁用和主/备故障转移,以及失效密钥的存档。 - 安全同步:只有最近成功通过健康和端点检查的模型才会被推送到后端;在写入之前会显示一个同步预览,并且不会写入未安装的工具。 README 注意,质量检查会向每个模型发送四个短请求,可能会消耗提供商的配额,并且端点支持是按模型检测的——自动模式使用已验证的端点,而手动模式允许你从检测到的格式中选择。 支持的后端 OpenClaw(openclaw.json、auth profiles、models)、OpenCode(auth.json、opencode.jsonc)、Claude Code(settings.json、~/.claude.json)、Codex CLI(auth.json、config.toml 以及 Responses 健康)、Cline / Aider / Continue.dev(IDE 和 CLI 配置),以及 Hermes Agent、QwenCode、Kimi Code 和 TRAE Work,如 docs/backends.md 中所述。后端页面报告每个后端是未安装、已停止(可同步)还是正在运行。列出的端点家族包括 openai_chat(OpenAI、DeepSeek、OpenRouter、Groq、Moonshot、Qwen 等)、anthropic、gemini 和 openai_responses。功能列表还提到 26+ 个内置提供商,以及自定义的 OpenAI 兼容端点,以及带有贡献指南的即插即用后端适配器。 界面和附加功能 一个带有仪表板、后端同步状态、健康监视器、非阻塞任务中心、亮色和暗色主题,以及英语/简体中文/繁体中文本地化的 Web UI。还包括:供应商类型(公共/转接/原始密钥)在模型目录和签入中的过滤,存档(隐藏、排除健康检查、稍后恢复),签入 URL,预算,加密的配置文件导出,诊断包,下游路由和桌面包。 安装和运行 - 发布版为 Windows x64、macOS Intel、macOS Apple Silicon 和 Linux x64 构建:解压并运行 ai-switch / start.bat / start.sh,然后打开 http://127.0.0.1:8787。 - 从源代码:git clone,pip install -r requirements.txt,python3 run.py(Python 3.9+)。 - npm/npx 启动器:npx github:kingkate2009-droid/ai-switch,或全局安装。 - Docker:docker compose up -d。 一个记录的“3 分钟循环”是:添加供应商和密钥(或智能导入),让健康检查通过,使用预览先推送到后端,然后从 OpenCode / Codex / Claude Code 发送 `hi`。 配置和安全 数据存储在 ~/.ai-switch/ai-switch.db,使用情况存储在 ~/.ai-switch/usage.json;默认端口是 8787(AI_SWITCH_PORT)。README 说明密钥仅存在于 ~/.ai-switch/ 下,该目录不应该被提交,并提到在设置中有一个可选的访问令牌,用于局域网暴露。现有的 data.json 状态会被导入一次,旧文件会保留在 .legacy 后缀下,用于回滚。配置的端口是固定的:如果被占用,启动会退出并显示一个清晰的错误。状态存储是事务性的 SQLite。 堆栈和许可证:Python + Flask,原生 JS,SQLite,可插拔的适配器;Apache 2.0。文档涵盖了快速入门、一个 Codex 连接故障排除页面、后端矩阵和一个适配器贡献指南。