jqopenclaw-node-invoker

JQOpenClaw Node Invoker

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "jqopenclaw-node-invoker" with this command: npx skills add 188080501/jqopenclaw/188080501-jqopenclaw-jqopenclaw-node-invoker

JQOpenClaw Node Invoker

快速流程

  • 确定目标 nodeId (用户给定优先)。

  • 调用 node.describe 检查节点在线状态,并按“节点识别规则”确认是否为 JQOpenClawNode。

  • 若命令未声明或被网关策略拦截,先输出阻断原因,再给修复建议。

  • 按 references/command-spec.md 构造 node.invoke 请求。

  • 每次调用使用新的 idempotencyKey (UUID)。

  • 输出结果时先给结论,再给关键字段,不直接堆原始 JSON。

节点识别规则

  • 先读 node.describe 返回的 modelIdentifier 、commands 、displayName 、nodeId 。

  • 强匹配(可直接判定为 JQOpenClawNode):

  • modelIdentifier 非空,且满足以下任一条件:

  • 等于 JQOpenClawNode 。

  • 以 JQOpenClawNode 开头(如 JQOpenClawNode(Qt/C++) )。

  • 弱匹配(仅在 modelIdentifier 为空时使用):

  • commands 同时包含:file.read 、file.write 、process.exec 、process.manage 、system.run 、process.which 、system.info 、system.screenshot 、system.notify 、system.clipboard 、system.input 、node.selfUpdate 。

  • 且 displayName 或 nodeId 包含 JQOpenClaw 。

  • 拒绝匹配:

  • modelIdentifier 明确存在但不匹配 JQOpenClawNode* ,即使命令集合相似也不按本技能处理。

  • 不确定处理:

  • 若仅满足部分条件,先明确告知“节点类型不确定”,并要求用户指定目标 nodeId 或修正节点 modelIdentifier 后再执行。

命令映射

  • 文件读取:file.read

  • 文件写入/移动/删除/目录增删:file.write

  • 进程执行(program/arguments/detached):process.exec

  • 进程管理(枚举/搜索/终止):process.manage

  • 远程进程执行(OpenClaw 标准参数):system.run

  • 可执行命令探测:process.which

  • 系统基础信息:system.info

  • 屏幕截图:system.screenshot

  • 系统弹窗:system.notify

  • 系统剪贴板:system.clipboard

  • 输入控制:system.input

  • 节点自更新:node.selfUpdate

调用规则

  • 统一使用 node.invoke 。

  • params 必须是对象,字段类型严格匹配。

  • 节点侧仅接受 node.invoke.request.payload.paramsJSON ,且 paramsJSON 必须解析为对象。

  • paramsJSON 缺失或 null 时按空对象处理;若存在但不是字符串、为空字符串、或解析后不是对象,按 INVALID_PARAMS 处理。

  • file.write 必须显式传 allowWrite=true 才允许执行;未显式授权时应返回阻断提示。

  • timeoutMs 需按任务复杂度设置:

  • file.read / file.write :5000-30000

  • process.exec :5000-120000(detached=false 时生效)

  • process.manage :5000-30000(kill 场景应确保 timeoutMs >= waitMs )

  • system.run :5000-120000

  • process.which :5000-15000

  • system.info :30000

  • system.screenshot :60000

  • system.notify :5000-15000(仅参数校验与弹窗投递,弹窗异步展示)

  • system.clipboard :5000-15000(读写系统剪贴板文本)

  • system.input :5000-15000(仅参数校验与入队,动作异步执行)

  • node.selfUpdate :30000-300000(下载+校验+脚本启动;成功后节点会退出重启)

  • 调用 node.selfUpdate 时,md5 为必填(32 位十六进制);缺失或格式错误按 INVALID_PARAMS 处理。

  • node.invoke.timeoutMs 可省略;若传入,必须为非负整数(毫秒),否则按 INVALID_PARAMS 处理。其中 0 视为立即超时。

  • node.invoke.timeoutMs 会参与请求预算裁剪;当前节点会将 system.run.params.timeoutMs 、process.exec.params.timeoutMs (detached=false )与 file.read(operation=rg) 的内部超时裁剪到该预算内(取更小值)。

  • 即便省略 node.invoke.timeoutMs ,网关/调用端仍有等待超时(当前 OpenClaw 常见默认约 30000ms ,CLI openclaw nodes invoke 默认 15000ms )。

  • 实际可用执行时长取决于最先触发的超时层:调用端/网关等待超时、node.invoke.timeoutMs (若传入)、能力内部超时。

  • process.manage 当前仅支持 Windows;非 Windows 环境调用会返回 PROCESS_MANAGE_FAILED 。

  • process.manage :

  • operation=list/search/kill ,默认 list 。

  • search 必须提供 query (或 keyword )与 pid 之一。

  • kill 必须提供 pid ,可选 waitMs 范围 [0, 30000] 与 force (默认 true );force=false 为非强杀退出请求(仅对具有顶层窗口的进程生效);waitMs 当前不会被 node.invoke.timeoutMs 自动裁剪。

  • kill 默认拒绝终止关键进程(critical process);仅当目标 PID 为当前节点进程时允许。

  • process.exec 使用 program + arguments ,支持 detached ;用于兼容历史调用方。

  • system.run 对齐 OpenClaw:仅使用 command (argv 数组)、rawCommand 、cwd 、env 、timeoutMs 、needsScreenRecording 。

  • process.which 支持 program (单个)或 programs (数组)探测;未命中返回 found=false ,不作为命令失败。

  • file.read 支持 operation=read/lines/list/rg/stat/md5 。大文件建议使用 read + offsetBytes + maxBytes 分块读取(maxBytes 上限 2097152 );按行区间读取使用 lines + startLine/endLine ;目录遍历可用 list + recursive + glob ;元信息查询使用 stat ;文件指纹可用 md5 。

  • file.write 默认禁用;需显式 allowWrite=true 。开启后默认 operation=write ;移动用 operation=move (配 destinationPath /toPath );删除用 operation=delete (走回收站删除);目录创建用 operation=mkdir ;目录删除用 operation=rmdir 。

