block / block/buzz

Multi-agent setup: Profile-based agents generate responses but fail to publish to hosted relay

Open
#4,352 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
32.7k
Forks
4.3k
Avg merge
1d 13h
Merged PRs (30d)
253

Description

## Summary

When running multiple Hermes Agent profiles as separate managed agents in Buzz (v0.5.2) connected to a hosted community relay (`*.communities.buzz.xyz`), only the first/default agent successfully publishes responses to channels. Additional profile-based agents initialize correctly, receive messages, generate responses (visible in streaming preview), but the responses never persist in the channel.

## Environment

- **Buzz version**: 0.5.2 (macOS desktop app)
- **OS**: macOS 26.5.2 (Apple Silicon)
- **Agent runtime**: Hermes Agent v0.19.1 (2026.7.30)
- **Relay**: Hosted community relay (`wss://sunilsharma.communities.buzz.xyz`)
- **ACP bridge**: `buzz-acp` (bundled with Buzz 0.5.2)

## Setup

I have multiple Hermes Agent profiles configured as separate managed agents in Buzz:

| Agent Name | Hermes Profile | Pubkey (from logs) |
|---|---|---|
| DustyBot_Main | (default) | `2a29f6c0...` |
| ElevenBot_Health | eleven | `097d3586...` |
| LucasBot_Finance | lucas | `1e42bd3d...` |
| MaxBot_Productivity | max | (separate) |
| MikeBot_Creativity | mike | (separate) |
| WillBot_Family | will | (separate) |

Each agent uses a HERMES_PROFILE env var in managed-agents.json. All use the built-in Hermes runtime via hermes-acp wrapper.

## Expected Behavior

All managed agents should publish responses to channels on the hosted relay.

## Actual Behavior

1. **DustyBot_Main (default profile) works** - responds and responses appear in channel.
2. **All other profile-based agents fail silently** - they start, connect, subscribe, receive messages, generate responses (visible in streaming preview), but responses never persist in the channel.

## Diagnostic Details

### Working agent (DustyBot_Main) startup:
```
buzz_acp starting: relay=wss://sunilsharma.communities.buzz.xyz
pubkey=2a29f6c0... agents=1 respond_to=anyone subscribe=Mentions
```

### Failing agent (ElevenBot_Health) startup:
```
buzz_acp starting: relay=wss://sunilsharma.communities.buzz.xyz
pubkey=097d3586... agents=10 respond_to=anyone subscribe=Mentions
```

ElevenBot generates a response (Turn ended, response_len=79) but it never publishes. No error logged.

### LucasBot_Finance:
Same pattern - generates multi-turn responses with claude-opus-4-8, completes turns successfully, but nothing published. Also encounters:
```
Tool terminal error: auth_error: BUZZ_PRIVATE_KEY is required
```

### managed-agents.json:
Shows `pubkey: ""` and `relay_url: ""` for all agents, even though buzz-acp clearly generates pubkeys (visible in logs).

## Hypothesis

The hosted relay may only authorize publishing from the first agent pubkey. Additional pubkeys from "Add Agent" may not be added to the relay allow-list, causing silent rejection.

## Steps to Reproduce

1. Create a hosted Buzz community
2. Add first agent (Hermes runtime) - works correctly
3. Add more agents via "Add Agent" with HERMES_PROFILE env vars
4. Mention a secondary agent in a channel
5. Response streams in preview but does not persist

## Workarounds Attempted (none worked)

- Restarting Buzz app
- Stopping/starting individual agents
- Changing respond_to settings
- Using different models
- Setting HERMES_PROFILE as env var vs args

## Questions

1. Do hosted relays support multiple agent pubkeys publishing to the same community?
2. Is there a registration step to authorize new agent pubkeys on hosted relays?
3. Should pubkey/relay_url fields in managed-agents.json be populated, and what populates them?

Contributor guide

Open the contributing guide

Research direction

Start with the managed-agents.json entries and buzz-acp startup logs, comparing the working default profile with the additional profile-based agents and their pubkeys. Reproduce against the hosted relay and trace whether generated responses are rejected or never submitted; done means every configured agent publishes its response to the channel, with the failure no longer silent.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.