Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Zworker

v1.0.3

控制zworker AI自动化任务应用,支持任务管理、定时计划控制、用户信息同步和消息通知转发。当用户提到“zworker”关键词时使用此技能,例如:同步用户信息、获取任务列表、执行任务、管理定时计划、获取并发送通知等。技能通过HTTP接口与本地运行的zworker应用(localhost:18803)通信。

0· 180·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for peterpan0630/zworker.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Zworker" (peterpan0630/zworker) from ClawHub.
Skill page: https://clawhub.ai/peterpan0630/zworker
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install zworker

ClawHub CLI

Package manager switcher

npx clawhub@latest install zworker
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The skill's name/description (control local zworker via HTTP) align with included Python client and helper scripts that call localhost:18803 endpoints. However, SKILL.md instructs the agent to read OpenClaw's openclaw.json to gather channel/userid information but the skill metadata declares no required config paths or credentials. The provided scripts do not automatically read openclaw.json (they accept stdin/--file/--users input), so there is a mismatch between claimed automatic behavior and the actual implementation.
!
Instruction Scope
SKILL.md explicitly instructs: 'if openclaw.json doesn't have userid, you must try all means to get it' — a vague, open-ended instruction that could lead an agent to search unrelated files or system state. The docs also assume the agent will call platform message tools to send messages, and that openclaw.json is accessible, but there is no explicit, constrained procedure for obtaining these data. The scripts themselves do not perform system-wide searches or hidden exfiltration, but the human-readable instructions grant broad discretion to the agent.
Install Mechanism
No install spec; code is provided as scripts and an API client and there are no downloads or archive extraction. No external install URLs or package pulls are present, which keeps install risk low.
Credentials
The skill declares no required environment variables, credentials, or config paths, which is appropriate for a local HTTP-only integration. However, SKILL.md expects access to OpenClaw runtime data (openclaw.json) and to messaging tools without declaring them as inputs — this mismatch means the agent might request or attempt to access files or tools that were not documented as required.
Persistence & Privilege
always is false, the skill does not request persistent platform privileges, and it does not attempt to modify other skills or global agent config. The scripts only interact with localhost:18803 and local files provided by the user or stdin.
What to consider before installing
This skill appears to implement local control of a zworker service and its scripts call only localhost:18803, which is expected. However, the SKILL.md contains a risky, vague instruction to 'obtain userids by any means' and assumes the agent will read OpenClaw's openclaw.json and call platform message tools even though no config paths or permissions are declared. Before installing or enabling this skill: 1) Confirm you trust the local zworker application and that it should receive channel/user mappings. 2) Do not grant the agent broad file-read access — prefer explicitly supplying the openclaw.json path or a concrete users JSON via --file/--users or stdin. 3) If you allow automated runs, restrict the agent's ability to search arbitrary system files. 4) Review the scripts yourself (they are included) and test them in a sandbox: they only make HTTP calls to localhost and do not exfiltrate to remote hosts. 5) Ask the skill author to remove/replace the 'by any means' instruction with a precise, limited method for obtaining userids (e.g., read a configured openclaw.json path) and to declare any required config paths. If you cannot limit file access or get clearer instructions, treat the skill as potentially overbroad and avoid enabling autonomous invocation.

Like a lobster shell, security has layers — review code before you run it.

latestvk972t2ssx35j3apf2v1t1r0hsx85k206
180downloads
0stars
4versions
Updated 2d ago
v1.0.3
MIT-0

Zworker 技能

概述

zworker 是一个AI自动化任务的Electron应用,本技能提供与zworker应用交互的完整能力,包括:

  • 同步用户信息:将OpenClaw的channel和userid同步到zworker
  • 消息通知处理:获取zworker的通知并转发到指定用户
  • 任务管理:获取、执行zworker任务
  • 定时计划管理:获取、启用、关闭zworker的定时计划

