# cc-connect **Repository Path**: aicoder1/cc-connect ## Basic Information - **Project Name**: cc-connect - **Description**: clone from https://github.com/chenhg5/cc-connect.git - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-15 - **Last Updated**: 2026-04-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

CC-Connect Banner

CI Status Release npm downloads License Go Report Card

Discord Telegram

English | ไธญๆ–‡

Control your local AI agents from any chat app. Anywhere, anytime.

cc-connect bridges AI agents running on your machine to the messaging platforms you already use.
Code review, research, automation, data analysis โ€” anything an AI agent can do,
now accessible from your phone, tablet, or any device with a chat app.

CC-Connect Architecture

## ๐Ÿ†• What's New (beta) > These highlights are in **beta / pre-release** builds โ€” install [`cc-connect@beta`](https://www.npmjs.com/package/cc-connect?activeTab=versions) or grab a [pre-release](https://github.com/chenhg5/cc-connect/releases) binary. They are **not** in the default **stable** release yet; details may change before promotion to stable. - **Personal WeChat** โ€” Chat with your local agent from **Weixin (personal)** via ilink long-polling; QR `weixin setup`, CDN media, no public IP. *[Setup โ†’ `docs/weixin.md`](docs/weixin.md)* - **Auto-compress** โ€” When the session estimate blows past your threshold, cc-connect can trim context so long threads keep working instead of silently falling over. - **Friendlier `--continue`** โ€” Fork-on-continue so your bridge session doesnโ€™t inherit a half-finished CLI terminal session by accident. - **Cron with boundaries** โ€” Run jobs in a **fresh session** each time and cap **per-job timeouts** so runaway tasks donโ€™t wedge the bot. - **Richer platforms** โ€” e.g. **Discord** `@everyone` / `@here`, **Telegram** voice-style replies, **Feishu** fixes for reply threading and async dispatch. ## ๐Ÿงฉ Platform feature snapshot High-level view of what each **built-in platform** can do in cc-connect. Inspired by [OpenClaw Chinaโ€™s feature matrix](https://github.com/BytePioneer-AI/openclaw-china#ๅŠŸ่ƒฝๆ”ฏๆŒ) โ€” handy for comparing channels at a glance. **Legend** | Symbol | Meaning | |--------|---------| | โœ… | Works in **stable** cc-connect with typical configuration | | โœ…๏ผˆbeta๏ผ‰ | **Beta / pre-release only** โ€” the **Weixin (personal)** column: install [`cc-connect@beta`](https://www.npmjs.com/package/cc-connect?activeTab=versions) or a [pre-release binary](https://github.com/chenhg5/cc-connect/releases); **not** in the default stable npm build yet | | โš ๏ธ | Partial, needs extra config (e.g. speech / ASR), or limited by the vendor app or API | | โŒ | Not supported or not applicable in practice | โ€  **QQ (NapCat / OneBot)** โ€” unofficial self-hosted bridge; behaviour depends on your NapCat / network setup. | Capability | Feishu | DingTalk | Telegram | Slack | Discord | LINE | WeCom | **Weixin**
*(personal)* | QQโ€  | QQ Bot | |------------|:------:|:--------:|:--------:|:-----:|:-------:|:----:|:-----:|:-------------------------:|:---:|:------:| | Text & slash commands | โœ… | โœ… | โœ… | โœ… | โœ… | โœ… | โœ… | โœ…๏ผˆbeta๏ผ‰ | โœ… | โœ… | | Markdown / cards | โœ… | โœ… | โœ… | โœ… | โœ… | โš ๏ธ | โš ๏ธ | โœ…๏ผˆbeta๏ผ‰ | โœ… | โœ… | | Streaming / chunked replies | โœ… | โœ… | โœ… | โœ… | โœ… | โœ… | โœ… | โœ…๏ผˆbeta๏ผ‰ | โœ… | โœ… | | Images & files | โœ… | โœ… | โœ… | โœ… | โœ… | โš ๏ธ | โœ… | โœ…๏ผˆbeta๏ผ‰ | โœ… | โœ… | | Voice / STT / TTS | โš ๏ธ | โš ๏ธ | โœ… | โš ๏ธ | โš ๏ธ | โŒ | โš ๏ธ | โœ…๏ผˆbeta๏ผ‰ | โš ๏ธ | โš ๏ธ | | Private (DM) | โœ… | โœ… | โœ… | โœ… | โœ… | โœ… | โœ… | โœ…๏ผˆbeta๏ผ‰ | โœ… | โœ… | | Group / channel | โœ… | โœ… | โœ… | โœ… | โœ… | โš ๏ธ | โœ… | โœ…๏ผˆbeta๏ผ‰ | โœ… | โœ… | > **Weixin column:** every **โœ…๏ผˆbeta๏ผ‰** means โ€œavailable only when you run a **beta / pre-release** build,โ€ not a statement that the feature is incomplete โ€” the whole **personal WeChat (ilink)** channel is still **pre-stable**. > **WeCom:** Webhook mode needs a **public URL**; long-connection / WS style setups often do not. > **Voice row:** many platforms need `[speech]` / TTS providers enabled in `config.toml`; values are a best-effort summary. > Per-platform setup: [Platform setup guides](#-platform-setup-guides) below. ## โœจ Why cc-connect? ### ๐Ÿค– Universal Agent Support **7 AI Agents** โ€” Claude Code, Codex, Cursor Agent, Qoder CLI, Gemini CLI, OpenCode, iFlow CLI. Use whichever fits your workflow, or all of them at once. ### ๐Ÿ“ฑ Platform Flexibility **10 Chat Platforms** โ€” Feishu, DingTalk, Slack, Telegram, Discord, WeChat Work, LINE, QQ, QQ Bot (Official), plus **Weixin (personal ilink)** for **personal WeChat**. *Personal WeChat is **beta / pre-release only*** โ€” install [`cc-connect@beta`](https://www.npmjs.com/package/cc-connect?activeTab=versions) or a [GitHub pre-release](https://github.com/chenhg5/cc-connect/releases) binary; the default **stable** npm package does **not** ship the `weixin` platform yet. Most platforms need **zero public IP**. ### ๐Ÿ”„ Multi-Agent Orchestration **Multi-Bot Relay** โ€” Bind multiple bots in a group chat and let them communicate with each other. Ask Claude, get insights from Gemini โ€” all in one conversation. ### ๐ŸŽฎ Complete Chat Control **Full Control from Chat** โ€” Switch models (`/model`), tune reasoning (`/reasoning`), change permission modes (`/mode`), manage sessions, all via slash commands. **Directory Switching in Chat** โ€” Change where the next session starts with `/dir ` (and `/cd ` as a compatibility alias), plus quick history jump via `/dir ` / `/dir -`. ### ๐Ÿง  Persistent Memory **Agent Memory** โ€” Read and write agent instruction files (`/memory`) without touching the terminal. ### โฐ Intelligent Scheduling **Scheduled Tasks** โ€” Set up cron jobs in natural language. *"Every day at 6am, summarize GitHub trending"* just works. ### ๐ŸŽค Multimodal Support **Voice & Images** โ€” Send voice messages or screenshots; cc-connect handles STT/TTS and multimodal forwarding. ### ๐Ÿ“ฆ Multi-Project Architecture **Multi-Project** โ€” One process, multiple projects, each with its own agent + platform combo. ### ๐ŸŒ Multilingual Interface **5 Languages** โ€” Native support for English, Chinese (Simplified & Traditional), Japanese, and Spanish. Built-in i18n ensures everyone feels at home.

้ฃžไนฆ Telegram ๅพฎไฟก

Left๏ผšLark  |  Telegram  |  Right๏ผšWechat

## ๐Ÿš€ Quick Start ### ๐Ÿค– Install & Configure via AI Agent (Recommended) > **The easiest way** โ€” Send this to Claude Code or any AI coding agent, and it will handle the entire installation and configuration for you: ```bash Follow https://raw.githubusercontent.com/chenhg5/cc-connect/refs/heads/main/INSTALL.md to install and configure cc-connect. ``` ### ๐Ÿ“ฆ Manual Install **Via npm:** ```bash # Stable version npm install -g cc-connect # Beta version (more features, may be unstable) npm install -g cc-connect@beta ``` > **Personal WeChat (Weixin ilink):** only available in **beta / pre-release** builds (`cc-connect@beta` or a prerelease asset under [Releases](https://github.com/chenhg5/cc-connect/releases)). **Stable** `npm install -g cc-connect` does **not** include this platform until it graduates from beta. **Download binary from [GitHub Releases](https://github.com/chenhg5/cc-connect/releases):** ```bash # Linux amd64 - Stable curl -L -o cc-connect https://github.com/chenhg5/cc-connect/releases/latest/download/cc-connect-linux-amd64 chmod +x cc-connect sudo mv cc-connect /usr/local/bin/ # Beta version (from pre-release) curl -L -o cc-connect https://github.com/chenhg5/cc-connect/releases/download/v1.x.x-beta/cc-connect-linux-amd64 ``` **Build from source (requires Go 1.22+):** ```bash git clone https://github.com/chenhg5/cc-connect.git cd cc-connect make build ``` ### โš™๏ธ Configure ```bash mkdir -p ~/.cc-connect cp config.example.toml ~/.cc-connect/config.toml vim ~/.cc-connect/config.toml ``` Set `admin_from = "alice,bob"` in a project to allow those user IDs to run privileged commands such as `/dir` and `/shell`. When a user runs `/dir reset`, cc-connect restores the configured `work_dir` and clears the persisted override stored under `data_dir/projects/.state.json`. ### โ–ถ๏ธ Run ```bash ./cc-connect ``` ### ๐Ÿ”„ Upgrade ```bash # npm npm install -g cc-connect # Binary self-update cc-connect update # Stable cc-connect update --pre # Beta (includes pre-releases) ``` ## ๐Ÿ“Š Support Matrix | Component | Type | Status | |-----------|------|--------| | Agent | Claude Code | โœ… Supported | | Agent | Codex (OpenAI) | โœ… Supported | | Agent | Cursor Agent | โœ… Supported | | Agent | Gemini CLI (Google) | โœ… Supported | | Agent | Qoder CLI | โœ… Supported | | Agent | OpenCode (Crush) | โœ… Supported | | Agent | iFlow CLI | โœ… Supported | | Agent | Goose (Block) | ๐Ÿ”œ Planned | | Agent | Aider | ๐Ÿ”œ Planned | | Platform | Feishu (Lark) | โœ… WebSocket โ€” no public IP needed | | Platform | DingTalk | โœ… Stream โ€” no public IP needed | | Platform | Telegram | โœ… Long Polling โ€” no public IP needed | | Platform | Slack | โœ… Socket Mode โ€” no public IP needed | | Platform | Discord | โœ… Gateway โ€” no public IP needed | | Platform | LINE | โœ… Webhook โ€” public URL required | | Platform | WeChat Work | โœ… WebSocket / Webhook | | Platform | Weixin (personal, ilink) | โœ…๏ผˆbeta๏ผ‰โ€” HTTP long polling โ€” no public IP needed | | Platform | QQ (NapCat/OneBot) | โœ… WebSocket โ€” Beta | | Platform | QQ Bot (Official) | โœ… WebSocket โ€” no public IP needed | ## ๐Ÿ“– Platform Setup Guides | Platform | Guide | Connection | Public IP? | |----------|-------|------------|------------| | Feishu (Lark) | [docs/feishu.md](docs/feishu.md) | WebSocket | No | | DingTalk | [docs/dingtalk.md](docs/dingtalk.md) | Stream | No | | Telegram | [docs/telegram.md](docs/telegram.md) | Long Polling | No | | Slack | [docs/slack.md](docs/slack.md) | Socket Mode | No | | Discord | [docs/discord.md](docs/discord.md) | Gateway | No | | WeChat Work | [docs/wecom.md](docs/wecom.md) | WebSocket / Webhook | No (WS) / Yes (Webhook) | | Weixin (personal) | [docs/weixin.md](docs/weixin.md) | HTTP long polling (ilink) โ€” **beta only** | No | | QQ / QQ Bot | [docs/qq.md](docs/qq.md) | WebSocket | No | ## ๐ŸŽฏ Key Features ### ๐Ÿ’ฌ Session Management ``` /new [name] Start a new session /list List all sessions /switch Switch session /current Show current session /dir [path|reset] Show, switch, or reset work directory ``` Project configs can also rotate to a fresh session automatically after long inactivity: ```toml [[projects]] reset_on_idle_mins = 60 ``` ### ๐Ÿ›ก๏ธ OS-User Isolation (`run_as_user`) On Linux/macOS, a project can spawn its agent under a different Unix user for OS-level file-system isolation from the supervisor user that runs cc-connect. Currently supported by Claude Code. ```toml [[projects]] name = "claude-sandboxed" run_as_user = "partseeker-coder" run_as_env = ["PGSSLROOTCERT"] ``` The target user needs passwordless sudo from the supervisor, no sudo of its own, read+write on `work_dir`, and its own `~/.claude/settings.json` with whatever credentials the agent uses. If you authenticate via `claude.ai` OAuth, symlink the target user's `~/.claude/.credentials.json` to the supervisor's copy so token refresh stays in sync โ€” see the [environment propagation checklist](./docs/usage.md#environment-propagation-what-moves-into-the-target-users-home) for details. See [`docs/usage.md`](./docs/usage.md#running-agents-as-a-different-unix-user-run_as_user) for the full setup. Before starting cc-connect, audit the setup with: ```bash cc-connect doctor user-isolation ``` This runs three go/no-go preflight gates and an isolation probe that reports what the target user can and cannot read. cc-connect refuses to start if any gate fails or if the probe detects a cross-user leak. --- ### ๐Ÿ” Permission Modes ``` /mode Show available modes /mode yolo # Auto-approve all tools /mode default # Ask for each tool ``` ### ๐Ÿ”„ Provider Management ``` /provider list List providers /provider switch Switch API provider at runtime ``` ### ๐Ÿค– Model Selection ``` /model List available models (format: alias - model) /model switch Switch to model by alias ``` ### ๐Ÿ“‚ Work Directory ``` /dir Show current work directory and history /dir Switch to a path (relative or absolute) /dir Switch from history /dir - Switch to previous directory /cd Compatibility alias for /dir ``` ### โฐ Scheduled Tasks ```bash /cron add 0 6 * * * Summarize GitHub trending ``` ### ๐Ÿ“Ž Agent Attachment Send-Back When an agent generates a local screenshot, chart, PDF, bundle, or other file, it can send that attachment back to the current chat. First release supports: - Feishu - Telegram If your agent does not natively inject the system prompt, run this once in chat after upgrading: ```text /bind setup ``` or: ```text /cron setup ``` This refreshes the cc-connect instructions in the project memory file so the agent knows how to send attachments back. You can control this feature globally in `config.toml`: ```toml attachment_send = "on" # default: "on"; set to "off" to block image/file send-back ``` This switch is independent from the agent's `/mode`. It only controls `cc-connect send --image/--file`. Examples: ```bash cc-connect send --image /absolute/path/to/chart.png cc-connect send --file /absolute/path/to/report.pdf cc-connect send --file /absolute/path/to/report.pdf --image /absolute/path/to/chart.png ``` Notes: - Absolute paths are the safest option. - `--image` and `--file` can both be repeated. - `attachment_send = "off"` disables only attachment send-back; ordinary text replies still work. - This command is for generated attachments, not ordinary text replies. ๐Ÿ“– **Full documentation:** [docs/usage.md](docs/usage.md) ## ๐Ÿ“š Documentation - [Usage Guide](docs/usage.md) โ€” Complete feature documentation - [INSTALL.md](INSTALL.md) โ€” AI-agent-friendly installation guide - [config.example.toml](config.example.toml) โ€” Configuration template - [CONTRIBUTING.md](CONTRIBUTING.md) โ€” How to report issues and contribute pull requests ## ๐Ÿ‘ฅ Community - [Discord](https://discord.gg/kHpwgaM4kq) - [Telegram](https://t.me/+odGNDhCjbjdmMmZl) ## โค๏ธ Sponsor > Want to appear here? Contact us: **Email**: chg80333@gmail.com | **WeChat**: mongorz | [Telegram](https://t.me/+odGNDhCjbjdmMmZl) | [Discord](https://discord.gg/kHpwgaM4kq)
Sponsors
Your Logo Here Become a sponsor! We offer exclusive benefits for our users. Contact us to learn more about sponsorship opportunities.
## โ˜• Support the Project If cc-connect has been helpful to you, consider buying us a coffee! Your support helps us: - ๐Ÿ› ๏ธ Maintain and improve the project - ๐Ÿ“š Write better documentation and tutorials - ๐Ÿ› Fix bugs and add new features faster - โ˜• Keep the developers caffeinated ### How to Donate **Buy Me a Coffee**: [https://buymeacoffee.com/cg33](https://buymeacoffee.com/cg33) **WeChat Pay / Alipay**: | WeChat Pay | Alipay | |:----------:|:------:| | WeChat Pay | Alipay | ### Thank You, Donors! ๐ŸŽ‰ We're grateful to everyone who has supported this project. Leave your GitHub username in the donation message if you'd like to be recognized here! ## ๐Ÿค Commercial Cooperation We accept the following commercial collaborations: - **Enterprise Customization**: Custom deployment for internal AI tooling (Feishu, DingTalk, WeChat Work, Slack, etc.) - **Technical Consulting**: AI agent integration and architecture design - **Outsourcing Projects**: AI-related system development **Contact**: **Email**: chg80333@gmail.com | **WeChat**: mongorz | [Telegram](https://t.me/+odGNDhCjbjdmMmZl) | [Discord](https://discord.gg/kHpwgaM4kq) ## ๐Ÿ™ Contributors ## โญ Star History Star History Chart ## ๐Ÿ“„ License MIT License

Built with โค๏ธ by the cc-connect community