首页 > AI教程 >飞书机器人+Claude Code交互:手机指令到AI全自动流程

飞书机器人+Claude Code交互:手机指令到AI全自动流程

来源:互联网 2026-06-29 06:31:33

通过飞书机器人接收手机端编程指令,由Python中间件转发至本地运行的ClaudeCode智能编码助手,自动完成代码编写或调试,处理结束后将结果回复至飞书会话,实现全自动交互流程。

飞书机器人与Claude Code交互:从手机指令到AI处理的全自动流程

在日常开发中,我们经常需要快速查询代码问题、生成文档或执行简单的编程任务。想象一下这样的场景——你正坐在咖啡厅,突然想到一个代码逻辑需要验证,拿出手机,给一个飞书机器人发条消息,然后就能收到AI助手的专业解答。这篇文章就来聊聊,怎么搭建一个飞书机器人,当你在手机飞书App上发送消息时,该消息会传递给运行在电脑上的Claude Code(一个智能编码助手),处理完成后直接把结果回复到你的飞书会话中。 飞书机器人+Claude Code交互:手机指令到AI全自动流程 通过这个方案,你可以: - 在手机上随时向AI提问编程问题 - 让AI帮你调试代码、解释概念、生成代码片段 - 无需打开电脑终端,即可利用强大的AI编码能力

实现方案概览

整体流程其实不复杂: 1. **飞书机器人接收消息**:在飞书创建一个自定义机器人,配置事件订阅。当用户@机器人或私聊发送消息时,飞书会把这些消息推送到我们的服务。 2. **消息处理中间件**:我们编写一个Python程序,利用飞书开放平台的SDK接收消息,然后将内容转发给Claude Code。 3. **Claude Code处理**:Claude Code是一个命令行AI助手,我们通过SDK调用它,传入用户的问题,获取回答。 4. **回复消息**: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 ```

配置Claude Code使用本地模型

Claude Code默认使用Anthropic的API,但我们可以通过环境变量让它调用兼容OpenAI格式的本地模型(比如Ollama)。假设你在本地8000端口运行了Ollama服务(例如通过`ollama serve`),并且已有模型如`qwen3.5:9b`。 设置环境变量: ``` export ANTHROPIC_BASE_URL="http://127.0.0.1:8000" # Ollama兼容OpenAI的地址 export ANTHROPIC_AUTH_TOKEN="" # 本地模型不需要认证令牌 export ANTHROPIC_API_KEY="" # 同上 export USE_MODEL="qwen3.5:9b" # 你想使用的模型名称 export ANTHROPIC_DEFAULT_SONNET_MODEL=$USE_MODEL # 以下变量全部指向同一模型,简化配置 export ANTHROPIC_DEFAULT_OPUS_MODEL=$USE_MODEL export ANTHROPIC_DEFAULT_HAIKU_MODEL=$USE_MODEL export ANTHROPIC_REASONING_MODEL=$USE_MODEL export ANTHROPIC_MODEL=$USE_MODEL export ANTHROPIC_SMALL_FAST_MODEL=$USE_MODEL export API_TIMEOUT_MS=600000 # 超时时间,本地模型可能较慢 export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 # 禁止非必要流量,确保隐私 ``` 这些环境变量告诉Claude Code SDK:所有请求都发往本地的Ollama,使用指定的模型。

测试Claude Code是否正常工作

运行以下命令,让Claude Code回答一个简单问题: ``` IS_SANDBOX=1 claude --dangerously-skip-permissions -p "你是谁" --output-format text ``` 如果配置正确,你应该看到类似如下的输出: ``` 我是 Claude agent,由 Anthropic 构建。我是一个交互式智能助手,专注于帮助完成软件工程和编程任务,例如: - 调试代码 - 添加新功能 - 重构代码 - 解释代码 - 解答编程问题 - 辅助开发工作 你今天需要我帮你做什么呢? ``` 这说明Claude Code已经就绪,可以接受指令了。

第二步:安装Python依赖

