Skip to content

Add WhatsApp channel plugin via wacli#72

Closed
arefbehboudi wants to merge 1 commit into
ClawRunr:mainfrom
arefbehboudi:whatsapp-integration
Closed

Add WhatsApp channel plugin via wacli#72
arefbehboudi wants to merge 1 commit into
ClawRunr:mainfrom
arefbehboudi:whatsapp-integration

Conversation

@arefbehboudi

Copy link
Copy Markdown
Collaborator

Integrate WhatsApp connectivity through the wacli CLI, paired as a WhatsApp Web linked device. JavaClaw supervises wacli sync as a subprocess and receives inbound messages over a local webhook, replying with wacli send.

  • WacliSyncSupervisor: launches and restarts the sync subprocess with exponential backoff and health-based retry reset.
  • WhatsAppWebhookController: handles inbound webhooks, gates on the allowed chat JID, and processes messages off the request thread.
  • WacliWhatsAppChannel: sends replies and suppresses echoes of the agent's own outbound messages by message ID.
  • WhatsAppOnboardingProvider: onboarding step for install/pair/config.

Wire the plugin into the build and document setup in the README.

Integrate WhatsApp connectivity through the wacli CLI, paired as a
WhatsApp Web linked device. JavaClaw supervises `wacli sync` as a
subprocess and receives inbound messages over a local webhook, replying
with `wacli send`.

- WacliSyncSupervisor: launches and restarts the sync subprocess with
  exponential backoff and health-based retry reset.
- WhatsAppWebhookController: handles inbound webhooks, gates on the
  allowed chat JID, and processes messages off the request thread.
- WacliWhatsAppChannel: sends replies and suppresses echoes of the
  agent's own outbound messages by message ID.
- WhatsAppOnboardingProvider: onboarding step for install/pair/config.

Wire the plugin into the build and document setup in the README.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant