explaingit

hammonda100/metacognitor

Analysis updated 2026-05-18

0PythonAudience · developerComplexity · 4/5Setup · moderate

TLDR

An AI chat system whose memory and personality evolve over time based on conversation history, using vector based memory clusters and a dynamic personality model.

Mindmap

mindmap
  root((Metacognitor))
    What it does
      Persistent memory
      Evolving personality
      Chat responses
    Tech stack
      Python
      FastAPI
      SQLite
      WebSocket
    Use cases
      Adaptive chatbot
      Memory experiments
      Personal assistant
    Audience
      Developers
      Researchers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a chatbot that remembers past conversations and adapts its personality over time.

USE CASE 2

Experiment with vector based memory clustering for conversational AI.

USE CASE 3

Run a personal AI assistant whose personality evolves based on how you talk to it.

What is it built with?

PythonFastAPISQLiteWebSocket

How does it compare?

hammonda100/metacognitor0xhassaan/nn-from-scratch3ks/embedoc
Stars00
LanguagePythonPythonPython
Last pushed2023-06-08
MaintenanceDormant
Setup difficultymoderatemoderatehard
Complexity4/54/51/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires an API key for OpenAI, Anthropic, Ollama, or a compatible service.

In plain English

Metacognitor (described in the README as "Continuous Learning Mind") is an AI chat system designed to change over time based on who talks to it. Unlike a standard chatbot that gives the same kind of response regardless of history, this system builds up a persistent memory of past interactions and uses that memory to shape future responses and its personality. The core idea is that every conversation produces what the README calls "residues," conceptual summaries embedded as vectors (numerical representations of meaning) and organized into clusters called "attractors." As you talk to it more, these clusters build into a cognitive landscape that influences how the system interprets new input. The system runs recursive "MindCycles" to generate and integrate new residues between responses, gradually reshaping the landscape with each exchange. The personality is dynamic. It uses the OCEAN model (Openness, Conscientiousness, Extraversion, Agreeableness, Neuroticism) plus five additional custom traits that shift based on the emotional tone and complexity of conversations. Positive input increases Agreeableness, and philosophical questions increase Openness. Five voice markers (formality, verbosity, humor, metaphor use, and question tendency) also evolve, and every request to the underlying language model uses a freshly generated system prompt reflecting the current personality state. All memory and personality data is stored in SQLite so state persists across restarts. The system supports OpenAI, Anthropic, Ollama, or any OpenAI compatible API via environment variables, so you can choose which language model actually generates the replies. It runs via a FastAPI web server with a real-time WebSocket chat interface or in terminal mode. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Help me set up Metacognitor with my own OpenAI or Anthropic API key.
Prompt 2
Explain how the residue and attractor memory system works in this project.
Prompt 3
Help me customize the OCEAN personality traits in Metacognitor.
Prompt 4
Show me how to connect Metacognitor to a local Ollama model instead of a cloud API.

Frequently asked questions

What is metacognitor?

An AI chat system whose memory and personality evolve over time based on conversation history, using vector based memory clusters and a dynamic personality model.

What language is metacognitor written in?

Mainly Python. The stack also includes Python, FastAPI, SQLite.

How hard is metacognitor to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is metacognitor for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.