cindy is a free, open source ai interaction & interfaces project written in TypeScript and released under Apache-2.0. It has 2,749 GitHub stars, 399 forks and 1,390 open issues, and was last pushed 4 hours ago. On this registry it ranks #59 of 76 tracked projects in AI Interaction & Interfaces, with 5 head-to-head comparisons available.

What is cindy?

Cindy is an open-source AI agent that works out of the box: a TypeScript desktop and mobile client that runs locally on your own machine, uses your real files and logged-in apps, and folds multiple agent harnesses, models and tools into one agent aimed at people who want finished work rather than another chat window.

What it is

Cindy is distributed as an open-source client under the Apache-2.0 licence. The repository is a pnpm monorepo containing the apps/desktop Electron desktop client, the apps/mobile Expo / React Native mobile client, and shared client capabilities under packages/* covering auth, device-link, agent orchestration and model providers. The agent runs locally on your own machine rather than in a remote sandbox, and it reaches your real files and the apps you are already logged into. The first supported harnesses are Claude Code and Codex, with more being added and a native harness in the works. The backend service lives in a separate repository and is not part of this monorepo, so this project is the client rather than the full hosted platform.

The concrete problem it solves is harness and model sprawl. Running Claude Code and Codex as separate tools means separate sessions, separate context and separate memory, so work has to be re-explained whenever the tool changes. In Cindy, models and harnesses mix freely and can switch mid-task while workspace, memory, skills and tools stay continuous, and a single task can be planned, executed in parallel, and reviewed by agents running on different harness and model combinations. Instead of choosing one agent CLI and living inside its limits, the user keeps one agent that absorbs several.

Key capabilities

  • Multiple harnesses inside one agent, starting with Claude Code and Codex, with models and harnesses switching mid-task while workspace, memory, skills and tools stay continuous.
  • Mixed-agent execution, where one task is planned, executed in parallel, and reviewed by agents on different harness × model combinations.
  • Control beyond the app itself: the agent can drive the browser, the computer and the phone, and can take work from IM and schedules.
  • Memory that is correctable once and shared across harnesses, so a correction carries forward.
  • Skills, MCP and plugins for extension: teach a way of working once and reuse it, wire internal tools and business systems in through MCP, and reshape features, UI and interactions through plugins installed via SkillHub or manually.
  • Automation, where recurring work schedules itself, runs itself and reports back.
  • Bring-your-own model access: sign in to the official Cindy service with usage deducted transparently, authorize the Claude Code or Codex Coding Plan you already pay for and keep using it inside Cindy with no duplicate bill, connect your own API keys, or use local models.

Who uses it and how

  • Developers already paying for a Claude Code or Codex Coding Plan authorize that plan inside Cindy and keep using it, avoiding a second subscription for the same capability.
  • Desktop users on macOS, Windows and Linux, plus mobile users on iOS and Android; Linux users follow docs/linux.md for Ubuntu, Arch Linux and Omarchy installation, updates, keyring setup and migration from a manual install.
  • Privacy- or policy-constrained users pick “Skip Sign-In” on the login screen to run local agents without a Cindy account, after which the app shows the account state as “Not signed in” and server-backed capabilities are unavailable.
  • Contributors building the client work inside the pnpm monorepo across apps/desktop, apps/mobile and packages/*, with setup maintained in CONTRIBUTING.en.md.

Getting started

Clone https://github.com/makecindy/cindy.git, run git lfs pull, then pnpm install, with Node.js 22.x, pnpm 10.x (v11 is not yet supported) and Git LFS as prerequisites. Prebuilt downloads, pricing and service details are at cindy.app, and remote development runs through pnpm restart:desktop:remote --region=cn or --region=global using your own Cindy cloud account.

How it compares

Cindy does not replace Claude Code or Codex; it hosts them as harnesses alongside each other and alongside models you supply, so the comparison is with running those tools separately rather than with buying a different agent. The client itself is free and Apache-2.0, while the hosted service is the paid path, and using your existing Coding Plan or your own API keys avoids a duplicate bill.

When to use it — and when not to

A self-hoster who builds the client from source must operate the Node.js 22.x, pnpm 10.x and Git LFS toolchain, and the backend service is not in this repository, so full server-backed behaviour depends on a Cindy cloud account rather than on the code here. It is a poor fit for anyone who wants server-backed capabilities while remaining signed out, and for anyone who needs the plugin marketplace, team skill sharing or the native harness today, since those are stated as in the making. The repository also carries a high open-issue count at 1390, which is worth weighing before adopting it as core infrastructure.

project readme (upstream, from github) — read inline

English · 简体中文

License CI Node.js 22.x pnpm

🌐 cindy.app  ·  ⬇️ Download

Cindy is an open-source AI agent that works out of the box. She brings multiple harnesses, models and tools into one agent that finishes real work in your projects and apps. Ready from day one, yours to shape over time.

Cindy runs locally on your own machine, using your real files and logged-in apps. The first supported harnesses are Claude Code and Codex — more are being added, and a native harness is in the works. Models and harnesses mix freely and can switch mid-task while your workspace, memory, skills and tools stay continuous; one task can even be planned, executed in parallel, and reviewed by agents on different harness × model combos. She can drive your browser, computer and phone, and take work from IM and schedules.

This repository is the open-source client for Cindy — the desktop and mobile apps plus their shared packages, organized as a pnpm monorepo.

The client is free to use, and its source code is open under Apache-2.0. Bring models your way: sign in to the official Cindy service (usage deducted transparently), authorize the Claude Code / Codex Coding Plan you already pay for and keep using it inside Cindy — no duplicate bill — connect your own API keys, or use local models. See cindy.app for service details, pricing, and downloads.

Linux users: see the Ubuntu, Arch Linux and Omarchy installation guide for installation, updates, keyring setup and migration from a manual install.

Yours to shape

Open source means more than visible — it means changeable:

  • Memory — correct her once and she does it right from then on, shared across harnesses.
  • Skills — teach a way of working once and reuse it everywhere; handing them to your team is in the making.
  • Automation — recurring work schedules itself, runs itself, reports back.
  • MCP — wire your internal tools and business systems into her reach.
  • Plugins — reshape features, UI and interactions, shared through an open marketplace (in the making).
  • Source — audit, fork, extend, and contribute improvements back under Apache-2.0.

Ready out of the box, never boxed in — start with CONTRIBUTING.en.md and build Cindy with us.

What's in this repo

Path Description
apps/desktop Electron desktop client
apps/mobile Expo / React Native mobile client
packages/* Shared client capabilities (auth, device-link, agent orchestration, model providers, …)
apps/*-bin Tool binaries shipped with the desktop app; none are committed — claude-code, codex, and ripgrep are downloaded per platform by pnpm install, and the Android platform-tools binaries are fetched (pinned version, sha256-verified) before Windows packaging

Not in this repo: the backend service lives in a separate repository and is not part of this monorepo.

Mode Account requirement Availability
Hosted service Cindy cloud account Use Cindy's full hosted service. See pricing.
Skip Sign-In No Cindy sign-in required Choose “Skip Sign-In” on the login screen to use local agents; the app then shows the account state as “Not signed in”. Server-backed capabilities are unavailable in this state.

Prerequisites

  • Node.js 22.x
  • pnpm 10.x (v11 is not yet supported)
  • Git LFS

Getting started

Contributor setup, Git LFS, dependency updates, and access requirements are maintained in CONTRIBUTING.en.md. Plugins are installed through SkillHub or manually.

Minimal entry point:

git clone https://github.com/makecindy/cindy.git
cd cindy
git lfs pull
pnpm install

Development entry points

# Mainland China Cindy account
pnpm restart:desktop:remote --region=cn

# Global Cindy account
pnpm restart:desktop:remote --region=global

Remote development uses your own Cindy cloud account and existing login state, so you can continue existing sessions and work while developing the client. Use cn for Mainland China accounts and global for everyone else; do not rely on the internal default. Full desktop, mobile, data-isolation, and validation workflows are in CONTRIBUTING.en.md.

“Skip Sign-In” on the login screen runs local agents without a Cindy account (shown in the app as “Not signed in”), not a connection to a local server. Server-backed capabilities are unavailable in this state.

About the default servers: the client connects to Cindy's official cloud services by default (endpoint manifests in config/endpoint.json and config/endpoint.global.json; desktop auto-updates also come from the official CDN). This is intentional — external developers don't need to self-host a server: sign in with your own Cindy account in a dev build and develop / test directly against the official servers.

Skill Hub migration uses two separate manifest fields: released clients keep using skillhubApiBaseUrl (the deprecated XD proxy), while current clients use cindySkillHubApiBaseUrl. The current client deliberately does not fall back to the legacy field when the new endpoint is absent.

Architecture

  • DESIGN.md — visual design system, color tokens, and UI conventions
  • docs/README.md — complete documentation and rules index
  • docs/auth-realm-routing.md — organization SSO region discovery and session endpoint routing
  • CONTRIBUTING.en.md — contributor setup, validation, and submission workflow
  • AGENTS.md — engineering rules, launch/runtime contracts, and module boundaries
  • docs/dev-rules/ — deep-dive architecture docs (e.g. Orca multi-agent orchestration)

Contributing

Contributions go through pull requests into main. Read CONTRIBUTING.en.md first, then use .github/PULL_REQUEST_TEMPLATE.md. Every commit needs a Developer Certificate of Origin sign-off (git commit -s); a DCO check on each pull request enforces it, and no CLA is required. Please also follow CODE_OF_CONDUCT.en.md. For ordinary usage questions, see SUPPORT.en.md; report security issues privately through SECURITY.en.md.

Security

Never commit credentials or authorization files to the working tree. If you discover a security issue, follow SECURITY.en.md to report it privately rather than opening a public issue.

Privacy & telemetry

Official distribution builds include TapDB usage analytics for product-level aggregate statistics (device / OS / app-version metadata; associated with your account ID after sign-in). It does not collect chat content, file content, or working-directory data. In addition, while signed in to a cloud account the client sends an online heartbeat to Cindy services (account ID, platform, and version only). Crash dumps stay on the local machine and are never uploaded automatically.

Building from source? You are not required to keep analytics:

  • Mobile is off by default — without TapDB credentials (clientId / clientToken) injected at build time, apps/mobile/src/analytics/mobileTapdb.ts is a no-op;
  • Desktop can be fully stripped by removing the initTapdb() call in apps/desktop/src/renderer/index.tsx (implementation lives in apps/desktop/src/renderer/analytics/).

License / 许可证

Except as otherwise noted, the source code in this repository is licensed under the Apache License, Version 2.0. Individual source files do not carry per-file license headers; the repository-root LICENSE governs.

Model weights, datasets, prompts, trademarks, and other separately identified materials may

readme truncated — read the full docs on github

Frequently asked questions

Is cindy free to use?

cindy is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does cindy do?

Consider it done. The open-source AI agent that works out of the box · 想到,就能做到。开源、开箱即用的 AI Agent。

What is cindy written in?

cindy is primarily written in TypeScript. Its source is publicly available at https://github.com/makecindy/cindy, and it has 2,749 GitHub stars.