IC InControl
Open source

Ollama. On your terms.

Chat on this PC by default. Connect a GPU you rented over SSH when you want one. The app names that machine while prompts leave this PC.

Install

Microsoft Store → InControl-Desktop

Build

git clone … && dotnet restore && dotnet build

Run

dotnet run --project src/InControl.App

Features

Local AI chat that respects your privacy.

This PC first

Prompts stay here until you connect a rental. No account and no telemetry.

SSH, not a public port

The rental runs Ollama on 127.0.0.1. InControl opens an SSH local forward. It does not publish port 11434.

Native Windows

WinUI 3 with Fluent Design. Looks and feels like a real Windows app, not an Electron wrapper.

Ollama

One HTTP API, on this PC or at the near end of the tunnel. The tool-URL allowlist is a different screen.

Projects and notes

File sessions under projects with their own instructions. Notes you ask it to remember come along with the next message that matches them.

Voice on this PC

Kokoro reads replies aloud on this PC. The voice model downloads once, the first time voice is needed.

Web search, when you want it

Turn on Web and a model that can use tools searches DuckDuckGo and reads public pages. Each reply lists its searches.

Attach files

Add text and code files to a message, or images for a vision model. Use the paperclip or drop files on the composer.

NuGet libraries

Core and Inference packages available on NuGet for building your own local AI integrations.

Installation

Microsoft Store

# Search the Store for InControl-Desktop, or open
# https://apps.microsoft.com/detail/9N1FG39JWF83
# Windows 10 version 2004 or later, x64.
# The package carries its own .NET and Windows App SDK.

# Then install Ollama on this PC
# https://ollama.com/download
ollama pull llama3.2

From Source

git clone https://github.com/mcp-tool-shop-org/incontrol.git
cd incontrol
dotnet restore
dotnet build

# Run (Ollama on this PC)
dotnet run --project src/InControl.App

NuGet Packages

Add packages

dotnet add package InControl.Core
dotnet add package InControl.Inference

Use in your app

// Stream chat with a local LLM
var client = inferenceClientFactory.GetClient();
var request = ChatRequest.Simple("llama3.2", "Hello");
await foreach (var token in client.StreamChatAsync(request))
{
    Console.Write(token);
}

Target Hardware

Component
Minimum
Recommended
GPU
RTX 3060 (8GB)
RTX 4080/5080 (16GB)
RAM
16GB
32GB
OS
Windows 10 version 2004 (x64)
Windows 11
.NET
Bundled in the Store package
9.0 SDK to build from source

Architecture

Layer
Technology
UI Framework
WinUI 3 (Windows App SDK 1.6)
Architecture
MVVM with CommunityToolkit.Mvvm
LLM Integration
OllamaSharp, Microsoft.Extensions.AI
DI Container
Microsoft.Extensions.DependencyInjection
Configuration
Microsoft.Extensions.Configuration
Logging
Microsoft.Extensions.Logging + Serilog