Skip to content
PT
All projects
AI toolingRuns locally · Windows2026 – present

M.A.L.T.Y

An AI harness, and a helper with a face that lives on your desktop.

The repository is private while the project is in motion.

Roles
Coding · research · light · companion
API
OpenAI-compatible
Memory
Vault with hybrid search
Budget
12 GB GPU + 6 GB for the rest

M.A.L.T.Y stands for Multi-model Assistant, Learning, Technology, Yield. It is two things in one project: a harness that decides which model answers what, and a small character who lives on your desktop and mirrors what the harness is doing.

Everything runs on one machine. The GPU holds the model, a fixed memory budget covers everything else, and online models are optional extras you switch on with an API key or a ChatGPT sign-in.

The harness

Clients

  1. VS Code

    Continue + status bar

  2. Web UI

    orb, chat, memory graph

  3. Desktop companion

    Electron sprite

Gateway

  1. OpenAI-compatible API

    model@effort per request

  2. Model router

    four roles

  3. Ollama or online model

    local first

Memory

  1. Vault of notes

    Obsidian style

  2. Hybrid search

    plus link-graph expansion

  3. Research agent

    cited, saved back

What it does

The parts worth talking about

One endpoint, many models

An OpenAI-compatible gateway with four roles and a model router. A client picks the model and effort per request (for example `helper-coding@high`), and the router can fall back to the local model when an online one is unavailable.

Memory that grows

Long-term memory is a vault of linked notes with hybrid search, link-graph expansion, write-back of what was learned and a lint pass to keep it tidy.

A research agent

Searches the web, reads pages through a safe extractor, answers with citations and can save the result straight into the vault.

Built to stay inside the machine

A Windows job object caps memory, a resource monitor watches the GPU and Ollama, and a `doctor` command says what is missing on a new PC. Setup is scripted end to end.

In the editor

Continue handles chat, edits and autocomplete against the harness, and a small VS Code extension I wrote puts a live status in the status bar: writing code, thinking, reading, searching, listening.

A companion with a state machine

The desktop sprite reacts to the harness: thinking, coding, reading. Left alone she wanders, sits, naps and climbs walls; she dances in headphones when music plays. Click her or press Ctrl+Alt+Space to talk.

Stack

Built with

  • Python
  • FastAPI
  • Ollama
  • fastembed
  • WebSockets
  • Electron
  • JavaScript
  • VS Code extension
  • Continue
  • pytest