Analysis updated 2026-05-18
Build a chatbot that remembers past conversations and adapts its personality over time.
Experiment with vector based memory clustering for conversational AI.
Run a personal AI assistant whose personality evolves based on how you talk to it.
| hammonda100/metacognitor | 0xhassaan/nn-from-scratch | 3ks/embedoc | |
|---|---|---|---|
| Stars | 0 | 0 | — |
| Language | Python | Python | Python |
| Last pushed | — | — | 2023-06-08 |
| Maintenance | — | — | Dormant |
| Setup difficulty | moderate | moderate | hard |
| Complexity | 4/5 | 4/5 | 1/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires an API key for OpenAI, Anthropic, Ollama, or a compatible service.
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.
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.
Mainly Python. The stack also includes Python, FastAPI, SQLite.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.