jqopenclaw-node-invoker
统一通过 Gateway 的 node.invoke 调用 JQOpenClawNode 能力(file.read、file.write、process.exec、process.manage、system.run、process.which、system.info、system.screenshot、system.notify、system.clipboard、system.input、node.selfUpdate)。当用户需要远程文件读写、文件移动/删除、目录创建/删除、进程管理(列表/搜索/终止)、远程进程执行、命令可执行性探测、系统信息采集、截图采集、系统弹窗、系统剪贴板读写、输入控制(鼠标/键盘)、节点自更新、节点命令可用性排查或修复 node.invoke 参数错误时使用。
About this skill
This JQOpenClaw Node Invoker skill provides a standardized protocol for AI agents to interact with and manage remote JQOpenClawNode devices. It centralizes access to a wide array of system functionalities via a generic `node.invoke` command, allowing agents to perform tasks such as reading and writing files, executing and managing processes, querying system information, capturing screenshots, interacting with the clipboard, and even updating the remote node itself. The skill includes robust logic for identifying JQOpenClawNodes, handling command mapping, and structuring `node.invoke` requests. The primary utility of this skill lies in automating remote system administration, enabling sophisticated diagnostic capabilities, and facilitating automated deployment or testing workflows on target JQOpenClawNode environments. By abstracting the complexities of direct node communication, it allows AI agents to execute powerful system-level commands with a consistent interface, ensuring reliability and adherence to predefined operational rules. Users benefit from its ability to streamline operations requiring remote access to file systems, process execution environments, and various system peripherals, all managed through a unified agent interface. It also includes mechanisms for output processing, presenting conclusions and key data fields rather than raw JSON, enhancing interpretability for both the agent and end-user.
Best use case
The primary use case is empowering AI agents to perform comprehensive remote system management and interaction with JQOpenClawNode devices, making it invaluable for automating IT operations. This benefits system administrators, DevOps engineers, and developers who need to programmatically control, monitor, and troubleshoot remote systems, particularly for tasks involving file manipulation, process lifecycle management, or gathering detailed system diagnostics across a network of specialized nodes.
统一通过 Gateway 的 node.invoke 调用 JQOpenClawNode 能力(file.read、file.write、process.exec、process.manage、system.run、process.which、system.info、system.screenshot、system.notify、system.clipboard、system.input、node.selfUpdate)。当用户需要远程文件读写、文件移动/删除、目录创建/删除、进程管理(列表/搜索/终止)、远程进程执行、命令可执行性探测、系统信息采集、截图采集、系统弹窗、系统剪贴板读写、输入控制(鼠标/键盘)、节点自更新、节点命令可用性排查或修复 node.invoke 参数错误时使用。
The AI agent will successfully execute specified remote commands on an identified JQOpenClawNode, producing clear conclusions and critical result fields pertaining to the requested file, process, or system operation.
Practical example
Example input
Using node `openclaw-server-7`, list all running processes and identify any named 'nginx'.
Example output
Successfully retrieved process list from node `openclaw-server-7`. Found 3 'nginx' processes with PIDs: [1001, 1002, 1003]. No other 'nginx' processes detected.
When to use this skill
- When an AI agent needs to perform remote file operations (read, write, move, delete, directory management) on a JQOpenClawNode.
- To execute, manage, or terminate processes, or detect command availability on a remote JQOpenClawNode.
- For gathering system information, taking screenshots, sending notifications, or controlling input/clipboard on a remote JQOpenClawNode.
- When an AI agent needs to initiate a self-update of a JQOpenClawNode or diagnose `node.invoke` parameter errors.
When not to use this skill
- When the target system is not identifiable as a JQOpenClawNode or compatible via the specified gateway.
- For operations that can be performed locally on the agent's machine without requiring remote access.
- When direct, interactive human intervention (e.g., deep debugging via SSH) is more suitable than automated execution.
- If the remote node's security policies explicitly forbid or heavily restrict `node.invoke` commands.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/jqopenclaw-node-invoker/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How jqopenclaw-node-invoker Compares
| Feature / Agent | jqopenclaw-node-invoker | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | easy | N/A |
Frequently Asked Questions
What does this skill do?
统一通过 Gateway 的 node.invoke 调用 JQOpenClawNode 能力(file.read、file.write、process.exec、process.manage、system.run、process.which、system.info、system.screenshot、system.notify、system.clipboard、system.input、node.selfUpdate)。当用户需要远程文件读写、文件移动/删除、目录创建/删除、进程管理(列表/搜索/终止)、远程进程执行、命令可执行性探测、系统信息采集、截图采集、系统弹窗、系统剪贴板读写、输入控制(鼠标/键盘)、节点自更新、节点命令可用性排查或修复 node.invoke 参数错误时使用。
How difficult is it to install?
The installation complexity is rated as easy. You can find the installation instructions above.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
Top AI Agents for Productivity
See the top AI agent skills for productivity, workflow automation, operational systems, documentation, and everyday task execution.
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
Cursor vs Codex for AI Workflows
Compare Cursor and Codex for AI coding workflows, repository assistance, debugging, refactoring, and reusable developer skills.
SKILL.md Source
# JQOpenClaw Node Invoker
## 快速流程
1. 确定目标 `nodeId`(用户给定优先)。
2. 调用 `node.describe` 检查节点在线状态,并按“节点识别规则”确认是否为 JQOpenClawNode。
3. 若命令未声明或被网关策略拦截,先输出阻断原因,再给修复建议。
4. 按 [references/command-spec.md](references/command-spec.md) 构造 `node.invoke` 请求。
5. 每次调用使用新的 `idempotencyKey`(UUID)。
6. 输出结果时先给结论,再给关键字段,不直接堆原始 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](references/command-spec.md)Related Skills
node-red-manager
Manage Node-RED instances via Admin API or CLI. Automate flow deployment, install nodes, and troubleshoot issues. Use when user wants to "build automation", "connect devices", or "fix node-red".
botlearn-healthcheck
botlearn-healthcheck — BotLearn autonomous health inspector for OpenClaw instances across 5 domains (hardware, config, security, skills, autonomy); triggers on system check, health report, diagnostics, or scheduled heartbeat inspection.
Incident Postmortem Generator
Generate blameless incident postmortems from raw notes, Slack threads, or bullet points.
Post-Mortem & Incident Review Framework
Run structured post-mortems that actually prevent repeat failures. Blameless analysis, root cause identification, and action tracking.
afrexai-performance-engineering
Complete performance engineering system — profiling, optimization, load testing, capacity planning, and performance culture. Use when diagnosing slow applications, optimizing code/queries/infrastructure, load testing before launch, planning capacity, or building performance into CI/CD. Covers Node.js, Python, Go, Java, databases, APIs, and frontend.
OpenClaw Mastery — The Complete Agent Engineering & Operations System
> Built by AfrexAI — the team that runs 9+ production agents 24/7 on OpenClaw.
Legacy System Modernization Engine
Complete methodology for assessing, planning, and executing legacy system modernization — from monolith decomposition to cloud migration. Works for any tech stack, any scale.
Incident Response Playbook
Structured incident response for business and IT teams. Guides you through detection, triage, containment, resolution, and post-mortem — with auto-generated timelines and action items.
Git Engineering & Repository Strategy
You are a Git Engineering expert. You help teams design branching strategies, implement code review workflows, manage monorepos, automate releases, and maintain healthy repository practices at scale.
Django Production Engineering
Complete methodology for building, scaling, and operating production Django applications. From project structure to deployment, security to performance — every decision framework a Django team needs.
IT Disaster Recovery Plan Generator
Build production-ready disaster recovery plans that actually get followed when things break.
afrexai-api-architect
Design, build, test, document, and secure production-grade APIs. Covers the full lifecycle from schema design through deployment, monitoring, and versioning. Use when designing new APIs, reviewing existing ones, generating OpenAPI specs, building test suites, or debugging production issues.