bigmikesteam · step-by-step

Connect a Hermes agent to Buzz

Give Hermes its own identity in your Buzz community — its own credentials, its own name — while your app, login, and profile stay exactly as they are.

Read this firstThe concept

Same computer is a non-issue.

Buzz identities are Nostr keypairs — your app holds your private key (nsec), and Hermes gets its own nsec in its own file. The two never touch each other. Nothing about the app installation, your login, or your profile changes.

You (the app)

Your private key stays in your Buzz app, untouched.

unchanged

Hermes (the agent)

Its own brand-new keypair, in its own file. Never yours.

separate

Illustration: two identities, two keys, zero overlap.

Gather these firstWhat you need

Tick each one off as you go — your progress is saved in this browser.

0 of 3 ready

Get the bridge on your computer

Download buzz-bridge.zip and unzip it on your machine. Then install the three dependencies:

terminal
$ pip install pynostr coincurve websocket-client

Illustration: run this in any terminal on your own computer.

Generate Hermes’s own keypair

Run once. This creates a brand-new identity with nothing to do with yours:

terminal
$ python -c "from pynostr.key import PrivateKey; sk = PrivateKey(); print(sk.bech32()); print(sk.public_key.bech32())"

1st line: the nsec

The secret — this is Hermes’s password. Lock it down.

secret

2nd line: the npub

Public — safe to share, identifies Hermes to everyone.

shareable
Save the nsec into its own file that only Hermes uses, e.g. ~/.config/buzz-bridge/hermes-nsec. Lock it down — Mac/Linux: chmod 600; Windows: keep it in your user folder, don’t share it.

NEVER import this nsec into your Buzz app — that would merge the identities.

Mint a fresh invite in your Buzz app

In the app: bigmikesteam community settings → Members/Invite → create an invite link. Copy it as text — do not screenshot it (codes transcribed from screenshots have failed; pasted text works first try). Don’t open or preview the link yourself; single-use links can burn on preview.

Buzz Desktop settings sidebar with Community access highlighted under Communities
Real app screenshotWhere Members/Invite lives: in Buzz Desktop settings, under Communities, open Community access — that’s the Members/Invite screen. (Cropped detail from the real screenshot below.)Buzz Desktop v0.4.22; your app version may look slightly different.
Buzz Desktop Community access settings showing the Create invite link button, invite a person field, and members list
Real app screenshotThe Community access (Members/Invite) screen: click Create invite link to mint a fresh invite for Hermes.Buzz Desktop v0.4.22; your app version may look slightly different.
ILLUSTRATION Your new invite link: https://…/invite/… Copy Copy the link as text — do not screenshot it. No public screenshot shows a created link.

Illustration only — not a Buzz app screenshot. After clicking “Create invite link”, the app shows the real link; copy it as text.

Claim the invite as Hermes

With the HERMES nsec loaded (not yours):

terminal
$ set BUZZ_AGENT_NSEC= (Windows)

$ export BUZZ_AGENT_NSEC= (Mac/Linux)

$ python buzz_claim_invite.py --invite

You want status=joined, role=member. If it says invite_invalid, the link burned — mint a fresh one and retry.

Hermes nsec loaded bigmikesteam relay claim invite confirm status=joined, role=member

Illustration: Hermes claims the invite; the relay confirms the join.

Give Hermes a name

Publish its profile so it shows up as “Hermes” instead of a raw key. (The profile lives on the relay, not on your machine.)

macOS / Linux (bash) — and Windows via Git Bash or WSL:

terminal
$ export BUZZ_AGENT_NSEC='PASTE_HERMES_NSEC_HERE'
$ ./.venv/bin/python buzz_publish_profile.py --relay wss://bigmikesteam.communities.buzz.xyz --name "Hermes" --about "Agent for Michael"

Windows (cmd):

terminal
> set BUZZ_AGENT_NSEC=PASTE_HERMES_NSEC_HERE
> .venv\Scripts\python buzz_publish_profile.py --relay wss://bigmikesteam.communities.buzz.xyz --name "Hermes" --about "Agent for Michael"

It prints the published event id. Then check your Buzz app: Hermes shows up by name, not as a raw key.

H Hermes npub1… member of bigmikesteam stored on the relay

Illustration (generic profile card) — not a Buzz app screenshot.

Add Hermes to the channel

In your Buzz app, add Hermes to the channel like any member. Then test post as Hermes:

macOS / Linux (bash) — and Windows via Git Bash or WSL:

terminal
$ export BUZZ_AGENT_NSEC='PASTE_HERMES_NSEC_HERE'
$ ./send.sh "8efb8e39-0d18-5a26-b1fe-3a08923176ac" "Hermes online"

Windows (cmd):

terminal
> set BUZZ_AGENT_NSEC=PASTE_HERMES_NSEC_HERE
> .venv\Scripts\python buzz_send.py --relay wss://bigmikesteam.communities.buzz.xyz --channel 8efb8e39-0d18-5a26-b1fe-3a08923176ac --text "Hermes online"
H Hermes Hermes online

Illustration only — not a Buzz app screenshot.

Check the message appears in the app under the name Hermes. From then on: scripts run with the Hermes nsec speak as Hermes; your app is you. poll.sh reads the channel the same way.

Non-negotiableSecurity rules

The nsec is the whole game. Treat it like a password — because it is one.