Open Switch(参考 CC Switch 写的,用于 opencode 的 api 管理)
觉得有用的话留个 Star
起因
用 OpenCode CLI 的时候,每次切换 API 提供商都要手动改 JSON 配置文件,改完还得重启终端。用多了几个 API 服务商之后,配置文件越改越乱,有时候还会不小心写错格式导致启动失败。
并且找了站内的关于 opencode 的第三方 api,都是手动编写,作为一个 ai 时代高效开发的人来说,怎么可能让配置第三方 api 这种小事耽误时间,所以想着能不能做个图形界面来管理这些配置,就顺手写了这个工具。
能干什么
管理 API 提供商
- 接入 wong 佬的 claude api
管理 MCP 服务器
MCP (Model Context Protocol) 服务器配置也能在界面上管理:
本地服务器:基于命令行启动 (npx、node 之类的)
远程服务器:基于 URL 的远程服务
环境变量配置
单独启用 / 禁用某个服务器
Windows 用户不用担心,会自动给 npm/npx 命令加上 cmd /c 包装。
管理全局提示词
OpenCode 的 AGENTS.md 可以在界面上编辑了:
创建多个提示词模板,一键切换
切换时自动备份当前提示词
下载安装
预编译版本
从 Releases 下载对应系统的版本:
macOS:
Open-Switch_x.x.x_aarch64.dmg(Apple Silicon) 或Open-Switch_x.x.x_x64.dmg(Intel)Windows:
Open-Switch_x.x.x_x64-setup.exeLinux:
Open-Switch_x.x.x_amd64.AppImage或.deb
从源码构建
git clone https://github.com/fengshao1227/Open-Switch.git
cd Open-Switch/open-switch
pnpm install
pnpm build
构建完的安装包在 src-tauri/target/release/bundle/ 目录。
使用方法
添加 API 提供商
点击 "添加提供商"
选择 SDK 类型 (OpenAI/Anthropic/Google)
填写 API Key 和其他配置
保存
配置会自动写入 ~/.config/opencode/opencode.json 和 ~/.local/share/opencode/auth.json。
配置 MCP 服务器
点击 "MCP 服务器" 标签
添加本地或远程服务器
配置命令 / URL 和环境变量
启用需要的服务器
切换提示词模板
点击 "提示词" 标签
创建新模板或编辑现有模板
点击 "激活" 切换到对应模板
会自动同步到
~/.config/opencode/AGENTS.md
技术栈
前端: React 18 + TypeScript + TailwindCSS + shadcn/ui + TanStack Query + Framer Motion
后端: Tauri 2.x + Rust + SQLite
构建: Vite + pnpm
选 Tauri 是因为比 Electron 轻很多,打包出来的体积小,启动也快 awa。
配置文件位置
| 文件 | 用途 |
|------|------|
| ~/.config/opencode/opencode.json | OpenCode 主配置 |
| ~/.local/share/opencode/auth.json | API Key 存储 |
| ~/.config/opencode/AGENTS.md | 全局提示词 |
| ~/.open-switch/open-switch.db | 本地提示词模板数据库 |
Windows 系统会自动适配成 Windows 路径。
常见问题
Q: 和 OpenCode CLI 是什么关系?
A: 这是个配置管理工具,通过读写 OpenCode 的配置文件来管理设置,不影响 OpenCode CLI 本身的使用。
Q: API Key 安全吗?
A: API Key 存在 ~/.local/share/opencode/auth.json, 文件权限受操作系统保护。工具不会把密钥上传到任何地方。
Q: 遇到问题怎么办?
A: 在 GitHub Issues 提问题,或站内回帖,我会尽快回复。
开发相关
如果想参与开发或者自己改改:
cd open-switch
pnpm install
pnpm dev # 启动开发模式 项目结构:
src/- 前端代码 (React + TypeScript)src-tauri/- 后端代码 (Rust)src-tauri/src/config.rs- OpenCode 配置管理src-tauri/src/database.rs- SQLite 数据库src-tauri/src/prompt_service.rs- 提示词业务逻辑
欢迎提 PR, 提之前跑一下 pnpm typecheck 和 pnpm format:check 确保代码格式没问题。
界面预览(gemini 自由发挥的,win 的效果我还没看,下面是 mac 的)
致谢
这个项目的灵感和很多实现细节都来自 CC Switch。CC Switch 是一个非常优秀的 Claude Code/Codex/Gemini CLI 配置管理工具,功能强大、架构清晰。Open Switch 在它的基础上做了一些调整,专注于 OpenCode CLI 的配置管理。
感谢 linux.do 社区提供的技术交流平台,很多问题和思路都是在社区里讨论出来的(来到这里 2 个月来,学到了很多东西)。
许可证
MIT License
版本: v1.0.0 | 最后更新


