OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  task-status:在聊天中发送长时任务的简短状态描述

task-status:在聊天中发送长时任务的简短状态描述

 
  twelve ·  2026-02-02 08:53:55 · 20 次点击  · 0 条评论  

名称: task-status
描述: 为长时间运行的任务在聊天中发送简短状态描述。适用于需要在多步骤操作期间提供定期更新、确认任务完成或通知失败的情况。包含每5秒自动发送更新的周期性监控、状态消息模板以及用于一致状态报告的辅助函数。


任务状态技能

快速开始

手动状态更新

python scripts/send_status.py "开始获取数据..." "progress" "step1"
python scripts/send_status.py "处理完成" "success" "final"
python scripts/send_status.py "错误:缺少API密钥" "error" "auth"

自动周期性监控(每5秒)

# 开始监控长时间运行的任务
python scripts/monitor_task.py start "我的长任务" "processing"

# 监控器将每5秒发送"仍在处理中..."的更新
# 任务完成后,报告最终状态
python scripts/monitor_task.py stop "我的长任务" "success" "成功完成!"

状态类型

  • progress: 进行中的工作(显示🔄或->)
  • success: 任务完成(显示✅或OK)
  • error: 任务失败(显示❌或!)
  • warning: 问题但继续执行(显示⚠️或?)

周期性监控

monitor_task.py脚本提供自动更新功能:

启动监控

python scripts/monitor_task.py start "<任务名称>" "<状态类型>" [--interval <秒数>]
  • 每5秒自动发送"仍在处理中..."的更新
  • 在后台运行直到停止
  • 可使用不同间隔时间进行自定义

停止监控

python scripts/monitor_task.py stop "<任务名称>" "<最终状态>" "<最终消息>"

示例:长时间文件处理

# 启动监控
python scripts/monitor_task.py start "视频处理" "progress"

# ... 此处进行长时间处理 ...

# 停止并报告最终状态
python scripts/monitor_task.py stop "视频处理" "success" "处理完成!"

手动更新(快速状态)

对于无需监控的单个状态更新:

python scripts/send_status.py "仍在获取数据..." "progress" "fetch"
python scripts/send_status.py "处理记录:250/1000" "progress" "process"
python scripts/send_status.py "完成!3个文件已就绪" "success" "final"
python scripts/send_status.py "错误:连接超时" "error" "api"

何时使用每种方法

使用手动更新的情况:

  • 任务较短(30秒内)
  • 希望控制更新时间
  • 任务具有离散且有意义的里程碑

使用周期性监控的情况:

  • 任务长时间运行(超过1分钟)
  • 希望每5秒有稳定的"心跳"更新
  • 任务有较长的静默处理期
  • 希望向用户确认工作仍在进行

消息指南

保持状态消息在140个字符以内。示例:

  • 进度:"仍在获取数据..." 或 "处理记录:250/1000"
  • 成功:"完成!3个文件已就绪" 或 "任务成功完成"
  • 错误:"错误:连接超时" 或 "失败:缺少API密钥"
  • 警告:"尽管超时仍继续执行" 或 "部分成功:5/10个文件"

高级用法

包含额外详情

python scripts/send_status.py "上传中..." "progress" "upload" --details "文件:report.pdf (2.4MB)"

不同间隔时间

python scripts/monitor_task.py start "数据同步" "progress" --interval 10

在Python脚本中导入

from send_status import send_status

def long_task():
    send_status("开始...", "progress", "step1")
    # ... 工作
    send_status("步骤完成", "success", "step1")

与Clawdbot Cron自动化

对于计划任务,使用Clawdbot的cron功能:

# 在脚本或会话中
from cron import add

# 每5秒检查状态
job = {
    "text": "检查状态更新",
    "interval": "5s",
    "enabled": True
}
add(job)

即使您没有主动监视,这也能实现状态更新。

安装

要使用此技能,请将task-status文件夹复制到您的Clawdbot技能目录中:

C:\Users\Luffy\AppData\Roaming\npm\node_modules\clawdbot\skills\task-status

或将其添加到您的工作区,并从AGENTS.mdTOOLS.md中引用。

安装完成后,此技能将在任何需要定期状态更新的任务中可用。

20 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 38 ms
Developed with Cursor