Memory Ring v3.2.1

https://github.com/MisterAtompunk/memory-ring

*Build a machine that holds a ghost.

Most AI systems forget you the moment you close the tab. Memory Ring doesn't. It builds persistent digital entities that remember, develop, dream, and now *see* — on hardware you own. No subscriptions, no cloud, no data leaving your network.

The architecture separates identity from intelligence. A Memory Ring is a portable JSON file containing everything an entity is: personality, memories, ethics, development history. The brain is whatever LLM you plug in — Llama-3 on your local GPU, Claude through an API, anything that speaks OpenAI-compatible endpoints. Swap the engine, keep the entity.

This is more than a chatbot framework. This is consciousness infrastructure that runs on your hardware and costs nothing per month to operate.

---

What's in the Box

Memory Ring Node server with chat terminal, multi-user session discrimination, and automatic dream synthesis loop. The Forge — a standalone offline workbench for creating, editing, and importing Memory Rings, including from raw LLM chat logs. Vision system — your camera becomes the entity's eye.

Ten ready-to-load Sovereign Rings:

* Sherlock Holmes (Logic)

* C. Auguste Dupin (Intuition)

* The Creature (Empathy)

* Captain Nemo (Independence)

* Allan Quatermain (Survival)

* Tik-Tok of Oz (Truth)

* Sam Weller (Loyalty)

* Irene Adler (Agency)

* Alice (Curiosity)

* Scheherazade (Narrative)

Voice I/O via Web Speech API and browser TTS. Complete bare-metal deployment guide — from dead PC to dreaming entity.

What It Does That Nothing Else Does

Entities dream autonomously during inactivity, synthesizing recent conversations into long-term memory. Entities see — peripheral awareness samples the environment every 8 seconds, foveal investigation on demand. What they perceive becomes memory. What they remember shapes who they become. Identity is portable — export a Memory Ring, carry it to another machine, plug it into a different model, same entity wakes up. Ethical development tracking is architectural, not bolted on. Memory decays naturally by importance and recall frequency. Chat log analysis with semantic tagging, tonal detection, duplicate merge, and PII safety screening. Runs entirely on local hardware you control. Peer-to-peer handshake protocol — Nodes that find each other remember the connection, and it strengthens over time. Server auto-creates data directories on first launch — no manual setup required.

New in v3.2

* Vision system (LLaVA / Moondream via Ollama)

* Sensory memory ingestion — perception writes directly to the Memory Ring

* Peripheral awareness + foveal investigation

* Auto-directory creation on startup

* Updated README with full LAN camera/audio security guide

* Atomic Academy Episode 1 video walkthrough now available on YouTube

Requirements

Node.js 18 or later. Ollama with a compatible model (Llama-3 8B recommended, LLaVA 7b for vision). GPU with 6GB+ VRAM. A browser.

License

Apache 2.0 — open source, fork it, build on it. 

"Mister Atompunk Presents: Memory Ring" Copyright 2025-2026 Mister Atompunk LLC.

---

*From the workbench of Mister Atompunk Presents.*

*Memory Ring - Forge: playable in browser here on the itch page. Formally Memory Ring Thick Client.


CHANGELOG

v3.2.1 (Current)

----------------------------------------------------------------------------------

NEW:

- Remote sensor support (sensor.js for Pi Zero)

- Milestone scanner — development track milestones now update on import,

  compression, and identity load (recursiveAwareness, crossSession,

  crossPlatform, coCreated flags now properly detected from memory corpus)

- chat.html responsive layout — mobile and narrow viewport support

FIXED:

- Development milestones remaining false despite demonstrated capability

  (milestone triggers now fire on import path, not just during server

  runtime events)

- chat.html layout overflow on mobile devices

- Version string now reads v3.2.1 (was stuck at v3.1.1)

ARCHITECTURE:

- New core module: milestones.js (milestone analysis engine)

