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

53 lines
1.4 KiB
Markdown

---
name: status-watcher-hook
description: "Auto-starts the Live Status v4 watcher daemon on gateway startup"
metadata: { "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:
```sh
cp -r hooks/status-watcher-hook /home/node/.openclaw/workspace/hooks/
```
The hook activates on the next gateway startup.