飞书机器人接入指南:OpenClaw+ollama GLM-4.7-Flash对话自动化
飞书机器人接入指南:OpenClaw+ollama GLM-4.7-Flash对话自动化
1. 为什么选择OpenClaw+飞书机器人?
去年我负责团队内部的知识管理工具搭建时,发现成员们经常需要跨多个平台查找文件——飞书文档里的会议纪要、本地NAS上的项目资料、GitHub仓库的技术文档。每天重复"搜索-下载-转发"的流程,至少浪费半小时。直到尝试用OpenClaw对接飞书机器人,才真正实现了"一句话触发全平台文件检索"的自动化。
这个方案的核心优势在于:
- 隐私性:所有操作在本地完成,敏感文件无需上传第三方云服务
- 低成本:利用ollama部署的GLM-4.7-Flash模型,对话成本仅为商用API的1/5
- 可扩展:后续可轻松添加Confluence、Notion等新数据源
2. 基础环境准备
2.1 部署ollama GLM-4.7-Flash
建议在Linux服务器或本地开发机运行以下命令(需提前安装Docker):
docker run -d --name glm-flash -p 11434:11434 ollama/glm:4.7-flash验证服务是否正常:
curl http://localhost:11434/api/version # 应返回类似 {"version":"4.7-flash"} 的响应2.2 安装OpenClaw核心组件
对于macOS用户,推荐使用Homebrew安装:
brew install node@22 npm install -g openclaw@latest openclaw --version # 确认版本≥0.8.3Windows用户需以管理员身份运行PowerShell:
npm install -g openclaw openclaw -v3. 飞书通道深度配置
3.1 创建飞书自建应用
- 登录飞书开放平台
- 进入"开发者后台"→"企业自建应用"→"创建应用"
- 记录关键参数:
- App ID(如
cli_xxxxxx) - App Secret(32位字符串)
- 加密密钥(可选)
- App ID(如
特别注意:在"权限管理"中需添加以下权限:
- 获取群组信息(im:group)
- 发送消息(im:message)
- 接收消息(im:message:receive)
3.2 安装飞书插件
在OpenClaw中执行:
openclaw plugins install @m1heng-clawd/feishu openclaw plugins list # 确认插件状态为active3.3 配置文件关键项
编辑~/.openclaw/openclaw.json,重点修改以下部分:
{ "channels": { "feishu": { "enabled": true, "appId": "你的App ID", "appSecret": "你的App Secret", "encryptKey": "如需加密则填写", "connectionMode": "websocket", "verificationToken": "飞书后台设置的Token" } }, "models": { "providers": { "local-glm": { "baseUrl": "http://localhost:11434", "api": "openai-completions", "models": [ { "id": "glm-4.7-flash", "name": "Local GLM" } ] } } } }4. 实现文件搜索自动化
4.1 创建基础技能
新建file-search.js技能文件:
module.exports = { name: "file-search", description: "根据关键词搜索本地和云端文件", actions: { search: async ({ keyword, locations }) => { // 实际实现时可替换为真实搜索逻辑 return [ { name: "Q2财报.docx", path: "/docs/finance", source: "NAS" }, { name: "产品路线图.md", path: "/projects", source: "飞书文档" } ]; } } };注册技能到OpenClaw:
openclaw skills add ./file-search.js4.2 配置飞书消息路由
在飞书应用后台的"事件订阅"中,添加以下事件:
- 接收消息v2.0
- 群聊中@机器人
配置请求网址为https://你的公网IP:18789/feishu(需提前做端口映射)
4.3 测试完整流程
- 在飞书群聊中@机器人并发送:"找一下最近的财报文档"
- OpenClaw会执行以下动作:
- 调用GLM-4.7-Flash理解意图
- 触发file-search技能
- 返回格式化的搜索结果卡片
典型响应示例:
找到2个相关文件: 1. [Q2财报.docx] 位于NAS /docs/finance 2. [财务分析报告.pdf] 位于飞书文档/财务部5. 常见问题排查
5.1 WebSocket连接失败
现象:飞书后台显示"服务端连接超时"
解决方案:
- 检查防火墙设置,确保18789端口开放
- 验证OpenClaw网关日志:
openclaw gateway logs # 正常应看到"WebSocket connection established"5.2 消息无法触发技能
现象:机器人收到消息但无响应
排查步骤:
- 检查模型服务是否正常运行:
curl -X POST http://localhost:11434/api/chat \ -H "Content-Type: application/json" \ -d '{"model": "glm-4.7-flash", "messages": [{"role": "user", "content": "test"}]}'- 查看技能绑定状态:
openclaw skills list --verbose5.3 中文乱码问题
在Docker启动命令中添加语言参数:
docker run -e LANG=C.UTF-8 -e LC_ALL=C.UTF-8 ...6. 安全加固建议
- IP白名单:在飞书后台限制可访问IP
- 最小权限原则:仅授予必要的文件读取权限
- 日志脱敏:配置
~/.openclaw/logging.json过滤敏感字段 - 定期轮换:每3个月更新一次App Secret
经过两周的实测,这套方案每天平均处理23次文件搜索请求,相比人工操作节省约65%的时间。最让我惊喜的是GLM-4.7-Flash对模糊查询的处理能力——即使成员只记得文档里的片段内容,也能准确定位到目标文件。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
