# CC-Panes > 面向 AI Coding 重度用户的多实例分屏工作台,以 Claude Code 为核心,同时支持 Codex、Gemini、Kimi、GLM、OpenCode、Cursor 等 CLI 工作流。 [](https://github.com/wuxiran/cc-pane/releases/latest) [](https://github.com/wuxiran/cc-pane/actions/workflows/ci.yml) [](LICENSE) [](https://tauri.app/) [](https://react.dev/) [](https://www.rust-lang.org/) [下载最新版](https://github.com/wuxiran/cc-pane/releases/latest) · [English README](README.md) · [反馈问题](https://github.com/wuxiran/cc-pane/issues)
|
|
| Todo 与任务管理 | 浅色工作区 |
| --- | --- |
|
|
|
## 核心能力
**多实例终端**
- 基于 xterm.js 和 portable-pty 的真实 PTY 终端。
- 支持分屏、Tab、多 Pane 布局和终端尺寸同步。
- 可启动 Claude Code、Codex、Gemini、Kimi、GLM、OpenCode、Cursor。
- 记录启动历史,支持按项目恢复历史会话。
**工作区和项目**
- 工作区、项目树、置顶、隐藏、排序、扫描、导入、新建项目。
- 每个项目拥有独立的启动历史、任务、Todo、MCP 配置和元数据。
- 内置文件浏览器,支持搜索、新建、重命名、删除、复制、移动和打开编辑器。
- Monaco 编辑器、Markdown 预览、图片预览。
**启动配置和 Provider**
- Launch Profile 管理 CLI、运行环境、Provider、Skill 和环境变量组合。
- Provider 支持 Anthropic、Bedrock、Vertex、OpenAI 兼容代理、Gemini、Kimi、GLM、OpenCode、Cursor 和本地配置档。
- 启动时可以选择继承 Provider、显式指定 Provider,或不注入 Provider。
- 内置 Claude Code commands、agents、hooks 和 CC-Panes skills,适合编排式任务流。
**Git、本地历史和审查**
- Git 分支状态、fetch、pull、push、stash、clone、worktree 辅助能力。
- 分支感知的本地历史快照、标签和 diff 视图。
- 可对比并恢复本地文件版本。
**桌面工作流**
- 开发版和发布版的数据目录、应用标识、快捷键和窗口标题相互隔离。
- 全局截图快捷键、区域截图、多显示器支持。
- 托盘、通知、语音输入、小窗模式、全屏聚焦、快捷键配置。
- 已发布 Windows、macOS、Linux 安装包。
## 下载
预编译安装包在 [最新版 Release](https://github.com/wuxiran/cc-pane/releases/latest) 页面发布。
- Windows: `*_x64-setup.exe` 或 `*_arm64-setup.exe`
- macOS: `*_aarch64.dmg` 或 `*_x64.dmg`
- Linux: `*_amd64.deb` 或 `*_amd64.AppImage`
## 从源码运行
### 环境要求
- Node.js 22+
- Rust 1.83+
- 平台对应的 [Tauri 2 环境依赖](https://tauri.app/start/prerequisites/)
- 你希望由 CC-Panes 启动的 Claude Code、Codex、Gemini 或其他 CLI
### 安装并启动
```bash
git clone https://github.com/wuxiran/cc-pane.git
cd cc-pane
npm install
npm run tauri:dev
```
开发版使用 `src-tauri/tauri.dev.conf.json`,数据目录为 `~/.cc-panes-dev/`。
## 构建
只构建前端:
```bash
npm run build
```
构建桌面发布包:
```bash
cargo build -p cc-panes-cli-hook --release
node scripts/copy-hook.cjs
npm run tauri build
```
## 检查命令
前端:
```bash
npx tsc --noEmit
npm run test:run
```
Rust:
```bash
cargo fmt --all -- --check
cargo check --workspace
cargo clippy --workspace -- -D warnings
cargo test --workspace
```
## WSL 原生开发
如果在 WSL 中开发 CC-Panes,可以把终端强制到 WSL 原生模式:
```bash
CCPANES_TERMINAL_BACKEND=wsl npm run tauri:dev
```
这会让内置终端直接运行 WSL 的默认 shell,适合在 Linux 工具链里开发和调试。
## 架构
CC-Panes 使用分层桌面架构:
```text
React Component
-> Zustand Store
-> Frontend Service
-> Tauri IPC Command
-> Rust Service
-> Repository
-> SQLite / File System / PTY
```
| 层级 | 技术 | 作用 |
| --- | --- | --- |
| 桌面框架 | Tauri 2 | Rust 后端 + 系统 WebView |
| 前端 | React 19、TypeScript 5.6、Vite 6 | 应用界面 |
| 状态管理 | Zustand 5、Immer | 可预测的状态更新 |
| UI | shadcn/ui、Radix UI、Tailwind CSS 4 | 组件和样式 |
| 终端 | xterm.js、portable-pty | 终端渲染和 PTY 管理 |
| 存储 | SQLite、rusqlite | 本地持久化 |
| 测试 | Vitest、jsdom、Rust test | 前后端验证 |
## 项目结构
```text
cc-pane/
├── web/ # React 前端
│ ├── components/ # UI、Pane、侧边栏、设置
│ ├── stores/ # Zustand 状态
│ ├── services/ # Tauri invoke 封装
│ ├── hooks/ # React Hooks
│ ├── types/ # TypeScript 类型
│ └── i18n/ # 国际化
├── src-tauri/ # Tauri 入口、命令、服务、仓储
├── cc-panes-core/ # 框架无关核心逻辑
├── cc-panes-api/ # HTTP/WebSocket API 适配
├── cc-panes-web/ # Web 终端服务
├── cc-cli-adapters/ # Claude/Codex/Gemini 等 CLI 适配层
├── cc-memory/ # 本地 Memory 系统
├── cc-memory-mcp/ # Memory MCP Server
├── cc-notify/ # 通知模块
├── docs/ # 文档和截图
└── scripts/ # 构建和工具脚本
```
前端使用 `@/` 路径别名,对应 `web/` 目录。
## 开发版和发布版隔离
| | 开发版 | 发布版 |
| --- | --- | --- |
| 命令 | `npm run tauri:dev` | `npm run tauri build` |
| 数据目录 | `~/.cc-panes-dev/` | `~/.cc-panes/` |
| 应用标识 | `com.ccpanes.dev` | `com.ccpanes.app` |
| 窗口标题 | `CC-Panes [DEV]` | `CC-Panes` |
| 截图快捷键 | `Ctrl+Alt+Shift+S` | `Ctrl+Shift+S` |
涉及 Windows 桌面行为时,需要在 Windows 主机验证。WSL 或 Linux 环境可以做代码和预检,但不能证明 WebView2、托盘、全局快捷键、截图、更新器、安装器或 Windows PTY 行为。
## 反馈
- GitHub Issues: