CC Switch — 在 WSL2 Ubuntu 20.04 上安装和使用 CC Switch

背景
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

上一篇 route、ip route添加删除路由表命令,路由表永久化设置
下一篇 RG-N18000-XH系列交换机 硬件安装手册 M18010XH-FAN