cdnd Claude Code 中转站 cdnd

cc-connect 配置教程

更新于 2026-10-21 · 阅读约 14 分钟

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 安装教程。装好后确认命令可用:

Terminal
claude --version

第二步:让 Claude Code 能用

cc-connect 的 README 要求先完成 Claude Code 的登录认证,否则 Agent 会拒绝所有请求。用 cdnd 不需要登录 Claude 账号,按下一节配置 cdnd 即可。

第三步:安装并启动 cc-connect

任选一种安装方式:

Terminal
# npm(任意平台)
npm install -g cc-connect

# Homebrew(macOS / Linux)
brew install cc-connect

也可以从 Releases 直接下载二进制文件。然后启动:

Terminal
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 这边什么都不用改。

JSON
{
  "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。一个完整的项目配置(以飞书为例):

TOML
[[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 名称 随时切换,不用重启。

TOML
[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"

也可以用命令添加:

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

Terminal
cc-connect feishu setup --project my-project

扫码新建后,建议到飞书开放平台再确认一次应用的发布状态和可用范围。

钉钉

在钉钉开放平台创建应用,把 Client ID 和 Client Secret 填进配置,启用机器人能力,事件订阅选 Stream 模式。Stream 是长连接,不需要公网 IP 和域名。

微信个人号

个人微信走腾讯的 ilink 机器人网关,和企业微信(wecom)是两套东西。用命令在终端显示二维码,手机微信扫码确认后自动写配置:

Terminal
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

  1. 运行 cc-connect,给机器人发一句"你好"。
  2. 收到回复后,打开 cdnd 控制台看用量,这次请求应该出现在对应 Key 的记录里。
  3. 用的是方式一,可以在同一台机器上运行 claude,输入 /status,Anthropic base URL 显示 https://api.cdnd.sh 就对了。
  4. 用的是方式三,在聊天里发 /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 本身是免费开源软件,不经手计费。

现在开始

注册、创建 API Key、设置两行环境变量,几分钟内就能用上 Claude Code。