我把 Claude Code 深度集成进日常内核开发之后,陆续有人问「这套怎么装」。这篇手记把从零到能用的全过程 记下来——nvm → npm → ccswitch → Claude Code → cc-connect → lark-cli → Docker,MacOS 和 Ubuntu 两套命令都在这,还有个不踩就卡死的坑。
🛠️ 总览:装什么、按什么顺序
/ section一共七样,顺序很重要:先装 nvm(管 Node 版本)和 npm(包管理器), 再装 ccswitch(切大模型),然后才是 Claude Code 本体、 cc-connect(接飞书机器人)、lark-cli(飞书文档/IM 操作)。最后 Docker 可选。
★ ⚠️ 一个必须先知道的坑:为什么会被要求 login
@latest 版 Claude Code 后,第一次跑可能被要求登录(login)。 ANTHROPIC_API_KEY、ANTHROPIC_BASE_URL 等)还没配置——这些变量写在 settings.json 的 env 块里,没配就没有 key 可用,Claude 就要求登录。 ccswitch use 配置名 会把对应 profile 的 key / base URL / model 写进 settings.json 的 env 块,配好之后就不会再触发 login。 ccswitch use 切换模型,就是重新写一遍 settings.json 的 env 块。切完若还被要求登录,先确认环境变量配好没有,或检查该 key 是否被记过 reject。 1. MacOS 安装(Ubuntu 大同小异)
/ column# 1.1 安装 nvm
brew install nvm
# 1.2 配置环境变量(~/.zshrc)
export NVM_DIR="$HOME/.nvm"
[ -s "/usr/local/opt/nvm/nvm.sh" ] && \. "/usr/local/opt/nvm/nvm.sh" # This loads nvm
[ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/usr/local/opt/nvm/etc/bash_completion.d/nvm"
# 1.3 应用配置
source ~/.zshrc
# 2 安装 npm
nvm install --lts
# 3 安装 cc-switch(GUI 桌面版,配置见下图)
# https://cc-switch.cc/tutorials
# 4 安装 Claude
npm config set registry https://registry.npmmirror.com # 换国内源
npm config set allow-scripts=@anthropic-ai/claude-code --location=user
npm install -g @anthropic-ai/claude-code@latest
# 5 安装及配置 cc-connect
npm install -g cc-connect
# 6 安装 lark-cli
npx @larksuite/cli@latest install 2. nvm / npm 安装(Ubuntu 实录)
/ column# nvm 安装(Node 版本管理工具)
curl -k -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
# => Downloading nvm from git to '/home/jiaqi/.nvm'
# => Cloning into '/home/jiaqi/.nvm'...
source ~/.bashrc # npm 安装
nvm install --lts
# Installing latest LTS version.
# Now using node v24.19.0 (npm v11.17.0) 3. ccswitch 安装及配置
/ columncurl -sSL https://raw.githubusercontent.com/huangdijia/ccswitch/main/install.sh | bash
# [SUCCESS] Binary installed to /home/jiaqi/.local/bin/ccswitch
echo 'export PATH="/home/jiaqi/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc
ccswitch --version ccswitch init # ~/.ccswitch 下创建必要的文件夹结构
ccswitch add <配置文件名称> # 例如:ccswitch add deepseek-claude
ccswitch use <你的配置名> # 切换到该配置 Mac 用户也可以装 cc-switch 的 GUI 桌面版(cc-switch.cc/tutorials),在图形界面里填 key 和 base URL—— 和上面命令行的 add 是同一件事的两种做法,界面如下。
# 配置一个接 DeepSeek 的 profile 实录
ccswitch init
# ✓ default configuration file created successfully: ~/.ccswitch/ccs.json
ccswitch add deepseek-claude
# Enter ANTHROPIC_API_KEY (or press Enter to skip): sk-***
# Enter ANTHROPIC_BASE_URL [https://api.anthropic.com]: https://api.deepseek.com/anthropic
# Enter ANTHROPIC_MODEL [opus]:
# ✓ Profile 'deepseek-claude' added successfully!
ccswitch use deepseek-claude
# ✓ Successfully switched to profile: deepseek-claude 4. 安装 Claude Code
/ column官方文档见 code.claude.com/docs/zh-CN/setup。三种装法,前两种国内都有坑,推荐第三种 npm。
# 1. 官方(国内受限)
curl -fsSL https://claude.ai/install.sh | bash
# 2. 国内社区脚本(装了 ccswitch 就建议别用,会环境变量冲突)
curl -fsSL https://www.qiaoqiaoyun.com/claude/install-claude-code.sh | bash
# 3. npm 方式(推荐)
npm config set registry https://registry.npmmirror.com # 换国内源
npm config set allow-scripts=@anthropic-ai/claude-code --location=user
npm install -g @anthropic-ai/claude-code@latest 配大模型之前,先清理掉 .claude.json 里被记成 reject 的 key——它在「是否信任此 API key」弹窗里 按 key 末 20 位缓存 approve/reject。某把 key 一旦被记成 reject,Claude 就拒绝用它、转而要求登录; 清掉后重进 Claude 再选一次 yes,才重新接受这把 key。
重新进 Claude 后,遇到询问就选 YES。
YES 之后就是国产大模型在跑了,登录这关跳过。
5. 安装 cc-connect(接飞书)
/ columnnpm install -g cc-connect
# 若提示 allow-scripts 未覆盖,补一句:
npm install -g --allow-scripts=cc-connect cc-connect # 生成默认配置
cc-connect config example > config.toml 接飞书:执行 cc-connect feishu setup 会生成一个授权链接,打开后选择 「创建新 Bot」或「选择已有 Bot」,完成后把拿到的 app_id / app_secret 填进下面的 config.toml。
# config.toml 关键字段
language = "zh"
[log]
level = "info"
[display]
mode = "quiet" # 飞书聊天卡片不显示思考过程
[[projects]]
name = "项目名称"
admin_from = "启动 cc-connect 服务后,发 /whoami 获取 User ID"
[projects.agent]
type = "claudecode"
[projects.agent.options]
work_dir = "cc-connect 的工作路径"
mode = "default"
[[projects.platforms]]
type = "feishu"
[projects.platforms.options]
app_id = "飞书 Bot 的 APP ID(feishu setup 拿到)"
app_secret = "飞书 Bot 的 APP Secret(feishu setup 拿到)"
allow_from = "启动 cc-connect 服务后,发 /whoami 获取 User ID" # 装 daemon 服务并启动
cc-connect daemon install
cc-connect daemon restart # 更新配置后跑一下 daemon 起来后,在飞书里找到刚创建的 Bot 发一句就能聊——配置完成后的聊天界面长这样。
6. 安装 lark-cli(飞书 skill)
/ column# 手动安装
npx @larksuite/cli@latest install
# 装完配凭证并授权
lark-cli config init --new --brand feishu --lang zh
lark-cli auth login --recommend
lark-cli auth status --verify auth login 会生成一个授权链接,打开并同意后回到终端,再用 auth status --verify 验证登录态和 scope 是否齐。
7. Docker(可选)
/ columncurl -fsSL https://get.docker.com | sudo bash -s docker --mirror Aliyun
# 加入 docker 组,之后不用每次 sudo
sudo usermod -aG docker $USER
newgrp docker
docker run --rm hello-world 这套下来,Claude Code 就能换着国产大模型跑、又能挂进飞书当机器人。装的时候卡在哪一步,回来翻这篇。
站长手记 · 教程