Skip to main content
Any Framework

Windows systray monitor for Foundry Local β€” model load/unload notifications, mini status window

Published
Jul 6, 2026
3mo ago
Total Downloads
3.5K
3,481

Install

dotnet add package ElBruno.FoundryLocalMonitor --version 0.5.23

No framework information available.

README

ElBruno.FoundryLocalMonitor

NuGet NuGet Downloads Build Status License: MIT .NET GitHub stars

Foundry Local Monitor banner

Windows systray monitor for Foundry Local β€” detects model load/unload events from any app using Foundry Local, regardless of language or SDK.

⚠️ Windows only. This tool uses WPF and the Windows Notification Area. It cannot run on macOS or Linux.

Package

Package NuGet Downloads Description
ElBruno.FoundryLocalMonitor NuGet Downloads Windows systray monitor for Foundry Local

Features

  • πŸ”” Toast notifications when models load/unload (Windows 10/11 Action Center)
  • πŸ“Š Compact mini status window (always-on-top)
  • πŸ–₯️ Full dashboard: status, loaded models, available models
  • βš™οΈ Systray icon with context menu
  • πŸ” Automatic multi-app discovery β€” detects Foundry Local running in C#, Python, Node.js, Aspire, or any other context without manual configuration

How Discovery Works

The monitor does not rely on the foundry CLI alone. It runs a parallel HTTP port scan across all active localhost listeners and identifies any endpoint serving the Foundry OpenAI-compatible API:

All 127.0.0.1 listeners  β†’  parallel GET /v1/models  β†’  merge model lists
      (kernel call, ~1ms)       (800ms timeout each)      (union by ModelId)

This means the monitor detects:

  • Models loaded via foundry model load (CLI path)
  • Models loaded via the C# FoundryLocalManager SDK (port 55588 by default)
  • Models loaded via the Python foundry-local-sdk (port 55589 by default)
  • Models exposed through .NET Aspire proxy ports
  • Any other app on any dynamic port that serves /v1/models

β†’ Full details: docs/discovery.md

Install

dotnet tool install -g ElBruno.FoundryLocalMonitor
foundrylocalmon

Requirements

Samples

Sample Language SDK path Description
samples/FoundryLocalChat C# SDK internal server (55588) Automated E2E demo with SDK
samples/FoundryLocalChatPy Python SDK internal server (55589) Same demo in Python

Both samples run together in the multi-client E2E test to verify the monitor detects events from two simultaneous apps.

E2E Testing

# Single-client test (C# only)
cd tests/e2e
.\Run-E2ETest.ps1 -LaunchMonitor

# Multi-client test (C# + Python simultaneously)
.\Run-E2EMultiClient.ps1 -LaunchMonitor

See tests/e2e/README.md for full test documentation.

Build from source

dotnet restore
dotnet build
dotnet test

Publishing

GitHub Release or manual workflow_dispatch triggers publish. The workflow requires the release environment and the NUGET_USER secret, and uses OIDC Trusted Publishing (NUGET_API_KEY is not used).

License

MIT

πŸ‘‹ About the Author

Made with ❀️ by Bruno Capuano.

πŸ™ Acknowledgments

Changes from Previous Version

No structural changes between v0.5.22 and v0.5.23.

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

No target framework metadata is available. Confirm compatibility in a representative project before standardising on this package.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.