浏览器CLI控制
Playwright
async-task 是一个命令行工具,用于执行可能超过 HTTP 超时限制的长耗时任务。它通过即时返回确认、后台执行实际命令、完成后主动推送结果的三段式流程,避免服务器因等待响应而断开连接。
破解HTTP超时导致的任务中断难题。当需要分析GB级日志文件、批量处理数据或调用响应不稳定的外部服务时,传统同步请求会因等待过久而失败。该工具将耗时操作移至后台独立执行,即时反馈任务已启动,完成后主动推送结果,保障长任务可靠运行且不阻塞前端交互。
落地案例:数据分析团队需对千万行用户行为日志进行聚合计算,预计耗时8分钟。使用async-task启动任务后立即收到确认回执,后台进程持续运算;期间分析师可继续其他工作。计算完成后,系统自动将统计报表推送至原会话窗口。若执行中途异常终止,也会触发fail通知便于及时排查,避免任务
安装
# 方式一:克隆并全局链接
git clone https://github.com/Enderfga/openclaw-async-task.git
cd openclaw-async-task
npm link
# 方式二:直接复制到 PATH
chmod +x async-task.js
cp async-task.js /usr/local/bin/async-task
使用流程(必须严格遵循)
async-task start "任务描述" — 立即返回,不阻塞async-task done "执行结果" — 将结果推送到用户会话其他命令
async-task fail "错误信息" — 标记任务失败并推送错误async-task push "消息" — 无需启动直接推送消息async-task status — 查看当前任务状态环境变量配置(可选)
OPENCLAW_SESSION — 指定目标会话(通常自动检测)ASYNC_TASK_PUSH_URL — 自定义 HTTP 推送端点ASYNC_TASK_AUTH_TOKEN — 自定义端点的认证令牌见下方输入与输出表格。
| 项目 | 内容 |
|---|---|
| 输入 | 任务描述文本;待执行的 shell 命令序列;完成时的结果字符串或错误信息;可选的环境变量配置(会话 ID、推送端点、认证令牌) |
| 输出 | start 命令返回即时确认;done/fail/push 命令将会话消息推送至用户;status 命令返回当前任务状态 |
| 适用人群 | 使用 OpenClaw/Clawdbot 平台的开发者;需要执行编译、扫描、数据分析等长耗时操作的技术人员 |
| 不包含 | 内置的任务调度队列;跨会话的结果持久化;图形化进度展示;非 CLI 环境的集成方案 |
start 必须与 done 或 fail 配对使用,禁止只启动不结束原始链接:https://github.com/openclaw/skills/tree/main/skills/enderfga/async-task/SKILL.md
来源类型:GitHub 仓库