macOS 安装教程
系统要求
操作系统:macOS 13.0 或更高版本
处理器:Apple Silicon (M1/M2/M3/M4) 或 Intel
内存:至少 4GB RAM
磁盘空间:至少 500MB 可用空间
运行环境:Node.js 22 或更高版本(npm 安装方式需要;用官方脚本安装则不需要)
其他:无 —— macOS 默认自带 curl,不需要额外装 Git
网络:需要互联网连接
第一步:安装 Node.js 22+
用 Homebrew 安装(没有 Homebrew 先去 brew.sh 装):
brew install node@22
或者到 nodejs.org 下载 macOS 安装包,双击安装。
验证安装:
node --version
应该显示
v22.x或更高版本
第二步:安装 Claude Code
按服务器所在位置选一种方式:
方式一:官方安装脚本(海外服务器)
curl -fsSL https://claude.ai/install.sh | bash
官方脚本从
claude.ai域名下载安装,海外服务器可直接使用。不要加sudo运行——脚本会检测到 sudo 并拒绝执行(它把文件装到$HOME下,不需要 root)。
方式二:npm 安装(国内服务器,推荐)
npm config set registry https://registry.npmmirror.com
npm install -g @anthropic-ai/claude-code
关于是否加
sudo:取决于你的 Node 是怎么装的——
- 用 Homebrew 或官网包装的 Node:全局目录归 root 所有,普通用户直接装会报EACCES: permission denied,需要加sudo`` - 用 nvm 装的 Node:全局目录在你自己家目录,**不要加sudo`
- 没有 sudo 权限:把全局目录改到用户目录即可,见下方"没有 sudo 权限怎么办"本教程第一步是 Homebrew 安装,属于第一种情况,加
sudo执行:
bash sudo npm install -g @anthropic-ai/claude-code
验证安装:
claude --version
显示版本号说明安装成功(本文基于 Claude Code 2.1.x 编写)
没有 sudo 权限怎么办(点开展开)
把 npm 全局目录改到用户家目录,之后安装都不需要 root:npm config set prefix ~/.npm-global
echo 'export PATH=$HOME/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
npm install -g @anthropic-ai/claude-code
第三步:运行诊断
claude doctor
检查安装是否完整,有问题会提示你。运行后会显示诊断结果,按 Enter 键退出。
claude doctor最后会等待你按 Enter 才退出,如果超时未响应会自动结束。
第四步:验证安装
claude --version
应该显示 Claude Code v2.x.x
关于登录:启动 Claude Code 时会提示
Not logged in · Run /login,这是登录 Anthropic 官方账号(需要海外信用卡)。国内用户使用 MiMo 官方端点不需要登录 Anthropic 账号,直接跳过即可。
第五步:开始使用
在项目目录中启动 Claude Code:
cd your-project
claude
单次查询:
claude -p "帮我写一个 Python 脚本"
接入国内模型(MiMo 官方直连)
小米 MiMo 已原生支持 Anthropic API 格式,Claude Code 可以直接连接,不需要任何格式转换工具。
前提条件
- 已完成 Claude Code 安装
- 有小米 MiMo 的 API Key,在 MiMo 开放平台 创建,分两种:
- 按量付费 Key:格式
sk-xxxxx,配api.xiaomimimo.com端点(本文主流程) - Token Plan 订阅 Key:格式
tp-xxxxx,端点不同,见第四步末尾说明
第一步:获取 API Key
前往 MiMo 控制台 → API Keys 创建 API Key,格式为 sk-xxxxx。
第二步:清除可能冲突的旧环境变量
如果你之前配置过 Anthropic 官方 API,先清掉这两个变量,否则新配置可能不生效:
unset ANTHROPIC_AUTH_TOKEN ANTHROPIC_BASE_URL
同时检查
~/.bashrc里有没有写死的旧值,有就一并删掉。
第三步:跳过登录引导
创建(或编辑)~/.claude.json,跳过首次启动的 Anthropic 登录页:
mkdir -p ~/.claude
cat > ~/.claude.json << 'EOF'
{
"hasCompletedOnboarding": true
}
EOF
这步对单独使用
claude命令有效;如果后面要接飞书(larkcc),它启动时也会自动补写这个字段,无需重复操作。
第四步:配置模型(推荐用配置文件)
创建 ~/.claude/settings.json(目录不存在就自己建),把 Key 换成你自己的:
mkdir -p ~/.claude
cat > ~/.claude/settings.json << 'EOF'
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.xiaomimimo.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "sk-你的API Key",
"ANTHROPIC_MODEL": "mimo-v2.6-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "mimo-v2.6-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "mimo-v2.6-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "mimo-v2.6-pro",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
}
}
EOF
ANTHROPIC_AUTH_TOKEN填你的 API Key。三个ANTHROPIC_DEFAULT_*_MODEL是给 Claude Code 的 Sonnet / Opus / Haiku 档位做映射,让它们都走 MiMo。
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC阻止 Claude Code 向 Anthropic 服务器发遥测和更新检查,国内建议加上。
模型名说明:mimo-v2.5-pro/mimo-v2.5官方已公告 2026 年 10 月 21 日下线,新配置请用mimo-v2.6-pro(当前旗舰,官方选型指南推荐用于复杂项目和长程任务);日常高频调用也可选mimo-v2.6-flash,把上面五处模型名一起换掉即可。
如果你是 Token Plan 订阅用户(Key 以 tp- 开头):Base URL 与按量付费不同,把上面配置里的第一行换成:
"ANTHROPIC_BASE_URL": "https://token-plan-cn.xiaomimimo.com/anthropic",
其余字段相同。
也可以用环境变量(备选):把下面几行写入 ~/.bashrc,效果相同,但 VS Code 插件读不到,需要单独再配一次。
cat >> ~/.bashrc << 'EOF'
export ANTHROPIC_BASE_URL="https://api.xiaomimimo.com/anthropic"
export ANTHROPIC_AUTH_TOKEN="sk-你的API Key"
export ANTHROPIC_MODEL="mimo-v2.6-pro"
export ANTHROPIC_DEFAULT_SONNET_MODEL="mimo-v2.6-pro"
export ANTHROPIC_DEFAULT_OPUS_MODEL="mimo-v2.6-pro"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="mimo-v2.6-pro"
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
EOF
source ~/.bashrc
第五步:验证
重新打开一个终端窗口让配置生效,然后单次查询测试完整链路:
claude -p "1+1等于几?"
返回数字
2(如1+1 = 2。)即表示 Claude Code → MiMo 全链路打通。
输出开头可能看到一段"mimo-v2.6-pro" isn't described by this version's model catalog...和一行[claude-code:unrecognized_model],这是 Claude Code 对第三方模型 ID 的上下文窗口提示,不是错误,不影响回答,忽略即可。
完整链路示意
用户输入
↓
Claude Code(Anthropic 格式)
↓
MiMo API(api.xiaomimimo.com/anthropic,原生兼容,无需转换)
↓
返回结果
对接飞书
Claude Code 官方不支持飞书,但社区做了桥接工具。以下使用
larkcc实现(经过实测验证)。
前提条件
- 已完成 Claude Code 安装
- 已完成上面的模型接入(MiMo 官方直连,或直接使用 Anthropic 官方 API)
- 有飞书开放平台的应用凭证
第一步:安装 larkcc
npm install -g larkcc
是否加
sudo同第二步:NodeSource / Homebrew 安装的 Node 需要加;nvm 安装的不加。
验证安装:
larkcc --version
应该显示
0.13.0或更高版本
第二步:创建飞书应用
- 打开 飞书开放平台
- 点击 创建企业自建应用
- 填写应用名称(如"Claude Code 助手")和描述
- 创建完成后,在 凭证与基础信息 页面获取 App ID 和 App Secret
第三步:配置飞书应用权限
在飞书开发者后台,进入你的应用,依次配置:
1. 启用机器人能力
左侧菜单 → 应用能力 → 机器人 → 开启
2. 添加权限
左侧菜单 → 权限管理 → 搜索并开通以下权限:
| 权限 | 用途 | 必需 |
|---|---|---|
| 获取单聊、群组消息 | im:message:readonly |
是 |
| 获取与上传图片、文件等资源 | im:resource |
是 |
| 以应用的身份发消息 | im:message:send_as_bot |
是 |
| 读取用户发给机器人的单聊消息 | im:message.p2p_msg:readonly |
是 |
| 添加、取消消息表情回复 | im:message.reactions:write_only |
是 |
| 创建、编辑云文档(长回复转文档用) | docx:document:write_only、docx:document:readonly |
推荐 |
| 删除云空间文件(旧文档清理用) | drive:file |
推荐 |
| CardKit 流式输出 | cardkit:card:write |
推荐 |
| 获取群组中用户@机器人消息 | im:message.group_at_msg:readonly |
群聊 |
权限名称说明:飞书已把早期的"基础消息
im:message"拆分为上表前两项。在后台搜索时如果搜不到旧名称,直接搜"消息""资源"即可;拆分权限都开通后,消息收发主流程不受影响。后两项(云文档/云空间)用于 larkcc 的超长回复转文档和旧文档清理,不开也能对话,只是长回复会被拆分发送。
3. 配置事件订阅
左侧菜单 → 事件与回调 → 订阅方式 → 选择 使用长连接接收事件/回调
然后添加事件:接收消息 im.message.receive_v1
4. 发布应用
左侧菜单 → 版本管理与发布 → 创建版本 → 填写版本号和更新说明 → 提交审核
应用必须发布后才能正常使用。发布后机器人状态应为 已激活(activate_status=1)。
排查提示:如果后面机器人收不到消息,而 larkcc 日志显示已连接,重点查这两处——① 是否有"创建了版本但没发布"的草稿(草稿会让线上机器人停用);② 应用能力里的机器人开关是否开着。自建企业应用还要确认管理员没有停用该应用、可用范围包含你的账号。
第四步:配置 larkcc
larkcc --setup 会提示你输入 App ID 和 App Secret 并自动生成配置(0.13.0 实测可用)。也可以手动创建,效果相同:
创建配置目录:
mkdir -p ~/.larkcc
创建配置文件(先用占位符,后面再替换 open_id):
复制以下整个代码块,粘贴到终端后按回车执行:
cat > ~/.larkcc/config.yml << 'EOF'
feishu:
app_id: "你的 App ID"
app_secret: "你的 App Secret"
owner_open_id: "ou_占位符后面替换"
EOF
将 你的 App ID 和 你的 App Secret 替换为真实值。按 Enter 确认。
owner_open_id的占位符必须替换成真实 open_id 才能收到消息(替换方法见第五、六步)。如果把这行留空,larkcc 会在收到第一条消息时自动填入。
第五步:启动 larkcc 获取 open_id
创建 screen 会话并启动 larkcc:
screen -S larkcc-temp
在 screen 会话中执行:
larkcc
终端会实时显示日志。打开飞书,给机器人发一条消息(如"你好")。
你会在终端看到类似这样的日志:
Ignored message from unknown user: ou_2ae3ade3e7a4fdefd5d878c797a7622f
ou_开头的那串就是你的 open_id,复制下来。按 Ctrl + C 停止 larkcc。
看到这行Ignored message from unknown user是正常现象:说明消息已经通了,只是还没配置你的身份,替换 open_id 后即可。
第六步:更新配置文件
用你的真实 open_id 替换占位符:
sed -i 's/ou_占位符后面替换/你的真实open_id/' ~/.larkcc/config.yml
验证替换是否成功:
cat ~/.larkcc/config.yml
第七步:启动 larkcc(后台常驻)
先停止之前临时启动的 larkcc(在临时 screen 会话中按 Ctrl + C):
screen -r larkcc-temp
# 按 Ctrl + C 停止,然后按 Ctrl + A 再按 D 分离
# 或者直接终止:
screen -X -S larkcc-temp quit
macOS 自带 screen,无需安装。创建正式的 screen 会话并启动 larkcc:
screen -S larkcc
在 screen 会话中执行:
larkcc
看到
Feishu connected!只代表长连接建立成功,不代表能收到消息——以第八步的实际收发为准。
看到 Feishu connected! 后,按 Ctrl + A 然后按 D 分离会话(detach)。
分离后 larkcc 会在后台持续运行,关掉终端也不会停止。重新连接用
screen -r larkcc。
第八步:验证飞书连接
在飞书中给机器人发一条消息(如"你好"),收到回复才算连接成功。
Feishu connected!只说明 WebSocket 连上了飞书服务器;能不能真正收发,必须用实际消息验证。发消息没反应时,按下面"常见问题"逐项排查。
注意事项
- 服务运行时电脑需保持开机和联网状态
getBotInfo failed错误可忽略,不影响通信- 启动日志出现
Ignored message from unknown user: ou_xxx= open_id 占位符还没替换,去第六步 - 如需群聊支持,需额外添加
im:message.group_at_msg:readonly权限 - 单聊和群聊共用同一个 Claude Code session
常见问题
Q: `claude` 命令找不到?
检查安装路径是否在 PATH 中:
macOS/Linux:
echo $PATH | grep -o "$HOME/.local/bin" || echo "PATH not set"
export PATH="$HOME/.local/bin:$PATH"
如果用的是 npm 用户目录安装(
npm config set prefix ~/.npm-global),把上面两行的$HOME/.local/bin换成$HOME/.npm-global/bin。
Windows:
where claude
如果找不到,检查系统 PATH 环境变量。
Q: npm install -g 报 EACCES: permission denied?
这是全局目录权限问题,两种解法(详见第二步说明):
# 有 sudo 权限:加 sudo 装
sudo npm install -g @anthropic-ai/claude-code
# 没有 sudo 权限:全局目录改到用户目录
npm config set prefix ~/.npm-global
echo 'export PATH=$HOME/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
npm install -g @anthropic-ai/claude-code
Q: 登录失败怎么办?
rm -rf ~/.claude
claude
Q: 输出里有 unrecognized_model 提示?
"mimo-v2.6-pro" isn't described by this version's model catalog... 这行是 Claude Code 对第三方模型 ID 的上下文窗口假设提示,不是报错,请求照常发送,忽略即可。
Q: 如何更新到最新版?
claude update
Q: Claude Code 回复报 404 错误?
检查 ANTHROPIC_BASE_URL 是否指向 MiMo 官方端点:
echo $ANTHROPIC_BASE_URL
按量付费用户应为
https://api.xiaomimimo.com/anthropic;Token Plan 用户应为https://token-plan-cn.xiaomimimo.com/anthropic。
Q: Claude Code 回复报 401 Invalid API Key?
Key 无效或复制不完整,去 MiMo 控制台 重新创建 Key,并确认 Key 类型与 Base URL 匹配(sk- 按量付费 / tp- Token Plan)。
Q: 飞书机器人没有反应?
按顺序排查:
- larkcc 日志有没有
Ignored message from unknown user: ou_xxx——有 = 消息通了但 open_id 占位符没替换,去第六步 - 确认应用已发布且机器人状态为"已激活"(activate_status=1);检查是否有未发布的版本草稿
- 确认事件订阅方式为"长连接",且已订阅
im.message.receive_v1事件 - 确认权限已开通且同步到了已发布版本(改权限后要重新发布版本才生效)
- 检查 larkcc 终端是否有错误输出
常用管理命令速查
| 作用 | 命令 |
|---|---|
| 启动交互模式 | claude |
| 单次查询 | claude -p "问题" |
| 查看版本 | claude --version |
| 诊断安装问题 | claude doctor |
| 更新到最新版 | claude update |
| 启动飞书桥接服务 | larkcc |
| 后台运行飞书桥接 | larkcc -d |
| 继续上次会话 | larkcc -c |
| 查看运行中的进程 | larkcc --ps |
| 停止所有飞书桥接进程 | larkcc --kill-all |
Windows 安装教程
系统要求
操作系统:Windows 10 (1809+) 或更高版本
处理器:x64 架构 CPU
内存:至少 4GB RAM
磁盘空间:至少 500MB 可用空间
运行环境:Node.js 22 或更高版本(npm 安装方式需要;用官方脚本安装则不需要)
其他:Git for Windows(官方推荐,装上后 Claude Code 才能用 Bash 工具);也可以改装 WSL2,见下方方式一
网络:需要互联网连接
方式一:在 WSL2 中安装(官方推荐)
小米官方文档建议 Windows 用户在 WSL 或 Git Bash 中执行安装命令,
所以推荐先用 WSL2,装好后与 Linux 教程完全一致。
1. 安装 WSL2
打开 PowerShell(以管理员身份运行),执行:
wsl --install
重启电脑后,从开始菜单打开 Ubuntu,按提示设置用户名和密码。
2. 安装 Node.js 22+
在 Ubuntu 终端中执行(用 nvm 安装,最省事):
curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
source ~/.bashrc
nvm install 22
或者到 nodejs.org 下载 Linux 二进制包手动安装。
3. 安装 Claude Code
在 Ubuntu 终端中执行(与 Linux 教程相同):
npm config set registry https://registry.npmmirror.com
npm install -g @anthropic-ai/claude-code
本方式是 nvm 安装的 Node,全局目录在你自己家目录,不要加
sudo。如果安装时仍报EACCES: permission denied,参考下方"没有 sudo 权限怎么办"改用用户目录安装。
验证安装:
claude --version
显示版本号说明安装成功
装好后,后面的「接入国内模型」「对接飞书」等步骤与 Linux 教程完全一致,直接往下看即可。
方式二:原生 Windows(PowerShell)
1. 安装 Node.js 22+
到 nodejs.org 下载 Windows 安装包(选 LTS),双击安装,
安装时保持勾选 Add to PATH。
验证安装(重新开一个 PowerShell 窗口):
node --version
应该显示
v22.x或更高版本
2. 安装 Git for Windows(推荐)
到 git-scm.com/download/win 下载安装。
装上后 Claude Code 可以使用 Bash 工具;不装则退化为使用 PowerShell。
3. 安装 Claude Code
按服务器所在位置选一种方式:
方式甲:官方安装脚本(海外服务器)
Windows 用户请以管理员身份运行 PowerShell,否则可能遇到权限问题。
打开 PowerShell(以管理员身份运行),执行:
irm https://claude.ai/install.ps1 | iex
官方脚本从
claude.ai域名下载安装,海外服务器可直接使用。
方式乙:npm 安装(国内服务器,推荐)
在 PowerShell 中执行:
npm config set registry https://registry.npmmirror.com
npm install -g @anthropic-ai/claude-code
如果提示权限不足(
EACCES/permission denied),以管理员身份重新打开 PowerShell 再执行,或把全局目录改到用户目录:```powershell
npm config set prefix "$HOME.npm-global"```
设好后重开 PowerShell 窗口再装。
验证安装:
claude --version
显示版本号说明安装成功
4. 运行诊断
claude doctor
检查安装是否完整,有问题会提示你。
5. 开始使用
在项目目录中启动 Claude Code:
cd your-project
claude
单次查询:
claude -p "帮我写一个 Python 脚本"
关于登录:启动 Claude Code 时会提示
Not logged in · Run /login,这是登录 Anthropic 官方账号(需要海外信用卡)。国内用户使用 MiMo 官方端点不需要登录 Anthropic 账号,直接跳过即可。
接入国内模型(MiMo 官方直连)
小米 MiMo 已原生支持 Anthropic API 格式,Claude Code 可以直接连接,不需要任何格式转换工具。
前提条件
- 已完成 Claude Code 安装
- 有小米 MiMo 的 API Key,在 MiMo 开放平台 创建,分两种:
- 按量付费 Key:格式
sk-xxxxx,配api.xiaomimimo.com端点(本文主流程) - Token Plan 订阅 Key:格式
tp-xxxxx,端点不同,见第四步末尾说明
第一步:获取 API Key
前往 MiMo 控制台 → API Keys 创建 API Key,格式为 sk-xxxxx。
第二步:清除可能冲突的旧环境变量
如果你之前配置过 Anthropic 官方 API,先清掉这两个变量,否则新配置可能不生效:
unset ANTHROPIC_AUTH_TOKEN ANTHROPIC_BASE_URL
同时检查
~/.bashrc里有没有写死的旧值,有就一并删掉。
第三步:跳过登录引导
创建(或编辑)~/.claude.json,跳过首次启动的 Anthropic 登录页:
mkdir -p ~/.claude
cat > ~/.claude.json << 'EOF'
{
"hasCompletedOnboarding": true
}
EOF
这步对单独使用
claude命令有效;如果后面要接飞书(larkcc),它启动时也会自动补写这个字段,无需重复操作。
第四步:配置模型(推荐用配置文件)
创建 ~/.claude/settings.json(目录不存在就自己建),把 Key 换成你自己的:
mkdir -p ~/.claude
cat > ~/.claude/settings.json << 'EOF'
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.xiaomimimo.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "sk-你的API Key",
"ANTHROPIC_MODEL": "mimo-v2.6-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "mimo-v2.6-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "mimo-v2.6-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "mimo-v2.6-pro",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
}
}
EOF
ANTHROPIC_AUTH_TOKEN填你的 API Key。三个ANTHROPIC_DEFAULT_*_MODEL是给 Claude Code 的 Sonnet / Opus / Haiku 档位做映射,让它们都走 MiMo。
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC阻止 Claude Code 向 Anthropic 服务器发遥测和更新检查,国内建议加上。
模型名说明:mimo-v2.5-pro/mimo-v2.5官方已公告 2026 年 10 月 21 日下线,新配置请用mimo-v2.6-pro(当前旗舰,官方选型指南推荐用于复杂项目和长程任务);日常高频调用也可选mimo-v2.6-flash,把上面五处模型名一起换掉即可。
如果你是 Token Plan 订阅用户(Key 以 tp- 开头):Base URL 与按量付费不同,把上面配置里的第一行换成:
"ANTHROPIC_BASE_URL": "https://token-plan-cn.xiaomimimo.com/anthropic",
其余字段相同。
也可以用环境变量(备选):把下面几行写入 ~/.bashrc,效果相同,但 VS Code 插件读不到,需要单独再配一次。
cat >> ~/.bashrc << 'EOF'
export ANTHROPIC_BASE_URL="https://api.xiaomimimo.com/anthropic"
export ANTHROPIC_AUTH_TOKEN="sk-你的API Key"
export ANTHROPIC_MODEL="mimo-v2.6-pro"
export ANTHROPIC_DEFAULT_SONNET_MODEL="mimo-v2.6-pro"
export ANTHROPIC_DEFAULT_OPUS_MODEL="mimo-v2.6-pro"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="mimo-v2.6-pro"
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
EOF
source ~/.bashrc
第五步:验证
重新打开一个终端窗口让配置生效,然后单次查询测试完整链路:
claude -p "1+1等于几?"
返回数字
2(如1+1 = 2。)即表示 Claude Code → MiMo 全链路打通。
输出开头可能看到一段"mimo-v2.6-pro" isn't described by this version's model catalog...和一行[claude-code:unrecognized_model],这是 Claude Code 对第三方模型 ID 的上下文窗口提示,不是错误,不影响回答,忽略即可。
完整链路示意
用户输入
↓
Claude Code(Anthropic 格式)
↓
MiMo API(api.xiaomimimo.com/anthropic,原生兼容,无需转换)
↓
返回结果
对接飞书
Claude Code 官方不支持飞书,但社区做了桥接工具。以下使用
larkcc实现(经过实测验证)。
前提条件
- 已完成 Claude Code 安装
- 已完成上面的模型接入(MiMo 官方直连,或直接使用 Anthropic 官方 API)
- 有飞书开放平台的应用凭证
第一步:安装 larkcc
npm install -g larkcc
是否加
sudo同安装说明:NodeSource / Homebrew 安装的 Node 需要加;nvm 安装的不加。
验证安装:
larkcc --version
应该显示
0.13.0或更高版本
第二步:创建飞书应用
- 打开 飞书开放平台
- 点击 创建企业自建应用
- 填写应用名称(如"Claude Code 助手")和描述
- 创建完成后,在 凭证与基础信息 页面获取 App ID 和 App Secret
第三步:配置飞书应用权限
在飞书开发者后台,进入你的应用,依次配置:
1. 启用机器人能力
左侧菜单 → 应用能力 → 机器人 → 开启
2. 添加权限
左侧菜单 → 权限管理 → 搜索并开通以下权限:
| 权限 | 用途 | 必需 |
|---|---|---|
| 获取单聊、群组消息 | im:message:readonly |
是 |
| 获取与上传图片、文件等资源 | im:resource |
是 |
| 以应用的身份发消息 | im:message:send_as_bot |
是 |
| 读取用户发给机器人的单聊消息 | im:message.p2p_msg:readonly |
是 |
| 添加、取消消息表情回复 | im:message.reactions:write_only |
是 |
| 创建、编辑云文档(长回复转文档用) | docx:document:write_only、docx:document:readonly |
推荐 |
| 删除云空间文件(旧文档清理用) | drive:file |
推荐 |
| CardKit 流式输出 | cardkit:card:write |
推荐 |
| 获取群组中用户@机器人消息 | im:message.group_at_msg:readonly |
群聊 |
权限名称说明:飞书已把早期的"基础消息
im:message"拆分为上表前两项。在后台搜索时如果搜不到旧名称,直接搜"消息""资源"即可;拆分权限都开通后,消息收发主流程不受影响。后两项(云文档/云空间)用于 larkcc 的超长回复转文档和旧文档清理,不开也能对话,只是长回复会被拆分发送。
3. 配置事件订阅
左侧菜单 → 事件与回调 → 订阅方式 → 选择 使用长连接接收事件/回调
然后添加事件:接收消息 im.message.receive_v1
4. 发布应用
左侧菜单 → 版本管理与发布 → 创建版本 → 填写版本号和更新说明 → 提交审核
应用必须发布后才能正常使用。发布后机器人状态应为 已激活(activate_status=1)。
排查提示:如果后面机器人收不到消息,而 larkcc 日志显示已连接,重点查这两处——① 是否有"创建了版本但没发布"的草稿(草稿会让线上机器人停用);② 应用能力里的机器人开关是否开着。自建企业应用还要确认管理员没有停用该应用、可用范围包含你的账号。
第四步:配置 larkcc
larkcc --setup 会提示你输入 App ID 和 App Secret 并自动生成配置(0.13.0 实测可用)。也可以手动创建,效果相同:
创建配置目录:
mkdir -p ~/.larkcc
创建配置文件(先用占位符,后面再替换 open_id):
复制以下整个代码块,粘贴到终端后按回车执行:
cat > ~/.larkcc/config.yml << 'EOF'
feishu:
app_id: "你的 App ID"
app_secret: "你的 App Secret"
owner_open_id: "ou_占位符后面替换"
EOF
将 你的 App ID 和 你的 App Secret 替换为真实值。按 Enter 确认。
owner_open_id的占位符必须替换成真实 open_id 才能收到消息(替换方法见第五、六步)。如果把这行留空,larkcc 会在收到第一条消息时自动填入。
第五步:启动 larkcc 获取 open_id
创建 screen 会话并启动 larkcc:
screen -S larkcc-temp
在 screen 会话中执行:
larkcc
终端会实时显示日志。打开飞书,给机器人发一条消息(如"你好")。
你会在终端看到类似这样的日志:
Ignored message from unknown user: ou_2ae3ade3e7a4fdefd5d878c797a7622f
ou_开头的那串就是你的 open_id,复制下来。按 Ctrl + C 停止 larkcc。
看到这行Ignored message from unknown user是正常现象:说明消息已经通了,只是还没配置你的身份,替换 open_id 后即可。
第六步:更新配置文件
用你的真实 open_id 替换占位符:
sed -i 's/ou_占位符后面替换/你的真实open_id/' ~/.larkcc/config.yml
验证替换是否成功:
cat ~/.larkcc/config.yml
第七步:启动 larkcc(保持运行)
先停止之前临时启动的 larkcc(按 Ctrl + C)。
Windows 没有 screen,有两种方式保持 larkcc 运行:
方式一:单独开一个终端窗口(最简单)
新建一个终端窗口,运行:
larkcc
保持这个窗口不要关闭,机器人就能持续运行。
方式二:后台运行(关窗口不停)
start /b larkcc > larkcc.log 2>&1
查看日志:
type larkcc.log
看到
Feishu connected!只代表长连接建立成功,不代表能收到消息——以第八步的实际收发为准。
第八步:验证飞书连接
在飞书中给机器人发一条消息(如"你好"),收到回复才算连接成功。
Feishu connected!只说明 WebSocket 连上了飞书服务器;能不能真正收发,必须用实际消息验证。发消息没反应时,按下面"常见问题"逐项排查。
注意事项
- 服务运行时电脑需保持开机和联网状态
getBotInfo failed错误可忽略,不影响通信- 启动日志出现
Ignored message from unknown user: ou_xxx= open_id 占位符还没替换,去第六步 - 如需群聊支持,需额外添加
im:message.group_at_msg:readonly权限 - 单聊和群聊共用同一个 Claude Code session
常见问题
Q: `claude` 命令找不到?
检查安装路径是否在 PATH 中:
macOS/Linux:
echo $PATH | grep -o "$HOME/.local/bin" || echo "PATH not set"
export PATH="$HOME/.local/bin:$PATH"
如果用的是 npm 用户目录安装(
npm config set prefix ~/.npm-global),把上面两行的$HOME/.local/bin换成$HOME/.npm-global/bin。
Windows:
where claude
如果找不到,检查系统 PATH 环境变量。
Q: npm install -g 报 EACCES: permission denied?
这是全局目录权限问题,两种解法(详见安装说明):
# 有 sudo 权限:加 sudo 装
sudo npm install -g @anthropic-ai/claude-code
# 没有 sudo 权限:全局目录改到用户目录
npm config set prefix ~/.npm-global
echo 'export PATH=$HOME/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
npm install -g @anthropic-ai/claude-code
Q: 登录失败怎么办?
rm -rf ~/.claude
claude
Q: 输出里有 unrecognized_model 提示?
"mimo-v2.6-pro" isn't described by this version's model catalog... 这行是 Claude Code 对第三方模型 ID 的上下文窗口假设提示,不是报错,请求照常发送,忽略即可。
Q: 如何更新到最新版?
claude update
Q: Claude Code 回复报 404 错误?
检查 ANTHROPIC_BASE_URL 是否指向 MiMo 官方端点:
echo $ANTHROPIC_BASE_URL
按量付费用户应为
https://api.xiaomimimo.com/anthropic;Token Plan 用户应为https://token-plan-cn.xiaomimimo.com/anthropic。
Q: Claude Code 回复报 401 Invalid API Key?
Key 无效或复制不完整,去 MiMo 控制台 重新创建 Key,并确认 Key 类型与 Base URL 匹配(sk- 按量付费 / tp- Token Plan)。
Q: 飞书机器人没有反应?
按顺序排查:
- larkcc 日志有没有
Ignored message from unknown user: ou_xxx——有 = 消息通了但 open_id 占位符没替换,去第六步 - 确认应用已发布且机器人状态为"已激活"(activate_status=1);检查是否有未发布的版本草稿
- 确认事件订阅方式为"长连接",且已订阅
im.message.receive_v1事件 - 确认权限已开通且同步到了已发布版本(改权限后要重新发布版本才生效)
- 检查 larkcc 终端是否有错误输出
常用管理命令速查
| 作用 | 命令 |
|---|---|
| 启动交互模式 | claude |
| 单次查询 | claude -p "问题" |
| 查看版本 | claude --version |
| 诊断安装问题 | claude doctor |
| 更新到最新版 | claude update |
| 启动飞书桥接服务 | larkcc |
| 后台运行飞书桥接 | larkcc -d |
| 继续上次会话 | larkcc -c |
| 查看运行中的进程 | larkcc --ps |
| 停止所有飞书桥接进程 | larkcc --kill-all |
Linux 安装教程(Ubuntu / Debian)
系统要求
操作系统:Ubuntu 20.04+、Debian 11+ 或其他 Debian 系发行版
处理器:x64 架构 CPU
内存:至少 4GB RAM
磁盘空间:至少 500MB 可用空间
运行环境:Node.js 22+
其他:Git、curl
网络:需要互联网连接
第一步:安装依赖
只需要装 Node.js。
curl用于下载安装脚本,Ubuntu / Debian / macOS 默认都自带,没有的话再sudo apt install curl -y。
其他发行版(CentOS / RHEL / Rocky 等 EL 系):到 NodeSource 官网 选对应系统的安装脚本(EL 系为rpm.nodesource.com/setup_22.x+ dnf/yum),本文以 Debian 系为例。
安装 Node.js 22+(NodeSource 脚本国内可直接访问):
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
验证 Node.js 安装:
node --version
应该显示
v22.x或更高版本
第二步:安装 Claude Code
按服务器所在位置选一种方式:
方式一:官方安装脚本(海外服务器)
curl -fsSL https://claude.ai/install.sh | bash
官方脚本从
claude.ai域名下载安装,海外服务器可直接使用。不要加sudo运行——脚本会检测到 sudo 并拒绝执行(它把文件装到$HOME下,不需要 root)。
方式二:npm 安装(国内服务器,推荐)
npm config set registry https://registry.npmmirror.com
npm install -g @anthropic-ai/claude-code
关于是否加
sudo:第一步用 NodeSource 安装的 Node,全局目录是/usr/lib/node_modules(归 root 所有),普通用户直接装会报EACCES: permission denied,需要加sudo:
bash sudo npm install -g @anthropic-ai/claude-code没有 sudo 权限就把全局目录改到用户家目录(改一次,以后安装都不需要 root):
bash npm config set prefix ~/.npm-global echo 'export PATH=$HOME/.npm-global/bin:$PATH' >> ~/.bashrc source ~/.bashrc npm install -g @anthropic-ai/claude-code(只有用 nvm 装 Node 的才不需要 sudo——它的全局目录在你家目录。)
验证安装:
claude --version
显示版本号说明安装成功(本文基于 Claude Code 2.1.x 编写)
第三步:运行诊断
claude doctor
检查安装是否完整,有问题会提示你。运行后会显示诊断结果,按 Enter 键退出。
claude doctor最后会等待你按 Enter 才退出,如果超时未响应会自动结束。关于登录:启动 Claude Code 时会提示
Not logged in · Run /login,这是登录 Anthropic 官方账号(需要海外信用卡)。国内用户使用 MiMo 官方端点不需要登录 Anthropic 账号,直接跳过即可。
接入国内模型(MiMo 官方直连)
小米 MiMo 已原生支持 Anthropic API 格式,Claude Code 可以直接连接,不需要任何格式转换工具。
前提条件
- 已完成 Claude Code 安装
- 有小米 MiMo 的 API Key,在 MiMo 开放平台 创建,分两种:
- 按量付费 Key:格式
sk-xxxxx,配api.xiaomimimo.com端点(本文主流程) - Token Plan 订阅 Key:格式
tp-xxxxx,端点不同,见第四步末尾说明
第一步:获取 API Key
前往 MiMo 控制台 → API Keys 创建 API Key,格式为 sk-xxxxx。
第二步:清除可能冲突的旧环境变量
如果你之前配置过 Anthropic 官方 API,先清掉这两个变量,否则新配置可能不生效:
unset ANTHROPIC_AUTH_TOKEN ANTHROPIC_BASE_URL
同时检查
~/.bashrc里有没有写死的旧值,有就一并删掉。
第三步:跳过登录引导
创建(或编辑)~/.claude.json,跳过首次启动的 Anthropic 登录页:
mkdir -p ~/.claude
cat > ~/.claude.json << 'EOF'
{
"hasCompletedOnboarding": true
}
EOF
这步对单独使用
claude命令有效;如果后面要接飞书(larkcc),它启动时也会自动补写这个字段,无需重复操作。
第四步:配置模型(推荐用配置文件)
创建 ~/.claude/settings.json(目录不存在就自己建),把 Key 换成你自己的:
mkdir -p ~/.claude
cat > ~/.claude/settings.json << 'EOF'
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.xiaomimimo.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "sk-你的API Key",
"ANTHROPIC_MODEL": "mimo-v2.6-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "mimo-v2.6-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "mimo-v2.6-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "mimo-v2.6-pro",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
}
}
EOF
ANTHROPIC_AUTH_TOKEN填你的 API Key。三个ANTHROPIC_DEFAULT_*_MODEL是给 Claude Code 的 Sonnet / Opus / Haiku 档位做映射,让它们都走 MiMo。
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC阻止 Claude Code 向 Anthropic 服务器发遥测和更新检查,国内建议加上。
模型名说明:mimo-v2.5-pro/mimo-v2.5官方已公告 2026 年 10 月 21 日下线,新配置请用mimo-v2.6-pro(当前旗舰,官方选型指南推荐用于复杂项目和长程任务);日常高频调用也可选mimo-v2.6-flash,把上面五处模型名一起换掉即可。
如果你是 Token Plan 订阅用户(Key 以 tp- 开头):Base URL 与按量付费不同,把上面配置里的第一行换成:
"ANTHROPIC_BASE_URL": "https://token-plan-cn.xiaomimimo.com/anthropic",
其余字段相同。
也可以用环境变量(备选):把下面几行写入 ~/.bashrc,效果相同,但 VS Code 插件读不到,需要单独再配一次。
cat >> ~/.bashrc << 'EOF'
export ANTHROPIC_BASE_URL="https://api.xiaomimimo.com/anthropic"
export ANTHROPIC_AUTH_TOKEN="sk-你的API Key"
export ANTHROPIC_MODEL="mimo-v2.6-pro"
export ANTHROPIC_DEFAULT_SONNET_MODEL="mimo-v2.6-pro"
export ANTHROPIC_DEFAULT_OPUS_MODEL="mimo-v2.6-pro"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="mimo-v2.6-pro"
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
EOF
source ~/.bashrc
第五步:验证
重新打开一个终端窗口让配置生效,然后单次查询测试完整链路:
claude -p "1+1等于几?"
返回数字
2(如1+1 = 2。)即表示 Claude Code → MiMo 全链路打通。
输出开头可能看到一段"mimo-v2.6-pro" isn't described by this version's model catalog...和一行[claude-code:unrecognized_model],这是 Claude Code 对第三方模型 ID 的上下文窗口提示,不是错误,不影响回答,忽略即可。
完整链路示意
用户输入
↓
Claude Code(Anthropic 格式)
↓
MiMo API(api.xiaomimimo.com/anthropic,原生兼容,无需转换)
↓
返回结果
对接飞书
Claude Code 官方不支持飞书,但社区做了桥接工具。以下使用
larkcc实现(经过实测验证)。
前提条件
- 已完成 Claude Code 安装
- 已完成上面的模型接入(MiMo 官方直连,或直接使用 Anthropic 官方 API)
- 有飞书开放平台的应用凭证
第一步:安装 larkcc
npm install -g larkcc
是否加
sudo同第二步:NodeSource 安装的 Node 需要加;nvm 安装的不加。
验证安装:
larkcc --version
应该显示
0.13.0或更高版本
第二步:创建飞书应用
- 打开 飞书开放平台
- 点击 创建企业自建应用
- 填写应用名称(如"Claude Code 助手")和描述
- 创建完成后,在 凭证与基础信息 页面获取 App ID 和 App Secret
第三步:配置飞书应用权限
在飞书开发者后台,进入你的应用,依次配置:
1. 启用机器人能力
左侧菜单 → 应用能力 → 机器人 → 开启
2. 添加权限
左侧菜单 → 权限管理 → 搜索并开通以下权限:
| 权限 | 用途 | 必需 |
|---|---|---|
| 获取单聊、群组消息 | im:message:readonly |
是 |
| 获取与上传图片、文件等资源 | im:resource |
是 |
| 以应用的身份发消息 | im:message:send_as_bot |
是 |
| 读取用户发给机器人的单聊消息 | im:message.p2p_msg:readonly |
是 |
| 添加、取消消息表情回复 | im:message.reactions:write_only |
是 |
| 创建、编辑云文档(长回复转文档用) | docx:document:write_only、docx:document:readonly |
推荐 |
| 删除云空间文件(旧文档清理用) | drive:file |
推荐 |
| CardKit 流式输出 | cardkit:card:write |
推荐 |
| 获取群组中用户@机器人消息 | im:message.group_at_msg:readonly |
群聊 |
权限名称说明:飞书已把早期的"基础消息
im:message"拆分为上表前两项。在后台搜索时如果搜不到旧名称,直接搜"消息""资源"即可;拆分权限都开通后,消息收发主流程不受影响。后两项(云文档/云空间)用于 larkcc 的超长回复转文档和旧文档清理,不开也能对话,只是长回复会被拆分发送。
3. 配置事件订阅
左侧菜单 → 事件与回调 → 订阅方式 → 选择 使用长连接接收事件/回调
然后添加事件:接收消息 im.message.receive_v1
4. 发布应用
左侧菜单 → 版本管理与发布 → 创建版本 → 填写版本号和更新说明 → 提交审核
应用必须发布后才能正常使用。发布后机器人状态应为 已激活(activate_status=1)。
排查提示:如果后面机器人收不到消息,而 larkcc 日志显示已连接,重点查这两处——① 是否有"创建了版本但没发布"的草稿(草稿会让线上机器人停用);② 应用能力里的机器人开关是否开着。自建企业应用还要确认管理员没有停用该应用、可用范围包含你的账号。
第四步:配置 larkcc
larkcc --setup 会提示你输入 App ID 和 App Secret 并自动生成配置(0.13.0 实测可用)。也可以手动创建,效果相同:
创建配置目录:
mkdir -p ~/.larkcc
创建配置文件(先用占位符,后面再替换 open_id):
复制以下整个代码块,粘贴到终端后按回车执行:
cat > ~/.larkcc/config.yml << 'EOF'
feishu:
app_id: "你的 App ID"
app_secret: "你的 App Secret"
owner_open_id: "ou_占位符后面替换"
EOF
将 你的 App ID 和 你的 App Secret 替换为真实值。按 Enter 确认。
owner_open_id的占位符必须替换成真实 open_id 才能收到消息(替换方法见第五、六步)。如果把这行留空,larkcc 会在收到第一条消息时自动填入。
第五步:启动 larkcc 获取 open_id
创建 screen 会话并启动 larkcc:
screen -S larkcc-temp
在 screen 会话中执行:
larkcc
终端会实时显示日志。打开飞书,给机器人发一条消息(如"你好")。
你会在终端看到类似这样的日志:
Ignored message from unknown user: ou_2ae3ade3e7a4fdefd5d878c797a7622f
ou_开头的那串就是你的 open_id,复制下来。按 Ctrl + C 停止 larkcc。
看到这行Ignored message from unknown user是正常现象:说明消息已经通了,只是还没配置你的身份,替换 open_id 后即可。
第六步:更新配置文件
用你的真实 open_id 替换占位符:
sed -i 's/ou_占位符后面替换/你的真实open_id/' ~/.larkcc/config.yml
验证替换是否成功:
cat ~/.larkcc/config.yml
第七步:启动 larkcc(后台常驻)
先停止之前临时启动的 larkcc(在临时 screen 会话中按 Ctrl + C):
screen -r larkcc-temp
# 按 Ctrl + C 停止,然后按 Ctrl + A 再按 D 分离
# 或者直接终止:
screen -X -S larkcc-temp quit
创建正式的 screen 会话并启动 larkcc:
screen -S larkcc
在 screen 会话中执行:
larkcc
看到
Feishu connected!只代表长连接建立成功,不代表能收到消息——以第八步的实际收发为准。
看到 Feishu connected! 后,按 Ctrl + A 然后按 D 分离会话(detach)。
分离后 larkcc 会在后台持续运行,关掉终端也不会停止。重新连接用
screen -r larkcc。
第八步:验证飞书连接
在飞书中给机器人发一条消息(如"你好"),收到回复才算连接成功。
Feishu connected!只说明 WebSocket 连上了飞书服务器;能不能真正收发,必须用实际消息验证。发消息没反应时,按下面"常见问题"逐项排查。
注意事项
- 服务运行时电脑需保持开机和联网状态
getBotInfo failed错误可忽略,不影响通信- 启动日志出现
Ignored message from unknown user: ou_xxx= open_id 占位符还没替换,去第六步 - 如需群聊支持,需额外添加
im:message.group_at_msg:readonly权限 - 单聊和群聊共用同一个 Claude Code session
常见问题
Q: `claude` 命令找不到?
检查安装路径是否在 PATH 中:
macOS/Linux:
echo $PATH | grep -o "$HOME/.local/bin" || echo "PATH not set"
export PATH="$HOME/.local/bin:$PATH"
如果用的是 npm 用户目录安装(
npm config set prefix ~/.npm-global),把上面两行的$HOME/.local/bin换成$HOME/.npm-global/bin。
Windows:
where claude
如果找不到,检查系统 PATH 环境变量。
Q: npm install -g 报 EACCES: permission denied?
这是全局目录权限问题,两种解法(详见第二步说明):
# 有 sudo 权限:加 sudo 装
sudo npm install -g @anthropic-ai/claude-code
# 没有 sudo 权限:全局目录改到用户目录
npm config set prefix ~/.npm-global
echo 'export PATH=$HOME/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
npm install -g @anthropic-ai/claude-code
Q: 登录失败怎么办?
rm -rf ~/.claude
claude
Q: 输出里有 unrecognized_model 提示?
"mimo-v2.6-pro" isn't described by this version's model catalog... 这行是 Claude Code 对第三方模型 ID 的上下文窗口假设提示,不是报错,请求照常发送,忽略即可。
Q: 如何更新到最新版?
claude update
Q: Claude Code 回复报 404 错误?
检查 ANTHROPIC_BASE_URL 是否指向 MiMo 官方端点:
echo $ANTHROPIC_BASE_URL
按量付费用户应为
https://api.xiaomimimo.com/anthropic;Token Plan 用户应为https://token-plan-cn.xiaomimimo.com/anthropic。
Q: Claude Code 回复报 401 Invalid API Key?
Key 无效或复制不完整,去 MiMo 控制台 重新创建 Key,并确认 Key 类型与 Base URL 匹配(sk- 按量付费 / tp- Token Plan)。
Q: 飞书机器人没有反应?
按顺序排查:
- larkcc 日志有没有
Ignored message from unknown user: ou_xxx——有 = 消息通了但 open_id 占位符没替换,去第六步 - 确认应用已发布且机器人状态为"已激活"(activate_status=1);检查是否有未发布的版本草稿
- 确认事件订阅方式为"长连接",且已订阅
im.message.receive_v1事件 - 确认权限已开通且同步到了已发布版本(改权限后要重新发布版本才生效)
- 检查 larkcc 终端是否有错误输出
常用管理命令速查
| 作用 | 命令 |
|---|---|
| 启动交互模式 | claude |
| 单次查询 | claude -p "问题" |
| 查看版本 | claude --version |
| 诊断安装问题 | claude doctor |
| 更新到最新版 | claude update |
| 启动飞书桥接服务 | larkcc |
| 后台运行飞书桥接 | larkcc -d |
| 继续上次会话 | larkcc -c |
| 查看运行中的进程 | larkcc --ps |
| 停止所有飞书桥接进程 | larkcc --kill-all |
评论 (0)