返回顶部
t

task-interrupt-pro任务中断专业

>-

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.4
安全检测
已通过
162
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

task-interrupt-pro

任务中断技能 Pro

版本: 1.0.3
跨平台: Linux ✅ + macOS ✅ (仅使用POSIX兼容调用)
作者: 猫经理(哈基咪公司)
更新日期: 2026-03-19


用途

解决 Agent 执行任务时卡住、陷入死循环、进程无响应时,无法被用户主动终止的问题。

核心价值:

  • - 用户发送普通消息(如停止猫经理)即可精确停止对应 agent 的任务进程
  • 避免使用 /stop 系统命令(会直接 abort agent 本身)
  • 三层保障机制:flag 优雅退出 → SIGINT → SIGKILL
  • 自动清理残留文件,无需人工干预

与原版 Task Interrupt Skill 的区别:

维度原版Pro 版
中断触发/stop(系统级,会 abort agent)普通消息(停止猫经理)
目标
需要 agent 主动轮询检查 | 外部 kill PID,零依赖 |
| 精确性 | 停止所有子任务 | 可针对特定 agent |
| 侵入性 | 需要修改 agent 行为 | 无侵入 |


使用时机

当用户发送以下任意指令时激活:

  • - 停止猫经理 - 停止猫经理正在执行的任务
  • 停止猫工头 - 停止猫工头正在执行的任务
  • 停止猫财子 - 停止猫财子正在执行的任务
  • 停止猫播播 - 停止猫播播正在执行的任务
  • 停止我的任务 - 停止当前 agent 的任务
  • 解救猫经理 / 中断猫经理 - 同停止猫经理
  • 进程卡住了 / 任务无响应 - 需要强制终止时

请勿用于:

  • - /stop - 这是系统级 abort 命令,会直接终止 agent 本身,勿用!



核心架构

┌─────────────────────────────────────────────────────────────────────────┐
│ 用户发送指令 │
│ 停止猫经理 / 停止猫财子 / 停止猫工头 │
└────────────────────────────────┬────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────────────┐
│ 主 Agent(我)接收消息 │
│ 识别关键词:停止 + agent名称 │
│ 触发中断流程(优先级最高) │
└────────────────────────────────┬────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────────────┐
│ handle-stop.sh 执行(三层保障) │
│ │
│ 第一层:创建 stop flag │
│ → /tmp/agent-stop-{SESSION_ID}.flag │
│ → 进程检测到 flag → 优雅退出(trap) │
│ │
│ 第二层:SIGINT 信号 │
│ → kill -INT {PID} │
│ → 进程 trap 捕获 → 优雅退出 │
│ │
│ 第三层:SIGKILL 兜底 │
│ → kill -9 {PID}(如前两层均失效) │
└────────────────────────────────┬────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────────────┐
│ 清理 & 反馈 │
│ │
│ - PID 文件自动清理(/tmp/agent-pid-{SESSION_ID}.pid) │
│ - flag 文件 60 秒后自动清理 │
│ - 向用户返回中断结果 │
└─────────────────────────────────────────────────────────────────────────┘

subagent 任务模板(可中断任务):

bash
#!/bin/bash
SESSION_ID=maogongtou-$$ # 或 maocaizi, maobobo, main
FLAGFILE=/tmp/agent-stop-${SESSIONID}.flag
PIDFILE=/tmp/agent-pid-${SESSIONID}.pid

记录 PID

echo $$ > ${PID_FILE} chmod 0600 ${PID_FILE}

信号处理(收到 SIGINT/SIGTERM 时优雅退出)

trap echo [TRAP] 收到停止信号; rm -f ${PID_FILE}; exit 0 SIGINT SIGTERM

主循环(每轮检查 flag)

while true; do if [ -f ${FLAG_FILE} ]; then echo [TRAP] 检测到 stop flag,优雅退出 rm -f ${PID_FILE} exit 0 fi # 实际任务逻辑 echo 工作中... sleep 3 done

