项目简介
ccMesh 是基于 Tauri 2 + Rust + React 19 的桌面端 AI 代理网关:在本机统一接入 Claude / OpenAI / Codex 等多类上游,提供协议转换、模型映射、端点轮换与熔断、请求统计与配置管理等能力。支持 Windows、macOS、Linux。
它解决什么问题
当你在使用 Claude Code、Codex CLI 等 AI 编程工具时,常常会遇到:
- 多个上游渠道:手里有若干个不同供应商的 API Key / 中转站,需要在它们之间切换、轮换。
- 协议不统一:客户端只会说一种协议(如 Anthropic Messages),但上游可能是 OpenAI Chat Completions 或 Codex Responses 格式。
- 模型名不一致:客户端请求
claude-sonnet-4,而上游真实模型名是另一个标识。 - 稳定性:某个上游临时故障,希望自动切换到下一个,而不是请求直接失败。
- 配置繁琐:Claude Code 的
settings.json、Codex 的auth.json+config.toml需要手工编辑、来回切换。
ccMesh 把这些能力收敛到一个本地桌面应用里:你只需把 AI 工具指向 ccMesh 在本机开放的端口,剩下的接入、转换、路由、统计交给它。
整体工作方式
┌─────────────┐ 本地请求 ┌────────────────────────┐ 转换 + 路由 ┌──────────────┐
│ Claude Code │ ───────────────▶ │ ccMesh │ ───────────────────▶ │ 上游 A / B / C │
│ Codex CLI │ http://127.0.0.1 │ 协议转换 · 模型映射 │ 轮换 · 熔断 · 统计 │ (Claude/OpenAI)│
│ 其它客户端 │ ◀─────────────── │ 本地代理服务 │ ◀─────────────────── │ │
└─────────────┘ 流式响应 └────────────────────────┘ └──────────────┘- 客户端把请求发到 ccMesh 的本地代理端口。
- ccMesh 根据请求的模型名与端点配置,选择一个可用上游端点。
- 按端点的转换器类型把请求改写为上游协议,并应用模型映射。
- 转发到上游、流式回传响应,同时记录用量与日志。
- 若上游失败,按轮换策略切换到下一个端点,故障端点进入熔断。
功能总览
| 模块 | 能力 |
|---|---|
| 仪表盘 | 代理服务启停、端口状态、今日 Token 概览、实时请求监控 |
| 端点管理 | 多端点 CRUD、拖拽排序、模型映射、连通性测试、按模型轮换/熔断 |
| 配置文件 | 渠道化管理 Claude Code / Codex 配置,端点写入 / 自定义写入双模式 |
| 统计 | 按应用 / 端点 / 模型维度查看历史用量 |
| 同步 | 配置与数据本地备份、恢复、导出,WebDAV 远程同步 |
| 设置 | 全局出站代理、CLI User-Agent、应用内自动更新 |
技术栈
- 后端:Tauri 2、Rust、axum(本地 HTTP 服务)、reqwest(rustls TLS)、SQLite。
- 前端:React 19、TypeScript、Vite、TanStack Query、Zustand、Tailwind CSS v4、shadcn/ui、CodeMirror 6。
