Nodes 导读

Nodes:这只外接小帮手能看见什么

Nodes 这页讲的是接在 OpenClaw 外面的眼睛、耳朵或小手。你先看它能接住什么输入、会吐出什么结果、以及怎样和主会话搭桥。原文最响的一记鼓点,其实是:A **node** is a companion device (macOS/iOS/Android/headless) that connects to the 门口的小…。

先听这页的人话版

Nodes

这一页不是在堆术语,它像把“Nodes”这台小机器搬到桌上,当着你的面拆开给你看。你先不用全记住,先抓住它到底在忙什么:A **node** is a companion device (macOS/iOS/Android/headless) that connects to the 门口的小门卫 **Web…。

如果把这页当成“给普通人看的版本”,你最应该带走的是:它到底在教你一件什么事、什么时候要这样做、以及哪里最容易踩坑。

原始路径:/nodes 章节数量:25 查看原文

第 1 站

Start Here

这一节更像安装或配置步骤,重点不是概念,而是“按什么顺序做才不会卡住”。

这段在解决什么

这一节更像安装或配置步骤,重点不是概念,而是“按什么顺序做才不会卡住”。

为什么值得看

很多文档看起来长,其实是在防你漏掉前置条件。

真要动手时

真正照做时,先找前置条件,再找必填项,最后看验证方法。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:A **node** is a companion device (macOS/iOS/Android/headless) that connects to the 门口的小门卫 **WebSocket** (same port as o…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:A **node** is a companion device (macOS/iOS/Android/headless) that connects to the 门口的小门卫 **WebSocket** (same port as o…。

原文小纸条

A **node** is a companion device (macOS/iOS/Android/headless) that connects to the Gateway **WebSocket** (same port as operators) with role: "node" and exposes a command surface (e.g. canvas.*, camera.*, device.*, notifications.*, system.*) via node.invoke. Protocol details: Gateway protocol.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Legacy transport: Bridge protocol (TCP JSONL; historical only for current nodes).

原文小纸条

Legacy transport: Bridge protocol (TCP JSONL; historical only for current nodes).

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:macOS can also run in **node mode**: the menubar app connects to the 门口的小门卫's WS 大房子服务器 and exposes its local canvas/ca…。

原文小纸条

macOS can also run in **node mode**: the menubar app connects to the Gateway's WS server and exposes its local canvas/camera commands as a node (so openclaw nodes … works against this Mac). In remote gateway mode, browser automation is handled by the CLI node host (openclaw node run or the installed node service), not by the native app node.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Notes:。

原文小纸条

Notes:

像准备清单

这一串条目别硬背,把它当成“Start Here”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:Nodes are **peripherals**, not 门口的小门卫s. T…、Telegram/WhatsApp/etc. 小纸条消息s land on the…、Troubleshooting runbook: /nodes/troublesh…。

原文小纸条
  • Nodes are **peripherals**, not gateways. They don't run the gateway service.
  • Telegram/WhatsApp/etc. messages land on the **gateway**, not on nodes.
  • Troubleshooting runbook: /nodes/troubleshooting

第 2 站

Pairing + status

这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。

这段在解决什么

这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。

为什么值得看

你理解的是能力边界,不只是功能名字。

真要动手时

如果这节里同时出现命令、配置和例子,优先先看例子,再回头看配置。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:**WS nodes use device pairing.** Nodes present a device identity during connect; the 门口的小门卫 creates a device pairing re…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:**WS nodes use device pairing.** Nodes present a device identity during connect; the 门口的小门卫 creates a device pairing re…。

原文小纸条

**WS nodes use device pairing.** Nodes present a device identity during connect; the Gateway creates a device pairing request for role: node. Approve via the devices CLI (or UI).

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Quick CLI:。

原文小纸条

Quick CLI:

像魔法口令拆解

这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。

  • 这一句是在直接叫 OpenClaw 动起来:“openclaw devices list”。你可以把它想成一句说出口就要执行的差事。
  • 这一句是在直接叫 OpenClaw 动起来:“openclaw devices approve <requestId>”。你可以把它想成一句说出口就要执行的差事。
  • 这一句是在直接叫 OpenClaw 动起来:“openclaw devices reject <requestId>”。你可以把它想成一句说出口就要执行的差事。
原文代码块
openclaw devices list
openclaw devices approve <requestId>
openclaw devices reject <requestId>
openclaw nodes status
openclaw nodes describe --node <idOrNameOrIp>
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:If a node retries with changed auth details (role/scopes/public key), the prior pending request is superseded and a new…。

原文小纸条

If a node retries with changed auth details (role/scopes/public key), the prior pending request is superseded and a new requestId is created. Re-run openclaw devices list before approving.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Notes:。

原文小纸条

Notes:

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:rotation stays inside that contract; it cannot upgrade a paired node into a different role that pairing approval never…。

原文小纸条

rotation stays inside that contract; it cannot upgrade a paired node into a different role that pairing approval never granted.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:node pairing store; it does **not** gate the WS connect handshake.

原文小纸条

node pairing store; it does **not** gate the WS connect handshake.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:separate 门口的小门卫-owned node pairing store.

原文小纸条

separate gateway-owned node pairing store.

像准备清单

这一串条目别硬背,把它当成“Pairing + status”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:nodes status marks a node as **paired** w…、The device pairing record is the durable…、node.pair.* (CLI: openclaw nodes pending/…、openclaw nodes remove --node <id name ip>…。

原文小纸条
  • nodes status marks a node as **paired** when its device pairing role includes node.
  • The device pairing record is the durable approved-role contract. Token
  • node.pair.* (CLI: openclaw nodes pending/approve/reject/remove/rename) is a separate gateway-owned
  • openclaw nodes remove --node <id|name|ip> deletes stale entries from that
  • Approval scope follows the pending request's declared commands:
  • commandless request: operator.pairing
  • non-exec node commands: operator.pairing + operator.write
  • system.run / system.run.prepare / system.which: operator.pairing + operator.admin

第 3 站

Remote node host (system.run)

这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。

这段在解决什么

这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。

为什么值得看

你理解的是能力边界,不只是功能名字。

真要动手时

如果这节里同时出现命令、配置和例子,优先先看例子,再回头看配置。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Use a **node host** when your 门口的小门卫 runs on one machine and you want 魔法口令s to execute on another. The 聪明脑袋模型 still tal…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Use a **node host** when your 门口的小门卫 runs on one machine and you want 魔法口令s to execute on another. The 聪明脑袋模型 still tal…。

原文小纸条

Use a **node host** when your Gateway runs on one machine and you want commands to execute on another. The model still talks to the **gateway**; the gateway forwards exec calls to the **node host** when host=node is selected.

第 4 站

What runs where

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Approval note: file operand and denies the run if that file changes before execution. approval-backed execution is deni…。

像准备清单

这一串条目别硬背,把它当成“What runs where”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:**门口的小门卫 host**: receives 小纸条消息s, runs th…、**Node host**: executes system.run/system…、**Approvals**: enforced on the node host…。

原文小纸条
  • **Gateway host**: receives messages, runs the model, routes tool calls.
  • **Node host**: executes system.run/system.which on the node machine.
  • **Approvals**: enforced on the node host via ~/.openclaw/exec-approvals.json.
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Approval note:。

原文小纸条

Approval note:

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:file operand and denies the run if that file changes before execution.

原文小纸条

file operand and denies the run if that file changes before execution.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:approval-backed execution is denied instead of pretending full runtime coverage. Use sandboxing, separate hosts, or an…。

原文小纸条

approval-backed execution is denied instead of pretending full runtime coverage. Use sandboxing, separate hosts, or an explicit trusted allowlist/full workflow for broader interpreter semantics.

像准备清单

这一串条目别硬背,把它当成“What runs where”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:Approval-backed node runs bind exact requ…、For direct shell/runtime file executions,…、If OpenClaw cannot identify exactly one c…。

原文小纸条
  • Approval-backed node runs bind exact request context.
  • For direct shell/runtime file executions, OpenClaw also best-effort binds one concrete local
  • If OpenClaw cannot identify exactly one concrete local file for an interpreter/runtime command,

第 5 站

Start a node host (foreground)

这一节主要在解释“Start a node host (foreground)”到底是干什么的,以及你什么时候会遇到它。

这段在解决什么

这一节主要在解释“Start a node host (foreground)”到底是干什么的,以及你什么时候会遇到它。

为什么值得看

如果你是第一次接触 OpenClaw,这一节最值得看的不是术语本身,而是它背后的使用场景和限制。

真要动手时

真正动手时,先看它有没有默认值、有没有必须打开的选项、以及会不会影响安全边界。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:On the node machine:。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:On the node machine:。

原文小纸条

On the node machine:

像魔法口令拆解

这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。

  • 这一句是在直接叫 OpenClaw 动起来:“openclaw node run --host <gateway-host> --port 18789 --display-name "Build Node"”。你可以把它想成一句说出口就要执行的差事。
原文代码块
openclaw node run --host <gateway-host> --port 18789 --display-name "Build Node"

第 6 站

Remote 门口的小门卫 via SSH tunnel (loopback bind)

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:If the 门口的小门卫 binds to loopback (门口的小门卫.bind=loopback, default in local mode), remote node hosts cannot connect directl…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:If the 门口的小门卫 binds to loopback (门口的小门卫.bind=loopback, default in local mode), remote node hosts cannot connect directl…。

原文小纸条

If the Gateway binds to loopback (gateway.bind=loopback, default in local mode), remote node hosts cannot connect directly. Create an SSH tunnel and point the node host at the local end of the tunnel.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Example (node host -> 门口的小门卫 host):。

原文小纸条

Example (node host -> gateway host):

像魔法口令拆解

这是一串终端口令,像你站在控制台前,一下下按按钮让机器醒过来。

  • 这里在给“# Terminal A (keep running)”挂牌子,告诉系统它该指向“forward local 18790 -> gateway 127.0.0.1:18789”。
  • 这里在给“ssh -N -L 18790”挂牌子,告诉系统它该指向“127.0.0.1:18789 user@gateway-host”。
  • 这里在给“# Terminal B”挂牌子,告诉系统它该指向“export the gateway token and connect through the tunnel”。
原文代码块
# Terminal A (keep running): forward local 18790 -> gateway 127.0.0.1:18789
ssh -N -L 18790:127.0.0.1:18789 user@gateway-host

# Terminal B: export the gateway token and connect through the tunnel
export OPENCLAW_GATEWAY_TOKEN="<gateway-token>"
openclaw node run --host 127.0.0.1 --port 18790 --display-name "Build Node"
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Notes:。

原文小纸条

Notes:

像准备清单

这一串条目别硬背,把它当成“Remote gateway via SSH tunnel (loopback bind)”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:openclaw node run supports token or 秘密口令…、Env vars are preferred: OPENCLAW_门口的小门卫_T…、设置说明书 fallback is 门口的小门卫.auth.token / 门口的…、In local mode, node host intentionally ig…。

原文小纸条
  • openclaw node run supports token or password auth.
  • Env vars are preferred: OPENCLAW_GATEWAY_TOKEN / OPENCLAW_GATEWAY_PASSWORD.
  • Config fallback is gateway.auth.token / gateway.auth.password.
  • In local mode, node host intentionally ignores gateway.remote.token / gateway.remote.password.
  • In remote mode, gateway.remote.token / gateway.remote.password are eligible per remote precedence rules.
  • If active local gateway.auth.* SecretRefs are configured but unresolved, node-host auth fails closed.
  • Node-host auth resolution only honors OPENCLAW_GATEWAY_* env vars.

第 7 站

Start a node host (service)

这一节主要在解释“Start a node host (service)”到底是干什么的,以及你什么时候会遇到它。

这段在解决什么

这一节主要在解释“Start a node host (service)”到底是干什么的,以及你什么时候会遇到它。

为什么值得看

如果你是第一次接触 OpenClaw,这一节最值得看的不是术语本身,而是它背后的使用场景和限制。

真要动手时

真正动手时,先看它有没有默认值、有没有必须打开的选项、以及会不会影响安全边界。

先别急着背术语

这一小段像旁白,在提醒我们镜头已经切到下一站。

像魔法口令拆解

这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。

  • 这一句是在直接叫 OpenClaw 动起来:“openclaw node install --host <gateway-host> --port 18789 --display-name "Build Node"”。你可以把它想成一句说出口就要执行的差事。
  • 这一句是在直接叫 OpenClaw 动起来:“openclaw node start”。你可以把它想成一句说出口就要执行的差事。
  • 这一句是在直接叫 OpenClaw 动起来:“openclaw node restart”。你可以把它想成一句说出口就要执行的差事。
原文代码块
openclaw node install --host <gateway-host> --port 18789 --display-name "Build Node"
openclaw node start
openclaw node restart

第 8 站

Pair + name

这一节更像安装或配置步骤,重点不是概念,而是“按什么顺序做才不会卡住”。

这段在解决什么

这一节更像安装或配置步骤,重点不是概念,而是“按什么顺序做才不会卡住”。

为什么值得看

很多文档看起来长,其实是在防你漏掉前置条件。

真要动手时

真正照做时,先找前置条件,再找必填项,最后看验证方法。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:On the 门口的小门卫 host: If the node retries with changed auth details, re-run openclaw devices list and approve the current…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:On the 门口的小门卫 host:。

原文小纸条

On the gateway host:

像魔法口令拆解

这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。

  • 这一句是在直接叫 OpenClaw 动起来:“openclaw devices list”。你可以把它想成一句说出口就要执行的差事。
  • 这一句是在直接叫 OpenClaw 动起来:“openclaw devices approve <requestId>”。你可以把它想成一句说出口就要执行的差事。
  • 这一句是在直接叫 OpenClaw 动起来:“openclaw nodes status”。你可以把它想成一句说出口就要执行的差事。
原文代码块
openclaw devices list
openclaw devices approve <requestId>
openclaw nodes status
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:If the node retries with changed auth details, re-run openclaw devices list and approve the current requestId.

原文小纸条

If the node retries with changed auth details, re-run openclaw devices list and approve the current requestId.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Naming options:。

原文小纸条

Naming options:

像准备清单

这一串条目别硬背,把它当成“Pair + name”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:--display-name on openclaw node run / ope…、openclaw nodes rename --node <id name ip>…。

原文小纸条
  • --display-name on openclaw node run / openclaw node install (persists in ~/.openclaw/node.json on the node).
  • openclaw nodes rename --node <id|name|ip> --name "Build Node" (gateway override).

第 9 站

Allowlist the 魔法口令s

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Exec approvals are **per node host**. Add allowlist entries from the 门口的小门卫: Approvals live on the node host at ~/.open…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Exec approvals are **per node host**. Add allowlist entries from the 门口的小门卫:。

原文小纸条

Exec approvals are **per node host**. Add allowlist entries from the gateway:

像魔法口令拆解

这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。

  • 这一句是在直接叫 OpenClaw 动起来:“openclaw approvals allowlist add --node <id|name|ip> "/usr/bin/uname"”。你可以把它想成一句说出口就要执行的差事。
  • 这一句是在直接叫 OpenClaw 动起来:“openclaw approvals allowlist add --node <id|name|ip> "/usr/bin/sw_vers"”。你可以把它想成一句说出口就要执行的差事。
原文代码块
openclaw approvals allowlist add --node <id|name|ip> "/usr/bin/uname"
openclaw approvals allowlist add --node <id|name|ip> "/usr/bin/sw_vers"
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Approvals live on the node host at ~/.openclaw/exec-approvals.json.

原文小纸条

Approvals live on the node host at ~/.openclaw/exec-approvals.json.

第 10 站

Point exec at the node

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:设置说明书ure defaults (门口的小门卫 设置说明书): Or per session: Once set, any exec call with host=node runs on the node host (subject…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:设置说明书ure defaults (门口的小门卫 设置说明书):。

原文小纸条

Configure defaults (gateway config):

像魔法口令拆解

这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。

  • 这一句是在直接叫 OpenClaw 动起来:“openclaw config set tools.exec.host node”。你可以把它想成一句说出口就要执行的差事。
  • 这一句是在直接叫 OpenClaw 动起来:“openclaw config set tools.exec.security allowlist”。你可以把它想成一句说出口就要执行的差事。
  • 这一句是在直接叫 OpenClaw 动起来:“openclaw config set tools.exec.node "<id-or-name>"”。你可以把它想成一句说出口就要执行的差事。
原文代码块
openclaw config set tools.exec.host node
openclaw config set tools.exec.security allowlist
openclaw config set tools.exec.node "<id-or-name>"
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Or per session:。

原文小纸条

Or per session:

像魔法口令拆解

这段像放在桌上的操作卡,谁来照着做,现场就会动起来。

  • 这一行“/exec host=node security=allowlist node=<id-or-name>”是在给电脑递一张小纸条,告诉它眼下该做哪一步。
原文代码块
/exec host=node security=allowlist node=<id-or-name>
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Once set, any exec call with host=node runs on the node host (subject to the node allowlist/approvals).

原文小纸条

Once set, any exec call with host=node runs on the node host (subject to the node allowlist/approvals).

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:host=auto will not implicitly choose the node on its own, but an explicit per-call host=node request is allowed from au…。

原文小纸条

host=auto will not implicitly choose the node on its own, but an explicit per-call host=node request is allowed from auto. If you want node exec to be the default for the session, set tools.exec.host=node or /exec host=node ... explicitly.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Related:。

原文小纸条

Related:

像准备清单

这一串条目别硬背,把它当成“Point exec at the node”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:Node host CLI、Exec 工具小帮手、Exec approvals。

第 11 站

Invoking 魔法口令s

这一节主要在解释“Invoking 魔法口令s”到底是干什么的,以及你什么时候会遇到它。

这段在解决什么

这一节主要在解释“Invoking 魔法口令s”到底是干什么的,以及你什么时候会遇到它。

为什么值得看

如果你是第一次接触 OpenClaw,这一节最值得看的不是术语本身,而是它背后的使用场景和限制。

真要动手时

真正动手时,先看它有没有默认值、有没有必须打开的选项、以及会不会影响安全边界。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Low-level (raw RPC): Higher-level helpers exist for the common "give the 机器人朋友 a MEDIA attachment" workflows.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Low-level (raw RPC):。

原文小纸条

Low-level (raw RPC):

像魔法口令拆解

这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。

  • 这里在给“openclaw nodes invoke --node <idOrNameOrIp> --command canvas.eval --params {javaScript”挂牌子,告诉系统它该指向“location.href}'”。
原文代码块
openclaw nodes invoke --node <idOrNameOrIp> --command canvas.eval --params '{"javaScript":"location.href"}'
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Higher-level helpers exist for the common "give the 机器人朋友 a MEDIA attachment" workflows.

原文小纸条

Higher-level helpers exist for the common "give the agent a MEDIA attachment" workflows.

第 12 站

魔法口令 policy

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Node 魔法口令s must pass two gates before they can be invoked: 1. The node must declare the 魔法口令 in its WebSocket connect.魔…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Node 魔法口令s must pass two gates before they can be invoked:。

原文小纸条

Node commands must pass two gates before they can be invoked:

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:1. The node must declare the 魔法口令 in its WebSocket connect.魔法口令s list. 2. The 门口的小门卫's platform policy must allow the d…。

原文小纸条

1. The node must declare the command in its WebSocket connect.commands list. 2. The gateway's platform policy must allow the declared command.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Windows and macOS companion nodes allow safe declared 魔法口令s such as canvas.*, camera.list, location.get, and screen.sna…。

原文小纸条

Windows and macOS companion nodes allow safe declared commands such as canvas.*, camera.list, location.get, and screen.snapshot by default. Trusted nodes that advertise the talk capability or declare talk.* commands also allow declared push-to-talk commands (talk.ptt.start, talk.ptt.stop, talk.ptt.cancel, talk.ptt.once) by default, independent of platform label. Dangerous or privacy-heavy commands such as camera.snap, camera.clip, and screen.record still require explicit opt-in with gateway.nodes.allowCommands. gateway.nodes.denyCommands always wins over defaults and extra allowlist entries.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:新本领插件-owned node 魔法口令s can add a 门口的小门卫 node-invoke policy. That policy runs after the allowlist check and before forwa…。

原文小纸条

Plugin-owned node commands can add a Gateway node-invoke policy. That policy runs after the allowlist check and before forwarding to the node, so raw node.invoke, CLI helpers, and dedicated agent tools share the same plugin permission boundary. Dangerous plugin node commands still require explicit gateway.nodes.allowCommands opt-in.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:After a node changes its declared 魔法口令 list, reject the old device pairing and approve the new request so the 门口的小门卫 st…。

原文小纸条

After a node changes its declared command list, reject the old device pairing and approve the new request so the gateway stores the updated command snapshot.

第 13 站

Screenshots (canvas snapshots)

这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。

这段在解决什么

这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。

为什么值得看

你理解的是能力边界,不只是功能名字。

真要动手时

如果这节里同时出现命令、配置和例子,优先先看例子,再回头看配置。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:If the node is showing the Canvas (WebView), canvas.snapshot returns { format, base64 }. CLI helper (writes to a temp f…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:If the node is showing the Canvas (WebView), canvas.snapshot returns { format, base64 }.

原文小纸条

If the node is showing the Canvas (WebView), canvas.snapshot returns { format, base64 }.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:CLI helper (writes to a temp file and prints MEDIA:<path>):。

原文小纸条

CLI helper (writes to a temp file and prints MEDIA:<path>):

像魔法口令拆解

这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。

  • 这一句是在直接叫 OpenClaw 动起来:“openclaw nodes canvas snapshot --node <idOrNameOrIp> --format png”。你可以把它想成一句说出口就要执行的差事。
  • 这一句是在直接叫 OpenClaw 动起来:“openclaw nodes canvas snapshot --node <idOrNameOrIp> --format jpg --max-width 1200 --quality 0.9”。你可以把它想成一句说出口就要执行的差事。
原文代码块
openclaw nodes canvas snapshot --node <idOrNameOrIp> --format png
openclaw nodes canvas snapshot --node <idOrNameOrIp> --format jpg --max-width 1200 --quality 0.9

第 14 站

Canvas controls

这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。

这段在解决什么

这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。

为什么值得看

你理解的是能力边界,不只是功能名字。

真要动手时

如果这节里同时出现命令、配置和例子,优先先看例子,再回头看配置。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Notes:。

像魔法口令拆解

这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。

  • 这里在给“openclaw nodes canvas present --node <idOrNameOrIp> --target https”挂牌子,告诉系统它该指向“//example.com”。
  • 这一句是在直接叫 OpenClaw 动起来:“openclaw nodes canvas hide --node <idOrNameOrIp>”。你可以把它想成一句说出口就要执行的差事。
  • 这里在给“openclaw nodes canvas navigate https”挂牌子,告诉系统它该指向“//example.com --node <idOrNameOrIp>”。
原文代码块
openclaw nodes canvas present --node <idOrNameOrIp> --target https://example.com
openclaw nodes canvas hide --node <idOrNameOrIp>
openclaw nodes canvas navigate https://example.com --node <idOrNameOrIp>
openclaw nodes canvas eval --node <idOrNameOrIp> --js "document.title"
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Notes:。

原文小纸条

Notes:

像准备清单

这一串条目别硬背,把它当成“Canvas controls”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:canvas present accepts URLs or local file…、canvas eval accepts inline JS (--js) or a…。

原文小纸条
  • canvas present accepts URLs or local file paths (--target), plus optional --x/--y/--width/--height for positioning.
  • canvas eval accepts inline JS (--js) or a positional arg.

第 15 站

A2UI (Canvas)

这一节主要在解释“A2UI (Canvas)”到底是干什么的,以及你什么时候会遇到它。

这段在解决什么

这一节主要在解释“A2UI (Canvas)”到底是干什么的,以及你什么时候会遇到它。

为什么值得看

如果你是第一次接触 OpenClaw,这一节最值得看的不是术语本身,而是它背后的使用场景和限制。

真要动手时

真正动手时,先看它有没有默认值、有没有必须打开的选项、以及会不会影响安全边界。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Notes:。

像魔法口令拆解

这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。

  • 这一句是在直接叫 OpenClaw 动起来:“openclaw nodes canvas a2ui push --node <idOrNameOrIp> --text "Hello"”。你可以把它想成一句说出口就要执行的差事。
  • 这一句是在直接叫 OpenClaw 动起来:“openclaw nodes canvas a2ui push --node <idOrNameOrIp> --jsonl ./payload.jsonl”。你可以把它想成一句说出口就要执行的差事。
  • 这一句是在直接叫 OpenClaw 动起来:“openclaw nodes canvas a2ui reset --node <idOrNameOrIp>”。你可以把它想成一句说出口就要执行的差事。
原文代码块
openclaw nodes canvas a2ui push --node <idOrNameOrIp> --text "Hello"
openclaw nodes canvas a2ui push --node <idOrNameOrIp> --jsonl ./payload.jsonl
openclaw nodes canvas a2ui reset --node <idOrNameOrIp>
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Notes:。

原文小纸条

Notes:

像准备清单

这一串条目别硬背,把它当成“A2UI (Canvas)”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:Only A2UI v0.8 JSONL is supported (v0.9/c…。

原文小纸条
  • Only A2UI v0.8 JSONL is supported (v0.9/createSurface is rejected).

第 16 站

Photos + videos (node camera)

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Photos (jpg): Video clips (mp4): Notes:。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Photos (jpg):。

原文小纸条

Photos (jpg):

像魔法口令拆解

这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。

  • 这一句是在直接叫 OpenClaw 动起来:“openclaw nodes camera list --node <idOrNameOrIp>”。你可以把它想成一句说出口就要执行的差事。
  • 这里在给“openclaw nodes camera snap --node <idOrNameOrIp> # default”挂牌子,告诉系统它该指向“both facings (2 MEDIA lines)”。
  • 这一句是在直接叫 OpenClaw 动起来:“openclaw nodes camera snap --node <idOrNameOrIp> --facing front”。你可以把它想成一句说出口就要执行的差事。
原文代码块
openclaw nodes camera list --node <idOrNameOrIp>
openclaw nodes camera snap --node <idOrNameOrIp>            # default: both facings (2 MEDIA lines)
openclaw nodes camera snap --node <idOrNameOrIp> --facing front
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Video clips (mp4):。

原文小纸条

Video clips (mp4):

像魔法口令拆解

这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。

  • 这一句是在直接叫 OpenClaw 动起来:“openclaw nodes camera clip --node <idOrNameOrIp> --duration 10s”。你可以把它想成一句说出口就要执行的差事。
  • 这一句是在直接叫 OpenClaw 动起来:“openclaw nodes camera clip --node <idOrNameOrIp> --duration 3000 --no-audio”。你可以把它想成一句说出口就要执行的差事。
原文代码块
openclaw nodes camera clip --node <idOrNameOrIp> --duration 10s
openclaw nodes camera clip --node <idOrNameOrIp> --duration 3000 --no-audio
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Notes:。

原文小纸条

Notes:

像准备清单

这一串条目别硬背,把它当成“Photos + videos (node camera)”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:The node must be **foregrounded** for can…、Clip duration is clamped (currently <= 60…、Android will prompt for CAMERA/RECORD_AUD…。

原文小纸条
  • The node must be **foregrounded** for canvas.* and camera.* (background calls return NODE_BACKGROUND_UNAVAILABLE).
  • Clip duration is clamped (currently <= 60s) to avoid oversized base64 payloads.
  • Android will prompt for CAMERA/RECORD_AUDIO permissions when possible; denied permissions fail with *_PERMISSION_REQUIRED.

第 17 站

Screen recordings (nodes)

这一节主要在解释“Screen recordings (nodes)”到底是干什么的,以及你什么时候会遇到它。

这段在解决什么

这一节主要在解释“Screen recordings (nodes)”到底是干什么的,以及你什么时候会遇到它。

为什么值得看

如果你是第一次接触 OpenClaw,这一节最值得看的不是术语本身,而是它背后的使用场景和限制。

真要动手时

真正动手时,先看它有没有默认值、有没有必须打开的选项、以及会不会影响安全边界。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Supported nodes expose screen.record (mp4). Example: Notes:。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Supported nodes expose screen.record (mp4). Example:。

原文小纸条

Supported nodes expose screen.record (mp4). Example:

像魔法口令拆解

这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。

  • 这一句是在直接叫 OpenClaw 动起来:“openclaw nodes screen record --node <idOrNameOrIp> --duration 10s --fps 10”。你可以把它想成一句说出口就要执行的差事。
  • 这一句是在直接叫 OpenClaw 动起来:“openclaw nodes screen record --node <idOrNameOrIp> --duration 10s --fps 10 --no-audio”。你可以把它想成一句说出口就要执行的差事。
原文代码块
openclaw nodes screen record --node <idOrNameOrIp> --duration 10s --fps 10
openclaw nodes screen record --node <idOrNameOrIp> --duration 10s --fps 10 --no-audio
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Notes:。

原文小纸条

Notes:

像准备清单

这一串条目别硬背,把它当成“Screen recordings (nodes)”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:screen.record availability depends on nod…、Screen recordings are clamped to <= 60s.、--no-audio disables microphone capture on…、Use --screen <index> to select a display…。

原文小纸条
  • screen.record availability depends on node platform.
  • Screen recordings are clamped to <= 60s.
  • --no-audio disables microphone capture on supported platforms.
  • Use --screen <index> to select a display when multiple screens are available.

第 18 站

Location (nodes)

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Nodes expose location.get when Location is enabled in settings. CLI helper: Notes:。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Nodes expose location.get when Location is enabled in settings.

原文小纸条

Nodes expose location.get when Location is enabled in settings.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:CLI helper:。

原文小纸条

CLI helper:

像魔法口令拆解

这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。

  • 这一句是在直接叫 OpenClaw 动起来:“openclaw nodes location get --node <idOrNameOrIp>”。你可以把它想成一句说出口就要执行的差事。
  • 这一句是在直接叫 OpenClaw 动起来:“openclaw nodes location get --node <idOrNameOrIp> --accuracy precise --max-age 15000 --location-timeout 10000”。你可以把它想成一句说出口就要执行的差事。
原文代码块
openclaw nodes location get --node <idOrNameOrIp>
openclaw nodes location get --node <idOrNameOrIp> --accuracy precise --max-age 15000 --location-timeout 10000
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Notes:。

原文小纸条

Notes:

像准备清单

这一串条目别硬背,把它当成“Location (nodes)”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:Location is **off by default**.、"Always" requires system permission; back…、The response includes lat/lon, accuracy (…。

原文小纸条
  • Location is **off by default**.
  • "Always" requires system permission; background fetch is best-effort.
  • The response includes lat/lon, accuracy (meters), and timestamp.

第 19 站

SMS (Android nodes)

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Android nodes can expose sms.send when the user grants **SMS** permission and the device supports telephony. Low-level…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Android nodes can expose sms.send when the user grants **SMS** permission and the device supports telephony.

原文小纸条

Android nodes can expose sms.send when the user grants **SMS** permission and the device supports telephony.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Low-level invoke:。

原文小纸条

Low-level invoke:

像魔法口令拆解

这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。

  • 这里在给“openclaw nodes invoke --node <idOrNameOrIp> --command sms.send --params {to”挂牌子,告诉系统它该指向“+15555550123message:Hello from OpenClaw}'”。
原文代码块
openclaw nodes invoke --node <idOrNameOrIp> --command sms.send --params '{"to":"+15555550123","message":"Hello from OpenClaw"}'
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Notes:。

原文小纸条

Notes:

像准备清单

这一串条目别硬背,把它当成“SMS (Android nodes)”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:The permission prompt must be accepted on…、Wi-Fi-only devices without telephony will…。

原文小纸条
  • The permission prompt must be accepted on the Android device before the capability is advertised.
  • Wi-Fi-only devices without telephony will not advertise sms.send.

第 20 站

Android device + personal data 魔法口令s

这一节更像安装或配置步骤,重点不是概念,而是“按什么顺序做才不会卡住”。

这段在解决什么

这一节更像安装或配置步骤,重点不是概念,而是“按什么顺序做才不会卡住”。

为什么值得看

很多文档看起来长,其实是在防你漏掉前置条件。

真要动手时

真正照做时,先找前置条件,再找必填项,最后看验证方法。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Android nodes can advertise additional 魔法口令 families when the corresponding capabilities are enabled. Available familie…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Android nodes can advertise additional 魔法口令 families when the corresponding capabilities are enabled.

原文小纸条

Android nodes can advertise additional command families when the corresponding capabilities are enabled.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Available families:。

原文小纸条

Available families:

像准备清单

这一串条目别硬背,把它当成“Android device + personal data commands”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:device.status, device.info, device.permis…、notifications.list, notifications.actions、photos.latest、contacts.search, contacts.add。

原文小纸条
  • device.status, device.info, device.permissions, device.health
  • notifications.list, notifications.actions
  • photos.latest
  • contacts.search, contacts.add
  • calendar.events, calendar.add
  • callLog.search
  • sms.search
  • motion.activity, motion.pedometer
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Example invokes:。

原文小纸条

Example invokes:

像魔法口令拆解

这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。

  • 这一句是在直接叫 OpenClaw 动起来:“openclaw nodes invoke --node <idOrNameOrIp> --command device.status --params '{}'”。你可以把它想成一句说出口就要执行的差事。
  • 这一句是在直接叫 OpenClaw 动起来:“openclaw nodes invoke --node <idOrNameOrIp> --command notifications.list --params '{}'”。你可以把它想成一句说出口就要执行的差事。
  • 这里在给“openclaw nodes invoke --node <idOrNameOrIp> --command photos.latest --params {limit”挂牌子,告诉系统它该指向“1}'”。
原文代码块
openclaw nodes invoke --node <idOrNameOrIp> --command device.status --params '{}'
openclaw nodes invoke --node <idOrNameOrIp> --command notifications.list --params '{}'
openclaw nodes invoke --node <idOrNameOrIp> --command photos.latest --params '{"limit":1}'
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Notes:。

原文小纸条

Notes:

像准备清单

这一串条目别硬背,把它当成“Android device + personal data commands”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:Motion 魔法口令s are capability-gated by avai…。

原文小纸条
  • Motion commands are capability-gated by available sensors.

第 21 站

System 魔法口令s (node host / mac node)

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:The macOS node exposes system.run, system.notify, and system.execApprovals.get/set. The headless node host exposes syst…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:The macOS node exposes system.run, system.notify, and system.execApprovals.get/set. The headless node host exposes syst…。

原文小纸条

The macOS node exposes system.run, system.notify, and system.execApprovals.get/set. The headless node host exposes system.run, system.which, and system.execApprovals.get/set.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Examples:。

原文小纸条

Examples:

像魔法口令拆解

这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。

  • 这一句是在直接叫 OpenClaw 动起来:“openclaw nodes notify --node <idOrNameOrIp> --title "Ping" --body "Gateway ready"”。你可以把它想成一句说出口就要执行的差事。
  • 这里在给“openclaw nodes invoke --node <idOrNameOrIp> --command system.which --params {name”挂牌子,告诉系统它该指向“git}'”。
原文代码块
openclaw nodes notify --node <idOrNameOrIp> --title "Ping" --body "Gateway ready"
openclaw nodes invoke --node <idOrNameOrIp> --command system.which --params '{"name":"git"}'
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Notes:。

原文小纸条

Notes:

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:approval is granted, the 门口的小门卫 forwards that stored plan, not any later caller-edited 魔法口令/cwd/session fields.

原文小纸条

approval is granted, the gateway forwards that stored plan, not any later caller-edited command/cwd/session fields.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Ask/allowlist/full behave the same as the headless node host; denied prompts return SYSTEM_RUN_DENIED.

原文小纸条

Ask/allowlist/full behave the same as the headless node host; denied prompts return SYSTEM_RUN_DENIED.

像准备清单

这一串条目别硬背,把它当成“System commands (node host / mac node)”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:system.run returns stdout/stderr/exit cod…、Shell execution now goes through the exec…、nodes invoke does not expose system.run o…、The exec path prepares a canonical system…。

原文小纸条
  • system.run returns stdout/stderr/exit code in the payload.
  • Shell execution now goes through the exec tool with host=node; nodes remains the direct-RPC surface for explicit node commands.
  • nodes invoke does not expose system.run or system.run.prepare; those stay on the exec path only.
  • The exec path prepares a canonical systemRunPlan before approval. Once an
  • system.notify respects notification permission state on the macOS app.
  • Unrecognized node platform / deviceFamily metadata uses a conservative default allowlist that excludes system.run and system.which. If you intentionally need those commands for an unknown platform, add them explicitly via gateway.nodes.allowCommands.
  • system.run supports --cwd, --env KEY=VAL, --command-timeout, and --needs-screen-recording.
  • For shell wrappers (bash|sh|zsh ... -c/-lc), request-scoped --env values are reduced to an explicit allowlist (TERM, LANG, LC_*, COLORTERM, NO_COLOR, FORCE_COLOR).
  • For allow-always decisions in allowlist mode, known dispatch wrappers (env, nice, nohup, stdbuf, timeout) persist inner executable paths instead of wrapper paths. If unwrapping is not safe, no allowlist entry is persisted automatically.
  • On Windows node hosts in allowlist mode, shell-wrapper runs via cmd.exe /c require approval (allowlist entry alone does not auto-allow the wrapper form).
  • system.notify supports --priority <passive|active|timeSensitive> and --delivery <system|overlay|auto>.
  • Node hosts ignore PATH overrides and strip dangerous startup/shell keys (DYLD_*, LD_*, NODE_OPTIONS, PYTHON*, PERL*, RUBYOPT, SHELLOPTS, PS4). If you need extra PATH entries, configure the node host service environment (or install tools in standard locations) instead of passing PATH via --env.
  • On macOS node mode, system.run is gated by exec approvals in the macOS app (Settings → Exec approvals).
  • On headless node host, system.run is gated by exec approvals (~/.openclaw/exec-approvals.json).

第 22 站

Exec node binding

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:When multiple nodes are available, you can bind exec to a specific node. This sets the default node for exec host=node…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:When multiple nodes are available, you can bind exec to a specific node. This sets the default node for exec host=node…。

原文小纸条

When multiple nodes are available, you can bind exec to a specific node. This sets the default node for exec host=node (and can be overridden per agent).

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Global default:。

原文小纸条

Global default:

像魔法口令拆解

这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。

  • 这一句是在直接叫 OpenClaw 动起来:“openclaw config set tools.exec.node "node-id-or-name"”。你可以把它想成一句说出口就要执行的差事。
原文代码块
openclaw config set tools.exec.node "node-id-or-name"
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Per-机器人朋友 override:。

原文小纸条

Per-agent override:

像魔法口令拆解

这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。

  • 这一句是在直接叫 OpenClaw 动起来:“openclaw config get agents.list”。你可以把它想成一句说出口就要执行的差事。
  • 这一句是在直接叫 OpenClaw 动起来:“openclaw config set 'agents.list[0].tools.exec.node' "node-id-or-name"”。你可以把它想成一句说出口就要执行的差事。
原文代码块
openclaw config get agents.list
openclaw config set 'agents.list[0].tools.exec.node' "node-id-or-name"
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Unset to allow any node:。

原文小纸条

Unset to allow any node:

像魔法口令拆解

这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。

  • 这一句是在直接叫 OpenClaw 动起来:“openclaw config unset tools.exec.node”。你可以把它想成一句说出口就要执行的差事。
  • 这一句是在直接叫 OpenClaw 动起来:“openclaw config unset 'agents.list[0].tools.exec.node'”。你可以把它想成一句说出口就要执行的差事。
原文代码块
openclaw config unset tools.exec.node
openclaw config unset 'agents.list[0].tools.exec.node'

第 23 站

Permissions map

这一节主要在解释“Permissions map”到底是干什么的,以及你什么时候会遇到它。

这段在解决什么

这一节主要在解释“Permissions map”到底是干什么的,以及你什么时候会遇到它。

为什么值得看

如果你是第一次接触 OpenClaw,这一节最值得看的不是术语本身,而是它背后的使用场景和限制。

真要动手时

真正动手时,先看它有没有默认值、有没有必须打开的选项、以及会不会影响安全边界。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Nodes may include a permissions map in node.list / node.describe, keyed by permission name (e.g. screenRecording, acces…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Nodes may include a permissions map in node.list / node.describe, keyed by permission name (e.g. screenRecording, acces…。

原文小纸条

Nodes may include a permissions map in node.list / node.describe, keyed by permission name (e.g. screenRecording, accessibility) with boolean values (true = granted).

第 24 站

Headless node host (cross-platform)

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:OpenClaw can run a **headless node host** (no UI) that connects to the 门口的小门卫 WebSocket and exposes system.run / system…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:OpenClaw can run a **headless node host** (no UI) that connects to the 门口的小门卫 WebSocket and exposes system.run / system…。

原文小纸条

OpenClaw can run a **headless node host** (no UI) that connects to the Gateway WebSocket and exposes system.run / system.which. This is useful on Linux/Windows or for running a minimal node alongside a server.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Start it:。

原文小纸条

Start it:

像魔法口令拆解

这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。

  • 这一句是在直接叫 OpenClaw 动起来:“openclaw node run --host <gateway-host> --port 18789”。你可以把它想成一句说出口就要执行的差事。
原文代码块
openclaw node run --host <gateway-host> --port 18789
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Notes:。

原文小纸条

Notes:

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:(see Exec approvals).

原文小纸条

(see Exec approvals).

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:OPENCLAW_NODE_EXEC_HOST=app to route system.run through the companion app exec host; add OPENCLAW_NODE_EXEC_FALLBACK=0…。

原文小纸条

OPENCLAW_NODE_EXEC_HOST=app to route system.run through the companion app exec host; add OPENCLAW_NODE_EXEC_FALLBACK=0 to require the app host and fail closed if it is unavailable.

像准备清单

这一串条目别硬背,把它当成“Headless node host (cross-platform)”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:Pairing is still required (the 门口的小门卫 wil…、The node host stores its node id, token,…、Exec approvals are enforced locally via ~…、On macOS, the headless node host executes…。

原文小纸条
  • Pairing is still required (the Gateway will show a device pairing prompt).
  • The node host stores its node id, token, display name, and gateway connection info in ~/.openclaw/node.json.
  • Exec approvals are enforced locally via ~/.openclaw/exec-approvals.json
  • On macOS, the headless node host executes system.run locally by default. Set
  • Add --tls / --tls-fingerprint when the Gateway WS uses TLS.

第 25 站

Mac node mode

这一节主要在解释“Mac node mode”到底是干什么的,以及你什么时候会遇到它。

这段在解决什么

这一节主要在解释“Mac node mode”到底是干什么的,以及你什么时候会遇到它。

为什么值得看

如果你是第一次接触 OpenClaw,这一节最值得看的不是术语本身,而是它背后的使用场景和限制。

真要动手时

真正动手时,先看它有没有默认值、有没有必须打开的选项、以及会不会影响安全边界。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:---。

像准备清单

这一串条目别硬背,把它当成“Mac node mode”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:The macOS menubar app connects to the 门口的…、In remote mode, the app opens an SSH tunn…。

原文小纸条
  • The macOS menubar app connects to the Gateway WS server as a node (so openclaw nodes … works against this Mac).
  • In remote mode, the app opens an SSH tunnel for the Gateway port and connects to localhost.
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:---。

原文小纸条

---

AdSense 连接验证已经放在页面头部;广告单元等站点审批通过后再启用。

google-adsense-account: ca-pub-3833673520933536