GitHub: https://github.com/fengshao1227/Open-Switch

觉得有用的话留个 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.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 提供商

  1. 点击 "添加提供商"

  2. 选择 SDK 类型 (OpenAI/Anthropic/Google)

  3. 填写 API Key 和其他配置

  4. 保存

配置会自动写入 ~/.config/opencode/opencode.json~/.local/share/opencode/auth.json

配置 MCP 服务器

  1. 点击 "MCP 服务器" 标签

  2. 添加本地或远程服务器

  3. 配置命令 / URL 和环境变量

  4. 启用需要的服务器

切换提示词模板

  1. 点击 "提示词" 标签

  2. 创建新模板或编辑现有模板

  3. 点击 "激活" 切换到对应模板

  4. 会自动同步到 ~/.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 typecheckpnpm 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

标签: react, OpenCode, MCP Server, API Management, Tauri

添加新评论