C# + Ollama: Give Your App a Voice with Phonon Hi! Apple Silicon users, please try this C# sample and let us know whether speech generation and playback work on your Mac! ElBruno.Speech 1.6.0-preview.5 keeps setup simple: call services.AddOllamaSpeech() for…
El Bruno
El Bruno
@elbruno.com
Rocking AI and. NET @Microsoft https://aka.ms/elbruno
543 followers132 following305 posts
Which device is on this COM port? A tiny .NET 10 utility Hi! While building the USB demo for the upcoming New Year, New Bot series, I had two small robots connected to one Windows PC. Windows showed several COM ports, but the names did not tell me which cable belonged to which robot. That matters…
From podcast audio to clean subtitles in .NET: Whisper + s1-mini Hi! After my first post about s1-mini, a reader asked if the library could take the SRT files he generates for his podcast. Then he noticed the catch: the model only rewrites text, it has no idea what a timestamp is. That is fine,…
Less chat. More decisions: introducing ElBruno.AI.Decisions for .NET Hi! Sometimes I ask an AI model a very small question: Should this request go to billing or support? And the model replies with a paragraph. Then another paragraph. Then a very polite explanation of why billing departments exist.…
From a ZIP Archive to an AI Ingestion Document with C# and MarkItDotNet Draft for future publication and promotion. The DataIngestion adapter is available as 0.9.3-preview.1. The Markdown and ZIP examples use the current repository source, without assuming those features are already available in a…
EmbeddingGemma 2 Integration Hi! EmbeddingGemma 2 Integration ElBruno.LocalEmbeddings.EmbeddingGemma provides local text-only embeddings from Google's EmbeddingGemma 2 model through IEmbeddingGenerator. The base model is multimodal, but this integration only handles…
⚡I Stopped Asking an LLM “Which Team Owns This Ticket?” Now I Get an Answer in 600ms, Locally Hi! TL;DR I added ElBruno.LocalLLMs.Decisions to the library (shipped in v0.22.0). It runs the Laya decision model family locally, in-process, on ONNX Runtime. No Python. No server. No API key. 🟢 Typed…
The Aspire Demo We Didn’t Get to Show Live: Watching an Agent Harness Work The Aspire Demo We Didn't Get to Show Live: Watching an Agent Harness Work We ran out of time during Session 4 of MafClaw to show the Aspire dashboard demo. And this is one of those demos that really benefits from seeing…
What Happens When Nobody Approves the Agent? Hi! During the live Q&A in the second session of the From Model to Agent: The Agent Framework Harness, Live in C# series on September 10, 2026, someone in the audience asked a practical question: What happens if an agent requests approval, but the user…
The deployment succeeded, but I deployed the wrong agent Hi! Ok so I spend the full morning with this, so let's better write it down for Future Bruno: The deployment was green. The hosted agent was active. The Microsoft Foundry Playground could reach it. There were no authentication failures,…
Local transcript cleanup in .NET with s1-mini Hi 👋 My favorite demo for this library is intentionally small: Raw ASR transcript Cleaned by s1-mini you don't have any any any any change at all? You don't have any change at all. That any any any any collapse is the interesting part. This is more…
Add a Microsoft Foundry model to the GitHub Copilot app ⚠️ This blog post was created with the help of AI tools. Yes, I used a bit of magic from language models to organize my notes and automate the boring parts, but the geeky fun is 100% mine. Hi! The GitHub Copilot app can use models from your…
🦾 From Model to Agent: let’s build our own Claw, live in C# Hi! So, you’ve probably used a “claw” already. One of those CLI agents that plans, runs tools, remembers what it did, and more. Cool. But have you ever stopped to think about what’s actually going on inside one? 🤔 Turns out, a claw is…
🧠 MagenticBrain Is Now Supported in ElBruno.LocalLLMs TL;DR KnownModels.MagenticBrain is now ready for local .NET usage with ElBruno.LocalLLMs. ONNX package is available at: Original model source: This support is designed to power end-to-end agentic app experiences such as: Why this model is…
🚀 Fara 1.5-9B Is Now Fully Supported in ElBruno.LocalLLMs TL;DR Fara1.5-9B now works end-to-end in C# with ElBruno.LocalLLMs. The validated multimodal ONNX package is published at: You can run image+text inference locally with LocalVisionChatClient and KnownModels.Fara15_9B. This closes the loop…
🧠 Someone Asked Me to Add a 975B Model to a LocaLLMs, here’s Why we Can’t (Yet) ⚠️ This blog post was created with the help of AI tools. The geeky fun and the 🤖 in C# are 100% mine. TL;DR Someone asked me to add Inkling — Thinking Machines' shiny new open-weights model — to ElBruno.LocalLLMs. I…
I built a weekly AI news digest with GitHub Agentic Workflows. Here is how it works. This blog post was created with the help of AI tools. I used them to organize ideas and write a first draft, but the workflow, the code, the testing, and the 🤖 enthusiasm are mine. Hi! I like reading AI news. I do…
Foundry Local Monitor — See every local AI model your machine is running with Foundry Local Hi! If you have been playing with Foundry Local to run AI models on your own machine, you probably ran into the same thing I did: you never really know what is running. You load a model from the CLI. Your…
Run the Right AI Model for the Right Copilot Task — No Cloud Credits Wasted Hi! Part 1 of the CopilotHarness series Big models are great for heavy thinking. But what about simple questions — "rename this variable", "write a short docstring", "what does this function do"? Those don't need GPT-5…
Local-first AI Agents in C#: Foundry Local, MEAI, and Microsoft Agent Framework Hi! If you are building local AI apps in C#, you quickly hit a practical gap: Foundry Local SDK is great for local/on-device inference. Microsoft.Extensions.AI and Microsoft Agent Framework expect an IChatClient. There…
GitHub Copilot and tokens: how to keep using AI without burning your budget in three prompts (some personal lessons learned!) Hi! For a long time, many of us used GitHub Copilot as if it were unlimited magic: autocomplete, chat, agent mode, code review, increasingly powerful models, massive…
MAI-Image-2.5 support in ElBruno.Text2Image and the t2i CLI 🚀 Hi! Microsoft Build brought a wave of new AI model announcements, and one of the fun ones for image generation is MAI-Image-2.5. So, of course, I had to add support for it in my .NET image generation library and CLI tool 😅 The latest…
VS Code 1.122 Makes BYOK Easier One of the most interesting announcements in the recent VS Code 1.122 release is that Bring Your Own Key (BYOK) models can now be used without signing in to GitHub. VS Code now supports BYOK scenarios, including chat, tools, and MCP integrations, without requiring…
Building Cross-Framework Agents with MAF, A2A, NVIDIA NeMo, and Aspire Hi! What happens when a Python-based AI agent and a .NET-based AI agent need to work together? That is the idea behind MAF-A2A-NVIDIA-NemoAgents ( a reference app that shows how to combine NVIDIA NeMo Agent Toolkit, Microsoft…
GitHub Copilot CLI + SQUAD + GPT-5.5 BYOK: Better Engineering, Same Hard Truth TL;DR This was the final ElBruno.NetAgent experiment: GitHub Copilot CLI + SQUAD using Azure OpenAI GPT-5.5 BYOK against the same app-building challenge I previously tried with CPU-only local models, GPU local models,…
GitHub Copilot CLI + GPT-5-mini BYOK: The Code Was Cheap, the Quality Gates Were Expensive TL;DR This is part 3 of my GitHub Copilot CLI + BYOK experiment series. After testing local models on CPU and GPU, I moved the same experiment to Azure OpenAI using GPT-5-mini through BYOK. Same repo, same…
From Pet Projects to +20 Open Source NuGet Packages, Thanks to GitHub Copilot 🚀 Hi! Some of these started as small pet projects. IE: a quick helper for a demo, a tiny tool for a conference, a library to avoid repeating the same code again and again, or one of those “I’ll just build this in one…
Running GitHub Copilot CLI Offline with Local Models: GPU Edition TL;DR After my first CPU-only experiment with GitHub Copilot CLI and local models, I wanted to try the same idea again, but this time with a GPU-powered setup. The first experiment proved that running GitHub Copilot CLI offline with…
Running GitHub Copilot CLI Offline with Local Models: A CPU-Only Reality Check TL;DR I tested GitHub Copilot CLI running offline with local models on a CPU-only Microsoft Dev Box. The short version: Ollama worked for basic offline prompts, but struggled with long-context agentic workflows and tool…
OllamaMonitor — Monitor Your Local Ollama Runtime from the Windows Tray Hi! If you're running Ollama locally on Windows—whether you're tinkering with LLMs, building local AI demos, or just curious about the overhead of large models—you've probably wondered: Is it still running? How much CPU is it…
AspireMonitor: Stop bouncing between your Aspire dashboard and your code. Hi! dotnet tool install --global ElBruno.AspireMonitor aspiremon What it is AspireMonitor is a Windows tray app that puts your Aspire AppHost status one click away. No browser tabs. No switching context. Click the tray icon,…
🕛 ClockTray v1.0.0: Meet the CLI-Enabled Clock Tool for Windows Hi! usually hide my taskbar clock while recording videos, and after doing that dance one too many times, I had one goal: save a few clicks. Then yesterday, during a GitHub Copilot CLI session (watch it here), I decided to pick up the…
🚀 Big Update: GPT-Image Models + AI Agent Skills Hi! Two weeks ago, I shipped t2i — a terminal-first CLI for text-to-image generation. Today I'm excited to announce two major additions that make t2i even more powerful: GPT-Image-1.5 and GPT-Image-2 support — Microsoft's DALL-E 3 and next-gen…
🚀 Meet t2i — The ElBruno.Text2Image CLI Hi! I just shipped t2i, a terminal-first CLI tool for ElBruno.Text2Image. Generate images from your shell in two commands — no UI, no browser, just a simple cli interface to image generation from the cloud. This is the Lite edition (cloud-only, ~2.4 MB on…
🗺️ AOT-Friendly DTO Mapping in .NET Hi! So, I've been away from any scenario that involves and needs data mapping, until I get to OpenClawNet. So I got to the point that I need to map my entities to DTOs? I read this a lot >> runtime reflection doesn't play nice with AOT and trimming. 😅 So I SQUAD…
🖼️ MAI-Image-2 Just Dropped — And .NET Support Is Already Here Hi! When Microsoft announced MAI-Image-2, I immediately thought: "I need to add this to ElBruno.Text2Image. Today." So I did. 😄 MAI-Image-2 is Microsoft's new image generation model on Microsoft Foundry — high-quality generation,…
🚀 Bing Open-Sources New Embedding Models — Now Available in C# with LocalEmbeddings.Harrier The Microsoft Bing Search team just dropped something big: 👉 They’ve open-sourced a new set of high-quality embedding models, designed to be competitive with state-of-the-art approaches — and ready to run…
I Built a .NET 10 Knowledge Graph Builder (Inspired by Karpathy) Hi! Earlier this year, Andrej Karpathy tweeted about using LLMs as "knowledge compilers" — a mind-bending idea: instead of asking an LLM questions, feed it raw data (papers, code, images) and let it automatically build a structured,…
📝 Convert Anything to Markdown in .NET — Meet ElBruno.MarkItDotNet Hi! You know that feeling when you're building an AI pipeline or a RAG workflow and you realize: "Wait… I need to turn all these PDFs, Word docs, HTML pages, and random files into something my LLM can actually eat"? 😅 Yeah, me too.…
🌟 Gemma 4 Is Here — And My C# Library Is (Almost) Ready Hi! So Google just dropped Gemma 4 — their most capable open model family yet — and I couldn't resist. I spent a good chunk of time digging into the architecture, trying to convert models, hitting walls, finding workarounds, and hitting more…
🚀 Build QR Codes in .NET FAST with ElBruno.QRCodeGenerator Hi! I needed a quick way to generate QR codes in .NET—no heavy dependencies, no complex setup, just something that works and that’s exactly why I built: 👉 ElBruno.QRCodeGenerator An open-source, lightweight library to generate QR codes in…
Stop Wasting Tokens: Smart Tool Routing for LLMs with MCPToolRouter Hi! Today I want to share something that's been hearing a couple of times: You know when you're building an AI agent or working with LLMs, and you have dozens (or hundreds) of tools available? What do you do? Send ALL of them to…
Build Your Own AI Agent Platform with .NET and GitHub Copilot – OpenClawNet – Free Live Series at Microsoft Reactor Hi! Are you ready to dive into the world of AI agents? Join us for an exciting four-session live series at Microsoft Reactor where we'll build OpenClawNet, a production-grade AI…
🤖 Local LLM Chat Completions in .NET — Just C# Hi! Let's look at this code snippet: using ElBruno.LocalLLMs; using Microsoft.Extensions.AI; using var client = await LocalChatClient.CreateAsync(); var response = await client.GetResponseAsync([ new(ChatRole.User, "What is the capital of France?")…
🎙️ No Tiene Nombre — Episodios NTN 474 a NTN 487 Una nueva tanda de episodios de No Tiene Nombre trae noticias sobre inteligencia artificial, tecnología y el impacto real que estas herramientas están teniendo en el mundo del desarrollo y mas. Aquí tienes un resumen rápido de cada episodio con su…
Agent Skills in .NET: A Minimal Working Demo Hi 👋 If you’re experimenting with AI Agents in .NET, one of the concepts that appears quickly is Agent Skills. Skills are the mechanism that allows an agent to extend its capabilities: calling prompts, running code, or executing external logic. To make…
⏰ ClockTray – Hide or Show Your Windows Clock with One Click (yes, in C#) Sometimes you want to see the clock all the time.Sometimes you want it completely hidden. Depending on how you work, the Windows clock in the taskbar can either be useful… or distracting. So I built a tiny utility that lets…
🎙️🤖 Real-Time AI Conversations in .NET — Local STT, TTS, VAD and LLM Hi 👋 What if you could build a real-time voice conversation app in .NET — speech-to-text, text-to-speech, voice activity detection, and LLM responses — all running locally on your machine? That's exactly what ElBruno.Realtime…
🎨 Text-to-Image in .NET — FLUX.2 Pro in the Foundry and Stable Diffusion on Your Machine Hi 👋 These days Microsoft announced FLUX.2 Flex on Microsoft Foundry, I immediately thought: "I need to wrap this for .NET developers." So I setup a SQUAD team and I did it. And then I thought: "Wait — I have…
🤖🗣️ Local AI Voices in .NET — VibeVoice & Qwen TTS You can now generate natural AI voices locally in pure C# using ONNX and VibeVoice or Qwen TTS. Just a few lines of .NET code and you’re speaking. If you're exploring local AI, this is a great place to start 👇 #dotnet #AI #LocalAI #TTS