From d87ab32dac0d12ac883421209d1ebea6560053e6 Mon Sep 17 00:00:00 2001 From: Michael Neale Date: Mon, 13 Apr 2026 12:55:35 +1000 Subject: [PATCH] Use mesh-llm serve/client subcommands (#8451) Signed-off-by: Michael Neale --- .../components/settings/mesh/MeshSettings.tsx | 35 +++++++++++-------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/ui/desktop/src/components/settings/mesh/MeshSettings.tsx b/ui/desktop/src/components/settings/mesh/MeshSettings.tsx index 4f30ecfb..bba79c37 100644 --- a/ui/desktop/src/components/settings/mesh/MeshSettings.tsx +++ b/ui/desktop/src/components/settings/mesh/MeshSettings.tsx @@ -12,7 +12,12 @@ import { } from 'lucide-react'; import { Button } from '../../ui/button'; import { Input } from '../../ui/input'; -import { setConfigProvider, updateCustomProvider, createCustomProvider, getCustomProvider } from '../../../api'; +import { + setConfigProvider, + updateCustomProvider, + createCustomProvider, + getCustomProvider, +} from '../../../api'; import { useModelAndProvider } from '../../ModelAndProviderContext'; const MESH_API_PORT = 9337; const MESH_CONSOLE_PORT = 3131; @@ -119,9 +124,7 @@ export const MeshSettings = () => { const body = meshProviderBody(modelList); // Try the last-known provider ID first, then fall back to 'mesh' - const idsToTry = meshProviderId === 'mesh' - ? ['mesh'] - : [meshProviderId, 'mesh']; + const idsToTry = meshProviderId === 'mesh' ? ['mesh'] : [meshProviderId, 'mesh']; for (const id of idsToTry) { const existing = await getCustomProvider({ path: { id } }); @@ -172,22 +175,24 @@ export const MeshSettings = () => { const args: string[] = []; if (mode === 'new') { - args.push('--model', selectedModel); + args.push('serve', '--model', selectedModel); } else if (mode === 'join') { if (!joinToken.trim()) { setError('Paste an invite token to join a mesh'); setStatus('stopped'); return; } - args.push('--join', joinToken.trim()); - if (!contributeGpu) { - args.push('--client'); + if (contributeGpu) { + args.push('serve', '--join', joinToken.trim()); + } else { + args.push('client', '--join', joinToken.trim()); } } else { // auto - args.push('--auto'); - if (!contributeGpu) { - args.push('--client'); + if (contributeGpu) { + args.push('serve', '--auto'); + } else { + args.push('client', '--auto'); } } @@ -338,8 +343,8 @@ export const MeshSettings = () => {

Get started

- mesh-llm is not installed. Follow the install guide to set it up, or connect to - a mesh already running on this machine. + mesh-llm is not installed. Follow the install guide to set it up, or connect to a mesh + already running on this machine.

@@ -635,7 +640,9 @@ export const MeshSettings = () => {
- http://localhost:{MESH_CONSOLE_PORT} + + http://localhost:{MESH_CONSOLE_PORT} +
)}