cc-connect-ai-bridge
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCC-Connect AI Bridge
CC-Connect AI 桥接工具
Skill by ara.so — Daily 2026 Skills collection.
CC-Connect bridges locally running AI coding agents (Claude Code, Codex, Cursor Agent, Gemini CLI, Qoder CLI, OpenCode, iFlow CLI) to messaging platforms you already use. You can chat with your local agent from Telegram, Feishu, Slack, Discord, DingTalk, WeChat Work, LINE, or QQ — no public IP required for most platforms.
由 ara.so 开发的Skill — 属于2026每日技能合集。
CC-Connect 可将本地运行的AI编码Agent(Claude Code、Codex、Cursor Agent、Gemini CLI、Qoder CLI、OpenCode、iFlow CLI)连接到你日常使用的消息平台。你可以通过Telegram、飞书、Slack、Discord、钉钉、企业微信、LINE或QQ与本地Agent聊天 — 大多数平台无需公网IP。
Installation
安装
Via npm (recommended)
通过npm安装(推荐方式)
bash
undefinedbash
undefinedStable
稳定版
npm install -g cc-connect
npm install -g cc-connect
Beta (includes personal WeChat / Weixin ilink and other beta features)
测试版(包含个人微信/微信iLink及其他测试功能)
npm install -g cc-connect@beta
undefinednpm install -g cc-connect@beta
undefinedVia binary
通过二进制文件安装
bash
undefinedbash
undefinedLinux amd64
Linux amd64架构
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/
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/
macOS arm64
macOS arm64架构
curl -L -o cc-connect https://github.com/chenhg5/cc-connect/releases/latest/download/cc-connect-darwin-arm64
chmod +x cc-connect
sudo mv cc-connect /usr/local/bin/
undefinedcurl -L -o cc-connect https://github.com/chenhg5/cc-connect/releases/latest/download/cc-connect-darwin-arm64
chmod +x cc-connect
sudo mv cc-connect /usr/local/bin/
undefinedBuild from source (Go 1.22+)
从源码构建(需要Go 1.22+)
bash
git clone https://github.com/chenhg5/cc-connect.git
cd cc-connect
make buildbash
git clone https://github.com/chenhg5/cc-connect.git
cd cc-connect
make buildbinary appears at ./bin/cc-connect
二进制文件将生成在 ./bin/cc-connect 路径下
undefinedundefinedSelf-update
自动更新
bash
cc-connect update # stable
cc-connect update --pre # beta / pre-releasebash
cc-connect update # 更新至稳定版
cc-connect update --pre # 更新至测试版/预发布版Quick AI-assisted Setup
快速AI辅助配置
Send this prompt to Claude Code or any AI coding agent — it will install and configure cc-connect automatically:
Follow https://raw.githubusercontent.com/chenhg5/cc-connect/refs/heads/main/INSTALL.md to install and configure cc-connect.将以下提示语发送给Claude Code或任意AI编码Agent,它会自动完成cc-connect的安装和配置:
Follow https://raw.githubusercontent.com/chenhg5/cc-connect/refs/heads/main/INSTALL.md to install and configure cc-connect.Configuration
配置
bash
mkdir -p ~/.cc-connect
cp config.example.toml ~/.cc-connect/config.tomlbash
mkdir -p ~/.cc-connect
cp config.example.toml ~/.cc-connect/config.tomlMinimal config.toml
— Claude Code + Telegram
config.toml最简版 config.toml
配置 — Claude Code + Telegram
config.tomltoml
[project.my-project]
name = "my-project"
work_dir = "/home/user/myproject"
data_dir = "/home/user/.cc-connect/data"
admin_from = "123456789" # Your Telegram user ID
[project.my-project.agent]
type = "claude-code" # claude-code | codex | cursor | gemini | qoder | opencode | iflow
[project.my-project.platform]
type = "telegram"
token = "$TELEGRAM_BOT_TOKEN" # set via env or paste valuetoml
[project.my-project]
name = "my-project"
work_dir = "/home/user/myproject"
data_dir = "/home/user/.cc-connect/data"
admin_from = "123456789" # 你的Telegram用户ID
[project.my-project.agent]
type = "claude-code" # 可选值:claude-code | codex | cursor | gemini | qoder | opencode | iflow
[project.my-project.platform]
type = "telegram"
token = "$TELEGRAM_BOT_TOKEN" # 通过环境变量设置或直接粘贴值Multi-project config
多项目配置
toml
undefinedtoml
undefinedProject 1: Claude on Telegram
项目1:Telegram上的Claude
[project.dev]
name = "dev"
work_dir = "/home/user/project-a"
data_dir = "/home/user/.cc-connect/data/dev"
[project.dev.agent]
type = "claude-code"
[project.dev.platform]
type = "telegram"
token = "$TELEGRAM_BOT_TOKEN"
[project.dev]
name = "dev"
work_dir = "/home/user/project-a"
data_dir = "/home/user/.cc-connect/data/dev"
[project.dev.agent]
type = "claude-code"
[project.dev.platform]
type = "telegram"
token = "$TELEGRAM_BOT_TOKEN"
Project 2: Gemini on Feishu
项目2:飞书上的Gemini
[project.research]
name = "research"
work_dir = "/home/user/project-b"
data_dir = "/home/user/.cc-connect/data/research"
[project.research.agent]
type = "gemini"
[project.research.platform]
type = "feishu"
app_id = "$FEISHU_APP_ID"
app_secret = "$FEISHU_APP_SECRET"
verification_token = "$FEISHU_VERIFICATION_TOKEN"
undefined[project.research]
name = "research"
work_dir = "/home/user/project-b"
data_dir = "/home/user/.cc-connect/data/research"
[project.research.agent]
type = "gemini"
[project.research.platform]
type = "feishu"
app_id = "$FEISHU_APP_ID"
app_secret = "$FEISHU_APP_SECRET"
verification_token = "$FEISHU_VERIFICATION_TOKEN"
undefinedAll supported platform types
所有支持的平台类型
| Platform | Public IP needed? |
|---|---|---|
| Telegram | No (long polling) |
| Feishu / Lark | No (WebSocket) |
| DingTalk | No (Stream) |
| Slack | No (Socket Mode) |
| Discord | No (Gateway) |
| WeChat Work | No (WS) / Yes (Webhook) |
| LINE | Yes (Webhook) |
| QQ via NapCat/OneBot | No |
| QQ Bot Official | No |
| Personal WeChat (beta) | No (ilink long polling) |
| 平台名称 | 是否需要公网IP? |
|---|---|---|
| Telegram | 否(长轮询) |
| 飞书 / Lark | 否(WebSocket) |
| 钉钉 | 否(Stream) |
| Slack | 否(Socket Mode) |
| Discord | 否(Gateway) |
| 企业微信 | 否(WebSocket)/ 是(Webhook) |
| LINE | 是(Webhook) |
| QQ(通过NapCat/OneBot) | 否 |
| 官方QQ Bot | 否 |
| 个人微信(测试版) | 否(iLink长轮询) |
All supported agent types
所有支持的Agent类型
| Agent |
|---|---|
| Claude Code (Anthropic) |
| Codex (OpenAI) |
| Cursor Agent |
| Gemini CLI (Google) |
| Qoder CLI |
| OpenCode / Crush |
| iFlow CLI |
| Agent名称 |
|---|---|
| Claude Code(Anthropic) |
| Codex(OpenAI) |
| Cursor Agent |
| Gemini CLI(Google) |
| Qoder CLI |
| OpenCode / Crush |
| iFlow CLI |
Platform-specific configuration
平台专属配置
Telegram
Telegram
toml
[project.mybot.platform]
type = "telegram"
token = "$TELEGRAM_BOT_TOKEN"toml
[project.mybot.platform]
type = "telegram"
token = "$TELEGRAM_BOT_TOKEN"Get token from @BotFather on Telegram
从Telegram的@BotFather获取token
No public IP required — uses long polling
无需公网IP — 使用长轮询机制
undefinedundefinedFeishu / Lark
飞书 / Lark
toml
[project.mybot.platform]
type = "feishu"
app_id = "$FEISHU_APP_ID"
app_secret = "$FEISHU_APP_SECRET"
verification_token = "$FEISHU_VERIFICATION_TOKEN"toml
[project.mybot.platform]
type = "feishu"
app_id = "$FEISHU_APP_ID"
app_secret = "$FEISHU_APP_SECRET"
verification_token = "$FEISHU_VERIFICATION_TOKEN"Uses WebSocket — no public IP needed
使用WebSocket — 无需公网IP
Set up at https://open.feishu.cn/
在https://open.feishu.cn/ 进行配置
undefinedundefinedSlack
Slack
toml
[project.mybot.platform]
type = "slack"
bot_token = "$SLACK_BOT_TOKEN"
app_token = "$SLACK_APP_TOKEN"toml
[project.mybot.platform]
type = "slack"
bot_token = "$SLACK_BOT_TOKEN"
app_token = "$SLACK_APP_TOKEN"app_token must start with xapp- (Socket Mode)
app_token必须以xapp-开头(Socket Mode)
Enable Socket Mode in your Slack app settings
在Slack应用设置中启用Socket Mode
undefinedundefinedDiscord
Discord
toml
[project.mybot.platform]
type = "discord"
token = "$DISCORD_BOT_TOKEN"toml
[project.mybot.platform]
type = "discord"
token = "$DISCORD_BOT_TOKEN"Uses Discord Gateway — no public IP needed
使用Discord Gateway — 无需公网IP
undefinedundefinedDingTalk
钉钉
toml
[project.mybot.platform]
type = "dingtalk"
client_id = "$DINGTALK_CLIENT_ID"
client_secret = "$DINGTALK_CLIENT_SECRET"toml
[project.mybot.platform]
type = "dingtalk"
client_id = "$DINGTALK_CLIENT_ID"
client_secret = "$DINGTALK_CLIENT_SECRET"Uses DingTalk Stream — no public IP needed
使用钉钉Stream — 无需公网IP
undefinedundefinedWeChat Work (WeCom)
企业微信(WeCom)
toml
[project.mybot.platform]
type = "wecom"
corp_id = "$WECOM_CORP_ID"
agent_id = "$WECOM_AGENT_ID"
secret = "$WECOM_SECRET"
connection_type = "websocket" # websocket (no public IP) or webhooktoml
[project.mybot.platform]
type = "wecom"
corp_id = "$WECOM_CORP_ID"
agent_id = "$WECOM_AGENT_ID"
secret = "$WECOM_SECRET"
connection_type = "websocket" # 可选值:websocket(无需公网IP)或webhookPersonal WeChat (beta only)
个人微信(仅测试版支持)
bash
undefinedbash
undefinedInstall beta build first
先安装测试版
npm install -g cc-connect@beta
npm install -g cc-connect@beta
Scan QR code to log in
扫码登录
cc-connect weixin setup
```toml
[project.mybot.platform]
type = "weixin"cc-connect weixin setup
```toml
[project.mybot.platform]
type = "weixin"Auth state is stored after QR scan — no public IP needed
扫码后会存储认证状态 — 无需公网IP
---
---Running cc-connect
运行cc-connect
bash
undefinedbash
undefinedDefault config location: ~/.cc-connect/config.toml
默认配置文件路径:~/.cc-connect/config.toml
cc-connect
cc-connect
Custom config path
指定自定义配置文件路径
cc-connect --config /path/to/config.toml
cc-connect --config /path/to/config.toml
Run specific project only
仅运行指定项目
cc-connect --project my-project
---cc-connect --project my-project
---Chat Commands (sent in the messaging platform)
聊天命令(在消息平台发送)
| Command | Description |
|---|---|
| Show all available commands |
| Switch AI model (e.g. |
| Change permission mode (e.g. |
| Tune reasoning intensity |
| Switch working directory for next session |
| Jump to a directory from history |
| Toggle to previous directory |
| Restore configured |
| Alias for |
| Read or write the agent's memory/instruction file |
| Run a shell command (admin only) |
| Manage sessions (list, continue, new) |
| Continue from last session (forks to avoid inheriting broken state) |
| Schedule a recurring task |
| Stop the currently running agent |
| 命令 | 说明 |
|---|---|
| 显示所有可用命令 |
| 切换AI模型(例如 |
| 更改权限模式(例如 |
| 调整推理强度 |
| 切换下一次会话的工作目录 |
| 跳转到历史记录中的某个目录 |
| 切换到上一个目录 |
| 恢复为配置文件中设置的 |
| |
| 读取或修改Agent的记忆/指令文件 |
| 执行Shell命令(仅管理员可用) |
| 管理会话(列出、继续、新建) |
| 从上次会话继续(创建分支以避免继承错误状态) |
| 停止当前运行的Agent |
Slash command examples (in chat)
聊天中的斜杠命令示例
undefinedundefinedAsk the agent to review a PR
让Agent审核PR
Review the changes in branch feature/auth and summarize the risks.
Review the changes in branch feature/auth and summarize the risks.
Switch to a different model
切换到其他模型
/model gemini-2.0-flash
/model gemini-2.0-flash
Change working directory
切换工作目录
/dir /home/user/other-project
/dir /home/user/other-project
Schedule a daily summary
调度每日摘要
/cron 0 6 * * * Summarize GitHub trending Go repos and post here
/cron 0 6 * * * Summarize GitHub trending Go repos and post here
Read agent memory
读取Agent记忆
/memory
/memory
Update agent memory
更新Agent记忆
/memory Always prefer table-driven tests in Go. Use context.Context for cancellation.
---/memory Always prefer table-driven tests in Go. Use context.Context for cancellation.
---Multi-Agent Relay (group chat orchestration)
多Agent中转(群聊编排)
Bind multiple bots in one group chat so they communicate with each other:
toml
undefined在同一个群聊中绑定多个Bot,让它们互相通信:
toml
undefinedBot 1: Claude
Bot 1: Claude
[project.claude-bot]
name = "claude-bot"
work_dir = "/home/user/project"
data_dir = "/home/user/.cc-connect/data/claude"
[project.claude-bot.agent]
type = "claude-code"
[project.claude-bot.platform]
type = "telegram"
token = "$TELEGRAM_CLAUDE_BOT_TOKEN"
[project.claude-bot]
name = "claude-bot"
work_dir = "/home/user/project"
data_dir = "/home/user/.cc-connect/data/claude"
[project.claude-bot.agent]
type = "claude-code"
[project.claude-bot.platform]
type = "telegram"
token = "$TELEGRAM_CLAUDE_BOT_TOKEN"
Bot 2: Gemini (same group)
Bot 2: Gemini(同一个群聊)
[project.gemini-bot]
name = "gemini-bot"
work_dir = "/home/user/project"
data_dir = "/home/user/.cc-connect/data/gemini"
[project.gemini-bot.agent]
type = "gemini"
[project.gemini-bot.platform]
type = "telegram"
token = "$TELEGRAM_GEMINI_BOT_TOKEN"
Add both bots to the same Telegram group. Mention them by name and they will pick up and respond to each other's output.
---[project.gemini-bot]
name = "gemini-bot"
work_dir = "/home/user/project"
data_dir = "/home/user/.cc-connect/data/gemini"
[project.gemini-bot.agent]
type = "gemini"
[project.gemini-bot.platform]
type = "telegram"
token = "$TELEGRAM_GEMINI_BOT_TOKEN"
将两个Bot都添加到同一个Telegram群聊中,@它们的名称,它们就会接收并响应彼此的输出。
---Voice and Multimodal
语音与多模态支持
For platforms that support voice (Telegram, Feishu, DingTalk), enable speech in config:
toml
[speech]
provider = "openai" # openai | azure | google
api_key = "$OPENAI_API_KEY"
[speech.stt]
model = "whisper-1"
[speech.tts]
model = "tts-1"
voice = "alloy"Send a voice message in Telegram → cc-connect transcribes it → forwards text to the agent → optionally speaks the response back.
For images/screenshots: just attach the image in chat. cc-connect forwards it to multimodal-capable agents.
对于支持语音的平台(Telegram、飞书、钉钉),可在配置中启用语音功能:
toml
[speech]
provider = "openai" # 可选值:openai | azure | google
api_key = "$OPENAI_API_KEY"
[speech.stt]
model = "whisper-1"
[speech.tts]
model = "tts-1"
voice = "alloy"在Telegram中发送语音消息 → cc-connect会将其转录为文本 → 转发给Agent → 可选将响应转换为语音返回。
对于图片/截图:只需在聊天中附上图片,cc-connect会将其转发给支持多模态的Agent。
Cron Scheduling
Cron任务调度
toml
undefinedtoml
undefinedIn config.toml, per-project cron settings
在config.toml的项目配置中,设置cron相关参数
[project.mybot.cron]
timeout = "30m" # max runtime per job
fresh_session = true # start a new session for each run
From chat:
[project.mybot.cron]
timeout = "30m" # 每个任务的最大运行时长
fresh_session = true # 每次运行都启动新会话
在聊天中设置:
Every weekday at 9am, run a standup summary
每个工作日上午9点,运行站会总结
/cron 0 9 * * 1-5 Summarize open PRs and blockers in this repo
/cron 0 9 * * 1-5 Summarize open PRs and blockers in this repo
Every hour, check for new issues labeled "urgent"
每小时检查一次标记为"urgent"的新问题
/cron 0 * * * * Check for new GitHub issues labeled urgent and notify me
---/cron 0 * * * * Check for new GitHub issues labeled urgent and notify me
---Admin configuration
管理员配置
toml
[project.mybot]
admin_from = "alice,123456789" # comma-separated usernames or IDsAdmins can use , , and other privileged commands. Non-admins cannot.
/shell/dirtoml
[project.mybot]
admin_from = "alice,123456789" # 逗号分隔的用户名或ID管理员可使用、等特权命令,普通用户无法使用。
/shell/dirDirectory structure
目录结构
~/.cc-connect/
├── config.toml # main config
└── data/
└── projects/
└── my-project.state.json # persisted dir override, session state~/.cc-connect/
├── config.toml # 主配置文件
└── data/
└── projects/
└── my-project.state.json # 持久化的目录覆盖、会话状态Common patterns
常见使用场景
Pattern 1: Mobile-first AI development
场景1:移动优先的AI开发
Install cc-connect on your dev machine, connect it to Telegram. From your phone:
- Send a task description as a message
- Agent runs on your machine
- Streamed response appears in chat
- Reply to continue the conversation
在你的开发机器上安装cc-connect,连接到Telegram。然后在手机上:
- 发送任务描述作为消息
- Agent在你的机器上运行
- 流式响应会出现在聊天中
- 回复消息即可继续对话
Pattern 2: Team shared AI bot (Slack/Feishu)
场景2:团队共享AI Bot(Slack/飞书)
One cc-connect instance per project, shared in a team channel. Team members can ask questions, trigger code reviews, or run analyses — all without terminal access.
每个项目部署一个cc-connect实例,共享在团队频道中。团队成员可以提问、触发代码审查或运行分析 — 无需终端访问权限。
Pattern 3: Scheduled reports
场景3:定时报告
/cron 0 8 * * 1 Generate a weekly summary of commits and open issues, format as markdown/cron 0 8 * * 1 Generate a weekly summary of commits and open issues, format as markdownPattern 4: Multi-project routing
场景4:多项目路由
Run multiple projects in one process, each bot handles a different repo or concern.
cc-connect在单个进程中运行多个项目,每个Bot处理不同的仓库或业务需求。
cc-connectTroubleshooting
故障排查
Bot not responding
Bot无响应
- Check that is running:
cc-connectps aux | grep cc-connect - Verify the platform token/credentials in config
- For Telegram: ensure the bot token is valid (in BotFather chat)
/start - For Feishu: check WebSocket connection in Feishu Open Platform console
- 检查是否在运行:
cc-connectps aux | grep cc-connect - 验证配置文件中的平台令牌/凭证是否正确
- 对于Telegram:确保Bot令牌有效(在BotFather聊天中发送)
/start - 对于飞书:在飞书开放平台控制台检查WebSocket连接状态
Agent not found
Agent未找到
bash
undefinedbash
undefinedVerify agent is installed and in PATH
验证Agent是否已安装且在PATH中
which claude # for claude-code
which gemini # for gemini
which codex # for codex
Set explicit path in config if needed:
```toml
[project.mybot.agent]
type = "claude-code"
bin = "/usr/local/bin/claude"which claude # 针对claude-code
which gemini # 针对gemini
which codex # 针对codex
如果需要,可在配置中指定Agent的绝对路径:
```toml
[project.mybot.agent]
type = "claude-code"
bin = "/usr/local/bin/claude"Session inherits broken state
会话继承错误状态
Use which forks the session, or start fresh:
/continue/session new使用命令创建会话分支,或直接新建会话:
/continue/session newPersonal WeChat not available
个人微信功能不可用
You need the beta build:
bash
npm install -g cc-connect@beta
cc-connect weixin setup # scan QR in terminal你需要安装测试版:
bash
npm install -g cc-connect@beta
cc-connect weixin setup # 在终端中扫码登录Context too long / auto-compress
上下文过长 / 自动压缩
Enable in config:
toml
[project.mybot.agent]
auto_compress = true
compress_threshold = 80000 # tokens before compression kicks in在配置中启用自动压缩:
toml
[project.mybot.agent]
auto_compress = true
compress_threshold = 80000 # 达到该令牌数时触发压缩Config not found
配置文件未找到
Default path is . Pass explicitly:
~/.cc-connect/config.tomlbash
cc-connect --config /custom/path/config.toml默认路径为,可手动指定路径:
~/.cc-connect/config.tomlbash
cc-connect --config /custom/path/config.tomlCheck version
查看版本
bash
cc-connect --versionbash
cc-connect --versionEnvironment variables reference
环境变量参考
| Variable | Used for |
|---|---|
| Telegram bot token |
| Feishu app ID |
| Feishu app secret |
| Feishu verification token |
| Slack bot OAuth token ( |
| Slack app-level token ( |
| Discord bot token |
| DingTalk app client ID |
| DingTalk app client secret |
| WeChat Work corp ID |
| WeChat Work agent ID |
| WeChat Work app secret |
| OpenAI API key (for Codex agent or STT/TTS) |
Values in can reference env vars using syntax.
config.toml$VAR_NAME| 变量名称 | 用途 |
|---|---|
| Telegram Bot令牌 |
| 飞书应用ID |
| 飞书应用密钥 |
| 飞书验证令牌 |
| Slack Bot OAuth令牌(格式: |
| Slack应用级令牌(格式: |
| Discord Bot令牌 |
| 钉钉应用客户端ID |
| 钉钉应用客户端密钥 |
| 企业微信 corp ID |
| 企业微信 agent ID |
| 企业微信应用密钥 |
| OpenAI API密钥(用于Codex Agent或语音转文字/文字转语音功能) |
config.toml$VAR_NAMEPlatform setup guides
平台配置指南
- Feishu/Lark:
docs/feishu.md - DingTalk:
docs/dingtalk.md - Telegram:
docs/telegram.md - Slack:
docs/slack.md - Discord:
docs/discord.md - WeChat Work:
docs/wecom.md - Personal WeChat (beta):
docs/weixin.md - QQ / QQ Bot:
docs/qq.md
- 飞书/Lark:
docs/feishu.md - 钉钉:
docs/dingtalk.md - Telegram:
docs/telegram.md - Slack:
docs/slack.md - Discord:
docs/discord.md - 企业微信:
docs/wecom.md - 个人微信(测试版):
docs/weixin.md - QQ / QQ Bot:
docs/qq.md