taOSmd
taOSmd is a framework-agnostic AI memory system that provides provable, auditable memory with a zero-loss append-only archive and a verifier that checks extracted facts against their source. It solves the problem of unreliable memory in AI agents by never overwriting data and filtering out unsupported facts. It is for developers running agents on modest hardware, offline or air-gapped environments, or distributed across small machines.
✨ Key features
- Zero-loss append-only archive that is never edited or deleted.
- Verifier checks each fact against source, reports unsupported share.
- 97.0% Recall@5 on LongMemEval-S benchmark.
- Runs offline on 8GB+ RAM, no cloud dependencies or API keys.
- Framework-agnostic, integrates with agents via rules block.
- Per-agent isolation with agent tags, multi-agent support.
🎯 Use cases
- Persistent memory for AI coding agents like Claude Code.
- Archiving conversation turns for audit and recall.
- Building knowledge graphs from conversations with temporal validity.
- Running memory on edge devices like Raspberry Pi or Orange Pi.
- Air-gapped or offline agent deployments.
📦 Installation
🧰 Requirements: Python 3.10+, 8GB+ RAM, optional NPU/GPU; no API keys or cloud dependencies.
curl -fsSL https://raw.githubusercontent.com/jaylfc/taosmd/master/scripts/setup.sh | bashpip install taosmd # or pip install "taosmd[mcp]" for MCP servergit clone https://github.com/jaylfc/taosmd.git
cd taosmd
pip install -e .hf download onnx-models/all-MiniLM-L6-v2-onnx --local-dir models/minilm-onnxcurl -fsSL https://ollama.com/install.sh | sh
ollama pull qwen3:4b🚀 Usage
import os
from taosmd import KnowledgeGraph, Archive, VectorMemory
# Initialize components
kg = KnowledgeGraph(os.path.expanduser("~/.taosmd/knowledge-graph.db"))
await kg.init()
await kg.add_triple("User", "prefers", "local models")
archive = Archive(archive_dir=os.path.expanduser("~/.taosmd/archive"), index_path=os.path.expanduser("~/.taosmd/archive-index.db"))
await archive.init()
await archive.record("conversation", {"role": "user", "content": "message"}, summary="message"[:80])
vmem = VectorMemory(os.path.expanduser("~/.taosmd/vector-memory.db"), embed_mode="onnx", onnx_path="<taosmd-dir>/models/minilm-onnx")
await vmem.init()
results = await vmem.search("What did I say about Docker?", hybrid=True, fusion="mem0_additive")
⚠️ Good to know
The end-to-end Judge metric is lower (43-51% on shipped config) and was previously inflated by a bug; the project is part of the taOS ecosystem and is still being validated across clean machines.
❓ FAQ
What is Recall@5 and how does taOSmd achieve 97.0%?
Recall@5 is a retrieval metric measuring if the correct evidence session appears in the top-5 retrieved. taOSmd achieves 97.0% on LongMemEval-S, measured on a low-end Orange Pi 5 Plus, using a zero-loss archive and verifier.
Does taOSmd require cloud services or API keys?
No. It runs fully offline with zero cloud dependencies and zero API keys, using local models like Qwen3-4B via Ollama.
How does taOSmd ensure memory is provable and auditable?
It stores all data in an append-only archive that is never overwritten, and every extracted fact is verified against its source text. Unsupported facts are excluded from recall, and the source remains available for audit.
Can I use taOSmd with multiple agents?
Yes. It supports multiple agents with per-agent isolation enforced by an 'agent' tag on every row, not separate files. Each agent can have its own isolated index.
📊 Repository
🤖 Overview, features, install steps and FAQ were generated from the project's README on Sep 4, 2026. Always check the original source before running commands.