← 返回列表
需源码安装
ccgui 是一个开源的 multi-engine AI 编程桌面客户端。简单说:它把 Claude…
暂不能直接安装(需源码编译或环境不满足):缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。 · 最近上游提交 2026/9/18 · 已提供中文文档
多引擎 AI 编程桌面客户端(Tauri)。Claude Code、Codex、Gemini、OpenCode、DeepSeek Harness 等集于一个 GUI。
综合分
71
GitHub 分
71
用户评分
—
★ Stars
4234
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add zhukunpenglinyutong/desktop-cc-gui缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装,改用 GitHub 源安装
⚠︎ 实装验证未通过(dep_tree_unresolvable · 2026/9/16) ——可能是 CI 环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包ccgui-next(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/16 05:59:04
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
CC GUI 客户端 English · 简体中文 ![][github-contributors-shield] ![][github-forks-shield] ![][github-stars-shield] ![][github-issues-shield] ccgui 是一个开源的 multi-engine AI 编程桌面客户端。简单说:它把 Claude Code、Codex CLI、Kimi CLI、Grok CLI、Pi CLI、OMP CLI、DeepSeek Harness(DSH) 等命令行 AI 编程 runtime,放进一个统一的图形界面里。 你不用再盯着黑乎乎的终端敲命令——打开 ccgui,选好项目,像聊天一样让 AI 帮你写代码、改 Bug、提交 Git。流式输出、思考过程和工具调用都会实时展示;token 用量在引擎上报时同步呈现。 应用基于 Tauri 2 + React 18 + TypeScript + Rust 开发,支持 macOS / Windows / Linux。设置与状态默认在本机持久化;发送给 AI provider 的内容,遵循你为对应 CLI 配置的渠道边界。 ccgui 能干什么 一个客户端,装下七个 AI 引擎 - 注册了 Claude Code、Codex CLI、Kimi CLI、Grok CLI、Pi CLI、OMP CLI、DeepSeek Harness 的 runtime adapter——在输入框里按会话切换引擎。 - 供应商渠道直接写入各 CLI 自己的原生配置文件(不搞平行的凭证存储),内置 GLM、Kimi、DeepSeek、MiniMax、MiMo、百炼、LongCat、OpenCode Go、OpenRouter 等精选预设;Claude / Codex / Grok 的渠道还能从 CC Switch 一键导入。 - Pi 系引擎(Pi / OMP)支持在设置页内完成 API Key 与 OAuth 登录。 - 支持按标签页覆盖模型与 effort 档位:同一个窗口里,不同标签页可以跑不同模型或思考强度。 - 会话历史不丢:历史扫描器直接读取各 CLI 的原生会话文件并保持标题同步,关掉应用再打开还能接着聊。 聊天框是为写代码设计的 - 流式回复按动画帧逐步展示,配合语法高亮缓存——长输出也保持流畅,不会每来一个 token 就重排一遍 markdown。 - 思考流与正文合并展示,结束后自动折叠,需要时一键展开看全文。 - 工具调用以实时行呈现,参数与结果可展开查看,内置美化的 Git Diff、Bash 查看器和每次运行的完成元数据。 - 运行状态条实时镜像引擎进度(含 todo 快照),消息锚点导航栏让你在用户消息之间快速跳转。 - 粘贴图片自动转附件;@ 文件引用基于感知 .gitignore 的项目文件索引;回复中的文件链接能处理 URL 编码路径,并支持右键菜单。 - 权限被拒时可以在对话内直接为引擎追加授权目录;输入框还内置提示词历史与可选的 Codex Fast 开关。 不只是聊天,是一整套开发面板 - 文件树:虚拟化渲染,带 Git 状态颜色、嵌套仓库徽标、右键菜单与拖拽——内置 CodeMirror 编辑器面板,支持 Markdown 预览。 - 内置终端:真正的 PTY 终端坞(xterm + WebGL),不用切窗口。 - Git 面板:暂存、提交、分支搜索、看 diff、翻提交历史。 - 命令面板:一个键盘驱动的入口,调起应用内所有命令。 插件系统 - 自研 插件 SDK(@ccgui/plugin-sdk),配套应用内运行时、管理界面与信任边界。 - 声明式插件无需编写前端代码即可新增设置区块与配置驱动的界面;应用内建界面(包括设置页本身)也走同一套扩展点注册。 - 完整开发指南见 docs/plugin-development-guide.zh-CN.md。 设置、网络与更新 - 代理设置:为应用与引擎流量配置代理。 - 局域网网页访问:通过 token 鉴权的 WebSocket 桥接,把界面共享给局域网内其他设备,设置页提供二维码入口。 - 工作区管理:给项目分组,快速切换。 - 应用内自动更新(Tauri updater,对接 GitHub Releases)、版本记录对话框、macOS 签名构建。 - 中英双语界面。 下载安装 直接去 Releases 页面 下载对应平台的安装包: | 平台 | 安装包 | | --- | --- | | macOS(M 系列芯片,已签名) | aarch64.dmg | | Windows | .exe(NSIS)安装包 | | Linux | .AppImage | 装好之后,打开设置,为要用的 CLI 配置供应商渠道(或直接登录),添加一个项目文件夹,就可以开始聊了。 使用 DeepSeek Harness(DSH) 1. 在本机安装 DSH CLI,并在 DSH 自身中配置模型与 API key——不要把它当成 ccgui 里的另一套 vendor preset。 2. 在设置 → DeepSeek Harness 中,ccgui 可以接管本机已运行的 dsh web host,也可以自动拉起一个。 3. 在输入框引擎选择器中选中 DeepSeek Harness。对话走 DSH 的 headless profile;模型与凭证仍归 DSH 管理。 把项目跑起来(启动教程) 想自己编译、或者参与开发?跟着下面三步走。 第一步:准备环境 | 工具 | 版本要求 | 用来干嘛 | | --- | --- | --- | | Node.js | 20 或更新 | 跑前端工具链 | | pnpm | 10(packageManager 字段已锁定) | 安装依赖 | | Rust | stable(用 rustup 装) | 编译后端 | 不同系统还需要一点额外准备(这是 Tauri 框架的要求,详见 Tauri 官方环境文档): - macOS:装 Xcode 命令行工具:xcode-select --install。 - Windows:装 Microsoft C++ Build Tools 和 WebView2(Win 11 自带 WebView2)。 - Linux:装 webkit2gtk 等系统库,照着 Tauri 官方文档抄命令就行。 第二步:装依赖 git clone https://github.com/zhukunpenglinyutong/desktop-cc-gui.git cd desktop-cc-gui pnpm install 注意:这是一个 pnpm workspace(插件 SDK 在 packages/plugin-sdk),锁定文件是 pnpm-lock.yaml。 第三步:启动 pnpm dev 几个小提示: - 第一次启动要编译整个 Rust 后端,可能等上几分钟,去倒杯水。之后是增量编译,很快。 - 前端开发服务器跑在 1420 端口。 打安装包 pnpm build:mac # macOS 签名构建(scripts/build-signed-macos.sh) pnpm build:mac:skip-notarize # 同上,但跳过公证 Windows 与 Linux 安装包由 .github/workflows/ 下的 CI 工作流产出(release.yml、build-windows-artifact.yml)。 怎么改代码(开发教程) 技术栈一览 | 部分 | 用的什么 | | --- | --- | | 界面 | React 18 + TypeScript + Tailwind CSS 4 + zustand | | 构建 | Vite 6 | | 桌面框架 | Tauri 2(Rust 后端:git2、rusqlite、portable-pty、axum) | | 测试 | Vitest(前端)+ cargo test(Rust) | 目录结构 desktop-cc-gui/ ├── src/ # 前端代码 │ ├── features/ # ★ 功能模块:chat / files / git / terminal / │ │ # settings / plugins / commands / update / open-app │ ├── components/ # 跨功能共享的通用 UI 组件(含引擎品牌图标) │ ├── i18n/ # zh + en 两套 locale bundle │ ├── styles/ # 全局样式 │ └── lib/ utils/ # 工具函数 ├── src-tauri/ # Rust 后端 │ └── src/ # engine/(每个 CLI 一个模块)、history/、plugins/、 │ # git.rs、terminal.rs、web.rs(局域网桥接)…… ├── packages/plugin-sdk/ # @ccgui/plugin-sdk —— 插件开发套件 ├── tests/ # 前端集成向测试(Vitest) ├── scripts/ # 构建与打包脚本 └── docs/ # 插件开发指南、引擎模式说明 改一个功能的套路 1. 只改界面:找到 src/features/ 下对应的模块改就行。新组件直接放在该模块自己的目录里。 2. 需要后端配合:在 src-tauri/src/ 对应模块里加 #[tauri::command],前端通过 Tauri API 调用。 3. 改了界面文字:必须走 i18n,并同步两套 bundle(src/i18n/zh.ts、src/i18n/en.ts);界面文字不允许硬编码。 常用命令 | 命令 | 干嘛的 | | --- | --- | | pnpm dev | 启动完整应用(Tauri 开发模式) | | pnpm build | TypeScript 类型检查 + 前端生产构建 | | pnpm test | 跑 Vitest 测试套件 | | pnpm preview | 预览生产构建的前端 | | cargo test --manifest-path src-tauri/Cargo.toml | 跑 Rust 测试 | 测试怎么写 - 前端测试用 Vitest——源码旁边放 xxx.test.ts(x) 同位测试,较重的套件统一放 tests/ 目录。 - Rust 端测试照常写在模块里,用 cargo test --manifest-path src-tauri/Cargo.toml 跑。 开发规范 规矩不多,但都有原因,提交前过一遍: 1. 提 PR 前跑通本地验证:pnpm build(类型检查)和 pnpm test 全绿;动了 Rust 再加 cargo test。 2. 界面文字必须走 i18n:所有用户可见文案都从 src/i18n/ 取,并保持两套 locale bundle 同步,不许硬编码。 3. 组件就近放:新组件先放自己 feature 的目录里;确实被多个功能复用了,再挪到 src/components/。 4. TypeScript 严格模式:别用 any 糊弄,类型写明白。 5. 优先通过插件 SDK 扩展:新增设置区块与界面,尽量走内建界面同款扩展点注册。 6. 永远不要提交密钥:API Key、token 这类东西绝对不能进代码和提交记录。 Commit 信息怎么写 默认使用中文主体的 Conventional Commits:type(scope): 中文动宾短句。 | type | 什么时候用 | | --- | --- | | feat | 加新功能 | | fix | 修 Bug | | refactor | 重构(行为不变) | | docs | 改文档 | | test | 加/改测试 | | chore | 杂活(版本号、依赖、脚本) | | perf / style / ci | 性能优化 / 格式 / CI | 仓库里的真实例子: feat(chat): 支持工具调用参数与结果展开、Git Diff/Bash美化及完成元数据展示 fix(codex): Windows .cmd shim 下多行提示词只送达第一行 perf(chat): reveal streamed text per frame without reparsing markdown 不要在 commit 信息里写 emoji,也不要带 AI 生成署名。 怎么提交你的代码(贡献流程) 1. Fork 本仓库,clone 到本地。 2. 从 main 切一个分支,名字按 feat/xxx、fix/xxx 这种风格起。 3. 改代码,本地把 pnpm build + pnpm test 跑绿。 4. 提 PR 到本仓库的 main 分支。标题按 commit 格式写,描述里说清楚:改了什么、为什么改、怎么验证的。 不知道从哪下手?看看 Issues,挑一个感兴趣的开干。发现 Bug 或有新点子,也欢迎直接开 Issue 聊。 想深入了解项目内部? - 插件开发指南 — SDK、manifest、权限模型与信任边界。 - docs/omp-fast-mode.md — Codex Fast / OMP 快速模式说明。 License MIT 友链 感谢 LINUX DO 用户的支持与反馈。 AtomGit:在国内托管本项目,帮助中国大陆用户更快访问项目与下载 Release。 感谢 AtomGit 平台 G-Star 认证 贡献者列表 感谢所有帮助 ccgui 变得更好的贡献者。 参考项目说明 本项目最初源自 CodexMonitor。自 v1.0.0 起代码库已从零完全重写,不再包含 CodexMonitor 的任何代码,但仍感谢其最初带来的启发。 Star History Star History Chart [github-contributors-shield]: https://img.shields.io/github/contributors/zhukunpenglinyutong/desktop-cc-gui?color=c4f042&labelColor=black&style=flat-square [github-forks-shield]: https://img.shields.io/github/forks/zhukunpenglinyutong/desktop-cc-gui?color=8ae8ff&labelColor=black&style=flat-square [github-issues-link]: https://github.com/zhukunpenglinyutong/desktop-cc-gui/issues [github-issues-shield]: https://img.shields.io/github/issues/zhukunpenglinyutong/desktop-cc-gui?color=ff80eb&labelColor=black&style=flat-square [github-license-link]: https://github.com/zhukunpenglinyutong/desktop-cc-gui/blob/main/LICENSE [github-stars-shield]: https://img.shields.io/github/stars/zhukunpenglinyutong/desktop-cc-gui?color=ffcb47&labelColor=black&style=flat-square
扫码进群