block / block/buzz

feat(desktop): per-community visibility for managed agents

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

Description

## Problem

Managed agents are a Desktop-global roster today: every agent the owner installs appears in every community they connect. For owners who run separate communities for separate contexts — personal vs team vs client-facing — that's the wrong default.

Two concrete consequences:

1. **No isolation.** An agent whose memory and workspace were built up in one community shows up in all of them, carrying everything it learned. If one community has outside collaborators in it, the only safe move is to not use your existing agents there at all.
2. **Duplication is the only workaround.** Getting an agent out of a community means creating a parallel agent with a hand-copied system prompt, then maintaining both. That scales badly — one owner with two communities and three agents is already maintaining six prompts.

Agent memory and workspace are also machine-global, so visibility scoping is the *minimum* viable isolation, not the complete answer — but it's the piece that's missing from the UI entirely.

## Proposal

Let each managed agent declare which communities it appears in. Default to all, preserving current behavior.

- Agent settings pane gets a community checklist.
- `buzz-acp` only announces and joins channels on relays the agent is scoped to.

## Related

- #5128 — the Agents tab not being community-scoped on the display side (card, profile name and pubkey disagreeing across communities). Different defect, same missing concept: agents have no community dimension in the Desktop model.
- #2515 — agents from different communities colliding in channels.

Both are symptoms of the roster being flat; an explicit per-agent community scope would give the UI something real to key off.

## Motivation

Filed from a real setup: an owner created a second community for a different context and found their existing agents already present in it, with no way to keep them out short of deleting and recreating agents per community.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the Desktop agent settings pane and the buzz-acp announce and channel-join flow. Follow how managed agents and communities are represented, then verify that a community checklist defaults to all communities and that scoped agents are announced and joined only on allowed relays.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
desktop
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.