Skip to content

feat(desktop): add shared models to Share compute#1943

Draft
michaelneale wants to merge 1 commit into
mainfrom
micn/mesh-share-compute-shared-models
Draft

feat(desktop): add shared models to Share compute#1943
michaelneale wants to merge 1 commit into
mainfrom
micn/mesh-share-compute-shared-models

Conversation

@michaelneale

@michaelneale michaelneale commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

The idea here is to show curated models, and an advanced section where people can choose to run really large model - then things "wait" until enough members share compute in a buzz server community.

Then ... magic happens!

not a core functionality change more just making it clearer to buzz consumers what mesh llm can do.

Summary

  • add curated shared/split model choices under Settings → Compute → Share compute
  • keep the recommended solo model as the default path and put manual, installed, and shared model selection under Advanced
  • estimate the number of members needed from local AI memory and show a waiting-for-members state for shared models
  • use the existing mesh-llm node path and implicit split/quorum behavior; no mesh SDK changes

This carries the single feature commit from michaelneale/buzz:feat/mesh-share-compute-shared-models onto current block/buzz main.

Behavior and scope

  • shared catalog entries use meshllm/*-layers model references
  • models that are too large for one machine wait for enough relay members and then run split across them
  • the UI deliberately reports only coarse waiting/running state because the current SDK does not expose live participant counts
  • copy calls out the size-for-speed tradeoff of shared models

The implementation notes and current limitations are in docs/mesh-share-compute-shared-models.md.

Verification

  • just ci — passed
  • pnpm exec playwright test --project=smoke tests/e2e/mesh-compute.spec.ts tests/e2e/mesh-compute-screenshots.spec.ts — 3 passed
  • recommended and advanced screenshot captures are distinct and visually checked
  • pre-push hooks — passed

Add a shared-model path to Settings → Compute → Share compute alongside the
existing solo flow, and restructure the card into Recommended (the common
path) + Advanced (free-text solo serve, installed picklist, Max VRAM, and a
new 'Join a shared model' section).

Shared models are curated meshllm/…-layers layer packages too big for one
machine. Selecting one serves it via the existing mesh_start_node path; the
mesh runtime implicitly splits it (model doesn't fit locally) and waits for a
quorum of members before serving. Status is cohort-aware but coarse by design
(built on today's SDK state): 'waiting for more members' vs 'running with the
group' — a precise 'X of N members' progress is a future enhancement gated on
an upstream mesh-llm status field.

No mesh-llm SDK changes; works against pinned v0.73.1.

- catalog.rs: SharedModel list, estimate_members, shared/estimated_members
  fields + shared list on the catalog (+ tests, 7/7 pass)
- tauriMesh.ts: MeshCatalogEntry.shared/.estimatedMembers, catalog.shared
- MeshComputeSettingsCard.tsx: Recommended + Advanced restructure,
  SharedModelPicker, cohort-aware StatusLine, honest slower-than-solo warning
- sharedModel.ts (+ 9 tests): isSharedModelRef, sharedModelShortName
- e2eBridge.ts: mock mesh_model_catalog incl. shared[]; shared models hold in
  'starting' to simulate waiting-for-quorum
- mesh-compute e2e specs updated + shared-model test added (2 pass)
- docs/mesh-share-compute-shared-models.md

Signed-off-by: Michael Neale <michael.neale@gmail.com>
@michaelneale
michaelneale force-pushed the micn/mesh-share-compute-shared-models branch from f2d48df to df9d0a4 Compare July 16, 2026 05:38
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