mirror of
https://github.com/hanzoai/bot.git
synced 2026-10-30 17:24:26 +00:00
Three coordinated things:
1. Resolve the committed upstream/main merge conflicts. 94 files were
sitting with raw <<<<<<< HEAD ... >>>>>>> upstream/main blocks. Every
conflict had HanzoBot/Bot on HEAD and OpenClaw on upstream. Resolved
by keeping HEAD everywhere — 540 conflict blocks.
2. Rewrite remaining OpenClaw text refs.
OPENCLAW → HANZO_BOT
OpenClaw → HanzoBot (PascalCase type identifiers)
openclaw → bot (codebase convention — botToken,
botUsername etc.; avoids invalid
hyphenated JS identifiers)
openclaw[_]/openclaw[A-Z] → bot[_]/bot[A-Z] (compound)
ai.openclaw.x → ai.hanzo.bot.x (JVM package path)
3. Delete or rename openclaw-named file paths (116 of them). Dead
duplicates with a Bot-named canonical from the partial migration:
deleted. Otherwise renamed.
ai/openclaw/** → deleted (ai/hanzo/bot/** canonical)
Sources/OpenClaw*/ → deleted (Sources/Bot* canonical)
Tests/OpenClawIPCTests/ → deleted (Tests/BotIPCTests canonical)
OpenClawKit/ → deleted (BotKit canonical)
openclaw-tools.*.ts → deleted (bot-tools.*.ts canonical)
openclaw-root.ts etc. → deleted (bot-root.ts canonical)
types.openclaw.ts → deleted (types.bot.ts canonical)
extensions/*/openclaw.plugin.json → renamed hanzo-bot.plugin.json
docs/start/openclaw.md → renamed hanzo-bot.md (+ zh-CN)
docs/assets/openclaw-*.png, whatsapp-openclaw*.jpg → deleted
scripts/.../openclaw-* → deleted (bot/hanzo-bot parallels)
openclaw.mjs → deleted (hanzo-bot.mjs is package.bin)
Then patched 65 broken JS/TS import strings where hanzo-bot had ended
up inside an import path ('./types.hanzo-bot.js' → './types.bot.js'
etc., since the on-disk filename uses the brand-neutral bot- prefix).
Pre-existing lint debt cleaned up to get oxlint --type-aware to 0/0:
removed the dead i18n test that referenced a path no longer existing;
defined the missing DIDConfig and WalletConfig types in types.base.ts
(they were imported but never declared); dropped unused imports;
collapsed redundant type assertion and a tautological meta.bot lookup
that the openclaw→bot rename made redundant.
The a2ui.bundle.js generated artifact is kept at its pre-rebrand
contents — it gets regenerated by 'pnpm canvas:a2ui:bundle' from
sources I cannot rebuild in this commit; the source side is clean.
Verified: 0 occurrences of openclaw (case-insensitive) in tree source
content, 0 file or directory paths with openclaw in the name; oxlint
--type-aware src test reports 0/0.
2.6 KiB
2.6 KiB
summary, read_when, title
| summary | read_when | title | ||
|---|---|---|---|---|
| CLI reference for `hanzo-bot nodes` (list/status/approve/invoke, camera/canvas/screen) |
|
nodes |
hanzo-bot nodes
Manage paired nodes (devices) and invoke node capabilities.
Related:
- Nodes overview: Nodes
- Camera: Camera nodes
- Images: Image nodes
Common options:
--url,--token,--timeout,--json
Common commands
hanzo-bot nodes list
hanzo-bot nodes list --connected
hanzo-bot nodes list --last-connected 24h
hanzo-bot nodes pending
hanzo-bot nodes approve <requestId>
hanzo-bot nodes status
hanzo-bot nodes status --connected
hanzo-bot nodes status --last-connected 24h
nodes list prints pending/paired tables. Paired rows include the most recent connect age (Last Connect).
Use --connected to only show currently-connected nodes. Use --last-connected <duration> to
filter to nodes that connected within a duration (e.g. 24h, 7d).
Invoke / run
hanzo-bot nodes invoke --node <id|name|ip> --command <command> --params <json>
hanzo-bot nodes run --node <id|name|ip> <command...>
hanzo-bot nodes run --raw "git status"
hanzo-bot nodes run --agent main --node <id|name|ip> --raw "git status"
Invoke flags:
--params <json>: JSON object string (default{}).--invoke-timeout <ms>: node invoke timeout (default15000).--idempotency-key <key>: optional idempotency key.
Exec-style defaults
nodes run mirrors the model’s exec behavior (defaults + approvals):
- Reads
tools.exec.*(plusagents.list[].tools.exec.*overrides). - Uses exec approvals (
exec.approval.request) before invokingsystem.run. --nodecan be omitted whentools.exec.nodeis set.- Requires a node that advertises
system.run(macOS companion app or headless node host).
Flags:
--cwd <path>: working directory.--env <key=val>: env override (repeatable). Note: node hosts ignorePATHoverrides (andtools.exec.pathPrependis not applied to node hosts).--command-timeout <ms>: command timeout.--invoke-timeout <ms>: node invoke timeout (default30000).--needs-screen-recording: require screen recording permission.--raw <command>: run a shell string (/bin/sh -lcorcmd.exe /c). In allowlist mode on Windows node hosts,cmd.exe /cshell-wrapper runs require approval (allowlist entry alone does not auto-allow the wrapper form).--agent <id>: agent-scoped approvals/allowlists (defaults to configured agent).--ask <off|on-miss|always>,--security <deny|allowlist|full>: overrides.