All case studiesPersonal Project

Vector Companion

AI desktop assistant whose models, memory, and orchestration run on one machine, with optional internet access for live web research.

The challenge

Most AI assistants are either cloud-dependent (sending every word you type to a remote server) or technically limited (static chat wrappers around a single model). The goal: build an always-on desktop companion whose models and memory run locally. No cloud model API keys or per-token model fees. Conversation history and memory remain local; research queries access external websites only when web research is invoked.

The scope evolved from a simple voice chatbot into a full-featured AI platform with live web research, background task delegation, multiple agent personalities, and persistent memory with vector search.

What was built

A desktop application with a Python backend (API server, agent orchestration) and a React frontend. The application runs its AI models, orchestration, conversations, and persistent memory locally. Optional research tools connect to external search and web sources.

Web research

Agents search the web via DuckDuckGo, fetch full article content, and synthesize findings in real-time. The research workflow requires agents to retrieve and cite source material before synthesizing an answer, reducing unsupported claims.

Axiom agent responding to stock market query with web research tool call indicators
Axiom researching stock market information — web search results and full article content fetched in real-time

Background task delegation

Research-intensive queries spawn background workers that run asynchronously. The primary agent continues conversing while the delegated worker searches, fetches, and synthesizes independently.

Axis spawning background worker via delegate_task tool
Axis spawning an async research task — the main conversation continues while background work runs

Multi-agent system with full control

Six switchable agent personalities, ten operational modes (analysis, memory, training, silence), and hot-switchable model backends between Ollama and llama.cpp — all adjustable mid-conversation without restarting.

Sigma in Analysis mode with expanded sidebar showing Modes, Models, Prompts, Memory, Tool Permissions panels
Sigma in Analysis mode — 12 collapsible sidebar panels give full control over modes, models, prompts, memory, and tool permissions

Tool use with guardrails

Tool calls pass through execution guardrails including validation, approvals, timeouts, output limits, and audit logging. Higher-risk operations run in separate subprocesses.

Persistent memory

The system remembers context across sessions — conversations, facts, preferences — indexed with vector search so the agent can retrieve relevant information from past interactions without it fitting in a single context window.

Outcome

A complete local-inference desktop application with no cloud model API dependency. Models, memory, and orchestration run on one machine; optional web research accesses external sources. Conversation history and memory remain local; research queries access external websites only when web research is invoked.

PythonFastAPIPyTorchTauriReactOllamaChromaDBSQLite