从任何聊天应用控制您本地的 AI 代理。任何地方,任何时间。

AI工具323 次阅读约 42 分钟

CC-Connect Banner

Control your local AI agents from any chat app. Anywhere, anytime.
从任何聊天应用控制您本地的 AI 代理。任何地方,任何时间。

cc-connect bridges AI agents running on your machine to the messaging platforms you already use.
cc-connect 将运行在您机器上的 AI 代理与您已使用的消息平台连接起来。
Code review, research, automation, data analysis — anything an AI agent can do,
代码审查、研究、自动化、数据分析——任何 AI 代理能做的事,
now accessible from your phone, tablet, or any device with a chat app.
现在可通过您的手机、平板或任何有聊天应用的设备访问。

CC-Connect Architecture

🆕 What’s New in v1.3.0🆕 v1.3.0 新功能

  • 🌐 Web Admin UI (Recommended) — Full management dashboard embedded in the binary — no extra dependencies. Create and edit projects, manage providers, monitor sessions, edit cron jobs, and chat with your agent directly from the browser. Supports 5 languages (en/zh/zh-TW/ja/es). We recommend managing cc-connect through the web UI instead of editing config.toml by hand. Run cc-connect web to configure and open the dashboard, then run cc-connect to start the service.
    🌐 Web 管理界面(推荐)— 完整的管理控制台嵌入在二进制文件中 — 无需额外依赖。可直接从浏览器创建和编辑项目、管理提供者、监控会话、编辑定时任务,并与您的代理直接聊天。支持 5 种语言(en/zh/zh-TW/ja/es)。我们推荐通过 Web 界面管理 cc-connect,而不是手动编辑 config.toml 。运行 cc-connect web 进行配置并打开控制台,然后运行 cc-connect 启动服务。

  • Lifecycle Event Hooks — New [[hooks]] config triggers shell commands or HTTP webhooks on message, session, cron, permission, and error events. Async by default, fail-open.
    生命周期事件钩子 — 新的 [[hooks]] 配置在消息、会话、定时任务、权限和错误事件上触发 shell 命令或 HTTP Webhook。默认异步执行,故障自动恢复。

  • Skill Management — New /skills page with local skill browser and recommended presets.
    技能管理 — 新的 /skills 页面,包含本地技能浏览器和推荐预设。

  • Global Provider Management — Add/edit/delete providers in the web UI; import from cc-switch config.
    全局服务商管理 — 在网页界面中添加/编辑/删除服务商;可从 cc-switch 配置中导入。

  • 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
    个人微信 — 通过 ilink 长轮询从微信(个人版)与本地代理聊天;QR weixin setup ,CDN 媒体,无需公网 IP。设置→ docs/weixin.md

  • Weibo DM — Chat with your agent via Weibo private messages over WebSocket; no public IP needed, text streaming supported.
    微博私信 — 通过 WebSocket 在微博私信中与代理聊天;无需公网 IP,支持文本流传输。

  • Feishu Enhancements — Auto-resolve @name mentions, multi-level reply chain recognition, done-emoji reactions.
    飞书增强功能 — 自动解析 @name 提及,多级回复链识别,完成表情反应。

  • New Agents — Kimi CLI and Pi agent support added.
    新增代理 — 添加了 Kimi CLI 和 Pi 代理的支持。

🧩 Platform feature snapshot🧩 平台功能概览

High-level view of what each built-in platform can do in cc-connect.
cc-connect 中每个内置平台能实现的高级功能视图。

Legend 图例

Symbol 符号

Meaning 含义

✅

Works in stable cc-connect with typical configuration 在典型配置的稳定 cc-connect 中工作

⚠️

Partial, needs extra config (e.g. speech / ASR), or limited by the vendor app or API 部分功能,需要额外配置(例如语音/语音识别),或受限于供应商应用程序或 API

❌

Not supported or not applicable in practice 不支持或不适用于实际操作

† QQ (NapCat / OneBot) — unofficial self-hosted bridge; behaviour depends on your NapCat / network setup.
† QQ (NapCat / OneBot) — 非官方自托管桥接;行为取决于您的 NapCat / 网络设置。

Capability 功能

Feishu 飞书

DingTalk 钉钉

Telegram

Slack

Discord

LINE

WeCom

Weibo 微博

Weixin 微信 (personal) (个人)

QQ†

QQ Bot

Text & slash commands 文本 & 划线命令

✅

✅

✅

✅

✅

✅

✅

✅

✅

✅

✅

Markdown / cards Markdown / 卡片

✅

✅

✅

✅

✅

⚠️

⚠️

❌

✅

✅

✅

Streaming / chunked replies 流式传输 / 分块回复

✅

✅

✅

✅

✅

✅

✅

✅

✅

✅

✅

Images & files 图片 & 文件

✅

✅

✅

✅

✅

⚠️

✅

❌

✅

✅

✅

Voice / STT / TTS 语音 / 语音转文本 / 文本转语音

⚠️

⚠️

✅

⚠️

⚠️

❌

⚠️

❌

✅

⚠️

⚠️

Private (DM) 私密(私信)

✅

✅

✅

✅

✅

✅

✅

✅

✅

✅

✅

Group / channel 群组 / 频道

✅

✅

✅

✅

✅

⚠️

✅

❌

✅

✅

✅

WeCom: Webhook mode needs a public URL; long-connection / WS style setups often do not.
WeCom:Webhook 模式需要一个公网 URL;长连接/WS 风格设置通常不需要。
Voice row: many platforms need [speech] / TTS providers enabled in config.toml; values are a best-effort summary.
语音行:许多平台需要在 [speech] 中启用 config.toml / TTS 提供商;值是尽力总结。
Per-platform setup: Platform setup guides below.
每平台设置:以下为平台设置指南。

✨ Why cc-connect? ✨ 为什么使用 cc-connect?

🤖 Universal Agent Support🤖 支持通用代理

10+ AI Agents — Claude Code, Codex, Cursor Agent, Kimi CLI, Qoder CLI, Gemini CLI, OpenCode, iFlow CLI, Pi, Devin — plus any agent that supports the Agent Client Protocol (ACP). Use whichever fits your workflow, or all of them at once.
10+ AI 代理 — Claude Code、Codex、Cursor Agent、Kimi CLI、Qoder CLI、Gemini CLI、OpenCode、iFlow CLI、Pi、Devin — 以及任何支持代理客户端协议(ACP)的代理。根据你的工作流程选择使用其中任何一个,或者同时使用所有它们。

📱 Platform Flexibility 📱 平台灵活性

11 Chat Platforms — Feishu, DingTalk, Slack, Telegram, Discord, WeChat Work, Weibo, LINE, QQ, QQ Bot (Official), plus Weixin (personal ilink) for personal WeChat. Most platforms need zero public IP.
11 个聊天平台 — 飞书、钉钉、Slack、Telegram、Discord、微信工作台、微博、LINE、QQ、QQ Bot(官方)、以及为个人微信提供的微信(个人 ilink)。大多数平台无需公网 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.
多机器人中继 — 在群聊中将多个机器人绑定,并让它们相互通信。询问 Claude,从 Gemini 获取洞察 — 所有这一切都在同一对话中完成。

🎮 Complete Chat Control 🎮 完全聊天控制

Full Control from Chat — Switch models (/model), tune reasoning (/reasoning), change permission modes (/mode), manage sessions, all via slash commands.
从聊天中全面控制——切换模型( /model )、调整推理( /reasoning )、更改权限模式( /mode )、管理会话,全部通过斜杠命令完成。

Directory Switching in Chat — Change where the next session starts with /dir <path> (and /cd <path> as a compatibility alias), plus quick history jump via /dir <number> / /dir -.
聊天中的目录切换——使用 /dir <path> (以及 /cd <path> 作为兼容性别名)更改下一个会话的起始位置,并通过 /dir <number> / /dir - 快速跳转历史记录。

🧠 Persistent Memory 🧠 持久化内存

Agent Memory — Read and write agent instruction files (/memory) without touching the terminal.
代理内存——无需接触终端即可读取和写入代理指令文件( /memory )。

⏰ Intelligent Scheduling ⏰ 智能调度

Scheduled Tasks — Set up cron jobs in natural language. "Every day at 6am, summarize GitHub trending" just works.
定时任务 — 用自然语言设置 cron 作业。"每天早上 6 点,总结 GitHub 热门趋势"直接生效。

🎤 Multimodal Support 🎤 多模态支持

Voice & Images — Send voice messages or screenshots; cc-connect handles STT/TTS and multimodal forwarding.
语音与图像 — 发送语音消息或截图;cc-connect 处理语音识别/语音合成和多模态转发。

📦 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.
5 种语言 — 原生支持英语、中文(简体和繁体)、日语和西班牙语。内置国际化功能确保每个人都能感到宾至如归。

飞书Telegram微信

Left:Lark | Telegram | Right:Wechat
左:Lark | Telegram | 右:Wechat

🚀 Quick Start 🚀 快速入门

The easiest way — Send this to Claude Code or any AI coding agent, and it will handle the entire installation and configuration for you:
最简单的方法——将此内容发送给 Claude Code 或任何 AI 编程代理,它将为您处理整个安装和配置:

Follow https://raw.githubusercontent.com/chenhg5/cc-connect/refs/heads/main/INSTALL.md to install and configure cc-connect.

📦 Manual Install 📦 手动安装

Via npm:

npm install -g cc-connect

Via Homebrew (macOS / Linux):

brew install cc-connect

Download binary from GitHub Releases:

# 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/

Build from source (requires Go 1.22+):

git clone https://github.com/chenhg5/cc-connect.git
cd cc-connect
make build

⚙️ Configure

💡 Tip: Use the Web UI to configure — After installing, run cc-connect web to configure the web admin and open the dashboard in your browser. You can visually create projects, add platforms, manage providers, and chat with your agent — no need to manually edit TOML files. Note: cc-connect web only configures and opens the browser — you still need to run cc-connect separately to start the service.

If you prefer manual configuration:

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/<project>.state.json.

▶️ Run

./cc-connect

🔄 Upgrade

# npm
npm install -g cc-connect

Homebrew

brew upgrade cc-connect

Binary self-update

cc-connect update # Stable
cc-connect update --pre # Include 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

Kimi CLI (Moonshot)

✅ Supported

Agent

Pi (Cursor Background Agent)

✅ Supported

Agent

ACP (Agent Client Protocol)

✅ Any ACP-compatible agent

Agent

Devin (Cognition)

✅ Supported (via ACP)

Agent

Goose (Block)

🔜 Planned

Agent

Aider

🔜 Planned

Platform 平台

Feishu (Lark) 飞书(钉钉)

✅ WebSocket — no public IP needed ✅ WebSocket — 无需公网 IP

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 平台

Weibo 微博

✅ WebSocket — no public IP needed ✅ WebSocket — 无需公网 IP

Platform 平台

LINE

✅ Webhook — public URL required

Platform 平台

WeChat Work

✅ WebSocket / Webhook

Platform 平台

Weixin (personal, ilink)

✅— HTTP long polling — no public IP needed

Platform 平台

QQ (NapCat/OneBot)

✅ WebSocket

Platform 平台

QQ Bot (Official) QQ Bot (官方)

✅ WebSocket — no public IP needed ✅ WebSocket — 无需公网 IP

📖 Platform Setup Guides 📖 平台设置指南

Platform 平台

Guide 指南

Connection

Public IP?公共 IP?

Feishu (Lark) 飞书(钉钉)

docs/feishu.md

WebSocket

No 否

DingTalk 钉钉

docs/dingtalk.md

Stream 流

No 否

Telegram

docs/telegram.md

Long Polling 长轮询

No 否

