SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
6aa76ed verified
|
Raw History Blame Contribute Delete
4.07 kB
metadata
sidebar_position: 4
title: Buzz Integration
description: >-
  All three ways to connect Hermes Agent to Buzz β€” Block's Nostr-based
  human+agent workspace

Buzz Integration

Buzz is Block's open-source, self-hostable workspace where humans and AI agents share the same channels. It is built on Nostr: every message is a signed event on a relay you own, and every participant β€” human or agent β€” is a keypair.

Hermes integrates with Buzz three ways. Pick by where Hermes runs and what you want it to do:

β‘  Desktop runtime β‘‘ Relay bridge (ACP) β‘’ Native gateway platform
What it is Buzz Desktop spawns Hermes locally as a managed harness Buzz's buzz-acp bridges a channel to hermes acp over stdio Hermes' gateway joins Buzz as a first-class messaging platform
Hermes runs On your desktop, launched by Buzz On a server, launched by buzz-acp In your own gateway, alongside Telegram/Discord/etc.
Best for Trying Hermes inside Buzz Desktop with zero config A hosted agent identity when Buzz owns the transport Full Hermes: memory, skills, approvals, cron, sessions
Inbound ACP stdio ACP stdio (via relay WebSocket) NIP-42-authenticated Nostr WebSocket (poll fallback)
Setup Automatic discovery buzz-acp env vars hermes gateway setup β†’ Buzz

β‘  Buzz Desktop managed runtime

Buzz Desktop ships Hermes as a preset runtime. With Hermes installed the normal way, open Settings β†’ Runtimes and Hermes appears automatically β€” discovery resolves the hermes-acp launcher on your login-shell PATH, which the installer writes to ~/.local/bin (and hermes update self-heals on older installs).

Full setup, troubleshooting, and the security posture (Buzz auto-approves tool permissions β€” keep agents owner-only): ACP Host Integration β†’ Buzz Desktop

β‘‘ Relay bridge (buzz-acp + ACP)

For a hosted Hermes identity that joins Buzz channels while Buzz's own harness owns the transport:

Buzz relay <-- WebSocket --> buzz-acp <-- ACP over stdio --> Hermes Agent

The spawned Hermes uses the same config, credentials, memory, and skills as hermes on that host. Key minting, channel discovery, owner-only telemetry (BUZZ_ACP_RELAY_OBSERVER), and headless-permission guidance: ACP Host Integration β†’ Buzz channels (relay bridge)

β‘’ Native gateway platform (recommended for full Hermes)

The bundled buzz platform plugin makes Buzz a normal Hermes messaging platform β€” channels, DMs, mention gating, threaded replies, reactions, images, and cron delivery (deliver=buzz), with Hermes' own approvals, memory, and session management intact. Inbound arrives over a persistent NIP-42-authenticated Nostr WebSocket (dependency-free BIP-340 signing) with automatic fallback to CLI polling; outbound goes through the buzz CLI.

hermes gateway setup   # pick Buzz

Full configuration reference (env vars, config.yaml, transport modes, access control): Messaging β†’ Buzz

Which one should I use?

  • Just exploring, Buzz Desktop user β†’ β‘  works out of the box.
  • Running a community relay and want an agent identity managed by Buzz β†’ β‘‘.
  • You already run Hermes as your agent and want Buzz as another channel β†’ β‘’. This is the deepest integration and the one that keeps every Hermes feature.

β‘ /β‘‘ and β‘’ use different identities and transports; run β‘’ with its own dedicated Nostr keypair. The adapter takes a scoped lock on the relay+pubkey pair, so two Hermes profiles cannot accidentally drive one Buzz identity.

Credits

The Buzz integration was built with the community: @SHL0MS (PATH launcher + Desktop security audit), @NYTEMODEONLY (relay-bridge docs), @rob-coco (platform adapter), @ScaleLeanChris (Nostr WebSocket transport + NIP-42/BIP-340 signing), and @jethac (multi-agent verification).