飞书机器人深度整合:OpenClaw+ollama-QwQ-32B智能待办管理系统

1. 为什么选择OpenClaw+飞书+本地大模型组合?

去年我管理一个小型远程团队时,最头疼的就是任务跟进——每天在飞书群里手动@成员确认进度,整理Excel表格,还要处理各种"这个需求我没看到"的扯皮。直到发现OpenClaw这个开源自动化框架,配合ollama-QwQ-32B本地大模型,终于实现了自然语言交互的智能待办管理。

这套方案的核心优势在于:

  • 隐私安全:所有对话数据和任务信息都在本地服务器处理,不用担心商业机密外泄
  • 自然交互:用日常说话的方式就能创建复杂任务,比如"帮我把下周二的客户演示材料分配给张三,提前两天提醒"
  • 24小时响应:机器人随时待命,半夜想到任务也能立即记录,不会像人类助理需要休息

2. 飞书应用创建与权限配置

2.1 自建应用申请

首先在飞书开放平台(https://open.feishu.cn/)创建企业自建应用。注意不要选择"商店应用",否则需要官方审核。关键配置项包括:

  • 权限范围:需要im:message(发送消息)、im:message.group_at_msg(群聊@消息)、contact:user.id:readonly(读取用户ID)这三个核心权限
  • 事件订阅:启用接收群消息机器人进群事件,这是触发OpenClaw的关键钩子
  • 安全设置:记录下App IDApp Secret,后续OpenClaw配置要用

我在这里踩过坑:最初漏配了contact:user.id:readonly权限,导致机器人无法识别@它的用户身份,所有请求都返回403错误。建议先用飞书开发者工具的"权限校验"功能提前验证。

2.2 IP白名单设置

由于安全限制,飞书要求配置服务器IP白名单。如果你像我一样使用家庭宽带,可以用这个命令获取公网IP:

curl ifconfig.me

然后将输出的IP地址填入飞书后台"安全设置"-"IP白名单"。注意家用IP可能会动态变化,企业环境建议使用固定IP的云服务器。

3. OpenClaw环境部署

3.1 基础安装

我的测试环境是Ubuntu 22.04的云服务器,内存32GB(运行ollama-QwQ-32B至少需要这个配置)。安装OpenClaw最稳妥的方式是通过npm:

sudo npm install -g openclaw@latest
openclaw --version  # 验证安装

遇到EACCES权限错误时,可以用sudo npm install -g --unsafe-perm绕过,但生产环境建议用npm config set prefix配置用户级安装目录。

3.2 飞书插件安装

OpenClaw通过插件体系扩展通讯能力,安装飞书插件时要注意版本兼容性:

openclaw plugins install @m1heng-clawd/feishu
openclaw plugins list  # 确认安装成功

这里有个小技巧:如果网络不稳定导致安装失败,可以先npm install @m1heng-clawd/feishu本地安装,再用openclaw plugins link命令软链接到插件目录。

4. ollama-QwQ-32B模型部署

4.1 模型服务启动

使用CSDN星图镜像广场的ollama-QwQ-32B镜像,一条命令即可启动服务:

docker run -d -p 11434:11434 --gpus all ollama-qwq-32b

关键参数说明:

  • --gpus all:必须指定才能启用GPU加速
  • -p 11434:11434:ollama默认API端口
  • 首次运行会自动下载约60GB的模型文件,建议使用-v参数挂载数据卷避免重复下载

4.2 模型功能测试

用curl测试模型是否正常响应:

curl http://localhost:11434/api/generate -d '{
  "model": "qwq-32b",
  "prompt": "请用20字介绍OpenClaw"
}'

我遇到模型输出乱码的问题,后来发现是系统locale配置不全,通过export LC_ALL=C.UTF-8解决。

5. 配置深度整合

5.1 OpenClaw核心配置

编辑~/.openclaw/openclaw.json配置文件,关键是要正确关联飞书和ollama服务:

{
  "channels": {
    "feishu": {
      "enabled": true,
      "appId": "你的App ID",
      "appSecret": "你的App Secret",
      "encryptKey": "",
      "verificationToken": ""
    }
  },
  "models": {
    "providers": {
      "ollama-local": {
        "baseUrl": "http://localhost:11434",
        "api": "openai-completions",
        "models": [
          {
            "id": "qwq-32b",
            "name": "Local QwQ-32B",
            "contextWindow": 32768
          }
        ]
      }
    }
  }
}

配置完成后需要重启网关服务:

openclaw gateway restart

5.2 待办管理技能开发

OpenClaw的Skill机制允许自定义功能模块。我开发了一个简单的待办管理器,核心逻辑包括:

  1. 用自然语言解析任务要素(如"明天下午三点前完成方案初稿")
  2. 将结构化数据存入SQLite数据库
  3. 通过飞书webhook发送提醒

示例技能目录结构:

todo-manager/
├── package.json
├── index.js          # 主逻辑
├── prompts/          # 自然语言模板
│   ├── create.txt
│   ├── query.txt
└── models/
    └── todo.sqlite   # 数据存储

安装技能到OpenClaw:

clawhub install ./todo-manager

6. 实战效果演示

在我们的设计团队中,现在只需要在飞书群@机器人说: "@TaskBot 记得让小李在下周一前提交icon设计方案,优先级高"

机器人会自动:

  1. 识别任务要素:执行人=小李,截止时间=下周一,优先级=高
  2. 在数据库创建记录
  3. 回复:"已创建任务TD-2024:小李需在6月3日前提交icon设计方案(优先级高)"
  4. 每周五自动汇总未完成任务@相关成员

通过ollama-QwQ-32B的上下文理解能力,还能处理复杂请求如: "@TaskBot 把上周评审通过的所有需求分配给对应开发,两周后提醒验收" 机器人会自行查询历史记录、匹配需求与开发者的对应关系、设置双周提醒。

7. 避坑指南

在三个月实际使用中,我们总结了这些经验:

性能优化

  • ollama-QwQ-32B的API默认没有限流,突发大量请求会导致OOM。建议在OpenClaw的models配置中添加rateLimit参数
  • 飞书消息有频率限制(约5条/秒),需要实现消息队列缓冲

错误处理

  • 模型可能误解时间表述如"下周三",我们在技能里强制要求"YYYY-MM-DD"格式
  • 飞书用户昵称可能包含特殊符号,需要做ASCII转码处理

安全建议

  • 定期备份SQLite数据库到加密存储
  • 为不同群组设置任务隔离策略,避免信息泄露

获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