HomeBrowseUpload
← Back to registry
// Skill profile

飞书进程反馈技能

name: feishu-process-feedback

by carlzhao007 · published 2026-03-22

API集成自动化任务
Total installs
0
Stars
★ 0
Last updated
2026-03
// Install command
$ claw add gh:carlzhao007/carlzhao007-feishu-process-feedback
View on GitHub
// Full documentation

---

name: feishu-process-feedback

description: |

飞书消息自动处理与进度反馈技能。安装后后台运行,监听飞书任务消息并自动创建独立进程处理。

在处理前后发送实时进度反馈(任务确认、进度百分比、完成通知)。

支持任务类型识别、智能解析、错误重试、并发控制、状态持久化。

使用场景:飞书自动化工作流、任务进度追踪、批量任务处理、需要实时反馈的场景。

---

# 飞书进程反馈技能

实时任务处理进度反馈系统,为飞书任务提供完整的状态追踪。

核心功能

1. 自动后台监听

  • 持续运行,轮询监听飞书新消息
  • 智能识别任务消息(关键词:帮我、处理、创建、生成、分析等)
  • 状态持久化,重启后继续处理
  • 2. 即时确认反馈

  • 收到任务后 5 秒内回复确认消息
  • 包含任务 ID、类型识别、子任务数量
  • 显示当前队列状态
  • 3. 进度实时追踪

  • 每个子任务处理前后发送进度更新
  • 百分比格式(33%、66%、100%)
  • 支持成功/失败状态标记
  • 4. 进程隔离管理

  • 每个任务独立 Node.js 进程
  • 并发控制(默认最多 5 个并发)
  • 超时自动终止(默认 5 分钟)
  • 优雅关闭处理
  • 5. 错误容错处理

  • 自动重试机制(默认 3 次)
  • 错误日志记录
  • 失败任务标记通知
  • 工作流程

    ┌─────────────┐    ┌─────────────┐    ┌─────────────┐
    │ 飞书消息    │ →  │ 任务识别    │ →  │ 创建进程    │
    └─────────────┘    └─────────────┘    └─────────────┘
                                                  ↓
    ┌─────────────┐    ┌─────────────┐    ┌─────────────┐
    │ 完成通知    │ ←  │ 进度反馈    │ ←  │ 发送确认    │
    └─────────────┘    └─────────────┘    └─────────────┘

    安装方式

    本地安装

    # 克隆或复制技能到本地
    git clone <repo-url> ~/.openclaw/skills/feishu-process-feedback
    
    # 或使用 clawhub(发布后)
    clawhub install feishu-process-feedback

    启动服务

    cd ~/.openclaw/skills/feishu-process-feedback
    node scripts/listener.js

    后台运行(推荐)

    # Windows (PowerShell)
    Start-Process node -ArgumentList "scripts/listener.js" -WindowStyle Hidden
    
    # Linux/Mac (systemd 或 screen)
    screen -dmS feishu-listener node scripts/listener.js

    配置选项

    通过环境变量配置:

    | 变量名 | 说明 | 默认值 |

    |--------|------|--------|

    | `FEISHU_POLL_INTERVAL` | 轮询间隔(毫秒) | 5000 |

    | `FEISHU_MAX_RETRIES` | 最大重试次数 | 3 |

    | `FEISHU_RETRY_DELAY` | 重试延迟(毫秒) | 1000 |

    | `FEISHU_MAX_CONCURRENT` | 最大并发进程数 | 5 |

    | `FEISHU_PROCESS_TIMEOUT` | 进程超时(毫秒) | 300000 |

    | `FEISHU_TASK_DELAY` | 子任务处理延迟(毫秒) | 500 |

    | `FEISHU_VERBOSE` | 启用详细日志 | false |

    示例:

    export FEISHU_POLL_INTERVAL=3000
    export FEISHU_MAX_CONCURRENT=10
    export FEISHU_VERBOSE=true
    node scripts/listener.js

    反馈格式

    任务确认

    📋 任务收到,开始处理...
    任务 ID: #1
    类型:🛠️ create
    共 3 个子任务
    主任务:帮我创建一个 Excel 数据表...
    当前队列:1 个任务

    进度更新

    ⏳ 进度 33% - 正在处理:设计表格结构...
    ✅ 完成 33% - 设计表格结构...

    完成通知

    🎉 任务完成!
    任务 ID: #1
    状态:全部完成
    成功:3 | 失败:0
    耗时:2.45 秒
    进度:100%

    错误处理

    ⚠️ 失败 66% - 生成报告:API 超时
    ❌ 任务处理失败
    任务 ID: #1
    错误:网络连接失败
    请联系管理员或重试

    任务类型识别

    自动识别任务类型并采用相应处理策略:

    | 类型 | 关键词 | 图标 | 处理策略 |

    |------|--------|------|----------|

    | create | 创建、build、create | 🛠️ | 设计→创建→验证 |

    | analyze | 分析、analyze | 🔍 | 收集→分析→结论 |

    | calculate | 计算、calculate | 🧮 | 准备→计算→验证 |

    | query | 查询、search、find | 🔎 | 构建→搜索→整理 |

    | simple | 其他 | ⚙️ | 直接处理 |

    日志文件

    技能运行产生以下日志文件:

  • `.listener.log` - 监听器日志
  • `.tasks.log` - 任务处理日志
  • `.listener_state.json` - 状态持久化文件
  • 位置:`~/.openclaw/skills/feishu-process-feedback/`

    状态查看

    监听器每 5 分钟自动输出状态:

    ==================================================
    📊 FeishuListener 状态
    ==================================================
    运行时间:2h 15m 30s
    活跃进程:2/5
    总任务数:47
    最后消息:om_xxx
    轮询间隔:5000ms
    ==================================================

    优雅关闭

    支持 SIGINT/SIGTERM 信号:

    # 发送终止信号
    kill -SIGTERM <pid>
    
    # 或 Ctrl+C(前台运行时)

    关闭时会:

    1. 停止接收新任务

    2. 等待当前任务完成(最多 30 秒)

    3. 保存状态

    4. 发送通知消息

    扩展开发

    添加自定义任务处理器

    编辑 `scripts/process_task.js` 中的 `executeSubtask()` 函数:

    async function executeSubtask(subtask, index, total) {
      // 根据任务类型调用不同处理器
      if (subtask.includes('Excel')) {
        return await handleExcelTask(subtask);
      } else if (subtask.includes('分析')) {
        return await handleAnalysisTask(subtask);
      }
      // ...
    }

    集成飞书 API

    在 `scripts/listener.js` 的 `getLatestMessage()` 中集成飞书开放平台 API:

    async function getLatestMessage() {
      const response = await fetch('https://open.feishu.cn/open-apis/im/v1/messages', {
        headers: { 'Authorization': `Bearer ${ACCESS_TOKEN}` }
      });
      return await response.json();
    }

    故障排查

    监听器未启动

    # 检查 Node.js 版本
    node --version  # 需要 v14+
    
    # 检查依赖
    ls -la scripts/
    
    # 手动启动测试
    node scripts/listener.js

    消息未发送

    1. 检查 OpenClaw 飞书通道配置

    2. 查看 `.listener.log` 错误信息

    3. 测试手动发送:`openclaw message send --channel feishu --message "test"`

    任务处理超时

  • 增加超时时间:`export FEISHU_PROCESS_TIMEOUT=600000`
  • 减少并发数:`export FEISHU_MAX_CONCURRENT=3`
  • 查看详细日志:`export FEISHU_VERBOSE=true`
  • 依赖

  • Node.js v14+
  • OpenClaw 飞书通道
  • 飞书应用权限(im:message)
  • 版本历史

    v1.0.0 (2026-03-10)

  • 初始版本
  • 基础监听和反馈功能
  • 任务类型识别
  • 错误重试机制
  • 状态持久化
  • 许可证

    MIT License

    作者

    Carl Zhao

    支持

    遇到问题?

  • 查看日志文件:`.listener.log` 和 `.tasks.log`
  • 提交 Issue 到项目仓库
  • 联系 OpenClaw 社区
  • // Comments
    Sign in with GitHub to leave a comment.
    // Related skills

    More tools from the same signal band