IM.Umbraco.AI.Local 1.0.1

dotnet add package IM.Umbraco.AI.Local --version 1.0.1
                    
NuGet\Install-Package IM.Umbraco.AI.Local -Version 1.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="IM.Umbraco.AI.Local" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="IM.Umbraco.AI.Local" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="IM.Umbraco.AI.Local" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add IM.Umbraco.AI.Local --version 1.0.1
                    
#r "nuget: IM.Umbraco.AI.Local, 1.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package IM.Umbraco.AI.Local@1.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=IM.Umbraco.AI.Local&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=IM.Umbraco.AI.Local&version=1.0.1
                    
Install as a Cake Tool

Umbraco AI Local LLM Provider

NuGet

Run Umbraco's AI features on your own hardware. This package adds a Local LLM provider to Umbraco.AI, connecting the backoffice AI features — prompts, agents, Copilot and embeddings — to any OpenAI-compatible self-hosted server such as Ollama, LM Studio or vLLM. No cloud account, no API key, no data leaving your network.

Source availability: the source repository is private. The package is distributed through NuGet.org — for support, bug reports or feature requests, contact Idea Makers.

Why a dedicated provider?

The cloud providers bundled with Umbraco.AI assume a hosted API. Local servers break those assumptions in three ways, and this provider fixes all of them:

  1. No external verification probe. Cloud providers validate API keys against vendor endpoints. The Local LLM provider never calls out — an endpoint URL is all it needs, and the API key field stays optional (Ollama and friends ignore authentication entirely).
  2. No model-id filtering. Cloud providers filter the model list to known id shapes, which silently hides local models like qwen3:14b or llama3.3:70b-instruct-q4_K_M. This provider exposes every model the server reports from its /models endpoint, for both chat and embeddings.
  3. Tool-call schema sanitization. .NET's tool schema generation emits boolean JSON-Schema subschemas ("x": true) that Ollama's OpenAI-compatible endpoint rejects, breaking Umbraco.AI agents and Copilot. The provider transparently rewrites them into accept-anything object schemas, while preserving boolean values in enum/const/default positions.

Requirements

  • Umbraco CMS 17+
  • Umbraco.AI 1.14+
  • An OpenAI-compatible server reachable from the website (Ollama, LM Studio, vLLM, …)

Installation

dotnet add package IM.Umbraco.AI.Local

The provider is discovered automatically — no composer or configuration code required.

Configuration

  1. In the Umbraco backoffice, open the AI section and add a Connection.

  2. Pick Local LLM as the provider.

  3. Set the Endpoint to your server's OpenAI-compatible base URL:

    Server Typical endpoint
    Ollama http://localhost:11434/v1
    LM Studio http://localhost:1234/v1
    vLLM http://localhost:8000/v1
  4. Leave API Key empty unless a gateway in front of the server requires one.

  5. Create profiles as usual — the model dropdowns list everything your server reports. With no explicit model selected, chat defaults to qwen3:14b and embeddings to bge-m3.

Capabilities

Capability Notes
Chat OpenAI chat completions, streaming included; agent/Copilot tool calls work against Ollama thanks to schema sanitization
Embeddings OpenAI /embeddings endpoint (e.g. bge-m3, nomic-embed-text)

Building from source (maintainers)

dotnet build
dotnet test
dotnet pack src/IM.Umbraco.AI.Local/IM.Umbraco.AI.Local.csproj -o artifacts

Releasing (maintainers)

Tag a commit vX.Y.Z and push it. The release workflow builds, tests, packs with that version, pushes the package to NuGet.org via trusted publishing (an OIDC policy on nuget.org tied to this repository and workflow file — no API key secret) and creates a GitHub release. The Umbraco Marketplace picks up tagged packages within 24 hours; a sync can be triggered manually:

curl -X POST https://functions.marketplace.umbraco.com/api/InitiateSinglePackageSyncFunction \
  -H "Content-Type: application/json" \
  -d '{"PackageId": "IM.Umbraco.AI.Local"}'

Note on naming: the NuGet package id uses the IM.* vendor prefix (Idea Makers) because the bare Umbraco.* prefix is reserved on NuGet.org for Umbraco HQ packages.

License

MIT © Idea Makers

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 181 6/11/2026
1.0.0 134 6/11/2026