cc-connect 配置教程
cc-connect 是一个开源的桥接工具,把你电脑或服务器上的 Claude Code 接到飞书、钉钉、微信、Telegram 等聊天软件里。在手机上给机器人发消息,本机的 Claude Code 就会读代码、改代码、跑命令,再把结果回到聊天里。这篇 cc-connect 配置教程讲怎么安装、怎么让 cc-connect 启动的 Claude Code 使用 cdnd(Claude Code 中转站),以及各平台的接入要点。
cc-connect 是什么
cc-connect 用 Go 编写,MIT 协议开源。它支持 Claude Code、Codex、Gemini CLI、Cursor Agent 等多种 AI 编程工具,以及飞书、钉钉、Telegram、Slack、Discord、企业微信、微信个人号、QQ 等十多个聊天平台。大部分平台用长连接或长轮询收消息,不需要公网 IP。
接 Claude Code 时,cc-connect 启动的是你本机安装的 claude 命令行程序。找不到这个程序,cc-connect 会直接退出并报错 claudecode: claude CLI not found in PATH。
所以 cc-connect 能配合 cdnd 使用:请求是真正的 Claude Code 发出的,cc-connect 只负责转发聊天消息、给 Claude Code 设置环境变量。只有少数会改写请求的选项不能用,见注意事项。
安装 cc-connect
按这个顺序装,前一步没好,后一步会失败。
第一步:安装 Claude Code
看 Claude Code 安装教程。装好后确认命令可用:
claude --version
第二步:让 Claude Code 能用
cc-connect 的 README 要求先完成 Claude Code 的登录认证,否则 Agent 会拒绝所有请求。用 cdnd 不需要登录 Claude 账号,按下一节配置 cdnd 即可。
第三步:安装并启动 cc-connect
任选一种安装方式:
# npm(任意平台)
npm install -g cc-connect
# Homebrew(macOS / Linux)
brew install cc-connect
也可以从 Releases 直接下载二进制文件。然后启动:
cc-connect
第一次运行会自动生成配置文件 ~/.cc-connect/config.toml,并在终端打印 Web 管理后台的地址 http://localhost:9820。在后台里可以新建项目、添加聊天平台、管理服务商;喜欢手写配置的,直接编辑 config.toml。
注意 cc-connect web 只打开管理后台,不会启动服务本身,服务要用 cc-connect 单独运行。
配置 Claude Code 使用 cdnd
先在 cdnd 控制台 注册并创建一个 API Key(以 sk-cdnd- 开头)。下面三种方式选一种就够了,不要几处同时配,免得地址或 Key 不一致时不好排查。
| 方式 | 适合 |
|---|---|
| 写进 ~/.claude/settings.json | 这台机器上的 Claude Code 都用 cdnd |
| 项目级环境变量 | 只让 cc-connect 的某个项目用 cdnd |
| 添加为 provider | 想在聊天里用 /provider 切换多个服务商 |
方式一:写进 ~/.claude/settings.json(最简单)
cc-connect 启动的就是本机的 Claude Code,会读取同一个 ~/.claude/settings.json。如果你已经按 Claude Code 第三方 API 配置教程 配好,或者用 CC Switch 切到了 cdnd,cc-connect 这边什么都不用改。
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.cdnd.sh",
"ANTHROPIC_AUTH_TOKEN": "sk-cdnd-你的Key"
}
}
要用运行 cc-connect 的那个系统用户的 settings.json。如果开了 run_as_user 让 Agent 以另一个用户身份运行,那个用户需要有自己的 ~/.claude/settings.json。
方式二:在 config.toml 里给项目设环境变量
[projects.agent.options.env] 里的变量会注入到这个项目的 Claude Code 会话中,不影响全局的 settings.json。一个完整的项目配置(以飞书为例):
[[projects]]
name = "my-project"
[projects.agent]
type = "claudecode"
[projects.agent.options]
work_dir = "/path/to/your/project"
mode = "default"
[projects.agent.options.env]
ANTHROPIC_BASE_URL = "https://api.cdnd.sh"
ANTHROPIC_AUTH_TOKEN = "sk-cdnd-你的Key"
[[projects.platforms]]
type = "feishu"
[projects.platforms.options]
app_id = "cli_xxxxxxxx"
app_secret = "xxxxxxxx"
config.toml 里的字符串支持 ${变量名} 引用环境变量,不想把 Key 明文写进文件,可以写成 ANTHROPIC_AUTH_TOKEN = "${CDND_KEY}",再在启动 cc-connect 的环境里设置 CDND_KEY。
方式三:添加为 provider,在聊天里切换
provider 是 cc-connect 自己的服务商管理功能,可以配置多个,在聊天里用 /provider switch 名称 随时切换,不用重启。
[projects.agent.options]
work_dir = "/path/to/your/project"
mode = "default"
provider = "cdnd"
[[projects.agent.providers]]
name = "cdnd"
api_key = "sk-cdnd-你的Key"
base_url = "https://api.cdnd.sh"
也可以用命令添加:
cc-connect provider add --project my-project --name cdnd --api-key sk-cdnd-你的Key --base-url https://api.cdnd.sh
按 cc-connect 源码,provider 设置了 base_url 时,api_key 会作为 ANTHROPIC_AUTH_TOKEN 传给 Claude Code,正好是 cdnd 推荐的认证方式。如果你在 CC Switch 里已经有 cdnd,可以用 cc-connect provider import --project my-project 从 CC Switch 导入。
不要给 cdnd 这个 provider 设置 thinking 字段。 设置后 cc-connect 会在本机起一个代理改写请求,cdnd 只接受 Claude Code 原样发出的请求。
各平台接入要点
平台写在 [[projects.platforms]] 里,type 决定是哪个平台。下表来自 cc-connect 的平台接入文档:
| 平台 | type | 连接方式 | 需要公网 IP | 主要凭证 |
|---|---|---|---|---|
| 飞书 | feishu |
WebSocket | 不需要 | app_id、app_secret |
| 钉钉 | dingtalk |
Stream | 不需要 | client_id、client_secret |
| Telegram | telegram |
Long Polling | 不需要 | token |
| 微信个人号 | weixin |
HTTP 长轮询(ilink) | 不需要 | token(扫码获取) |
| 企业微信 | wecom |
WebSocket / Webhook | WebSocket 不需要 | bot_id、bot_secret |
| Slack | slack |
Socket Mode | 不需要 | bot_token、app_token |
另外还支持 Discord、QQ、QQ 官方机器人、LINE、Matrix、微博和 WPS 协作,各平台的完整步骤见仓库 docs/ 目录。
飞书
在飞书开放平台创建企业自建应用,拿到 App ID 和 App Secret 填进配置。也可以用命令扫码新建机器人,凭证会自动写回 config.toml:
cc-connect feishu setup --project my-project
扫码新建后,建议到飞书开放平台再确认一次应用的发布状态和可用范围。
钉钉
在钉钉开放平台创建应用,把 Client ID 和 Client Secret 填进配置,启用机器人能力,事件订阅选 Stream 模式。Stream 是长连接,不需要公网 IP 和域名。
微信个人号
个人微信走腾讯的 ilink 机器人网关,和企业微信(wecom)是两套东西。用命令在终端显示二维码,手机微信扫码确认后自动写配置:
cc-connect weixin setup --project my-project
接好后先在微信里给机器人发一条消息,否则它可能无法回复。
Telegram
在 Telegram 里找 BotFather 创建机器人,把拿到的 Bot Token 填到 token。如果服务器访问不了 Telegram 的接口,平台配置支持 proxy 选项,例如 proxy = "http://127.0.0.1:7890"。
限制谁能用机器人
机器人能在你的机器上执行命令,一定要收紧权限:
- 平台配置里的
allow_from写允许使用的用户 ID,不设置时所有人都能用。给机器人发/whoami可以拿到自己的 ID。 - 项目配置里的
admin_from控制谁能执行/shell、/dir等特权命令,默认所有人都不能执行。 mode = "default"时每次工具调用都要在聊天里回复"允许"确认,yolo模式会全部自动通过,谨慎使用。
验证是否走了 cdnd
- 运行
cc-connect,给机器人发一句"你好"。 - 收到回复后,打开 cdnd 控制台看用量,这次请求应该出现在对应 Key 的记录里。
- 用的是方式一,可以在同一台机器上运行
claude,输入/status,Anthropic base URL显示https://api.cdnd.sh就对了。 - 用的是方式三,在聊天里发
/provider,确认当前是cdnd。
聊天里返回报错时,按错误码排查:401 是 Key 不对,402 是余额用完,403 见下一节。完整的错误说明见第三方 API 配置教程。
注意事项
cdnd 只转发 Claude Code 自己发出的请求,其他客户端或者被改写过的请求会返回 403 cdnd serves Claude Code only。在 cc-connect 里要注意这几项:
- 只有 Claude Code 能用 cdnd。 项目的
type要是claudecode。Codex、Gemini CLI、Cursor Agent、OpenCode 等其他 Agent 不是 Claude Code,接 cdnd 会被拒绝。 - 不要设置
thinking。 它会让 cc-connect 起本地代理改写请求,见方式三。 - 不要设置
router_url。 这是 cc-connect 的 Claude Code Router 集成,请求会先经过 Router 再转发。两者的区别见 cdnd 和 Claude Code Router 对比。 - 用
append_system_prompt,不要用system_prompt。system_prompt会替换 Claude Code 默认的系统提示,cdnd 校验的正是 Claude Code 的系统提示,替换后请求可能被拒绝;append_system_prompt只在默认提示后面追加,没有这个问题。
用 cdnd 按 Anthropic 官方价格按量计费,价格见 Claude Code 价格。机器人可能被多人或定时任务频繁调用,建议给 cc-connect 单独建一个 Key,并在控制台给它设每月花费上限。
常见问题
cc-connect 能用 Claude Code 中转站吗?
能。cc-connect 启动的是本机真正的 Claude Code,只要给 Claude Code 设置好 ANTHROPIC_BASE_URL 和 ANTHROPIC_AUTH_TOKEN,请求就会发到中转站。用 cdnd 时地址填 https://api.cdnd.sh,Key 填 sk-cdnd- 开头的 Key,可以写在 settings.json、项目的 env 或 provider 里。
cc-connect 需要先登录 Claude 账号吗?
用 cdnd 不需要。cc-connect 要求 Claude Code 先能正常工作,官方 README 写的是先登录;如果已经用 cdnd 的 Key 配置了 Claude Code,就不用登录 Claude 账号,也不需要海外信用卡。
cc-connect 支持哪些聊天平台?
按官方 README,支持飞书、钉钉、Telegram、Slack、Discord、企业微信、微信个人号、QQ、QQ 官方机器人、LINE、Matrix、微博和 WPS 协作。除 LINE 和企业微信的 Webhook 模式外,大部分平台不需要公网 IP。
飞书或钉钉接入 cc-connect 需要公网 IP 吗?
不需要。飞书用 WebSocket 长连接,钉钉用 Stream 模式,都是 cc-connect 主动连出去,家里的电脑或没有公网 IP 的服务器也能用,不需要域名和内网穿透。
cc-connect 里的 Claude Code 报 403 cdnd serves Claude Code only 怎么办?
说明请求不是 Claude Code 原样发出的。检查项目的 type 是不是 claudecode,provider 有没有设置 thinking,有没有配置 router_url,以及是否用 system_prompt 替换了系统提示。去掉这些设置后重启 cc-connect 再试。
cc-connect 和 CC Switch 有什么区别?
CC Switch 是桌面应用,用来切换 Claude Code 连接哪个服务商;cc-connect 是桥接服务,让你在聊天软件里使用 Claude Code。两者可以一起用:CC Switch 把 Claude Code 切到 cdnd,cc-connect 启动的 Claude Code 也会跟着使用 cdnd。
通过 cc-connect 使用 cdnd 怎么收费?
和在终端直接用一样:按 Anthropic 官方美元价格计费,充值 ¥2 = $1,¥100 起充,没有月费。cc-connect 本身是免费开源软件,不经手计费。