|
Download website/docs/integrations/buzz.md from SaylorTwift/hermes-agent: direct link, hf CLI and curl.
- Browser
- Download file 4.07 kB
-
https://huggingface.co/SaylorTwift/hermes-agent/resolve/main/website/docs/integrations/buzz.md
- Command line
-
hf download hf://SaylorTwift/hermes-agent/website/docs/integrations/buzz.md
-
curl -L -o buzz.md https://huggingface.co/SaylorTwift/hermes-agent/resolve/main/website/docs/integrations/buzz.md
4.07 kB
| 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](https://github.com/block/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](/user-guide/features/acp#buzz-desktop)** | |
| ## β‘ Relay bridge (buzz-acp + ACP) | |
| For a hosted Hermes identity that joins Buzz *channels* while Buzz's own harness owns the transport: | |
| ```text | |
| 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)](/user-guide/features/acp#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. | |
| ```bash | |
| hermes gateway setup # pick Buzz | |
| ``` | |
| Full configuration reference (env vars, config.yaml, transport modes, access control): **[Messaging β Buzz](/user-guide/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). | |