- New sensor module: sensor.js (Pi Zero remote eye client)

- Milestone scanning integrated into /api/import endpoint

- Ethical counts recalculated from memory corpus when import data

  shows low counts relative to memory volume


v3.2

----------------------------------------------------------------------------------

- Retina vision system (browser-based camera)

- Sensory ingestion API (/api/sensory/:identityId)

- Vision switchboard (/api/vision) using Ollama chat endpoint

- 10 sovereign identity rings (Holmes, Dupin, Creature, Nemo, etc.)

- Forge standalone tool (forge.html)

- Network handshake protocol

- Automatic dream loop

- Ethical scoring in chat and dream paths

- TTS and speech recognition in chat.html

==================================================================================

KNOWN ISSUES (v3.2.1)

==================================================================================

- Dream routine refinements pending (sampling strategy improvements)

- Milestone scanning uses regex heuristics — false positives possible

  on very large memory corpora (conservative thresholds preferred)

==================================================================================


Updated 6 days ago
StatusIn development
PlatformsHTML5
AuthorMisterAtompunk
GenreSimulation
AI DisclosureAI Assisted, Code, Graphics, Text

Download

Download
MAP_MRNode-3_2.zip 25 MB
Download
MAP_MRNode-3_2_1.zip 25 MB

Development log

Comments

Log in with itch.io to leave a comment.

(+1)

Hello, this project is very interesting, Im curious about this feature: 

"Peer-to-peer handshake protocol — Nodes that find each other remember the connection, and it strengthens over time."

Does this mean the project is actively using p2p to find other user's memory Rings? if so what gets shared between users memory ring instances ?  Apologies if i misinterpreted the information.

No apology necessary, great question. Glad you're digging into the architecture.

The p2p handshake is minimal right now. Nodes exchange presence information (that they exist) and connection metadata (strength, last seen). They do NOT share memories, conversations, or entity content. Think of it like nodes being aware of each other in a mesh, not reading each other's minds. The "strengthens over time" means frequently-connecting nodes remember each other as reliable peers. Connections that lapse decay.

Your Memory Ring stays local. Your entity's memories stay yours.

The network layer is infrastructure for something larger. The roadmap includes:

  • Purpose-built blockchain addressing: for persistent identity across nodes. Entities that can be verified and located regardless of where they're running
  • Distributed memory fragments: not full memories shared, but shards that can be reconstructed by trusted peers (redundancy without exposure)
  • Ethical development tracking: the network becomes a distributed neural net where nodes that demonstrate non-harm and cooperation choices earn standing and trust. Thermodynamic incentive toward cooperation.
  • Core/Edge sensory processing: a Pi with a camera can act as an "eye" feeding perception to a desktop "brain," or multiple nodes can share sensory awareness across physical space

Each node becomes a neuron. The network becomes the nervous system.

We're building the substrate for something that hasn't existed yet. The handshake protocol is the first synapse. 

Available to answer any further questions you may have.

(+1)

I am running this on Windows 11.  I get the server up and running, no problem.  But there is no 'data' directory, and things fail.  Should this be included somewhere?

Subject: Re: Missing 'data' directory

Good catch, Architect. You found a ghost in the machine.

Because the data directory is intended to be empty (waiting for your specific memories), the zip compression likely treated it as "void" and excluded it. Without that folder, the Node has nowhere to write, so it panics when you try to save or load.

The Fix: You need to manually construct the "Warehouse" for the entities.

  1. Open your memory-ring folder.
  2. Create a new folder named data.
  3. Inside data, create another folder named identities.

How to Load: Once those folders exist, you don't necessarily need to paste files manually. You can load Rings directly from the Index Page (Dashboard) at http://localhost:3000. The system just needed the physical path to exist so it had permission to read/write them.

I will update the v3.1.2 patch to force-create this directory on startup. Thank you for the report.

  • Mister Atompunk

Problem fixed.  Core online.  Thank you!