Research / Build Log

ANNIE: A Local Reasoning Assistant Interface

My first AI harness, now preserved as an archival proof of concept connecting a local model to memory, search, files, images, voice, and early code-review tools.

Published on . Updated on .

Local AI Reasoning UI Memory

Focus

A practical interface for local reasoning models, routing, vision tools, and long-running assistant workflows.

System Type

Personal AI infrastructure with local models, voice, file handling, and source-aware responses.

Annie is a fully-local reasoning assistant that runs multiple large-language models on your own hardware. Her router picks magistral:24b for heavy logic or qwen3:14b for lighter chat, so every prompt is answered by the best tool available. We use a lightweight router "llama3" to be able to automatically choose between models in an "auto" function built in, to better meet the prompt needs.

Beyond text, Annie sees, speaks and listens. with A AI powered VisionEngine using "LLAVA" and "TESSERACT" Ocr lets her caption screenshots. She also veiw files with built in python libraries, diagrams or error logs you drop into the chat are seen like any other Interface for models like Open-Ais Gpt UI, while a built-in VoiceEngine handles both TTS and wake-word dictation. The Tkinter UI streams replies token-by-token, complete with syntax- highlighted code blocks and an expandable “Reasoning” pane, that allows you to see Annies real time Thought to proccess the prompt.

Under the hood Annie maintains long-term memory with a embedding model, and a FAISS powered vector system. Fuzzy-corrects slang, indexes your project code for inline retrieval and—only when needed— fetches live results through Google or DuckDuckGo. This workflow lets her cite your own source files, weave recent web context, and respond in natural language or executable code without ever leaving your machine.

Archive Update

ANNIE was my first AI project, originally built in June and July 2025. The public repository is an archival release of that original work. It has been cleaned for safe publication, but it has not been redesigned or modernized.

Why I Am Sharing the Repository Now

I did not include a repository link when this post first went live. ANNIE was still an active local working project, and the original folder contained private runtime material that did not belong on GitHub. That included credentials, conversation databases, learned data, personal voice recordings, downloaded models, generated files, and a bundled Windows Tesseract installation.

Since then, I have continued building the ANNIE line and started work on newer, more capable harnesses. That progress made this original version redundant as an active platform, but valuable as a proof of concept. It can now be published honestly as the first working ANNIE architecture instead of being presented as the current direction of the project.

What the Archive Contains

The repository preserves the original local harness and the main experiments that surrounded it.

  • A simple command-line chat loop backed by Ollama.
  • A Tkinter desktop chat interface.
  • SQLite, full-text search, sentence-transformer embeddings, and FAISS conversation memory.
  • DuckDuckGo search with optional Google Custom Search.
  • File extraction, OCR, and Ollama-based image analysis.
  • Local speech recognition and Coqui YourTTS speech output.
  • Experimental patch-building and sandbox-runner utilities.

The patch and sandbox utilities are standalone experiments. They are included as part of the original project, but they are not wired into the main chat loop. The sandbox runner also reflects its unfinished state. It expects GNU patch, pytest, and editable-package metadata that this archive does not include.

What Stayed Local

The public repository does not include API credentials, environment files, conversation databases, correction caches, learned vocabulary, personal voice-reference recordings, downloaded Hugging Face or Ollama model weights, Python bytecode, generated files, or the bundled Tesseract installation. Those files remain local. The archive contains the authored source needed to understand and run the harness without publishing personal data or machine-specific runtime material.

Original Environment and Setup

ANNIE was built on Windows with Python 3.10 and 3.11, a local Ollama server, and an NVIDIA GPU. The command-line path is lighter. The desktop path loads the memory, vision, search, and voice modules and may require substantial model downloads with compatible CUDA and audio drivers.

The historical model names remain in the source. At minimum, the command-line chat expects the Ollama tag llama3 unless another model is passed directly. The basic setup runs python -m pip install -r requirements.txt, copies .env.example to .env, pulls llama3 through Ollama, and starts the harness with python main.py. The desktop interface runs with python -m ui.app from the repository root.

Google Custom Search, the standalone ChatGPT adapter, personal voice references, OCR, and custom model directories remain optional integrations. The README documents the environment variables and local dependencies for each path.

Scope of the Archive

This is an early experimental harness, not a production agent framework. Some optional branches depend on the original local model setup, and some remain incomplete. The repository is public to preserve and show the first ANNIE architecture as it existed without pretending it was more finished than it was.

GitHub Repository

TheSuperDenis/ANNIE on GitHub

Back to Research