Desktop UI for browsing, downloading, loading, and chatting with local models through the Microsoft Foundry Local SDK.
Foundry Local App packages the SDK behind a native Electron shell and a modern React renderer, keeping all Foundry SDK access in the Electron main process and exposing a narrow IPC layer to the UI.
- Browse the local Foundry model catalog with rich metadata.
- Download, remove, load, and unload models from the same Catalog experience.
- Manage persisted chat sessions backed by downloaded local models.
- Render Chat assistant responses as Markdown with syntax-highlighted code blocks and one-click copy actions.
- Capture live local audio transcription with persisted transcript sessions and audio settings.
- Inspect runtime status, web service state, and execution provider registration.
- Package the app for Windows and publish signed
.msixreleases with GitHub Actions.
Run local conversations against downloaded models with persistent session history, clear model state, and richer response rendering.
Chat highlights:
- π¬ Persistent local chat sessions
- π Assistant responses rendered as Markdown
- π¨ Syntax-highlighted fenced code blocks
- π One-click copy for generated code blocks
Transcribe live microphone audio with local audio-capable models while keeping a dedicated transcript history.
Transcript highlights:
- ποΈ Live microphone transcription with local models
- π«§ Separate live preview text during active capture
- ποΈ Persistent transcript sessions and history
- βοΈ Quick access to model state and audio settings
Browse the local model catalog, filter to downloaded models, and manage the full model lifecycle from one place.
Catalog highlights:
- π Rich model discovery and filtering
- π¦ Downloaded-model management in one view
βΆοΈ Load and unload actions with clear status- π§Ύ Metadata for model capabilities and variants
Control the app experience and local runtime from a single administration surface.
Settings and Runtime highlights:
- π Theme preference controls
- π Embedded web service start and stop controls
- π§© Execution provider registration and status
- ποΈ Runtime and audio configuration in one place
- Electron
- React 19
- React Router with
HashRouter - Vite
- TypeScript
- Tailwind CSS v4
- shadcn/ui
foundry-local-sdk
.
|- src/main.ts Electron main process entry
|- src/preload.ts Preload and IPC bridge
|- src/renderer/ React renderer app
|- docs/ README screenshots
|- build/ App icon sources
|- scripts/ Packaging and asset generation scripts
|- electron-builder.config.mjs Windows packaging config
`- .github/workflows/ CI and release automation
- Windows 11 or Windows 10 with Foundry Local SDK prerequisites installed
- Node.js 22+
- npm 10+
npm installnpm startThis builds the Electron main process and the Vite renderer, then launches the desktop app.
npm run build # Build main and renderer bundles
npm run build:main # Build Electron main/preload only
npm run build:renderer # Build renderer only
npm run dev:renderer # Run the Vite renderer dev server
npm run assets:icons # Generate Windows and MSIX icon assets
npm run dist:win:unpacked # Build a packaged unpacked Windows app
npm run dist:win:msix # Build an MSIX package from the Electron app- The renderer never imports
foundry-local-sdkdirectly. - Foundry Local SDK state lives in the Electron main process.
- The renderer consumes serialized state over IPC through
src/preload.ts. - Routing uses
HashRouterbecause the renderer is loaded fromfile://. - The current product flow centers on Catalog, Chat, Transcript, Runtime, and Settings.
npm run dist:win:unpackedOutput:
release/win-unpacked/
npm run dist:win:msixOutput:
release/*.msix
The MSIX flow does the following:
- Generates branded Windows icon assets.
- Builds the Electron app into
release/win-unpacked. - Creates an MSIX manifest and package using the Windows SDK
makeappx.exetool. - Signs the package with
signtool.exewhen certificate secrets are available.
This repository includes a Windows release workflow at .github/workflows/release-msix.yml.
It runs when a tag matching v* is pushed and will:
- Install dependencies.
- Build the Electron app.
- Generate a signed
.msixartifact. - Upload the
.msixto the corresponding GitHub Release.
Secrets:
APPX_PUBLISHERWINDOWS_CERT_BASE64WINDOWS_CERT_PASSWORD
Repository variables:
APPX_IDENTITY_NAMEAPPX_APPLICATION_IDAPPX_PUBLISHER_DISPLAY_NAME
APPX_PUBLISHER must match the certificate subject used to sign the MSIX package.
Implemented or actively targeted:
- Catalog browsing and local model management
- Downloaded-model filtering and loaded-state badges
- Persisted local chat sessions
- Markdown chat rendering with syntax-highlighted code blocks and easy copy/paste
- Live audio transcription with persisted transcript sessions
- Runtime and web service controls
- Execution provider discovery and registration
Planned follow-up work includes:
- model details and variants
- update and version awareness
- structured output playground
The implementation roadmap lives in .features/README.md.
- There is currently no dedicated lint or test pipeline in this repo.
- The primary project-level verification command is
npm run build. - For packaging validation, use
npm run dist:win:msixon Windows.
MIT



