desktop-cc-gui
zhukunpenglinyutong/desktop-cc-gui加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你有没有过这样的经历:同时装了 Claude Code 和 Codex CLI,想在不同项目里切换用,结果得在两个终端窗口之间来回切换,命令语法还不一样——Claude Code 用 /ask,Codex CLI 用 cc:ask,记混了是常态。更别提 Kimi CLI、Grok CLI、DeepSeek Harness……每个都有自己的配置文件、自己的会话管理方式、自己的模型配置。
CC GUI(CC GUI Client)就是来解决这个问题的。
CC GUI 是一个基于 Tauri 2 + React 18 + TypeScript + Rust 构建的开源桌面客户端,GitHub 目前已有 4300+ stars。它的核心理念很简单:不再让你追着终端窗口跑,而是把所有的命令行 AI 编程工具装进一个统一的图形界面里。
目前支持的 AI 引擎包括:
每个引擎都通过 Rust 后端里的专属协议适配器接入——流式事件、会话历史、供应商渠道都是原生处理的,不是从终端屏幕上抓输出。这意味着你在 CC GUI 里看到的内容,和直接跑对应 CLI 的体验是一致的,数据不会经过额外的"翻译层"。
命令行工具的好处是灵活、脚本化,但代价是:每个工具都要记住一套自己的命令语法、配置文件格式、会话管理方式。当你想在一个项目里同时用 Claude Code 写业务代码、用 DeepSeek Harness 做代码审查,切换成本不低。
CC GUI 的解决思路是:保留每个 CLI 的原生能力,同时在上层提供统一的操作界面。
具体来说,它做了这几件事:
供应商渠道配置统一管理。 内置了 GLM、Kimi、DeepSeek、MiniMax、百炼等国内模型的精选预设;Claude、Codex、Grok 的渠道还能从 CC Switch 一键导入,不用再手动改 JSON 配置文件。Pi 系引擎支持在设置页内直接填 API Key 或做 OAuth 登录。
会话历史不丢失。 历史扫描器直接读取各 CLI 的原生会话文件并保持标题同步。关掉应用再打开,历史记录还在。
流式输出、思考过程和工具调用实时展示。 Claude Code 的思考流会在输出结束后自动折叠,需要时一键展开;工具调用以实时行呈现,参数与结果可展开查看,内置美化过的 Git Diff 和 Bash 查看器。
CC GUI 不只是一个对话界面,它集成了一个相对完整的开发工作台:
另外,它还支持局域网网页访问——通过 token 鉴权的 WebSocket 桥接,把界面共享给局域网内其他设备,设置页提供二维码入口。
CC GUI 提供了自研的插件 SDK(@ccgui/plugin-sdk),配套应用内运行时、管理界面与信任边界。声明式插件无需编写前端代码即可新增设置区块与配置驱动的界面。文档中明确指出,应用内建界面(包括设置页本身)也走同一套扩展点注册——也就是说,这个插件系统不是"小工具",而是 CC GUI 自身的 UI 也是用同一套机制构建的。
从项目结构看,CC GUI 采用了典型的前后端分离桌面应用架构:
| 层次 | 技术选型 | 说明 |
|---|---|---|
| 桌面框架 | Tauri 2 | Rust 后端 + Web 前端,比 Electron 轻量 |
| 前端框架 | React 18 + TypeScript | 严格模式,类型定义清晰 |
| 状态管理 | Zustand | 轻量级 React 状态管理 |
| 样式 | Tailwind CSS 4 | 原子化 CSS |
| 构建工具 | Vite 6 | 前端开发服务器 + 构建 |
| 后端语言 | Rust | Tauri 命令、数据库、Git 操作、终端 |
| 数据库 | rusqlite | 本地会话与状态持久化 |
| 编辑器 | CodeMirror 6 | Markdown 预览与代码高亮 |
| 终端 | xterm.js + WebGL | 真正的伪终端模拟 |
Rust 后端模块划分非常清晰:engine/ 目录下每个 CLI 对应一个独立模块,history/ 处理会话读取,plugins/ 处理插件加载,git.rs 处理 Git 操作,terminal.rs 处理终端,web.rs 处理局域网桥接。代码结构符合 Rust 社区惯用的模块化组织方式。
CC GUI 是桌面客户端,不是 Web 应用。官方不提供 Docker 部署,也不打算支持——这是 Tauri 应用的天然限制,桌面 GUI 本来就跑在本地操作系统上。
安装方式极为简单: 直接去 GitHub Releases 下载对应平台的安装包即可。macOS(M 系列芯片)有签名安装包,Windows 是 NSIS 安装包(.exe),Linux 支持 .AppImage 和 .rpm(要求 rpm >= 4.14,Fedora 28+ / RHEL 8+)。
本地开发构建需要:Node.js 20+、pnpm 10、Rust stable,以及各平台的 Tauri 依赖(macOS 需要 Xcode 命令行工具,Windows 需要 MSVC Build Tools + WebView2,Linux 需要 webkit2gtk)。首次编译 Rust 后端耗时较长,之后是增量编译,速度可以接受。
必须指出几个现实问题:
多引擎兼容矩阵复杂。 不同引擎对 CC GUI 的功能支持度差异很大:Claude Code 支持 Todo 列表渲染,但 Codex CLI 不支持;OpenCode 的 / 斜杠命令支持度有限;Pi CLI 的渠道切换只部分支持。CC GUI 的功能矩阵表格本身就占了 README 相当大的篇幅,这说明维护一个多引擎适配器的工程量不小。
插件系统仍在发展中。 虽然文档完整,但插件 SDK 的实际生态目前还比较小,大多数用户只用到内置的引擎。
无服务器端部署选项。 如果你需要在团队共享的服务器上运行 AI 编程界面,CC GUI 不适合——它只能装在个人电脑上。
2024-2025 年,AI 编程工具呈"诸侯割据"态势:Claude Code、Codex CLI、Grok CLI、DeepSeek Harness……每个都有自己的生态,但用户的实际工作流往往是跨引擎的。CC GUI 代表了一种务实的产品思路:不取代任何一家 CLI,而是在它们之上提供一个统一的操作层。
从技术选型看,Tauri 2 + Rust 的组合在这个场景下非常合适——比 Electron 轻量(安装包体积更小),Rust 后端又能保证 Git 操作、终端模拟、文件 IO 这些 IO 密集型操作的高性能。这不是炫技,而是一个严肃的产品架构决策。
项目目前 star 数 4300+,issue 数 228 个,最后一次 push 是今天(2026-09-24),活跃度较高。唯一的"遗憾"是没有找到适合的文章配图——这可能也反映了这类工具型项目的通病:产品做得扎实,但对外宣传不够重视。