GitHub: https://github.com/fengshao1227/Open-Switch
觉得有用的话留个 Star
起因
用 OpenCode CLI 的时候,每次切换 API 提供商都要手动改 JSON 配置文件,改完还得重启终端。用多了几个 API 服务商之后,配置文件越改越乱,有时候还会不小心写错格式导致启动失败。
并且找了站内的关于 opencode 的第三方 api,都是手动编写,作为一个 ai 时代高效开发的人来说,怎么可能让配置第三方 api 这种小事耽误时间,所以想着能不能做个图形界面来管理这些配置,就顺手写了这个工具。
能干什么
管理 API 提供商
管理 MCP 服务器
MCP (Model Context Protocol) 服务器配置也能在界面上管理:
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.exe
Linux: 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 | 最后更新
📌 转载信息
原作者:
feng_li
转载时间:
2026/1/16 12:28:32