我们的消息中间件是用Python编写的,需要安装两个库: ``` pip3 install claude_agent_sdk --break-system-packages pip3 install lark_oapi --break-system-packages ``` - `claude_agent_sdk`:Claude Code的Python SDK,封装了与Claude Code交互的细节,让我们可以在Python代码中轻松调用Claude Code并获取回复。 - `lark_oapi`:飞书开放平台官方Python SDK,用于接收飞书事件、发送消息等。 参数`--break-system-packages`是pip的一个选项,允许在系统Python环境中安装包而不触发警告(如你的系统是较新的Linux发行版)。当然,你也可以使用虚拟环境(venv)来管理依赖。

第三步:获取飞书应用的凭证

要让飞书机器人接收和发送消息,你需要在飞书开发者后台创建一个应用,并获取`APP_ID`和`APP_SECRET`。 1. 登录飞书开发者后台,点击“创建应用”→“企业自建应用”,填写应用名称等信息。 2. 创建完成后,进入应用详情页,在“凭证与基础信息”中可以看到`App ID`和`App Secret`。 3. 还需要配置“事件订阅”: - 在“事件订阅”页面,开启“接收消息”事件(`im.message.receive_v1`)。 - 因为我们是本地运行,无法提供公网HTTPS地址,所以需要使用WebSocket方式接收事件(下文脚本中已实现)。飞书支持通过WebSocket连接接收事件,无需公网地址。 4. 在“权限管理”中添加机器人需要的权限:`im:message`(读取和发送消息)和`im:message:send_as_bot`(以机器人身份发送消息)。记得版本发布并审核。 得到APP_ID和APP_SECRET后,在本地创建一个`.env`文件来保存它们: ``` cat > .env << "EOF" APP_ID=<你的APP_ID> APP_SECRET=<你的APP_SECRET> EOF ```

第四步:编写并运行中间件脚本

现在,我们编写一个Python脚本,它将完成以下任务: - 使用飞书SDK通过WebSocket连接到飞书服务器,监听消息事件。 - 当收到新消息时,将消息内容放入队列,由工作线程处理。 - 工作线程调用Claude Code处理消息,并通过飞书API回复用户。

脚本解释

脚本的核心逻辑其实很直观: 1. **初始化飞书客户端**:使用你的APP_ID和APP_SECRET创建一个飞书客户端,通过WebSocket连接接收事件。 2. **消息处理函数**:当收到用户消息时,提取消息内容,放入一个队列中。 3. **工作线程**:从队列中取出消息,调用Claude Code的Python SDK进行处理,然后将结果通过飞书API发送回用户。 记得在飞书开发者后台配置好事件订阅和权限,并确保你的应用已经发布审核通过。

常见问题

- **Claude Code没有输出或超时**:检查本地模型服务是否正常运行,环境变量是否配置正确。可以先用命令行测试Claude Code是否正常工作。 - **飞书机器人无法接收消息**:确认APP_ID和APP_SECRET是否正确,事件订阅是否开启,权限是否已经分配。 - **WebSocket连接失败**:检查网络连接,飞书WebSocket服务可能需要一些网络配置,确保没有防火墙阻止连接。

总结

从手机发条消息到飞书机器人,再由Claude Code处理并回复,整个过程看似复杂,但拆解开来其实很清晰。核心就是三件事:配置Claude Code容器、获取飞书应用凭证、编写中间件脚本。这个方案最大的价值在于,它让AI编码助手真正做到了“随叫随到”——不用打开电脑终端,不用切换环境,手机一掏就能解决问题。 当然,这个流程还有很大的扩展空间。比如,你可以添加更多飞书的事件处理(如图片、文件),或者让Claude Code执行更复杂的任务(如运行代码、修改文件)。期待看到你们在这个基础上的更多创意。

侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述

热游推荐

更多
湘ICP备14008430号-1 湘公网安备 43070302000280号
All Rights Reserved
本站为非盈利网站,不接受任何广告。本站所有软件,都由网友
上传,如有侵犯你的版权,请发邮件给xiayx666@163.com
抵制不良色情、反动、暴力游戏。注意自我保护,谨防受骗上当。
适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。