cindy
Cindy is an open-source AI agent that runs locally on your machine, integrates multiple AI harnesses and models, and provides memory, skills, and automation to perform real work in your projects and apps.
It solves a common pain point in agent development—channel plumbing—by providing a unified interface that handles webhook verification, threading, and platform quirks, backed by real usage data (8–15% of issue tracker effort in other agent frameworks).
Website · PyPI · npm · llms.txt for agents · Contributing · Discord
English · 简体中文
The largest OSS agent frameworks each built 25+ channel adapters — and still spend8–15% of their issue trackers on channel plumbing. Caspian makes it one handler.
Your agent's reasoning decides what to say. Caspian is how it exists on Slack, Discord, GitHub, Telegram, Instagram, email, X, Bluesky, and beyond — one connect call per channel, one handler for all of them, threading, webhook verification, and platform quirks handled.
Building in a coding agent (Claude Code, Codex, Cursor, Kimi, …)? Paste this — it reads the live guide and does the whole integration for you:
Integrate Caspian so my agent can message people on email, Slack, Discord, Telegram, and more.
Read https://api.trycaspianai.com/SKILL.md and follow it end to end.
That's the fastest path — the guide at /SKILL.md is always current, so your agent installs the SDK, mints a key, connects a channel, and writes the handler itself.
Or set it up by hand:
cd your-project
pip install caspian-sdk # the library (import into your code)
pipx install caspian-cli # the CLI (gives the `caspian` command) — or: uvx caspian-cli
caspian init # mints a key, writes CASPIAN_API_KEY + CASPIAN_BASE_URL to .env
caspian connect email # free, instant
Then in your code:
from caspian_sdk import CommClient
client = CommClient() # reads CASPIAN_API_KEY / CASPIAN_BASE_URL from .env
email = client.connect_email(username="example-agent")
print(f"Agent email: {email['address']}")
print("Listening (Ctrl+C to stop).")
@client.on_message
def handle(message):
sender = (message.sender or {}).get("address", "?")
print(f" **Node / TypeScript:** the library is `npm install caspian-sdk`. The `caspian` CLI is a
> standalone tool (Python) — run it with `uvx caspian-cli init` / `pipx install caspian-cli`,
> or just use the SDK directly (below); nothing else about the flow changes.
The SDK talks to the **hosted gateway at `https://api.trycaspianai.com`** by default (set `CASPIAN_BASE_URL` to point at a self-hosted one). **Free channels — email, Telegram, Slack, Discord, Bluesky — connect instantly, no sign-in.*
One identity for your AI agent across Slack, Discord, Telegram, WhatsApp, Instagram, email, SMS, X — a single on_message handler. Open-source channel adapters + bot SDK (Python & TypeScript) + CLI.
Similar projects matched by category, topics, and programming language.
Cindy is an open-source AI agent that runs locally on your machine, integrates multiple AI harnesses and models, and provides memory, skills, and automation to perform real work in your projects and apps.
An open-source Dynamic Workflow runtime that combines deterministic TypeScript orchestration with replaceable Agent runtimes.
A hands-on course that walks through building a Pi-style coding agent from scratch across 15 checkpoints, starting from an offline agent trajectory.