飞书机器人与 Claude Code 交互:从手机指令到 AI 处理
一、背景
在日常开发中,我们经常需要快速查询代码问题、生成文档或执行简单的编程任务。如果有一款 AI 助手能随时响应,就像在电脑终端前一样,那该多方便!本教程将演示如何搭建一个飞书机器人,当你在手机飞书 App 上发送消息时,该消息会传递给运行在电脑上的Claude Code(一个智能编码助手),Claude Code 处理后将结果回复到你的飞书会话中。
通过这个方案,你可以:
- 在手机上随时向 AI 提问编程问题。
- 让 AI 帮你调试代码、解释概念、生成代码片段。
- 无需打开电脑终端,即可利用强大的 AI 编码能力。
二、实现方案概览
整体流程如下:
- 飞书机器人接收消息:在飞书创建一个自定义机器人,并配置事件订阅,当用户@机器人或私聊发送消息时,飞书会将消息推送到我们的服务。
- 消息处理中间件:我们编写一个 Python 程序,该程序使用飞书开放平台的 SDK 接收消息,并将消息内容转发给 Claude Code。
- Claude Code 处理:Claude Code 是一个命令行 AI 助手,我们通过 SDK 调用它,传入用户的问题,获取回答。
- 回复消息:Python 程序将 Claude Code 的回答通过飞书 API 回复给用户。
所有组件都运行在本地电脑上(或任何可联网的服务器),无需云服务。
三、操作步骤
前置准备
- 一台可运行 Docker 的电脑(Linux/Mac/Windows 均可)。
- 一个飞书企业或开发者账号(用于创建应用和机器人)。
- (可选)本地已部署 Ollama 或其他兼容 OpenAI 格式的模型服务;若没有,也可使用 Claude 官方 API(需修改配置)。
第一步:创建并进入 Claude Code 容器
Claude Code 是一个基于 Claude 的 AI 编码助手,但官方通常需要通过命令行使用。为了简化环境配置,我们使用 Docker 容器来运行它。容器内已经预装了 Claude Code 所需的依赖。
为什么用 Docker?
Docker 可以隔离环境,避免污染本地系统,同时确保所有依赖版本一致。即使你电脑上没有 Python 或 Node.js 环境,也能轻松运行。
执行以下命令:
docker run -it --net=host -v$PWD:/home -w /home --rm swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/hi20240217/pub:claude_code /bin/bash
这条命令做了几件事:
-it:以交互模式运行,让你能操作容器内的命令行。--net=host:使用宿主机的网络,方便容器内访问本地服务(如 Ollama)。-v $PWD:/home:将当前目录挂载到容器的/home目录,这样容器内可以访问宿主机上的文件(如后续的 Python 脚本)。-w /home:工作目录设为/home。--rm:容器退出后自动删除,避免残留。swr.cn-north-4.myhuaweicloud.com/...:使用的镜像地址,包含了 Claude Code 及其依赖。
进入容器后,先取消代理设置(如果有):
unset http_proxy
unset https_proxy


