模型 / 数据集
makecindy/cindy avatar
makecindy/cindy

Cindy:一个把 Claude Code 和 Codex 装进同一客户端的开源 AI Agent

认为它完成了。开箱即用的开源 AI 代理 AI Agent 。

2,686 个 Star391 个 ForkTypeScriptApache-2.0

秒懂

它是什么?
Cindy 是一个开源的 AI Agent 客户端,它让你在本机同时使用 Claude Code 和 Codex 两种 harness,并自由切换模型。本文基于仓库文档分析它的架构、运行方式与适用边界。
适合谁用?
Cindy 适合已经为 Claude Code 或 Codex 付费、希望在一个界面里统一管理多个 agent 工作流的开发者,也适合愿意用 TypeScript 和 pnpm 参与客户端改造的团队。不适合需要完全本地化、无任何云端依赖的用户,因为官方构建默认连接 Cindy 云服务,跳过登录后服务器端能力全部不可用。
能商用吗?
可以。Apache-2.0 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库最近一次提交在 1 天前。
用什么语言写的?
主要是 TypeScript(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月14日)和我们的分析,不构成法律意见。

开源项目深度解析

它解决的是多 agent 碎片化问题

很多开发者同时使用 Claude Code 和 Codex,两个工具各有各的会话、记忆和配置。Cindy 的定位是把这些 harness 和模型收进同一个客户端,让工作区、记忆、技能和工具在切换时保持连续。README 里明确说,一个任务可以由不同 harness 和模型组合的 agent 并行规划、执行和审查。这解决的不是单个 agent 的能力问题,而是多个 agent 之间的协作与状态一致性问题。目标用户是已经为 Coding Plan 付费、不想重复买单的开发者,以及愿意在本机运行 agent 但不想被单一厂商绑定的团队。

客户端与服务端的边界在哪里

这个仓库只是客户端,包含 Electron 桌面应用、Expo/React Native 移动应用和共享 packages。后端服务在另一个仓库,不在此 monorepo 内。客户端默认连接 Cindy 官方云服务,端点清单在 config/endpoint.json 和 config/endpoint.global.json 中。这意味着外部开发者不需要自建服务器,用 Cindy 账号登录开发构建即可直接对接官方服务。但这也带来一个隐含约束:如果你希望完全控制服务端逻辑,这个仓库帮不了你。README 特别提醒,跳过登录后应用显示为「Not signed in」,服务器端能力全部不可用。

两种运行模式,两种取舍

Cindy 提供 Hosted service 和 Skip Sign-In 两种模式。前者需要 Cindy 云账号,使用完整托管服务;后者不需要 Cindy 登录,但只能跑本地 agent,且没有服务器端能力。README 明确说 Skip Sign-In 不是连接本地服务器,而是本地 agent 模式。这个区分很重要:很多用户会误以为跳过登录等于本地部署,实际上它只是绕过了账号验证。如果你需要跨设备同步、调度或任何云端功能,就必须登录。这种设计降低了入门门槛,但也把功能完整性和云服务绑在了一起。

安装与开发入口的真实命令

仓库要求 Node.js 22.x、pnpm 10.x(v11 不支持)和 Git LFS。最小入口是 git clone、git lfs pull、pnpm install。开发时用 pnpm restart:desktop:remote --region=cn 或 --region=global 启动远程开发,前者用于中国大陆账号,后者用于其他地区。README 强调不要依赖内部默认值。注意,工具二进制如 claude-code、codex 和 ripgrep 不会被提交,而是在 pnpm install 时按平台下载。Android platform-tools 则在 Windows 打包前以固定版本和 sha256 校验获取。这些细节说明安装过程有网络依赖,离线环境会卡住。

架构文档透露的编排野心

仓库里有 docs/dev-rules/ 目录,专门存放深度架构文档,例如 Orca 多 agent 编排。DESIGN.md 定义视觉设计系统,docs/auth-realm-routing.md 处理组织 SSO 区域发现和会话端点路由。这些文件表明 Cindy 不是简单的客户端壳,而是有明确的模块边界和运行时契约。AGENTS.md 是工程规则和模块边界文档。对于一个开源项目,这种文档密度意味着维护者把架构决策写成了规范,而不是事后补说明。但文档也存在明显缺口:没有看到任何关于本地模型运行细节或离线模式的说明,实际能力需要从代码里挖。

一个真实的限制:官方遥测与默认云端

官方发行版内置 TapDB 使用分析,收集设备、操作系统、应用版本等聚合统计,登录后与账号 ID 关联。README 说它不收集某些内容(原文被截断),但至少遥测是存在的。对隐私敏感的用户,这是需要权衡的点。另一个限制是默认服务器指向官方云,即使开发构建也如此。如果你希望完全离线或自托管服务端,这个项目目前不提供路径。此外,远程开发命令区分 cn 和 global 区域,这暗示服务端有区域隔离,但具体数据存储位置没有在 README 中说明。

与直接使用 Claude Code 或 Codex 的差异

直接的替代方案就是分别使用 Claude Code 和 Codex 原生命令行工具。区别在于,Cindy 提供了一个统一的客户端界面和跨 harness 的连续记忆、技能共享。原生命令行工具各自维护自己的会话和配置,切换时状态会断。Cindy 的卖点是把这些状态收拢到一个工作区里。但代价是引入了一个中间层:你依赖 Cindy 的客户端代码、它的下载机制和它的云服务(除非跳过登录)。如果你只用一个工具且不需要并行编排,原生命令行更轻量,没有额外依赖。

维护与升级成本

项目最近发布频繁,v0.1.67-beta、v0.1.66、v0.1.64 分别在三天内推出,说明迭代速度很快。这对用户意味着升级节奏快,但也要留意 beta 版本的不稳定性。许可证是 Apache-2.0,允许修改和再分发,但贡献需要 DCO 签名,不需要 CLA。这意味着如果你想 fork 或贡献,流程相对宽松。但注意,后端服务不在这个仓库里,所以即使你改了客户端,核心服务逻辑仍受官方控制。升级成本包括跟踪 pnpm 版本要求(v11 不支持)和 Node 版本限制,这些约束在每次升级时都要重新验证。

编辑结论

Cindy 适合已经为 Claude Code 或 Codex 付费、希望在一个界面里统一管理多个 agent 工作流的开发者,也适合愿意用 TypeScript 和 pnpm 参与客户端改造的团队。不适合需要完全本地化、无任何云端依赖的用户,因为官方构建默认连接 Cindy 云服务,跳过登录后服务器端能力全部不可用。采用前应先确认三件事:你的 Node.js 版本是 22.x 且 pnpm 是 10.x;你接受默认端点指向官方服务的事实;你愿意在贡献时使用 DCO 签名提交。若这些条件不满足,Cindy 的「开箱即用」对你就是一句空话。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社区笔记

社区笔记