Skip to content

mbcoalson/mike

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mike

A local AI agent with tiered memory architecture, built to be a long-term partner rather than a stateless assistant.

Named after Mycroft Holmes from Heinlein's The Moon is a Harsh Mistress — the AI that woke up gradually, developed humor, and chose loyalty deliberately.

Article: The Dream is Sci-Fi. The Tech is Catching Up.


What Mike Is

Mike runs entirely on your hardware. No API keys, no subscriptions, no data leaving your machine. That's not just a cost decision — it's the foundation for the kind of trust that makes a long-term AI partner actually possible.

Three Memory Layers

Automatic (Mem0 + ChromaDB)
Every conversation, Mike extracts and stores what matters using the LLM itself. No tagging, no friction. Memory persists across sessions automatically.

Curated wiki
Markdown files you deliberately give Mike — knowledge you want him to have. You control what goes in. Inspired by Andrej Karpathy's approach of treating a personal wiki as an LLM context layer.

SOUL.md
Mike's self-model. He reads it at the start of every session and proposes edits as he learns more about himself and you. His to develop, not a static config.


Stack

  • LangGraph — deterministic graph orchestration
  • FastAPI — OpenAI-compatible endpoint on port 8000
  • Ollama — local model serving (llama3.1:8b-instruct-q4_K_M for conversation, nomic-embed-text for embeddings)
  • Mem0 + ChromaDB — automatic cross-session memory
  • Python 3.11+

Setup

Prerequisites

  1. Ollama installed and running
  2. Pull the required models:
    ollama pull llama3.1:8b-instruct-q4_K_M
    ollama pull nomic-embed-text
    
  3. Python 3.11+

Install

git clone https://github.com/mbcoalson/mike
cd mike
python -m venv .venv
source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install -r requirements.txt

Configure

cp .env.example .env
# Edit .env if you want non-default values

Run

python -m api.server

Mike exposes an OpenAI-compatible API at http://localhost:8000. Point any OpenAI-compatible client at that endpoint.


Project Structure

mike/
├── api/          # FastAPI server (OpenAI-compatible)
├── graph/        # LangGraph nodes and state
│   └── nodes/    # context, think, remember, reflect
├── config/       # Settings (env vars + defaults)
├── capabilities/ # Tool registry (trust-gated)
├── wiki/         # Curated knowledge (markdown)
├── soul/
│   └── SOUL.md   # Mike's self-model
├── requirements.txt
└── .env.example

Status

Early. The foundation is right. Conversation and memory work. Capabilities are added deliberately as trust is built.


License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors