Install
openclaw skills install @netfeel-star/inspectorOpenClaw inspector for registering tracked sessions, inspecting stuck or inactive sessions, checking the current session UUID, listing status, and preparing platform-specific watcher services. Use when the user wants session recovery monitoring, inactivity inspection, registration/unregistration, or diagnosis of why a session was or was not inspected. Only perform install/start/enable/restart actions when the user explicitly asks.
openclaw skills install @netfeel-star/inspectorPrefer the Node.js entrypoint for cross-platform use:
node scripts/inspector.js register ...node scripts/inspector.js unregister ...node scripts/inspector.js listnode scripts/inspector.js status ...node scripts/inspector.js installnode scripts/inspector.js doctorOn Linux/macOS, scripts/inspector.js is only a compatibility wrapper around the Node.js script.
Keep executable code in the skill itself:
scripts/inspector.jsscripts/watch-registered-sessions.jsscripts/common.jsKeep mutable runtime data outside the skill directory under the inspector runtime home:
~/.openclaw/inspector/registry.json~/.openclaw/inspector/config.env~/.openclaw/inspector/state/~/.openclaw/inspector/logs/The agent should execute scripts from the skill directory, not search runtime directories for copies.
Supported subcommands:
registerunregisterliststatusinstalldoctorBefore registering, obtain the actual OpenClaw session UUID in 3 steps:
1. Get the current session key
The session key is available in every message metadata (no API call needed).
Example format: agent:assistant2:telegram:direct:8298444890 — this is just an illustration; use the actual key from your runtime context.
2. Call sessions_list
sessions_list({ limit: 10, messageLimit: 1 })
3. Match the key to find the UUID
In the returned results, find the entry whose key field equals your session key from step 1.
That entry's sessionId is the actual OpenClaw session UUID — pass this value to --session-id.
Do not use current, this, or latest as session identifiers.
node scripts/inspector.js register \
--session-id <id> \
--session-key <key> \
--reply-channel <channel> \
--reply-account <accountId> \
--to <target> \
[--agent <name>] \
[--workspace <path>] \
[--profile <name>] \
[--inactive <sec>] \
[--cooldown <sec>] \
[--running-cooldown <sec>] \
[--blocked-cooldown <sec>] \
[--notes <text>]
--session-id must be the actual OpenClaw session UUID, for example a13ec701-e0ef-4eac-b8cc-6159b3ff830c.
Do not use placeholders such as current, this, or latest.
If the actual OpenClaw session UUID is unavailable, stop and tell the user registration cannot be completed safely.
Inspector is designed for an agent to register its own current session as a tracked inspection session.
Do not assume cross-session registration. When registering, the agent should read these values from its own current context / trusted metadata and pass them explicitly:
--session-key--reply-channel--reply-account--toThis avoids guessing from session stores and ensures inspector records the exact IM route that the current session is already using.
When registering the current session, read values from the current trusted runtime metadata / system-provided context.
Use this mapping:
--session-id
--session-key
--reply-channel
--reply-account
--to
--to formatting rulePass the trusted chat target directly in CLI-compatible target form.
If trusted metadata provides a provider-prefixed target such as:
telegram:8298444890then --to may use that value directly, for example:
--to telegram:8298444890Do not strip the provider prefix unless you have a channel-specific reason and verified behavior for that CLI path.
If the current trusted metadata contains:
channel = telegramaccount_id = codingtgchat_id = telegram:8298444890then register with:
node scripts/inspector.js register \
--session-id <session-id> \
--session-key <session-key> \
--reply-channel telegram \
--reply-account codingtg \
--to telegram:8298444890
node scripts/inspector.js unregister --session-id <id> [--mode disable|remove]
Default to disable unless the user explicitly wants removal.
node scripts/inspector.js list
node scripts/inspector.js status --session-id <id>
Use only when the user explicitly asks to install or prepare the global inspector service.
node scripts/inspector.js install
This creates runtime files and prepares the watcher for the current platform:
systemd → user unit filelaunchd plistDo not silently start the service unless the user explicitly asked for start/enable.
node scripts/inspector.js doctor
When something fails, report:
scripts/inspector.jsscripts/watch-registered-sessions.jsscripts/common.jsreferences/config-fields.md