背景
CC Switch 是一款跨平台桌面工具,用于统一管理 Claude Code、Codex、Gemini CLI、OpenCode、OpenClaw、Hermes Agent 等多个 AI CLI 工具的 Provider 配置。功能包括:
Provider 管理:50+ 预设,一键切换 API 配置
MCP 服务器:跨工具统一管理
Prompts / Skills:编辑器、GitHub 安装、跨应用同步
本地代理:HTTP 代理 + 自动故障转移 + 断路器
Session 管理:浏览搜索所有工具的对话历史
用量追踪:请求日志、Token 统计、费用图表
WebDAV 同步:数据库和 Skills 云同步
问题:原版不支持 Ubuntu 20.04
原版 CC Switch 基于 Tauri 2,依赖 libwebkit2gtk-4.1-dev 和 glib >= 2.70,这些在 Ubuntu 20.04 的软件源中不存在。官方 README 明确要求 Ubuntu 22.04+。
解决方案:cc-switch-web 适配版
greluoqixi/cc-switch-web 是社区针对 Ubuntu 20.04 做的适配版(基于原版 MIT 许可证),将前端渲染从 Tauri 替换为 WebKit2GTK 4.0,在 20.04 上开箱即用。 Linux与 Unix
技术栈
| 层级 | 技术 |
|------|------|
| 前端 | React 18 + TypeScript + TailwindCSS |
| 后端 | Rust(axum) |
| 存储 | SQLite |
| 窗口 | WebKit2GTK 4.0 |
安装步骤
1. 下载 deb 包
curl -sL https://github.com/greluoqixi/cc-switch-web/releases/download/v1.0.0/cc-switch-web_1.0.0_amd64.deb \
-o cc-switch-web_1.0.0_amd64.deb
2. 安装
sudo dpkg -i cc-switch-web_1.0.0_amd64.deb
安装后二进制文件位于 /usr/bin/cc-switch-web,前端静态文件位于 /usr/share/cc-switch-web/dist/。
3. 启动
cc-switch-web
启动后 HTTP 服务监听在 http://127.0.0.1:2891。
WSL2 特有坑:浏览器拒绝访问
现象
在 WSL2 中运行 cc-switch-web 后,Windows 浏览器访问 http://127.0.0.1:2891,页面显示: Windows操作系统
CC Switch 只能通过桌面应用程序打开。
原因
前端 JavaScript 中有一个环境检测函数 fPe(),它检查 URL 是否包含 ?native=1 参数。原设计是 WebKit2GTK 原生窗口会自动带上这个参数加载页面,普通浏览器直接访问就会被拦截。
// 原始检测逻辑
fPe = () => {
try {
return typeof window < "u" &&
new URL(window.location.href).searchParams.get("native") === "1"
} catch {
return !1
}
}
修复方法
修改前端 JS 文件,将检测逻辑反转——只要不显式传 ?native=0 就放行:
sudo python3 -c "
path = '/usr/share/cc-switch-web/dist/assets/index-BJYKvH6p.js'
with open(path, 'r') as f:
content = f.read()
old = 'searchParams.get(\"native\")===\"1\"'
new = 'searchParams.get(\"native\")!==\"0\"'
content = content.replace(old, new)
with open(path, 'w') as f:
f.write(content)
print('done')
"
改后的逻辑:
// 改后:只要不是 ?native=0 都放行
fPe = () => {
try {
return typeof window < "u" &&
new URL(window.location.href).searchParams.get("native") !== "0"
} catch {
return !1
}
}
清除浏览器缓存
修改完成后,浏览器可能缓存了旧的 JS 文件。用 Ctrl + Shift + R 强制刷新(或使用无痕模式打开)即可。 网络浏览器
使用方式
# 启动服务
cc-switch-web
# 在 Windows 浏览器中打开
# http://127.0.0.1:2891
注意:由于 WSL2 会自动将 localhost 端口转发到 Windows,所以在 Windows 浏览器中直接访问 127.0.0.1:2891 即可连接到 WSL2 中的服务。
————————————————
版权声明:本文为CSDN博主「西西列」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zjh15205648220/article/details/161563936