Slack

docs/slack.md

Socket Mode Socket 模式

No 否

Discord

docs/discord.md

Gateway 网关

No 否

Weibo 微博

docs/weibo.md

WebSocket

No 否

WeChat Work

docs/wecom.md

WebSocket / Webhook

No (WS) / Yes (Webhook) 无 (WS) / 是 (Webhook)

Weixin (personal) 微信 (个人)

docs/weixin.md

HTTP long polling (ilink) HTTP 长轮询 (ilink)

No 否

QQ / QQ Bot

docs/qq.md

WebSocket

No 否

🎯 Key Features

💬 Session Management 💬 会话管理

/new [name]       Start a new session
/list             List all sessions
/switch <id>      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:
项目配置也可以在长时间不活动后自动旋转到新的会话:

[[projects]]
reset_on_idle_mins = 60

🛡️ OS-User Isolation (run_as_user)🛡️ 操作系统-用户隔离 ( 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.
在 Linux/macOS 上,一个项目可以在不同的 Unix 用户下启动其代理,以实现与运行 cc-connect 的管理员用户的操作系统级文件系统隔离。目前 Claude Code 支持此功能。

[[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 for details. See docs/usage.md for the full setup.
目标用户需要从管理员那里获得无需密码的 sudo 权限,自己不需要 sudo 权限,需要在 work_dir 上拥有读写权限,并且拥有自己的 ~/.claude/settings.json ,使用代理所用的任何凭证。如果你通过 claude.ai OAuth 进行身份验证,将目标用户的 ~/.claude/.credentials.json 链接到管理员的副本,以便令牌刷新保持同步——详细情况请参阅环境传播清单。有关完整设置的详细信息,请参阅 docs/usage.md 。

Before starting cc-connect, audit the setup with:
在开始使用 cc-connect 之前,请使用以下方式检查设置:

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.
这会运行三个 go/no-go 的预检门禁和一个隔离探测,该探测会报告目标用户可以和不可以读取的内容。如果任何门禁失败或探测发现跨用户泄露,cc-connect 将拒绝启动。


🔐 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 <name>     Switch API provider at runtime

🤖 Model Selection

/model                      List available models (format: alias - model)
/model switch <alias>       Switch to model by alias

📂 Work Directory

/dir                         Show current work directory and history
/dir <path>                  Switch to a path (relative or absolute)
/dir <number>                Switch from history
/dir -                       Switch to previous directory
/cd <path>                   Compatibility alias for /dir <path>

⏰ Scheduled Tasks ⏰ 定时任务

/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:

/bind setup

or:

/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:

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:

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 📚 文档

👥 Community 👥 社区

☕ 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

WeChat Pay / Alipay:微信支付 / 支付宝:

WeChat Pay 微信支付

Alipay

WeChat PayAlipay

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!
感谢所有支持这个项目的人。如果你希望在这里被认可,请在捐款信息中留下你的 GitHub 用户名!

🤝 Commercial Cooperation🤝 商业合作

We accept the following commercial collaborations:
我们接受以下商业合作:

  • Enterprise Customization: Custom deployment for internal AI tooling (Feishu, DingTalk, WeChat Work, Slack, etc.)
    企业定制化:针对内部 AI 工具的自定义部署(飞书、钉钉、企业微信、Slack 等)

  • Technical Consulting: AI agent integration and architecture design
    技术咨询:AI 代理集成与架构设计

  • Outsourcing Projects: AI-related system development
    外包项目:AI 相关系统开发

Contact: Email: chg80333@gmail.com | WeChat: mongorz | Telegram | Discord
联系方式:邮箱:chg80333@gmail.com | 微信:mongorz | Telegram | Discord

🙏 Contributors 🙏 贡献者

⭐ Star History ⭐ 星标历史

[

Star History Chart

](https://www.star-history.com/#chenhg5/cc-connect&Date)

📄 License

MIT License

Built with ❤️ by the cc-connect community

继续阅读

基于全文检索与主题相似度