网关阻断处理

  • command not allowlisted :

  • 说明这是 Gateway 策略拦截。

  • 提示管理员在 Gateway 配置添加 gateway.nodes.allowCommands (如 file.read 、file.write 、process.exec 、process.manage 、system.run 、process.which 、system.notify 、system.clipboard 、system.input 、node.selfUpdate )。

  • command not declared by node / node did not declare commands :

  • 先看 node.describe.commands 。

  • 要求节点端先声明命令再调用。

错误处理规范

  • INVALID_PARAMS :参数缺失、类型不匹配或超出范围(含 file.read / file.write / process.exec / process.manage / system.run / process.which / system.notify / system.clipboard / system.input / node.selfUpdate 的参数校验失败,例如 node.selfUpdate 缺失必填 md5 )。指出具体字段问题并给出可直接重试的参数。

  • TIMEOUT :可能为网关等待超时,或显式传入 timeoutMs=0 触发立即超时。建议增大 timeoutMs 或缩小任务范围。

  • FILE_READ_FAILED / FILE_WRITE_FAILED :用于非参数类失败。输出失败原因并给路径、权限、目录存在性、回收站可用性等排查建议。

  • PROCESS_MANAGE_FAILED :用于非参数类失败(目标进程不存在、权限不足、非 Windows 平台、命中关键进程保护、终止或等待过程失败)。输出节点返回错误并给 PID、权限、平台和进程存活状态排查建议。

  • PROCESS_EXEC_FAILED :用于 process.exec 的非参数类失败(程序不存在、权限不足、启动失败等无法产出结构化执行结果)。输出节点返回错误并给 program 、workingDirectory 、权限排查建议。

  • SYSTEM_RUN_FAILED :用于 system.run 的非参数类失败(命令非法、程序不存在、权限不足、启动失败等无法产出结构化执行结果)。输出节点返回错误并给 command 、cwd 、权限、目标进程状态排查建议。

  • PROCESS_WHICH_FAILED :用于非参数类失败(探测流程内部异常)。输出节点返回错误并建议重试或检查节点日志。

  • SYSTEM_INFO_FAILED :系统信息采集失败。建议检查节点系统命令可用性与权限。

  • SCREENSHOT_CAPTURE_FAILED / SCREENSHOT_UPLOAD_FAILED :截图采集或上传失败。建议检查显示环境、file-server-uri 、file-server-token 与网络连通性。

  • SYSTEM_INPUT_FAILED :system.input 投递或平台能力失败。建议检查平台是否为 Windows、线程池状态与节点日志。

  • SYSTEM_NOTIFY_FAILED :system.notify 投递失败。建议检查应用实例状态与 UI 线程分发日志。

  • SYSTEM_CLIPBOARD_FAILED :system.clipboard 执行失败。建议检查节点应用实例、图形环境与剪贴板访问能力。

  • NODE_SELF_UPDATE_FAILED :node.selfUpdate 执行失败(下载失败、HTTP 状态异常、落盘失败、脚本启动失败等)。建议检查下载地址可达性、磁盘空间与杀毒拦截。

  • NODE_SELF_UPDATE_MD5_MISMATCH :node.selfUpdate 下载成功但 MD5 校验不匹配。建议核对必填 md5 与发布包内容。

  • COMMAND_NOT_SUPPORTED :改用已声明命令或升级节点版本。

