OpenClaw飞书机器人实战:用Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF打造智能助手

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

去年开始,我一直在寻找一个既能保护隐私又能实现办公自动化的解决方案。尝试过各种SaaS工具后,发现要么需要上传敏感数据到第三方平台,要么功能太过局限。直到遇到OpenClaw这个开源框架,才真正找到了平衡点。

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

  • 数据不出本地:所有操作都在自己的电脑或内网服务器完成,会议录音、待办事项等敏感信息无需上传云端
  • 模型自由切换:可以灵活选择不同能力的本地模型,比如这次测试的Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF就特别适合处理结构化任务
  • 飞书无缝集成:直接在常用IM工具里触发自动化流程,不需要额外学习新界面

实际使用三个月后,这套组合帮我节省了约40%的会议记录时间,待办事项的遗漏率也显著降低。下面分享具体实现过程。

2. 环境准备与飞书应用配置

2.1 基础环境搭建

我选择在MacBook Pro(M1芯片)上部署,内存16GB足够运行4B量级的模型。首先通过Homebrew安装基础依赖:

brew install node@22
npm install -g @qingchencloud/openclaw-zh@latest

验证安装成功后,执行初始化向导。这里有个小技巧:如果已经确定要使用飞书通道,可以直接在onboard阶段选择Advanced模式配置:

openclaw onboard --mode=Advanced

向导会依次询问:

  1. 模型提供商:选择"Custom"手动配置本地模型
  2. 通道选择:勾选飞书(Feishu)
  3. 基础技能:建议全选,后续可以按需禁用

2.2 飞书企业自建应用创建

在飞书开放平台创建应用时,我踩过两个坑值得提醒:

  1. 权限配置:除了基础的"获取用户基础信息"外,务必添加"消息与群组"下的"接收消息"和"发送消息"权限
  2. 安全设置:需要将运行OpenClaw的服务器的公网IP加入IP白名单。可以通过以下命令获取当前公网IP:
curl ifconfig.me

创建完成后,记录下App ID和App Secret,它们相当于机器人的"账号密码"。

3. 模型接入与配置文件优化

3.1 本地模型部署

我使用的Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF模型有几个显著特点:

  • 推理效率高:GGUF量化格式在M1芯片上能利用Apple Metal加速
  • 结构化输出强:特别适合会议纪要这种需要提取关键信息的场景
  • 上下文长度适中:32768的上下文窗口足够处理1小时左右的会议录音转写

模型服务启动后,需要修改OpenClaw的配置文件~/.openclaw/openclaw.json。关键配置如下:

{
  "models": {
    "providers": {
      "local-qwen": {
        "baseUrl": "http://localhost:5000/v1",
        "apiKey": "null",
        "api": "openai-completions",
        "models": [
          {
            "id": "qwen3.5-4b-distilled",
            "name": "Local Qwen Reasoning",
            "contextWindow": 32768
          }
        ]
      }
    }
  }
}

3.2 飞书通道配置

在同一个配置文件中,找到channels部分添加飞书配置。这里有个实用技巧:可以设置connectionMode为"webhook"避免websocket的端口暴露问题:

{
  "channels": {
    "feishu": {
      "enabled": true,
      "appId": "your_app_id",
      "appSecret": "your_app_secret",
      "connectionMode": "webhook",
      "encryptKey": "",
      "verificationToken": ""
    }
  }
}

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

openclaw gateway restart

4. 实战:会议纪要生成工作流

4.1 技能安装与测试

OpenClaw本身具备基础的文本处理能力,但为了更好处理会议场景,我额外安装了meeting-minutes技能:

clawhub install meeting-minutes

这个技能提供了以下增强功能:

  • 语音转文字预处理
  • 发言角色分离
  • 关键决策点提取
  • 待办事项结构化

测试时发现直接处理中文语音转写文本效果不佳,后来通过修改prompt模板解决了这个问题。具体是在~/.openclaw/skills/meeting-minutes/prompts/zh-CN.md中添加了中文示例。

4.2 飞书机器人交互演示

实际使用时,只需要在飞书群里@机器人并发送指令即可。例如:

"@会议助手 请处理刚刚的会议录音并提取行动项"

机器人会回复处理进度,约1-2分钟后返回结构化结果:

【会议纪要摘要】
- 决策:确定Q2产品路线图以AI功能为主
- 待办:
  [x] 张三:3月15日前完成原型设计
  [x] 李四:3月20日前协调资源

我发现模型对时间节点的识别特别准确,即使是"下周三前"这样的相对时间也能正确转换为具体日期。

5. 性能优化与问题排查

5.1 Token消耗控制

长时间会议处理容易耗尽Token配额,通过以下策略优化:

  1. 在技能配置中启用"分段处理"模式
  2. 设置最大处理时长为60分钟
  3. 使用clawhub update定期更新技能获取优化后的prompt

5.2 常见错误处理

遇到最频繁的问题是飞书消息超时,解决方案是:

  1. 检查openclaw gateway日志中的心跳记录
  2. 调整feishu.timeout配置项到30000ms以上
  3. 对于超长任务,改为异步处理模式

另一个典型问题是模型输出格式不稳定,通过在prompt中强制指定Markdown格式解决了这个问题。

6. 进阶应用:自定义技能开发

当内置技能不满足需求时,可以开发自定义技能。比如我实现了一个"项目风险提取"技能,主要步骤:

  1. 创建技能模板:
clawhub create risk-extractor
  1. 修改skill.json定义输入输出:
{
  "input": "meeting_transcript",
  "output": ["risk_items"],
  "parameters": {
    "min_probability": 0.7
  }
}
  1. 编写处理逻辑(JavaScript示例):
module.exports = async ({ transcript }, { models }) => {
  const prompt = `从以下会议记录中提取项目风险点...`;
  const analysis = await models.complete(prompt);
  return parseRisks(analysis);
};

开发完成后,通过clawhub publish分享给团队其他成员使用。


获取更多AI镜像

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

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