跳到主要内容

clawdbot node

运行一个 无界面节点主机 (headless node host),它连接到网关的 WebSocket 并在该机器上暴露 system.run / system.which 工具。

为什么要使用节点主机?

当您希望代理在网络中的 其他机器上运行命令,而又不想在那里安装完整的 macOS 伴侣应用时,请使用节点主机。

常见用例:

  • 在远程 Linux/Windows 机器(构建服务器、实验机器、NAS)上运行命令。
  • 将执行环境 沙箱化 (sandboxed) 在网关上,但将已批准的运行任务委派给其他主机。
  • 为自动化或 CI 节点提供轻量级的、无界面的执行目标。

执行过程仍然受节点主机上的 执行审批 (exec approvals) 和每个代理的允许列表保护,因此您可以保持对命令访问权限的明确划分。

浏览器代理(零配置)

如果节点上没有禁用 browser.enabled,节点主机会自动发布浏览器代理。这使得代理可以在该节点上使用浏览器自动化,而无需额外配置。

如果需要,可以在节点上禁用它:

{
nodeHost: {
browserProxy: {
enabled: false
}
}
}

运行(前台)

clawdbot node run --host <gateway-host> --port 18789

选项:

  • --host <host>:网关 WebSocket 主机(默认:127.0.0.1
  • --port <port>:网关 WebSocket 端口(默认:18789
  • --tls:网关连接使用 TLS
  • --tls-fingerprint <sha256>:预期的 TLS 证书指纹 (sha256)
  • --node-id <id>:覆盖节点 ID(会清除配对令牌)
  • --display-name <name>:覆盖节点显示名称

服务(后台)

将无界面节点主机安装为用户服务。

clawdbot node install --host <gateway-host> --port 18789

选项:

  • --host <host>:网关 WebSocket 主机(默认:127.0.0.1
  • --port <port>:网关 WebSocket 端口(默认:18789
  • --tls:网关连接使用 TLS
  • --tls-fingerprint <sha256>:预期的 TLS 证书指纹 (sha256)
  • --node-id <id>:覆盖节点 ID(会清除配对令牌)
  • --display-name <name>:覆盖节点显示名称
  • --runtime <runtime>:服务运行时(nodebun
  • --force:如果已安装,则重新安装/覆盖

管理服务:

clawdbot node status
clawdbot node stop
clawdbot node restart
clawdbot node uninstall

使用 clawdbot node run 运行前台节点主机(不作为服务)。

服务命令接受 --json 以获得机器可读的输出。

配对 (Pairing)

首次连接会在网关上创建一个待处理的节点配对请求。 通过以下命令批准:

clawdbot nodes pending
clawdbot nodes approve <requestId>

节点主机将其节点 ID、令牌、显示名称和网关连接信息存储在 ~/.clawdbot/node.json 中。

执行审批 (Exec approvals)

system.run 受本地执行审批的限制:

  • ~/.clawdbot/exec-approvals.json
  • 执行审批
  • clawdbot approvals --node <id|name|ip>(从网关编辑)