跨平台 AI 编程 Agent 管理器
一键检查、安装和维护 Codex、Claude Code、OpenCode、WorkBuddy 等工具,统一管理供应商、MCP、Skills、提示词和会话。
cc2cx 是一个基于 Tauri 2 的桌面应用,目标是在 Windows 和 macOS 上降低 AI 编程工具的安装、配置和切换成本。
首次启动时,应用会自动扫描本机环境并进入 Agent 安装页面。用户可以看到每个工具的安装状态、版本、依赖和可执行性,再按需单独安装或批量安装。
| Agent | 类型 | 平台 | 说明 |
|---|---|---|---|
| Codex UI | 桌面应用 | Windows、macOS | Windows 使用 Microsoft Store 包;macOS 使用官方 ChatGPT/Codex 安装包 |
| Codex CLI | 命令行 Agent | Windows、macOS、Linux | 通过 npm 安装,自动检查 Node.js 和 npm |
| Claude Code | 命令行 Agent | Windows、macOS、Linux | 通过 npm 安装;Windows 额外检查 Git Bash 或 WSL |
| OpenCode | 命令行 Agent | Windows、macOS、Linux | 通过 npm 安装;Windows 将 WSL 标记为推荐环境 |
| WorkBuddy | 桌面 Agent | Windows、macOS | 从腾讯官方更新接口获取安装包并校验 |
应用还可以检测和管理 Gemini CLI、Grok Build、OpenClaw、Hermes、Pi 等工具。Claude Desktop 支持状态识别,但安装仍需使用 Anthropic 官方安装器。
- 首次启动自动扫描 Agent,并在发现缺失项时打开安装引导页面。
- 自动准备 Node.js:Codex CLI、Claude Code、OpenCode 缺少 Node.js 18+ 或 npm 时,会先安装 Node.js,再继续安装 Agent。
- 安装过程显示阶段、实时输出和进度,安装结束后自动重新检测。
- npm 安装失败时按顺序回退到 npm 官方源、npmmirror 和华为云 npm 仓库。
- Node.js 便携版下载使用华为云镜像,并校验
SHASUMS256.txt,不会覆盖系统 Node.js。 - WorkBuddy 使用腾讯官方更新接口;Windows 下载包缺少 SHA-256 时,改用 Authenticode 签名校验,发行方必须为 Tencent。
- 管理多套供应商配置、API 地址、模型目录和客户端应用切换。
- 管理 MCP 服务器、Skills、Prompt 和模板,并同步到受支持的 Agent。
- 提供本地路由、故障转移、会话浏览、用量统计、价格配置和系统日志。
- 支持在会话管理中将本地 Agent 会话转换并写回其他工具的原生会话存储。
- 在“设置 → 代理 → 全局代理”中,可将 HTTP 或 SOCKS5 代理安全同步到 Codex 的
.env。 - 支持配置目录覆写、SQLite 数据备份、恢复、导入和导出。
- 支持托盘驻留和应用自动更新。
在会话管理中选中源会话后,可以选择目标工具和工作目录,直接将会话转换为目标工具的原生格式并写回目标存储;目标工具支持结构化恢复时,可继续从界面打开目标会话。整个流程不要求手抄 Session ID,也不以命令行复制摘要作为主路径。
当前基于 CASR 接入 17 个 provider:Claude Code、Codex、Gemini CLI、Antigravity、Cursor、Cline、Aider、Amp、OpenCode、ChatGPT、ClawdBot、Vibe、Factory、OpenClaw、Pi-Agent、Kiro CLI 和 Grok Build。
能力边界需要注意:
- 15 个 provider 通常支持写回目标;转换会经过 canonical IR、目标原生写入和读回校验。
- OpenCode 为条件写入,受本地数据库 schema 版本限制;不兼容的 1.x/2.x 布局会在写入前拒绝。
- Antigravity 为只读目标,不能写入。
- 跨工具转换可能丢失隐藏推理、工具细节、模型元数据或目标格式不支持的附件,界面会标记“有损转换”。
- 默认不会覆盖已有目标会话;发生冲突时,用户可以显式选择“覆盖并重试”,已有目标会保留备份。
- 目标 CLI 未安装、无法自动启动或没有结构化 resume 命令时,写回结果仍会保留,并显示手动恢复提示。
详细 provider 能力、限制和验证范围见 会话写回支持矩阵。
- 安装并启动
cc2cx。 - 在自动打开的 Agent 页面查看本机环境和缺失项。
- 选择单个 Agent 安装,或点击批量安装;Node.js 会在需要时自动准备。
- 安装完成后重新扫描,确认工具状态为可用。
- 在供应商页面添加 API 地址、密钥和模型配置。
- 在 MCP、Skills、Prompt 页面按需同步配置。
- 在会话管理中选中会话,使用“转换并写回”选择目标工具和工作目录;确认写回成功后,可直接打开目标会话。
- 如修改了命令行工具的配置,重新打开对应终端或 Agent。
正式安装包会发布在 GitHub Releases。请根据系统和架构选择对应产物:
| 系统 | 推荐产物 | 安装方式 |
|---|---|---|
| Windows | .msi 或 .exe |
双击运行安装器 |
| macOS | .dmg 或 .zip |
DMG 拖入“应用程序”;ZIP 双击解压后运行 |
| Linux | .AppImage、.deb 或 .rpm |
按发行版方式安装或直接运行 AppImage |
正式发布包应经过平台签名。未签名构建适合本地测试和内部使用,Windows 可能显示 SmartScreen 提示,macOS 可能需要在“系统设置 → 隐私与安全性”中允许打开。
macOS 架构选择:Apple Silicon(M1/M2/M3/M4)下载 aarch64,Intel Mac 下载 x64。ZIP 只改变解压方式,不替代签名和公证。
默认应用数据目录为:
~/.cc-launch/
主要数据库文件为:
~/.cc-launch/cc-launch.db
可以在应用设置中修改配置目录。应用不会自动迁移旧版 cc-switch 数据;如需迁移,请先备份原数据,再通过导入功能人工确认。
- Node.js 20 或更高版本
- Corepack 与 pnpm 10.12.3
- Rust 1.88 或更高版本
- Windows 需要 Visual Studio C++ 工具链
- macOS 需要 Xcode Command Line Tools
- 各平台对应的 Tauri 前置依赖
Rust 工具链由 rust-toolchain.toml 固定。Tauri 前端和 Rust 依赖已锁定到经过验证的版本组合,安装时请使用锁文件。
corepack enable
corepack pnpm@10.12.3 install --frozen-lockfile
corepack pnpm@10.12.3 dev开发模式会启动 Vite 和 Tauri 桌面窗口,开发覆盖配置中的前端地址为 http://127.0.0.1:3000/。该地址仅用于开发,不会进入默认运行时配置。
不要把 src-tauri/target/debug/cc-launch.exe 当作安装包分发。它是调试启动器,可能依赖本机 Vite 服务;在另一台电脑上运行会出现“无法显示页面”。跨机器安装请使用 src-tauri/target/release/bundle/msi/ 下的 MSI。构建脚本会拒绝没有内嵌前端资源的可执行文件。
# 类型检查
corepack pnpm@10.12.3 typecheck
# 前端单元测试
corepack pnpm@10.12.3 test:unit
# 格式检查
corepack pnpm@10.12.3 format:check
# Rust 检查和测试
cargo check --manifest-path src-tauri/Cargo.toml
cargo test --manifest-path src-tauri/Cargo.toml请在目标操作系统上构建对应平台的原生安装包。Windows、macOS 和 Linux 的桌面运行时、签名工具和系统依赖不同,不能依赖另一种操作系统完成可靠的跨平台桌面打包。
本地测试可构建未签名 NSIS 安装包:
$env:CI = "true"
corepack pnpm@10.12.3 tauri build --bundles nsis --no-sign构建未签名 MSI:
corepack pnpm@10.12.3 tauri build --bundles msi --config src-tauri/tauri.unsigned.conf.json也可以双击项目根目录的 build-pack.cmd。
corepack pnpm@10.12.3 tauri build --target universal-apple-darwin正式分发前需要配置 Apple Developer ID 签名和公证。详细的系统依赖、架构、签名和产物说明见 产物构建.md。
项目配置了 Tauri Updater。正式生成更新产物时,需要在本机或 CI 中提供私钥环境变量:
TAURI_SIGNING_PRIVATE_KEY
TAURI_SIGNING_PRIVATE_KEY_PASSWORD
私钥不得提交到 Git 仓库。仅用于本地测试时,可以使用 --no-sign 跳过更新签名;这不适合作为正式发布方式。
src/ React + TypeScript 前端
src-tauri/ Tauri + Rust 后端、原生打包配置和测试
integrations/cc-boot/ Agent 安装和命令行集成
assets/screenshots/ README 和文档截图
flatpak/ Linux Flatpak 打包文件
docs/ 设计说明、用户手册和构建文档
- 贡献说明:CONTRIBUTING.md
- 安全问题报告:SECURITY.md
- 使用支持:SUPPORT.md
- 问题与建议:GitHub Issues
请不要在 Issue、日志或截图中公开 API Key、OAuth Token、Updater 私钥或其他敏感配置。