飞书进程反馈技能
name: feishu-process-feedback
by carlzhao007 · published 2026-03-22
$ claw add gh:carlzhao007/carlzhao007-feishu-process-feedback---
name: feishu-process-feedback
description: |
飞书消息自动处理与进度反馈技能。安装后后台运行,监听飞书任务消息并自动创建独立进程处理。
在处理前后发送实时进度反馈(任务确认、进度百分比、完成通知)。
支持任务类型识别、智能解析、错误重试、并发控制、状态持久化。
使用场景:飞书自动化工作流、任务进度追踪、批量任务处理、需要实时反馈的场景。
---
# 飞书进程反馈技能
实时任务处理进度反馈系统,为飞书任务提供完整的状态追踪。
核心功能
1. 自动后台监听
2. 即时确认反馈
3. 进度实时追踪
4. 进程隔离管理
5. 错误容错处理
工作流程
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 飞书消息 │ → │ 任务识别 │ → │ 创建进程 │
└─────────────┘ └─────────────┘ └─────────────┘
↓
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 完成通知 │ ← │ 进度反馈 │ ← │ 发送确认 │
└─────────────┘ └─────────────┘ └─────────────┘安装方式
本地安装
# 克隆或复制技能到本地
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 | 其他 | ⚙️ | 直接处理 |
日志文件
技能运行产生以下日志文件:
位置:`~/.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"`
任务处理超时
依赖
版本历史
v1.0.0 (2026-03-10)
许可证
MIT License
作者
Carl Zhao
支持
遇到问题?
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...