Cindy
An open-source desktop and mobile agent for completing work on your computer and signed-in apps.
- Source repo
- makecindy/cindy
- Stars
- ★ 9.5k
- Last updated
- today
- License
- Apache-2.0
- Primary language
- TypeScript
- FA score
- 80/100 · Good
At a glance
- How it runs
- Works with
- Portable with changesCodex · Claude Code
- Cost
- Free tier plus a paid hosted plan
- Setup effort
- Medium · a few setup steps
- You'll need
- Typical use
- A developer with an existing Claude Code or Codex Coding Plan who wants to use that authorization in one client and switch harnesses during a task.
- Not a fit if
- Teams needing a fully self-hosted backend; this repo is client-only
- Users who need a fully offline setup without vendor cloud services
- Teams unwilling to use a Cindy cloud account or official default endpoints
- Source review
- 80/100 · Good
What does this agent do, and when should you use it?
Cindy is an open-source AI agent client delivered as an Electron desktop app, an Expo/React Native mobile app, and shared packages in a pnpm monorepo. It runs on the user’s own machine and is described as working with real files and logged-in applications. Its first documented harnesses are Claude Code and Codex, with task-time switching across harnesses and models while workspace, memory, skills, and tools remain continuous. The repository also describes browser, computer, and phone control, plus work intake from IM and schedules; the backend service is explicitly outside this repository. Users can sign in to the official Cindy service or choose Skip Sign-In for local agents, with server-backed capabilities unavailable in that state.
The Cindy client brings Claude Code, Codex, models, and tools into one task environment for work involving local files and signed-in apps. A task can be planned, executed in parallel, and reviewed by agents using different harness × model combinations while its workspace, memory, skills, and tools continue across those stages. apps/desktop contains the desktop client, apps/mobile contains the mobile client, and packages/* holds shared capabilities including auth, device-link, agent orchestration, and model providers. It also documents MCP connections to internal tools and business systems, along with Automation for scheduling recurring work and reporting back.
- A developer with an existing Claude Code or Codex Coding Plan who wants to use that authorization in one client and switch harnesses during a task.
- An individual or team member who needs an agent to work with project files and applications already signed in on their computer.
- An organization connecting internal business systems and tools to task workflows through MCP.
- An operations user scheduling recurring work to run automatically and return a report.
- A user who needs both Cindy’s desktop client and its mobile client.
How do you install or deploy this agent?
Install Node.js 22.x, pnpm 10.x, and Git LFS, then run:
git clone https://github.com/makecindy/cindy.git
cd cindy
git submodule update --init --recursive cindy-protocol
git lfs pull
pnpm installThe repository states that a public checkout needs the cindy-protocol submodule. Remote development against the official service requires your own Cindy cloud account and existing login state.
How do you use this agent?
For a Mainland China Cindy account, run: pnpm restart:desktop:remote --region=cn. For a global account, run: pnpm restart:desktop:remote --region=global. After signing in, you can continue existing sessions; alternatively choose “Skip Sign-In” on the login screen to run local agents. That state is shown as “Not signed in” and does not include server-backed capabilities. The supplied documentation does not provide a public HTTP API, SDK invocation example, or local server startup command.
What are this agent's strengths and limitations?
- It documents Claude Code and Codex as first-class harnesses in one task environment, including switching harnesses and models mid-task.
- Electron desktop and Expo/React Native mobile clients share capabilities such as auth, device-link, agent orchestration, and model providers.
- It supports several documented model-access routes: the official service, existing Claude Code/Codex Coding Plan authorization, user API keys, and local models.
- It explicitly offers a local-agent Skip Sign-In path and MCP connectivity for internal tools and business systems.
- This repository is client-only; the backend service is in a separate repository, so it does not document a complete self-hosted server deployment.
- Skip Sign-In disables server-backed capabilities, reducing the available feature set.
- Building from source requires Node.js 22.x, pnpm 10.x, Git LFS, and the cindy-protocol submodule; pnpm v11 is not yet supported.
- Default endpoints target official Cindy cloud services and the official CDN, while remote development requires a Cindy cloud account and existing login state.
- The open plugin marketplace and team sharing for skills are still described as in the making.
How does this agent compare with similar options?
Compared with using Claude Code or Codex separately, Cindy documents them as harnesses that can switch within one task while preserving the workspace, memory, skills, and tools. Whether it uses the official service, user API keys, or local models depends on the selected setup.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Cindy This agent | 80 · Good | Desktop appFreemium | ★ 9.5k | today | TypeScript | Codex · Claude Code |
| MyAgents | 57 · Major gaps | Desktop appFree + model costs | ★ 592 | 1d ago | TypeScript | Codex · Claude Code · Claude API |
| HermesOffice | 75 · Good | Desktop appFree + model costs | ★ 625 | today | TypeScript | OpenAI API · Claude API |
| Memmy — Personal AI Agent & Local Memory Hub | 71 · Some gaps | Desktop appFreemium | ★ 2.2k | 2d ago | TypeScript | Codex · Claude Code · OpenAI API |
How does FollowAgents rate this agent?
Why each dimension lost points
The packet describes least-privilege boundaries, per-call authorization, IPC and plugin-instance controls, and data flows for sign-in, analytics, logs, and media. It discloses account-linked TapDB events and a Mobile consent-migration exception, and says remote capabilities require separate enablement. Scores are reduced because the packet contains extensive rules and indexes rather than all runtime implementations, while dependency evidence is mostly version overrides and build configuration and cannot establish every permission path or dependency risk.
Endpoint loading has timeout, cache, and fail-closed behavior; permission routing and cross-client behavior point to implementation entry points and regression coverage, and CI lists static checks, typechecks, and test shards. Scores are reduced because this is a static review and cannot establish runtime outcomes; the backend is also explicitly outside this repository.
The product targets desktop, mobile, and multi-agent workflows, documents local sign-in-free and hosted modes, supported platforms, and Skills and plugin extensions. Skill descriptions provide specific triggers and exclusions. Scores are reduced because use remains constrained by supported harnesses, endpoints, accounts, and platform permissions.
The README, rule indexes, development entry points, and prerequisites are substantial, with a Linux guide, contribution flow, Apache-2.0 license, privacy exceptions, and the backend boundary documented. Scores are reduced because the packet does not include a complete release history or maintainer response record; historical Ghost identifiers coexist with product terminology, and examples and FAQs are not comprehensive.
The client combines work across files, apps, browsers, devices, automation, and multi-agent collaboration, giving it clear workflow value. The README also explains that switching harnesses does not make their internal states identical. Scores are reduced because value claims are largely product descriptions and multi-device, hosted, and model usage carry account, authorization, and service-billing costs.
Many behavioral claims point to implementation files, protocol sources, and specific regression entry points, and endpoint and analytics sections distinguish rules, implementation, and exceptions. Scores are reduced because some details are asserted only in normative documents; the packet omits corresponding implementation and test bodies, and the CI workflow configuration does not prove this revision passed.
- Usage statistics are enabled by default in official builds and may be associated with an account ID; the packet discloses a consent-migration exception for Mobile enterprise SSO restoration. Review the Usage statistics setting; Mobile requires a full quit and relaunch after disabling.
- Remote desktop, provider sharing, and cloud companions extend access to other devices or services. Review their individual permissions before enabling them. Model-provider and Cindy service billing still applies.
- The backend is not included in this repository, and this static review did not run the client, tests, or security checks.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
Desktop release 0.1.128 更新说明 🔌 重复 MCP 连接会提醒 当 Cindy 与 Claude Code 的配置里有相同或相近的 MCP 连接时,会提示你选择保留哪个来源,并记住这台电脑上的选择;同名服务的识别和设置兼容也更准确。 @DavidShenXD 🖥️ macOS Dock 图标已恢复 修复 0.1.127 打包版在 macOS 上 Dock 图标空白的问题,打包版重新显示正常图标。 @GaoWeiLiuXD ⏰ 自动化运行更可靠 自动化的截止时间处理更稳:到期后会正确停止或顺延,尚未执行的一次性自动化会按时恢复;配置页的触发方式文案和页签名称也已统一。 @DavidShenXD 🌐 「我的浏览器」不再占用你的页签 「我的浏览器」默认在 Cindy 自己的窗口新开页签,不再读取、点击或跳转你已打开的页面;需要时会沿用同一网站的地址,登录状态仍然共用。 @dashhuang 📱 手机端 PR 状态不再丢失 手机首页的任务行和伙伴近况里,PR 关联与状态会保存下来,应用重启后立即显示并在后台刷新;首次查询失败或赶上刷新时也不会再被清空。 @dashhuang 📡 远程任务选模型更顺 …View on GitHub ↗ -
Release notes excerpt
Desktop release 0.1.126 更新说明 🖥️ 「迁移助理」把旧电脑搬到新电脑 新电脑可从同账号另一台电脑一次性迁移插件与技能、常用设置、供应商和 SSH 主机;需在本机完成的登录与权限会整理成清单逐项引导。密钥要旧电脑当场允许后加密传输,登录与私钥不会复制。 🔁 从开工到合并,/pr 一路跟进 GitHub 插件新增 /pr 技能:自动开工作区、推送前检查并跟到合并,只在有新失败、新留言或可合并时提醒,也能用指定电脑和模型定时跟进。PR 卡片像标题栏一样显示检查、评审和合并状态,手机同样可用。 @dashhuang 🧩 插件卡片更丰富,插件也能照看伙伴 插件卡片新增模型下拉、应用图标、整列宽度与实时状态位,手机上的卡片与电脑端一致;GitHub 链接可直接打开。经授权的插件还能查看主人伙伴的状态、代为回答伙伴等待的问题,并读取最近的对话;插件生成的任务标题也只用用户原话。 @GaoWeiLiuXD @dashhuang @xd-bobo 💬 伙伴群聊更清楚、更稳 群聊会说明当前不可用的工具和附件,能力提示不再重复打扰;结算被拒时已生成的回复不会丢失。委派卡片状态统一,已读名单会显示领取执行的伙伴,轮流发言可逐项跳过,引用跳转也不再带动输入框。 🖼️ 壁纸下的界面更通透了 …View on GitHub ↗ -
Release notes excerpt
Desktop release 0.1.125 更新说明 📱 手机上看清并操作设备画面 手机远程桌面现在能查看并操作插件提供的设备画面(如模拟器):悬浮玻璃按钮汇集设备按键、方向、缩放和独立设置,可跟随手机转动或手动旋转;方向、触摸和掉线状态也已修正。 @dashhuang 🧩 插件能力与授权 账号头像对所有插件开放,头像下载走更安全的通道;插件能力改为按声明与用户授权统一使用,本地开发和 Forge 安装也更顺畅;插件调用会归属当前任务,卡片在对应任务里打开。 @GaoWeiLiuXD @dashhuang 💬 伙伴群聊更好用 伙伴群消息新增已读双勾和已读名单;折叠屏与宽屏下群聊保留左侧任务列表;群邀请链接改用分享服务,侧栏头像恢复,跳到底部和离底状态也更稳定。 @GaoWeiLiuXD @nanaco666 @zhaodengfeng @zqchris 💻 伙伴与远程 Agent 更稳 远程 Agent 现在使用任务所在电脑的 Cindy 技能;远程电脑掉线时会自动切到伙伴的下一个候选模型,而不是直接报错;伙伴的成果文件也与回复内容对齐了。 @dashhuang 🔌 模型与供应商 …View on GitHub ↗
FAQ
Do I need a Cindy account?
Can I keep using an existing Claude Code or Codex Coding Plan?
Can I self-host the complete Cindy service from this repository?
What telemetry do official distribution builds collect?
Thanks — we use this to improve the page.