Observed since 20 Oct, 16:12 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Agent memory your AI can finally keep. Visible. Correctable. Portable. Shared.
Agent memory your AI can finally keep.
Visible. Correctable. Portable. Shared.
Built by 8mem for people who want AI memory they can inspect, correct, and carry across agents.
8mem source code is licensed under the Apache License, Version 2.0. The 8mem name, logo, and brand assets are 8mem brand identifiers; the license does not grant permission to misrepresent ownership, impersonate 8mem, or use the 8mem brand in a misleading way.
8mem is a browser + Telegram personal memory system that remembers how you like replies, shows what it is using, and lets you correct it when it gets something wrong.
It is built for a simple but painful reality: every AI starts from scratch, and people repeat the same context, tone, preferences, and corrections every day.
8mem fixes that with a lightweight local stack:
sqlite-vec semantic retrievalWorks today with:
This is the fastest way to try 8mem locally. No cloud API key is required.
Today, the real supported runtime path is Ollama local.
Recommended public install:
curl -fsSL https://8mem.com/install.sh | bash
This script contains no secrets and does not require GitHub authentication. It downloads a pinned 8mem wheel from https://8mem.com/app/install/, verifies its SHA256 checksum, installs it into a local virtual environment, runs setup, then runs 8mem doctor.
If you already use pipx, the manual package path is:
pipx install 8mem
Then run setup:
8mem setup --llm-model <your-installed-ollama-model>
8mem doctor
If you do not use pipx, plain pip also works inside your own virtual environment:
pip install 8mem
Privacy model: 8mem is local-first. Runtime config is written under ~/.8mem, user memory stays on the user's machine by default, and Telegram/OpenClaw/Hermes tokens are supplied locally by the user during setup.
curl -fsSL https://8mem.com/install.sh | bash
If Ollama is not installed yet, install it from ollama.com.
ollama serve
In another terminal:
ollama pull <your-installed-ollama-model>
Example small model:
ollama pull qwen3:1.7b
8mem setup --llm-model <your-installed-ollama-model>
8mem doctor
8mem setup writes local runtime config under ~/.8mem/.env, creates memory templates, and avoids manual file editing. During setup, users can set up Telegram now, skip Telegram and use the local UI first, or run setup later when they have a BotFather token and public URL. 8mem doctor verifies runtime files, Telegram config/webhook if present, local model access, and /v1/context readiness.
8mem's truth path does not depend on vector search. Markdown remains user-readable memory, SQLite facts remain active truth, JSONL remains audit truth, and Engram remains runtime export.
For larger memory sets, imports, and better related-memory recall, install the optional semantic layer:
pip install "8mem[semantic]"
When installed, sqlite-vec is used as a local retrieval helper. If it is missing, 8mem keeps working through exact SQLite/Markdown memory.
For Type 1 OpenClaw users, this command is also available if you installed non-interactively or want to re-apply the managed OpenClaw block:
8mem setup --mode openclaw
This reads the OpenClaw workspace from openclaw.json when available, appends managed 8mem blocks to OpenClaw AGENTS.md and HEARTBEAT.md, patches openclaw.json so Telegram inline buttons are enabled, and restarts openclaw-gateway when systemd is available.
For a remote primary 8mem runtime, pass the API URL and bearer key:
8mem setup --mode openclaw \
--eightmem-api-url http://your-8mem-host:8787 \
--eightmem-api-key your-remote-8mem-key
The setup does not hardcode your bearer key into OpenClaw files. The connected OpenClaw agent reads EIGHTMEM_OPENCLAW_API_KEY from ~/.8mem/.env for remote primary memory, or EIGHTMEM_LOCAL_API_KEY for single-machine local installs.
To undo the OpenClaw wiring:
8mem uninstall --mode openclaw
8mem test-ollama --model <your-installed-ollama-model> --no-memory
8mem analyze examples/chat_export_sample.json
8mem ask-ollama "What do you know about how I like responses?" --model <your-installed-ollama-model>
8mem start
8mem status
Then open:
http://127.0.0.1:8787http://127.0.0.1:8787/chatUse 8mem stop to stop the background server. Use 8mem start --foreground for foreground debugging.
To stop 8mem and remove the installed Python package:
8mem stop
pipx uninstall 8mem
If you installed with plain pip instead of pipx:
pip uninstall 8mem
8mem keeps ~/.8mem by default so your local memory is not deleted accidentally. To permanently delete local 8mem memory and runtime config:
rm -rf ~/.8mem
If you connected OpenClaw, remove only the 8mem-managed OpenClaw integration:
8mem uninstall --mode openclaw
This does not uninstall OpenClaw itself.
If you installed 8mem as a user systemd service, update with:
git pull
bash ./install.sh
systemctl --user restart 8mem.service
8mem status
Without systemd, update with:
git pull
bash ./install.sh
8mem stop
8mem start
8mem status
If you want the full Telegram-style product flow, keep reading below.
Most AI memory products have the same problem:
8mem is designed around the opposite principles:
You talk normally in Telegram. 8mem picks up what matters, stores it, and uses it later.
Example:
You: Keep my work replies concise
8mem: I'll keep my work replies concise.
Saved to memory: Keep my work replies concise.
You: Don't use emojis in client messages
8mem: I won't use emojis in client messages.
Saved to memory: Don't use emojis in client messages.
You: Reply like me: can we move tomorrow's meeting
8mem: Can we move tomorrow's meeting? Share a time that works for you.
You can also ask:
What do you remember about me?What are you using right now?What changed about me?Show me the normal version vs mineThe clearest artifact in 8mem is /passport: a visible summary of the memory it is actively using for you.
/passportShows the memory 8mem is actively using for you.
/compareShows a standard answer next to a memory-shaped answer so you can see whether memory is actually improving output.
What changed about me?Shows recent memory changes in a human-readable way.
These three surfaces make memory visible instead of hidden.
Markdown for human-readable memoryJSONL for append-only event historySQLite for structured facts and mirrored eventssqlite-vec for local semantic searchRemember:Correct:What do you remember about me?What are you using right now?/passportWhat changed about me?8mem forget <text> to remove a saved memory with confirmationReply like me: ...Draft: .../compare .../passport shows the memory 8mem is actively using: profile, useful facts, recent corrections, and trust checks. It is meant to make memory visible instead of hidden inside a black-box assistant.
/compare <task> shows a generic answer next to a memory-shaped answer. Use it when you want to prove that saved preferences and corrections are actually changing output.
/start, help, and what can you doShort flow:
User
-> Telegram
-> ui/app.py webhook
-> telegram_service
-> exact / fuzzy / LLM intent router
-> memory_service
-> Markdown + JSONL + SQLite + optional sqlite-vec
-> response assembly
-> ui/app.py sender
-> Telegram
-> User
| Layer | Component | Responsibility |
|---|---|---|
| Interface | Telegram + web UI | Receive input, present output |
| Routing | telegram_service.py | Intent routing, UX shaping |
| Memory logic | memory_service.py | Normalization, recall, compare, trust logic |
| Storage | Markdown + JSONL + SQLite | Readable memory, event history, structured facts |
| Retrieval | optional sqlite-vec | Semantic memory lookup when installed |
| Ingestion | ingestion.py + import_cache.py | Chunking, candidate fact extraction, apply-to-memory flow |
pipx install 8mem
If you prefer pip:
pip install 8mem
For the supported local setup, run:
8mem setup --llm-model <your-installed-ollama-model>
8mem doctor
Source installs are for contributors with repository access. Public users should use the package path above.
8mem setup --llm-model <your-installed-ollama-model>
8mem doctor
8mem test-ollama --model <your-installed-ollama-model> --no-memory
8mem analyze examples/chat_export_sample.json
8mem ask-ollama "What do you know about how I like responses?" --model <your-installed-ollama-model>
8mem start
8mem status
Open:
http://127.0.0.1:8787http://127.0.0.1:8787/chat8mem analyze examples/chat_export_sample.json
8mem mirror
8mem export-context -o context.txt
Keep my work replies concise
Don't use emojis in client messages
What do you remember about me?
What are you using right now?
Compare the normal version with mine: answer this client: Can we move the meeting to Friday?
Reply like me: can we move tomorrow's meeting
What changed about me?
Core commands:
Remember: keep answers conciseCorrect: do not use emojisWhat do you know about meDraft: write a founder update in my stylereset memoryundo last memory changeProfile and comparison:
/passport/compare Draft: write a founder update in my style/compare Draft: recommend a laptop in my style/compare Reply: answer this client in my style: <paste client message>/compare Summarize: summarize this update in my styleStored in ~/.8mem/memory/:
IDENTITY.mdBELIEFS.mdPREFERENCES.mdCORRECTIONS.mdEVOLUTION.mdDECISIONS.md.memory_events.jsonlMarkdown files remain the readable source of truth.
src/eightmem/
cli/
core/
analyzers/
importers/
mirror/
services/
ui/
examples/
tests/
docs/
Dashboard
Memory editor
Telegram demo
81 tests passing in the latest verified product passThe core loop now includes:
Readable memory Every memory is a file you can open and verify.
Visible trust You can see what 8mem knows, what it is using, and what changed.
Portable memory Memory is not trapped in one black-box product.
Lightweight architecture No heavy graph stack required to get useful memory behavior.
Near-term:
/passport sharing storyLonger-term:
PRs are welcome. Keep changes:
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.11 | 7 Jun 2026 | 10 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 16:12 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:c63b2f8dcf64b9f00678b76b2b28be3ab63cfbfb3733ed7862c503e153b6b3f2