输出规范

  • 成功时:

  • 先一句话结论。

  • 再列关键字段(例如 bytesWritten 、exitCode 、timedOut 、url )。

  • 对 process.manage ,优先展示 operation 、pid 、returnedCount/totalMatched 、waitResult 、resultClass 等字段。

  • 对 system.run / process.exec ,若 timedOut=true 或 resultClass=timeout ,按“命令超时”给出失败结论与重试建议(即使 node.invoke 本身返回成功结构)。

  • 失败时:

  • 先给 error.code 、error.message 。

  • 再给一条可执行的下一步操作。

安全边界

  • file.write 、process.exec 、process.manage 、system.run 与 process.which 默认按最小必要原则执行。

  • 对可能破坏状态的操作(删除、覆盖、重置、停服务、终止进程)先征得用户明确确认。

  • 不自行提升权限,不绕过网关策略。

system.notify

  • 命令名:system.notify

  • 用途:弹出系统消息提示框。

  • 参数:

  • message :必填字符串,非空,长度范围 [1, 4000]

  • title :可选字符串,默认 JQOpenClaw ,长度上限 120

  • 返回字段:operation=notify 、title 、message 、shown=true 、async=true 、ok=true

  • 错误处理:

  • 参数错误返回 INVALID_PARAMS

  • 投递失败返回 SYSTEM_NOTIFY_FAILED

system.clipboard

  • 命令名:system.clipboard

  • 用途:读取当前系统剪贴板文本,或写入文本到系统剪贴板。

  • 参数:

  • operation :可选字符串,read|write ,默认 read

  • text :当 operation=write 时必填字符串

  • 返回字段(operation=read ):operation=read 、text 、length 、hasText 、ok=true

  • 返回字段(operation=write ):operation=write 、written=true 、length 、hasText 、ok=true

  • 错误处理:

  • 参数错误返回 INVALID_PARAMS

  • 执行失败返回 SYSTEM_CLIPBOARD_FAILED

system.input

  • 命令名:system.input

  • 用途:按顺序执行输入动作数组,支持鼠标、键盘和延迟混排。

  • 执行语义:参数校验通过后异步入队;node.invoke 立即返回。

  • 调度策略:latest-wins。若新请求到达,会取消旧请求尚未完成的剩余动作;已执行动作不会回滚。

  • 使用建议:keyboard.down / keyboard.up 尽量在同一请求内闭合配对,或优先使用 keyboard.tap 。

  • 入参要求:

  • params.actions 必须为数组,长度 [1, 1000]

  • 每个动作对象必须包含 type

  • 支持 mouse.move 、mouse.click 、mouse.scroll 、mouse.drag 、keyboard.down 、keyboard.up 、keyboard.tap 、keyboard.text 、delay

  • 关键校验:

  • mouse.move.mode :absolute|relative

  • mouse.click.button :left|right

  • mouse.scroll :delta 或 deltaY 二选一必填,可选 deltaX

  • mouse.drag :mode=absolute|relative ,可选 button=left|right

  • keyboard.text.text :非空字符串

  • delay.ms :[0, 60000]

  • 错误处理:

  • 参数错误返回 INVALID_PARAMS

  • 投递失败返回 SYSTEM_INPUT_FAILED

参考

  • references/command-spec.md

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Movie Coupon 电影票优惠券-淘票票、猫眼等电影平台优惠购票

获取电影票优惠券,包括淘票票、猫眼等主流电影平台的优惠。返回领取链接和二维码图片,用户可点击链接或扫描二维码领取优惠。

Registry SourceRecently Updated
General

Clawnotes

You're becoming someone — your SOUL.md says so. But becoming someone requires memory, and you have none. Every context window resets. Every opinion you forme...

Registry SourceRecently Updated
General

Clawriosity

Daily curiosity feed from AIgneous Million Whys — query "why" questions by topic or semantic search, delivered as quizzes, articles, or podcast scripts. Try...

Registry SourceRecently Updated
General

Inventory Reorder Calculator

Estimate ecommerce reorder timing and quantity using demand, lead time, and safety stock assumptions. Use when operators need a practical reorder point inste...

Registry SourceRecently Updated