Adil Shaikh
298057044f
feat(notifier): make notifier system robust with manual harness and desktop setup ( #1736 )
...
* 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>
2026-05-19 14:48:40 +05:30
Dhruv Sharma
570f3b588f
fix: address CodeRabbit review comments
...
- Use consistent regex for OPENCLAW_HOOKS_TOKEN detection and replacement
in shell profile (prevents silent no-ops for non-exported lines)
- Broaden token detection regex to match lines with/without export prefix
and leading whitespace
- Fix misleading --non-interactive help text (token is auto-generated)
- Fix doctor.ts catch block to say "Notifier checks failed" not "load config"
- Fix 204 mock in Discord notifier test (ok: true, not ok: false)
- Fix weak no-duplicate assertion in setup.test.ts (actually count list items)
- Add discord to notifier options comment in config-instruction.ts
- URL-encode threadId in Discord webhook URL construction
- Add aoCwd to required[] in openclaw.plugin.json configSchema
- Add HTTPS recommendation comment to agent-orchestrator.yaml.example
- Add rimraf for cross-platform clean script in notifier-discord
- Rename "Recommended Settings" to "Required: Disable Conflicting Built-in Skills"
with explicit warning in docs
- Add /ao setup post-setup reminder to manually disable coding-agent skill
- Fix misleading README non-interactive example wording
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 21:58:19 +05:30
Dhruv Sharma
36d354e0c2
feat: OpenClaw plugin, AO skill, Discord notifier, and setup wizard
...
Adds bidirectional integration between Agent Orchestrator and OpenClaw,
enabling AI bots on Discord/Telegram/WhatsApp to manage coding agent
fleets through natural conversation.
OpenClaw Plugin (openclaw-plugin/):
- 14 AI tools: ao_spawn, ao_issues, ao_sessions, ao_status, ao_batch_spawn,
ao_send, ao_kill, ao_session_restore, ao_session_cleanup,
ao_session_claim_pr, ao_review_check, ao_verify, ao_doctor, ao_session_list
- Hooks: message_received + before_prompt_build for live data injection
- /ao slash command with subcommands (sessions, spawn, issues, doctor, setup)
- Background services: health monitor + issue board scanner
- Security: execFileSync with arg arrays (no shell injection)
AO Skill (skills/agent-orchestrator/):
- Natural language intent → AO tool mapping
- Decision heuristic: quick fix → direct, multi-issue → AO
- Designed for ClawHub publishing (blocked on ClawHub server bug)
CLI: ao setup openclaw (packages/cli/src/commands/setup.ts):
- Interactive wizard + non-interactive mode
- Auto-detects OpenClaw gateway on localhost
- Auto-generates secure token
- Writes both configs (agent-orchestrator.yaml + openclaw.json)
- Appends OPENCLAW_HOOKS_TOKEN to shell profile
- Validates connection end-to-end
CLI: ao doctor notifier checks:
- Probes OpenClaw gateway reachability + token validity
- --test-notify flag sends test event through all configured notifiers
- Failure count propagated to exit code
Discord Notifier (packages/plugins/notifier-discord/):
- Rich webhook embeds with colors, fields, action links
- Retry with exponential backoff + Discord Retry-After header
- Request timeouts, embed truncation, webhook URL validation
- thread_id via URL query string (Discord API requirement)
OpenClaw Notifier improvements:
- Added request timeouts via AbortController
- Improved README
Reviewed through 5 rounds of Codex code review.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 21:52:28 +05:30