feat(deep-link): add buzz://install-agent prefill arm - #2911
Open
adamazad wants to merge 1 commit into
Open
Conversation
Add a new `buzz://install-agent?relay=<ws(s)://…>` deep-link arm that opens Desktop with the create-agent form PREFILLED, so an external service (e.g. Figura) can offer a one-click "install this agent into your community" flow. Today community-add is deep-linkable but agent-install is not. Mirrors the existing community-add prefill machinery exactly: - Rust `parse_install_agent_deep_link` + dedicated `PendingAgentInstallDeepLinks` queue + `take_/acknowledge_pending_agent_install_deep_link` commands, wired into `handle_deep_link_url` and the Tauri invoke handler / managed state. `relay` is required and validated as ws(s) like connect/join/add-community; `npub`/`name`/`system_prompt`/`channel` are optional and mirror `buzz agents draft-create` (channel / display-name / system-prompt). - Frontend `agentInstallPrefill` store + `AgentInstallDeepLinkPayload` type + coalescing drain (`listenForAgentInstallDeepLinks`) that routes the queued intent into the existing create-agent form (`RequestedAgentCreateDialogs`) seeded with display name / system prompt / target channel. Security: the link ONLY prefills the owner's create-agent form. It never auto-admits an agent or bypasses owner review — the owner still reviews and saves the form in Desktop. Stated in code comments and docs (AGENTS.md). Tests: 6 new Rust unit tests (happy path, relay-only, empty-optionals, every relay rejection case, queue FIFO + dedupe). Full deep_link suite 44 passed. Frontend typecheck + biome clean; desktop clippy clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KpZ2N5oAADahc69R9656pe Signed-off-by: adam <adam@adamazad.com>
adamazad
force-pushed
the
feat/deep-link-install-agent
branch
from
July 26, 2026 08:32
94cf1d2 to
5019858
Compare
This was referenced Jul 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds a new
buzz://install-agentdeep-link arm so an external service can offer a one-click "install this agent into your community" flow. Today community-add is deep-linkable (buzz://connect/add-community/join) but agent provisioning is not — the only path isbuzz agents draft-create→ owner review in Desktop, which a web page can't initiate.Grammar
relay— required, validated asws/wsswith a non-empty host, exactly like theconnect/join/add-communityarms.npub,name,system_prompt,channel— optional; they mirror the fields ofbuzz agents draft-create(CreateAgentDraft: channel / display-name / system-prompt).Opening the link brings Buzz Desktop to the foreground with the create-agent form prefilled from those params.
Security
The link only prefills the owner's create-agent form. It never auto-admits an agent, never bypasses owner review — the owner still reviews and saves the form in Desktop, identical to
draft-create. Stated in the code comments andAGENTS.md.Implementation
Mirrors the existing community-add prefill machinery exactly:
desktop/src-tauri/src/deep_link.rs):parse_install_agent_deep_link+ a dedicatedPendingAgentInstallDeepLinksqueue +take_/acknowledge_pending_agent_install_deep_linkTauri commands, wired intohandle_deep_link_urland the invoke handler / managed state.agentInstallPrefillstore +AgentInstallDeepLinkPayloadtype, a coalescing drain that routes the queued intent into the existing create-agent form (RequestedAgentCreateDialogs) seeded with display name / system prompt / target channel.AGENTS.md.Tests
deep_linksuite: 44 passed, 0 failed (cargo test -p buzz-desktop deep_link).Why (context)
Enables external tools (e.g. a Figura design agent) to publish an install link that drops a user straight into Buzz's owner-review create-agent form for a given community — closing the one gap between community onboarding (already deep-linkable) and agent onboarding (previously CLI-only).
🤖 Generated with Claude Code