Files
MATTERMOST_OPENCLAW_LIVESTATUS/hooks/status-watcher-hook/HOOK.md
sol 7c6c8a4432 fix: production deployment issues
1. session-monitor: handle timestamp-prefixed transcript filenames
   OpenClaw uses {ISO}_{sessionId}.jsonl — glob for *_{sessionId}.jsonl
   when direct path doesn't exist.

2. session-monitor: skip stale sessions (>5min since last transcript write)
   Prevents creating status boxes for every old session in sessions.json.

3. status-watcher: parse actual OpenClaw JSONL transcript format
   Records are {type:'message', message:{role,content:[{type,name,...}]}}
   not {type:'tool_call', name}. Now shows live tool calls with arguments
   and assistant thinking text.

4. handler.js: fix module.exports for OpenClaw hook loader
   Expects default export (function), not {handle: function}.

5. HOOK.md: add YAML frontmatter metadata for hook discovery.
2026-03-07 18:31:43 +00:00

1.4 KiB

name, description, metadata
name description metadata
status-watcher-hook Auto-starts the Live Status v4 watcher daemon on gateway startup
openclaw
emoji events
📡
gateway:startup

status-watcher-hook

Auto-starts the Live Status v4 daemon when the OpenClaw gateway starts.

Description

On gateway startup, this hook checks whether the status-watcher daemon is already running (via PID file). If not, it spawns watcher-manager.js start as a detached background process, then exits immediately. The daemon continues running independently of this hook handler.

Required Environment Variables

The following environment variables must be set for the watcher to function:

MM_BOT_TOKEN     Mattermost bot token
MM_BASE_URL      Mattermost base URL (e.g. https://slack.solio.tech)

Optional (defaults shown):

TRANSCRIPT_DIR            /home/node/.openclaw/agents
THROTTLE_MS               500
IDLE_TIMEOUT_S            60
MAX_STATUS_LINES          20
MAX_ACTIVE_SESSIONS       20
MAX_MESSAGE_CHARS         15000
HEALTH_PORT               9090
LOG_LEVEL                 info
PID_FILE                  /tmp/status-watcher.pid
CIRCUIT_BREAKER_THRESHOLD 5
CIRCUIT_BREAKER_COOLDOWN_S 30

Installation

This hook is deployed automatically by install.sh or deploy-to-agents.sh. To deploy manually:

cp -r hooks/status-watcher-hook /home/node/.openclaw/workspace/hooks/

The hook activates on the next gateway startup.