Skip to content

desktop: show where relay-mesh inference runs in the activity panel - #2205

Closed
michaelneale wants to merge 1 commit into
mainfrom
mesh-inference-location
Closed

desktop: show where relay-mesh inference runs in the activity panel#2205
michaelneale wants to merge 1 commit into
mainfrom
mesh-inference-location

Conversation

@michaelneale

Copy link
Copy Markdown
Contributor

What

Buzz shared compute (relay-mesh) agents gave no indication of where their inference actually executes. This adds a small indicator to the Activity panel header, next to the scope label:

←  Activity   #agents   Shared compute · Qwen3 8B · 3 nodes   ⚙

Hovering shows the full sentence: "This agent runs inference with Qwen3 8B on 3 nodes serving on this relay via Buzz shared compute."

States:

State Label
Explicit model Shared compute · Qwen3 8B · 3 nodes
Auto (mesh router picks) Shared compute · auto-routed · 2 nodes
Nothing live Shared compute · no live serving nodes

Non-mesh agents render nothing; while availability is loading it also renders nothing rather than guessing.

How

  • New read-only mesh_availability Tauri command — exposes the existing member-verified, freshness-filtered MeshAvailability (serve targets + models) that discovery already computes for routing. No new trust surface. Stubbed for non-mesh-llm builds.
  • meshInferenceLocation.ts — pure derivation from availability + the agent's model ref. Counts distinct nodes (by deviceId/endpointId, so one node serving two models counts once) and mirrors the Rust @main-revision canonical model matching from pick_serve_target_for_model.
  • useMeshInferenceLocation — resolves the managed agent record; polls availability (60s, vs the 45s relay status heartbeat) only when the provider is relay-mesh.
  • E2E mock bridge answers mesh_availability with the matching shape.

Testing

  • 9 new unit tests for the derivation (meshInferenceLocation.test.mjs); full desktop suite 3259 pass
  • tsc --noEmit, biome, cargo clippy --features mesh-llm clean
  • Both Rust feature paths compile (stub + mesh-llm); all 60 mesh Rust tests pass

Buzz shared compute agents gave no indication of where their inference
actually executes. Add a small indicator to the Activity panel header,
e.g. 'Shared compute · Qwen3 8B · 3 nodes', with a full-sentence tooltip.

- New read-only mesh_availability Tauri command exposing the existing
  member-verified, freshness-filtered MeshAvailability (serve targets +
  models) that discovery already computes for routing. Stubbed for
  non-mesh builds.
- meshInferenceLocation.ts derives the label from availability + the
  agent's model ref: distinct node counting (deviceId/endpointId, so one
  node serving two models counts once) and Rust-parity @main-revision
  model matching. Explicit / auto-routed / no-live-nodes states.
- useMeshInferenceLocation polls availability (60s vs the 45s relay
  heartbeat) only when the agent's provider is relay-mesh; returns null
  for non-mesh agents and while availability is unknown, so the header
  renders nothing rather than a guess.
- E2E mock bridge answers mesh_availability with the matching shape.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant