* fix(notifier-desktop): use terminal-notifier on macOS for click-to-open support On macOS, when terminal-notifier is installed (brew install terminal-notifier), desktop notifications now open the dashboard URL when clicked instead of opening Script Editor. Falls back to osascript when terminal-notifier is not available. New config option `dashboardUrl` controls the click-through URL: notifiers.desktop.dashboardUrl: "http://localhost:8080" Refs #1579 * feat(cli): add manual notifier test harness * feat(cli): add native desktop notifier setup * fix(cli): handle denied desktop notification permission * fix(notifier): support composio actions api * fix(notifier): use composio entity execution * feat(notifier): add composio setup flows * Fix notifier setup flows * feat: add dashboard notifier * Make notifier payloads semantic v3 * chore: use ao-agent as composio default user * Improve notifier setup and rich notifications * Improve desktop notification UX * Update AO notifier app icon * Remove redundant dashboard notification actions * Potential fix for pull request finding 'CodeQL / Client-side cross-site scripting' Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * Fix code scanning notifier alerts * Address notifier bot review comments * Address remaining notifier bot reviews * Update notifier integration assertions after merge * Fix notifier test fallout after merge * Address notifier PR review comments * Fix notifier bot follow-up comments * Add notification delivery observability * chore: add notifier logging screenshot * fix: address notifier logging ci failures --------- Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| src | ||
| CHANGELOG.md | ||
| README.md | ||
| package.json | ||
| tsconfig.json | ||
README.md
notifier-openclaw
OpenClaw notifier plugin for AO escalation events.
Quick setup
ao setup openclaw
This interactive wizard auto-detects your OpenClaw gateway, lets you reuse or change the URL, OpenClaw config path, and routing values, then writes the AO config. For non-interactive use (e.g., in CI/CD pipelines or automation scripts):
ao setup openclaw --url http://127.0.0.1:18789/hooks/agent --non-interactive
AO does not generate the token or write shell-profile exports. Local setup reads hooks.token from your OpenClaw config. For a remote OpenClaw gateway, you can pass --token and AO will store that token in agent-orchestrator.yaml.
Useful follow-up commands:
ao setup openclaw --refresh
ao setup openclaw --status
Interactive setup asks which notification priorities OpenClaw should receive.
For scriptable setup, pass --routing-preset urgent-only, urgent-action, or
all.
Required OpenClaw config (openclaw.json)
{
"hooks": {
"enabled": true,
"token": "<your-hooks-token>",
"allowRequestSessionKey": true,
"allowedSessionKeyPrefixes": ["hook:"]
}
}
AO config (agent-orchestrator.yaml)
notifiers:
openclaw:
plugin: openclaw
url: http://127.0.0.1:18789/hooks/agent
openclawConfigPath: ~/.openclaw/openclaw.json
Behavior
- Sends
POST /hooks/agentpayloads with per-session keyhook:ao:<sessionId>. - Defaults
wakeMode: nowanddeliver: true. - Retries on
429and5xxresponses with exponential backoff.
Token rotation
- Rotate
hooks.tokenin OpenClaw. - Restart OpenClaw so it picks up the new config.
- Run
ao setup openclaw --statusto verify the new token.
Known limitation (Phase 0)
- OpenClaw hook ingest is not idempotent by default. Replayed webhook payloads are processed as separate runs.
- Owner: AO integration.
- Follow-up: add stable event id/idempotency key support.