A sleek, native Windows desktop application built with WinUI 3 and .NET 8 that provides a unified interface for interacting with Google Gemini, OpenAI, and Anthropic Claude.
- Multi-Provider Support: Seamlessly switch between Google Gemini, OpenAI (GPT-4o, o1), and Anthropic Claude (Claude 3.7, 3.5 Sonnet & Haiku).
- Real-Time Token Streaming: Token-by-token streaming response rendering powered by asynchronous enumerables (
IAsyncEnumerable<string>). - Clean MVVM Architecture: Built with
CommunityToolkit.Mvvmseparating UI views from business logic and LLM provider implementations. - Local SQLite History: Chat sessions and messages are stored locally at
%LOCALAPPDATA%\MultiAI\history.db. - Automatic Smart Titling: Automatically summarizes new conversations into clean 3-5 word titles using fast background requests.
- Secure Key Vault: API keys are securely stored in the Windows Credential Manager (
PasswordVault). - Markdown & Code Highlighting: Rich markdown text rendering with full code block support.
- Automated Unit Testing & CI: Includes xUnit test suite (
MultiAI.Tests) and GitHub Actions build verification.
To start using MultiAI with your desired providers:
- Open Settings from the sidebar navigation menu.
- Enter your API key in the respective section:
- Google Gemini: Obtain from Google AI Studio.
- OpenAI: Obtain from OpenAI Developer Portal.
- Anthropic: Obtain from Anthropic Console.
- Click Validate Key to test connection, then click Save Key. Your keys are encrypted and stored in Windows Credential Locker.
- UI Framework: WinUI 3 (Windows App SDK)
- Runtime: .NET 8.0 (
net8.0-windows10.0.19041.0) - MVVM:
CommunityToolkit.Mvvm8.2 - Database: SQLite (
sqlite-net-pcl) - OpenAI SDK:
OpenAI2.1 - Testing: xUnit 2.7
- Windows 10 (version 1809 or higher) or Windows 11
- .NET 8.0 SDK
- Visual Studio 2022 (with .NET Desktop Development and Windows App SDK workloads)
# Restore dependencies
dotnet restore MultiAI.slnx
# Build the solution (x64)
dotnet build MultiAI.slnx -p:Platform=x64
# Run unit tests
dotnet test MultiAI.Tests/MultiAI.Tests.csproj -p:Platform=x64MIT License