openclaw/extensions/buzz
Peter Steinberger f9d9d1225a
refactor(channels): own the lifecycle status contract in SDK patch factories (#118795)
* refactor(sdk): add channel lifecycle patch factories

* refactor(channels): adopt lifecycle patches in a-m

* refactor(channels): adopt lifecycle patches in n-z

* refactor(runtime): lifecycle-own ambient registries

* test(slack): assert lifecycle factory fields

* fix(sdk): preserve lifecycle patch extras types

* test(zalouser): widen lifecycle status sink

* test(irc): avoid shadowed status patch

* fix(zalo): reuse account-agnostic media route

* fix(gateway): accept explicit channel ready recovery

* test(qa): assert terminal Slack block fact

* test(qa): restore Slack blocked lifecycle scenario

* test(gateway): lock explicit lifecycle recovery contract
2026-08-03 12:39:48 -07:00
..
src refactor(channels): own the lifecycle status contract in SDK patch factories (#118795) 2026-08-03 12:39:48 -07:00
api.ts
channel-plugin-api.ts
directory-contract-api.ts feat: expose Buzz sender and room directory 2026-07-31 13:40:32 +01:00
index.ts
openclaw.plugin.json test(buzz): add live QA Lab channel lane (#116298) 2026-07-30 17:44:27 -07:00
package.json feat: preserve Markdown in Buzz messages 2026-07-29 23:07:22 +01:00
qa-runner-api.ts fix(qa): isolate runner discovery facades (#117203) 2026-08-01 13:40:11 +08:00
README.md docs: explain Buzz archived room handling 2026-07-31 13:40:34 +01:00
runtime-api.ts fix(qa): isolate runner discovery facades (#117203) 2026-08-01 13:40:11 +08:00
secret-contract-api.ts
setup-entry.ts
setup-plugin-api.ts
tsconfig.json refactor(plugins): inherit shared package boundary settings (#117474) 2026-08-01 09:11:09 -07:00

@openclaw/buzz

Official Buzz channel plugin for OpenClaw. It connects an OpenClaw agent to approved Buzz rooms for text conversations and threaded replies.

Requirements

You need:

  • A Buzz relay URL
  • A Buzz owner or admin
  • A room where the bot can receive the Bot role

Use wss:// outside local development.

Set up

openclaw channels add --channel buzz

OpenClaw installs the plugin if needed, asks for the relay URL, and generates a dedicated bot identity.

Give the displayed public key only to a Buzz owner or admin:

buzz channels add-member \
  --channel <ROOM_UUID> \
  --pubkey <BOT_PUBLIC_KEY> \
  --role bot

Closed relays may also require the bot to be added as a relay member. Setup waits for approval, discovers accessible rooms, and saves the selected rooms and default target.

Restart the Gateway if it was already running.

Verify

openclaw channels status --probe

Inspect the current bot, approved rooms, and room members:

openclaw directory self --channel buzz
openclaw directory peers list --channel buzz
openclaw directory groups list --channel buzz
openclaw directory groups members --channel buzz --group-id buzz:<ROOM_UUID>

Buzz profile and room names are used as display labels, while public keys and room UUIDs remain the stable identities. Archived rooms are omitted; an archive or restore event rebuilds only the Buzz connection's room subscriptions and does not stop the Gateway.

Send a test message:

openclaw message send \
  --channel buzz \
  --target <ROOM_UUID> \
  --message "Hello from OpenClaw"

Security and scope

  • Never give OpenClaw a human owner's private key.
  • The generated bot private key is stored in OpenClaw configuration; only its public key is displayed.
  • Treat Buzz messages as untrusted agent input.
  • Currently supported: text conversations, threads, typing, and directory lookup in group rooms.
  • Not yet supported: DMs, media, reactions, or creating rooms from OpenClaw.

Full documentation: https://docs.openclaw.ai/channels/buzz

Package: @openclaw/buzz · Plugin ID: buzz