mcpField
T
task-status

task-status

github.com/addozhangAgent 工作流171 次安装38 周前更新
代码仓库

关于 task-status

面向 Clawdbot 的技能,通过 Python 脚本发送任务进度、完成、警告和错误状态。支持手动发送单条消息,也可为长任务启动定期后台监控。

主要功能

  1. 01手动发送任务状态
  2. 02报告进度、成功、警告和错误
  3. 03运行定期后台监控
  4. 04配置监控间隔
  5. 05在 Python 中调用状态更新

适用场景

  1. 01发布短任务的阶段进度
  2. 02为长时间任务发送心跳更新
  3. 03报告任务完成或失败
  4. 04在 Python 脚本中加入状态调用

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/addozhang/openclaw-forge --skill task-status

安装后在 Claude Code 中输入/task-status确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

scripts/
monitor_task.py
send_status_websocket.py
send_status_with_logging.py
send_status.py
test_send_status.py

详细介绍

任务状态技能

快速开始

手动更新状态
python scripts/send_status.py "Starting data fetch..." "progress" "step1"
python scripts/send_status.py "Processing complete" "success" "final"
python scripts/send_status.py "Error: Missing API key" "error" "auth"
自动定期监控(每 5 秒)
# Start monitoring a long-running task
python scripts/monitor_task.py start "My Long Task" "processing"

# Monitor will send "Still working..." updates every 5 seconds
# When task completes, report final status
python scripts/monitor_task.py stop "My Long Task" "success" "Completed successfully!"

状态类型

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

定期监控

monitor_task.py 脚本可自动发送更新:

启动监控
python scripts/monitor_task.py start "<task_name>" "<status_type>" [--interval <seconds>]
  • 每 5 秒自动发送“仍在处理中……”更新
  • 在后台运行,直到停止
  • 可通过不同的时间间隔进行自定义
停止监控
python scripts/monitor_task.py stop "<task_name>" "<final_status>" "<final_message>"
示例:处理大型文件
# Start monitoring
python scripts/monitor_task.py start "video_processing" "progress"

# ... long processing happens here ...

# Stop with final status
python scripts/monitor_task.py stop "video_processing" "success" "Processing complete!"

手动更新(快速状态)

如需单次更新状态而不进行监控:

python scripts/send_status.py "Still fetching data..." "progress" "fetch"
python scripts/send_status.py "Processing records: 250/1000" "progress" "process"
python scripts/send_status.py "Complete! 3 files ready" "success" "final"
python scripts/send_status.py "Error: Connection timeout" "error" "api"

何时使用各方法

适合使用手动更新的情况:
  • 任务较短(少于 30 秒)
  • 希望控制发送更新的时间
  • 任务包含明确且有意义的阶段性进展
适合使用定期监控的情况:
  • 任务运行时间较长(超过 1 分钟)
  • 希望每 5 秒定期发送“心跳”更新
  • 任务会长时间静默处理
  • 希望让用户放心,表明工作仍在进行

消息指南

状态消息请控制在 140 个字符以内。示例:

  • Progress:“仍在获取数据……”或“正在处理记录:250/1000”
  • Success:“完成!已准备好 3 个文件”或“任务已成功完成”
  • Error:“错误:连接超时”或“失败:缺少 API 密钥”
  • Warning:“超时后仍继续处理”或“部分成功:5/10 个文件”

高级用法

添加更多详细信息
python scripts/send_status.py "Uploading..." "progress" "upload" --details "File: report.pdf (2.4MB)"
设置不同的时间间隔
python scripts/monitor_task.py start "data_sync" "progress" --interval 10
在 Python 脚本中导入
from send_status import send_status

def long_task():
    send_status("Starting...", "progress", "step1")
    # ... work
    send_status("Step complete", "success", "step1")

使用 Clawdbot Cron 实现自动化

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

# In a script or session
from cron import add

# Every 5 seconds, check status
job = {
    "text": "Check status update",
    "interval": "5s",
    "enabled": True
}
add(job)

即使你没有主动查看,也能发送状态更新。

安装

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

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

或者将其添加到工作区,并在 AGENTS.md 或 TOOLS.md 中引用。

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

评论

支持 Markdown