Multi-agent setup: Profile-based agents generate responses but fail to publish to hosted relay
- 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
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