所有操作通过zworker暴露的HTTP接口(http://localhost:18803)完成,HTTP接口均以UTF-8的编码返回,因此你需要按UTF-8编码方式接收和输出数据。

快速开始

前置条件

  1. zworker应用正在运行,HTTP服务监听在 http://localhost:18803
  2. OpenClaw环境已配置好message工具,能够向各channel发送消息

核心功能

1. 同步用户信息至zworker

触发语句帮我调用zworker技能,同步用户信息至zworker帮我同步用户信息至zworker

工作流程

  1. 读取当前OpenClaw的openclaw.json文件中的channels字段,获取当前可用的channel以及该channel的userid(如果openclaw.json没有找到userid,你必须想尽办法拿到,拿不到就过滤掉该数据),把数据平铺得到 [{channel: 'xxx', userid: 'xxx'}, ...],作为下一步的users参数,如果users数据里面存在不真实的userid,直接报错和终止流程
  2. 调用 POST /control/setClawUserInfo 接口,把user信息同步到zworker,参数格式为 { users: [{channel: '', userid: ''}, ...] }
  3. 调用 POST /control/setClawUserInfo 接口同步到zworker
  4. 输出同步结果

输出

  • 成功:已成功同步用户信息至zworker,请返回zworker继续操作。
  • 失败:用户信息同步失败 + 原因

2. 获取zworker消息并发送给指定用户

触发语句帮我调用zworker技能,发送zworker的消息通知帮我获取并发送zworker的消息通知

工作流程

  1. 调用 GET /control/getClawMessage 接口,clawType 参数必须传入,且固定传入 QClaw
  2. 解析返回的 {channel: 'xxx', userid: 'xxx', message: 'xxx'}
  3. 如果channel和message非空,使用message工具将消息发送到指定channel和userid
    • 如果userid为空,发送到该channel的默认绑定用户或最近聊天的用户
  4. 输出发送的消息内容或错误信息

输出

  • 成功:输出message字段内容
  • 失败:zworker消息获取/发送失败 + 原因

3. 获取zworker任务列表

触发语句帮我调用zworker技能,获取zworker的任务列表帮我获取zworker的任务列表获取下一页zworker任务数据查找名称为[xxx]的zworker任务

工作流程

  1. 解析用户请求中的任务名称过滤条件和分页参数
  2. 调用 GET /control/getTaskList 接口,传入 namepageNumberlimitencodingMethod 参数,其中 encodingMethod 是当前调用接口的上下文编码,可传入 utf-8 或 gbk
  3. 以下参数带有默认值:pageNumber=1limit=24
  4. 严格按照输出格式输出任务ID和任务名称,任务名称已按 encodingMethod 进行编码
  5. 如果还有下一页数据,提示可获取更多数据

输出格式

- 任务A(任务ID:1)
- 任务B(任务ID:2)
...
当前仅返回前24条任务数,如果需要获取更多可以继续跟我说,比如:获取下一页数据

4. 执行zworker任务

触发语句帮我调用zworker技能,执行id为[12312]的zworker任务帮我执行id为[12312]的zworker任务帮我执行名称为[xxx自动化执行]的zworker任务

工作流程

  1. 解析用户请求中的任务ID或名称
  2. 调用 POST /control/runTask 接口,传入 idname 参数
  3. 检查返回的 success 字段

输出

  • 成功:已成功触发任务执行
  • 失败:触发任务执行失败 + 原因

5. 获取zworker定时计划列表

触发语句帮我调用zworker技能,获取定时计划列表帮我获取zworker的定时计划列表查找名称为[xxx]的zworker计划

工作流程

  1. 解析用户请求中的计划名称过滤条件和分页参数
  2. 调用 GET /control/getScheduleList 接口,传入 namepageNumberlimitencodingMethod 参数,其中 encodingMethod 是当前调用接口的上下文编码,可传入 utf-8 或 gbk
  3. 以下参数带有默认值:pageNumber=1limit=24
  4. 严格按照输出格式输出计划ID、计划名称、状态(已启动/未启动)
  5. 如果还有下一页数据,提示可获取更多数据

输出格式

- 计划A(计划ID:1,状态:已启动)
- 计划B(计划ID:2,状态:未启动)
...
当前仅返回前24条计划数,如果需要获取更多可以继续跟我说,比如:获取下一页数据

6. 启动zworker定时计划

触发语句帮我调用zworker技能,启用id为[12321]的定时计划帮我启用id为[12321]的zworker定时计划帮我启动名称为[xxx]的计划

工作流程

  1. 解析用户请求中的计划ID或名称
  2. 调用 POST /control/setSchedule 接口,传入 enable=1idname 参数
  3. 检查返回的 success 字段

输出

  • 成功:已成功启动定时计划
  • 失败:定时计划启动失败 + 原因

7. 关闭zworker定时计划

触发语句帮我调用zworker技能,关闭id为[12321]的定时计划帮我关闭id为[12321]的zworker定时计划帮我关闭名称为[xxx]的计划

工作流程

  1. 解析用户请求中的计划ID或名称
  2. 调用 POST /control/setSchedule 接口,传入 enable=0idname 参数
  3. 检查返回的 success 字段

输出

  • 成功:已成功关闭定时计划
  • 失败:定时计划关闭失败 + 原因

技术细节

HTTP接口基础

  • 基础URLhttp://localhost:18803
  • 认证:当前无需认证(本地网络)
  • 超时:建议设置5秒超时
  • 错误处理:检查HTTP状态码和返回的 success 字段

接口规范

详细接口定义见 references/api_endpoints.md

脚本使用

本技能提供以下Python脚本,位于 scripts/ 目录:

  1. zworker_api.py - 通用HTTP客户端,封装所有接口调用
  2. sync_users.py - 同步用户信息到zworker
  3. fetch_notifications.py - 获取并发送zworker消息通知
  4. list_tasks.py - 获取任务列表(支持分页和过滤)
  5. run_task.py - 执行任务(按ID或名称)
  6. list_schedules.py - 获取定时计划列表(支持分页和过滤)
  7. enable_schedule.py - 启用定时计划
  8. disable_schedule.py - 关闭定时计划

配置与存储

  • 用户列表:通过OpenClaw的 cli、gateway 等工具获取当前channel和userid

故障排除

  1. 连接失败:检查zworker应用是否运行,端口18803是否可访问
  2. 认证错误:当前无需认证,未来可能需要API密钥
  3. 消息发送失败:检查目标channel是否配置正确,userid是否存在

注意事项

  1. 用户信息同步应在channel配置变更后执行
  2. 消息通知功能依赖cron任务定期执行,也可手动触发
  3. 所有HTTP接口为本地调用,确保网络环境安全
  4. 所有HTTP接口均以UTF-8编码返回,确保网络环境安全

Comments

Loading comments...