About this project

Cindy is an open-source AI agent that aims to work out of the box, bringing multiple harnesses, models and tools into one agent that completes work inside your projects and apps. It runs locally on your own machine, using your real files and logged-in applications. The first supported harnesses are Claude Code and Codex, with more being added and a native harness in development. Models and harnesses can be mixed and switched mid-task while workspace, memory, skills and tools stay continuous. A single task can be planned, executed in parallel, and reviewed by agents on different harness and model combinations. Cindy can drive your browser, computer and phone, and take work from IM and schedules. This repository is the open-source client: the desktop and mobile apps plus their shared packages, organized as a pnpm monorepo. The backend service lives in a separate repository and is not part of this monorepo. Repository layout: - apps/desktop — Electron desktop client - apps/mobile — Expo / React Native mobile client - packages/* — shared client capabilities such as auth, device-link, agent orchestration and model providers - apps/*-bin — tool binaries shipped with the desktop app; claude-code, codex and ripgrep are downloaded per platform by pnpm install, and Android platform-tools binaries are fetched with a pinned version and sha256 verification before Windows packaging Customization and extension points described in the README include memory (corrections persist across harnesses), skills (reusable ways of working), automation (recurring scheduled work that reports back), MCP (connecting internal tools and business systems), plugins (reshaping features, UI and interactions, with an open marketplace noted as in the making), and source access for auditing, forking and contributing under Apache-2.0. Usage modes: a hosted service requiring a Cindy cloud account, or a Skip Sign-In option that runs local agents without a Cindy account (shown as Not signed in), where server-backed capabilities are unavailable. Models can be brought via the official Cindy service, an existing Claude Code or Codex Coding Plan authorization, your own API keys, or local models. Prerequisites are Node.js 22.x, pnpm 10.x (v11 not yet supported) and Git LFS. Minimal setup is git clone, git lfs pull, then pnpm install. Development entry points include pnpm restart:desktop:remote with --region=cn for Mainland China accounts and --region=global for others; remote development uses your own Cindy cloud account and existing login state. The client connects to Cindy's official cloud services by default via endpoint manifests in config/endpoint.json and config/endpoint.global.json, and desktop auto-updates come from the official CDN. Documentation pointers include DESIGN.md for the visual design system and UI conventions, docs/README.md as the documentation index, docs/auth-realm-routing.md for SSO region discovery and session endpoint routing, CONTRIBUTING.en.md for contributor setup and validation, AGENTS.md for engineering rules and module boundaries, and docs/dev-rules/ for deeper architecture docs such as Orca multi-agent orchestration. A Linux installation guide covers Ubuntu, Arch Linux and Omarchy. Contributions go through pull requests into main, require a Developer Certificate of Origin sign-off (git commit -s) enforced by a DCO check, and no CLA is required. Security issues are reported privately per SECURITY.en.md. Privacy notes: official distribution builds include TapDB usage analytics for aggregate statistics (device, OS, app-version metadata, associated with account ID after sign-in) and do not collect chat content, file content or working-directory data; a signed-in online heartbeat sends account ID, platform and version only; crash dumps stay local. Source builds can omit analytics, since mobile is a no-op without TapDB credentials and desktop analytics can be stripped by removing the initTapdb() call. Licensing: source code is Apache-2.0 except as otherwise noted, with model weights, datasets, prompts and trademarks potentially under separate terms; third-party attribution and SPDX SBOMs are managed under docs/legal/.