[{"data":1,"prerenderedAt":239},["ShallowReactive",2],{"/open_source/home/architecture":3,"surround-/open_source/home/architecture":223},{"id":4,"title":5,"avatar":6,"banner":6,"body":7,"category":6,"desc":216,"description":158,"extension":217,"links":6,"meta":218,"navigation":6,"path":219,"seo":220,"stem":221,"__hash__":222},"docs/en/open_source/home/architecture.md","Architecture",null,{"type":8,"value":9,"toc":205},"minimark",[10,15,20,29,36,40,51,54,58,61,74,77,84,87,91,94,118,135,139,142,146,149,159,177,181,191],[11,12,14],"h2",{"id":13},"core-modules","Core Modules",[16,17,19],"h3",{"id":18},"mos-memory-operating-system","MOS (Memory Operating System)",[21,22,23,24,28],"p",{},"The orchestration layer of MemOS — it\nmanages predictive, asynchronous scheduling across multiple memory types (plaintext, activation, parametric) and orchestrates ",[25,26,27],"strong",{},"multi-user, multi-session"," memory workflows.",[21,30,31,32,35],{},"MOS connects memory containers (",[25,33,34],{},"MemCubes",") with LLMs via a unified API for adding, searching, updating, transferring, or rolling back memories. It also supports cross-model, cross-device interoperability through a unified Memory Interchange Protocol (MIP).",[16,37,39],{"id":38},"memcube","MemCube",[21,41,42,43,46,47,50],{},"A modular, portable ",[25,44,45],{},"memory container"," — think of it like a flexible cartridge that can hold one or more memory types for a ",[25,48,49],{},"user, agent, or session",".",[21,52,53],{},"MemCubes can be dynamically registered, updated, or removed. They support containerized storage that is transferable across sessions, models, and devices.",[16,55,57],{"id":56},"memories","Memories",[21,59,60],{},"MemOS supports several specialized memory types for different needs:",[62,63,65,66,69,70,73],"h4",{"id":64},"_1-parametric-memorycoming-soon","1. ",[25,67,68],{},"Parametric Memory","(",[25,71,72],{},"Coming Soon",")",[21,75,76],{},"Embedded in model weights;\nlong-term,\nhigh-efficiency, but hard to edit.",[62,78,80,81],{"id":79},"_2-activation-memory","2. ",[25,82,83],{},"Activation Memory",[21,85,86],{},"Runtime hidden states & KV-cache; short-term,\ntransient, steering dynamic behavior.",[62,88,90],{"id":89},"_3-plaintext-memory","3. Plaintext Memory",[21,92,93],{},"Structured or unstructured knowledge\nblocks; editable, traceable, suitable for fast updates, personalization & multi-agent sharing.",[95,96,97,104],"ul",{},[98,99,100,103],"li",{},[25,101,102],{},"GeneralTextMemory:"," Flexible, vector-based storage for unstructured\ntextual knowledge with semantic search and metadata filtering.",[98,105,106,109,110,113,114,117],{},[25,107,108],{},"TreeTextMemory:"," Hierarchical, graph-style memory for structured\nknowledge — combining ",[25,111,112],{},"tree-based hierarchy"," and ",[25,115,116],{},"cross-branch linking"," for dynamic, evolving knowledge graphs. It supports long-term organization and multi-hop reasoning (often Neo4j-backed).",[119,120,121],"note",{},[21,122,123,126,129,130,134],{},[25,124,125],{},"Best Practice",[127,128],"br",{},"\nStart simple with ",[131,132,133],"code",{},"GeneralTextMemory"," — then scale to graph or KV-cache as your needs grow.",[62,136,138],{"id":137},"basic-modules","Basic Modules",[21,140,141],{},"Includes chunkers, embedders, LLM connectors, parsers, and interfaces for vector/graph databases. These provide the building blocks for memory extraction, semantic embedding, storage, and retrieval.",[11,143,145],{"id":144},"code-structure","Code Structure",[21,147,148],{},"MemOS project is organized for clarity and plug-and-play:",[150,151,156],"pre",{"className":152,"code":154,"language":155},[153],"language-text","src/memos/\n    api/           # API definitions\n    chunkers/      # Text chunking utilities\n    configs/       # Configuration schemas\n    context/       # Log context\n    embedders/     # Embedding models\n    graph_dbs/     # Graph database backends (e.g., Neo4j)\n    vec_dbs/       # Vector database backends (e.g., Qdrant)\n    llms/          # LLM connectors\n    mem_agent/     # Deep search\n    mem_chat/      # Memory-augmented chat logic\n    mem_cube/      # MemCube management\n    mem_feedback   # Memory feedback\n    mem_os/        # MOS orchestration\n    mem_reader/    # Memory readers\n    mem_scheduler/ # Memory scheduling module\n    memories/      # Memory type implementations\n    multi_mem_cube/# Multi-view Cube\n    parsers/       # Parsing utilities\n    reranker/      # Reranker module\n    templates/     # Prompt templates\n    types/         # Type definitions\n","text",[131,157,154],{"__ignoreMap":158},"",[119,160,161],{},[21,162,163,166,168,169,172,173,176],{},[25,164,165],{},"Pro Tip",[127,167],{},"\nUse ",[131,170,171],{},"examples/"," for quick experimentation and ",[131,174,175],{},"docs/"," for module deep dives.",[11,178,180],{"id":179},"extensibility","Extensibility",[21,182,183,184,187,188,50],{},"MemOS is ",[25,185,186],{},"modular by design",".\nAdd your own memory types, storage backends, or LLM connectors with minimal changes — thanks to its ",[25,189,190],{},"unified config and factory patterns",[119,192,193],{},[21,194,195,197,199,204],{},[25,196,165],{},[127,198],{},[200,201,203],"a",{"href":202},"/open_source/contribution/overview","Contribute"," a new backend or share your custom memory\ntype — it’s easy to plug in.",{"title":158,"searchDepth":206,"depth":206,"links":207},2,[208,214,215],{"id":13,"depth":206,"text":14,"children":209},[210,212,213],{"id":18,"depth":211,"text":19},3,{"id":38,"depth":211,"text":39},{"id":56,"depth":211,"text":57},{"id":144,"depth":206,"text":145},{"id":179,"depth":206,"text":180},"MemOS is made up of **core modules** that work together to turn your LLM into a truly **memory-augmented system** — from orchestration to storage to retrieval.","md",{},"/en/open_source/home/architecture",{"title":5,"description":158},"en/open_source/home/architecture","4HvMXGqCwSlYGPxJEBY9ZrAzF-YutyGrTpXiTkByVd0",[224,232],{"title":225,"path":226,"stem":227,"icon":228,"framework":6,"module":6,"class":229,"target":-1,"active":230,"defaultOpen":230,"children":-1,"description":231},"Core Concepts","/open_source/home/core_concepts","open_source/home/core_concepts","i-ri-lightbulb-line",[],false,"MemOS treats memory as a first-class citizen. Its core design revolves around how to orchestrate, store, retrieve, and govern memory for your LLM applications.",{"title":233,"path":234,"stem":235,"icon":236,"framework":6,"module":6,"class":237,"target":-1,"active":230,"defaultOpen":230,"children":-1,"description":238},"REST API Server","/open_source/getting_started/rest_api_server","open_source/getting_started/rest_api_server","i-ri-file-code-line",[],"MemOS provides a REST API service written using FastAPI. Users can perform all operations via REST interfaces.",1770372088083]