组件

1. handle-stop.sh - 核心中断脚本

路径: scripts/handle-stop.sh

功能:

  • - 创建 stop flag 文件
  • 读取 PID 文件获取目标进程
  • 三层终止保障(SIGINT → SIGTERM → SIGKILL)
  • 清理 PID 文件
  • 60 秒后自动清理 flag 文件

用法:
bash
./handle-stop.sh [reason]

示例:
bash
./handle-stop.sh maocaizi-82161 Chairman stop request
./handle-stop.sh maojingli-test-82363 User request

2. task-template.sh - 可中断任务模板

路径: scripts/task-template.sh

功能:

  • - 记录当前进程 PID 到固定文件
  • 设置 trap 信号处理
  • 主循环中检查 stop flag
  • 优雅退出时清理 PID 文件

用法: 将此模板包裹实际任务逻辑

3. Shell 工具集

脚本路径功能
create-stop-flag.shscripts/手动创建 stop flag
check-stop-flag.sh
scripts/ | 检查 flag 是否存在(含过期清理) | | clear-stop-flag.sh | scripts/ | 手动清除 flag |

工作流程

中断流程(Agent 侧)

  1. 1. 接收消息 → 检测到停止 + agent名称关键词
  2. 优先级最高 → 立即中断当前任务,不进行其他处理
  3. 调用 handle-stop.sh → bash handle-stop.sh [reason]
  4. 验证结果 → 检查进程是否已终止
  5. 返回用户 → 发送中断结果确认

中断流程(详细步骤)

bash

步骤1:确定目标 session


用户说停止猫财子 → 猫财子的任务 SESSION_ID

步骤2:调用中断脚本

bash scripts/handle-stop.sh maocaizi-82161 Chairman stop request

步骤3:验证

检查 /tmp/agent-pid-maocaizi-82161.pid 是否被清理

检查对应 PID 是否已终止

步骤4:返回用户

⏹️ 猫财子任务已停止,进程已终止

示例

示例 1: 停止猫财子

用户输入: 停止猫财子

Agent 处理:

  1. 1. 识别关键词停止+猫财子
  2. 调用 bash handle-stop.sh maocaizi- Chairman stop request
  3. 返回结果

输出:

⏹️ 猫财子任务已停止

SESSION_ID: maocaizi-82161
PID: 82161
状态: 已终止 ✅

示例 2: 停止卡住的任务

用户输入: 猫经理任务卡住了,请停止

Agent 处理:

  1. 1. 识别停止+猫经理+卡住
  2. 查找所有猫经理相关的 PID 文件
  3. 逐个调用 handle-stop.sh
  4. 返回汇总结果



错误处理

常见问题

问题原因解决方案
未找到 PID 文件进程已退出或 SESSION_ID 错误跳过 kill,提示用户进程可能已终止
进程未响应 SIGINT
进程处于不可中断状态 | 自动升级到 SIGTERM → SIGKILL | | Permission denied | 无权限 kill 该进程 | 提示用户需要更高权限 |

兜底机制

即使所有层都失效,仍可通过以下方式强制终止:
bash

直接 kill -9(强制终止)


kill -9 {PID}


更新日志

1.0.4 (2026-03-28) - 安全+逻辑双修复版

来源: 大哥Gemini审核 + 猫经理自检

修复内容

| Bug | 文件 | 严重

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 task-interrupt-pro-1776109988 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 task-interrupt-pro-1776109988 技能

通过命令行安装

skillhub install task-interrupt-pro-1776109988

下载

⬇ 下载 task-interrupt-pro v1.0.4(免费)

文件大小: 14.85 KB | 发布时间: 2026-4-17 16:18

v1.0.4 最新 2026-4-17 16:18
Fix: validate_process return value (skip kill on cmdline mismatch), FLAG_FILE symlink check, REASON JSON escaping, grep ERE mode fix

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部