[{"data":1,"prerenderedAt":1191},["ShallowReactive",2],{"docs-page-en-/usecase/edge_cloud_terminal_memory":3,"surround-en-/usecase/edge_cloud_terminal_memory":1182},{"id":4,"title":5,"avatar":6,"banner":6,"body":7,"category":6,"desc":1175,"description":16,"extension":1176,"lead":6,"links":6,"meta":1177,"navigation":6,"path":1178,"seo":1179,"stem":1180,"__hash__":1181},"docs/en/usecase/edge_cloud_terminal_memory.md","Edge–Cloud Collaboration: Building Long-Term Memory for Smart Devices",null,{"type":8,"value":9,"toc":1158},"minimark",[10,17,20,26,61,64,70,73,78,83,85,90,97,106,108,112,115,129,136,138,142,149,152,159,161,165,171,174,256,258,262,269,272,275,278,281,294,301,306,309,320,327,329,333,339,346,349,352,359,361,365,372,375,378,385,387,391,394,400,409,412,419,421,425,428,430,434,450,457,460,591,614,621,684,713,721,801,817,829,831,835,838,845,862,868,969,989,1054,1060,1143,1146,1154],[11,12,13],"p",{},[14,15,16],"strong",{},"MemOS helps smart devices remember and understand users over time.",[11,18,19],{},"Earbuds travel with us, watches track daily activities, home speakers and robots become part of everyday life, and phones and computers support our work. As these devices accompany users over time, MemOS memory helps them build a lasting understanding of each person, supporting ongoing assistance and personalized services.",[21,22,23],"blockquote",{},[11,24,25],{},"Turn everyday interactions into context for future services, so devices gradually get to know their users.",[27,28,30,43,52],"div",{"style":29},"display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:24px 0",[27,31,33,39],{"style":32},"border-radius:12px;background:rgba(148,163,184,0.10);padding:12px;display:flex;flex-direction:column;gap:12px",[34,35],"img",{"src":36,"alt":37,"style":38},"https://cdn.memtensor.com.cn/img/memos-edge-cloud-01-en.png_compressed.png","Earbud interactions form memories that a home speaker retrieves to continue helping the same user","display:block;width:100%;margin:0;border-radius:6px",[11,40,42],{"style":41},"margin:auto 0 0;text-align:center;font-size:14px;line-height:1.5;color:#64748b","Build an understanding of users through everyday interactions",[27,44,45,49],{"style":32},[34,46],{"src":47,"alt":48,"style":38},"https://cdn.memtensor.com.cn/img/memos-edge-cloud-02-en-20261027_compressed.png","A home speaker, phone and kitchen display use the same user's memories",[11,50,51],{"style":41},"Continue the same activity across devices and over time",[27,53,54,58],{"style":32},[34,55],{"src":56,"alt":57,"style":38},"https://cdn.memtensor.com.cn/img/memos-edge-cloud-03-en-20261027_compressed.png","MemOS maintains memories and their scope while a fitness app uses current context to plan workouts",[11,59,60],{"style":41},"Keep the device's understanding up to date as users' needs change",[11,62,63],{},"The MemOS edge–cloud memory solution provides memory formation, organization, updates and retrieval for devices, companion apps, system features and agents.",[11,65,66,69],{},[14,67,68],{},"The product supplies interaction and business data. MemOS determines what to remember, organizes it and maintains it as new information arrives. The product queries MemOS when it needs that context."," These services can run on customer-managed servers, in the MemOS managed service, or on selected local nodes, with responsibilities distributed as needed. Customers choose where services run based on device resources, data-management requirements and model selection.",[71,72],"br",{},[74,75,77],"h2",{"id":76},"how-memos-provides-memory-services-for-devices","How MemOS provides memory services for devices",[21,79,80],{},[11,81,82],{},"These experiences combine the device product, its backend and MemOS: the product supplies information, MemOS forms and maintains memory, and product features query and use it when needed.",[71,84],{},[86,87,89],"h3",{"id":88},"ingest-interaction-and-business-data","Ingest interaction and business data",[11,91,92,93,96],{},"The product submits authorized information to MemOS together with identifiers such as the user, conversation, timestamp or existing business ID. When multiple devices connect, the product's existing account and device systems identify the current user and associate authorized requests with that same user. ",[14,94,95],{},"Speech transcription and exercise-event recognition are input processing; deciding what to remember and how to organize it is MemOS memory processing."," The integration does not need to select valuable sentences, extract preferences or produce standardized memories first.",[11,98,99],{},[34,100],{"alt":101,"className":102,"src":104,"width":105},"Earbud speech, watch events and app data enter MemOS through existing input pipelines",[103],"mx-auto","https://cdn.memtensor.com.cn/img/memos-edge-cloud-04-en-20261027_compressed.png",720,[71,107],{},[86,109,111],{"id":110},"form-memories-and-maintain-them-as-new-inputs-arrive","Form memories and maintain them as new inputs arrive",[11,113,114],{},"MemOS understands facts, preferences, events and context in the input, links them to the same user's existing memories, and handles duplicates, changes and scope. It saves newly formed or updated memories and their indexes to the data nodes of the selected deployment. Later expressions and business context follow the same processing path. The integration does not need to locate old memories and decide how to overwrite them first.",[11,116,117,118,123,124,128],{},"Users can view, correct or delete existing memories through management features provided by the product. Everyday updates continue to enter through the normal input flow. See ",[119,120,122],"a",{"href":121},"/memos_cloud/introduction/memory_types","Memory Types"," and ",[119,125,127],{"href":126},"/memos_cloud/mem_operations/add_message","Add Message"," for memory categories and processing details.",[11,130,131],{},[34,132],{"alt":133,"className":134,"src":135,"width":105},"New inputs link to existing memories, update them within their scope and save them in the selected deployment",[103],"https://cdn.memtensor.com.cn/img/memos-edge-cloud-05-en-20261027_compressed.png",[71,137],{},[86,139,141],{"id":140},"retrieve-relevant-memory-for-the-current-device-feature","Retrieve relevant memory for the current device feature",[11,143,144,145,148],{},"The product queries MemOS with the current question and context. MemOS retrieves relevant content from stored memories and indexes, then returns it to the product's business services, tools or models. The product completes the current feature and presents the result on the device. ",[14,146,147],{},"MemOS supplies memory context; product features perform route planning, content recommendations, calculations and device actions."," New interactions and business outcomes can become inputs for later memory maintenance.",[11,150,151],{},"Earbuds, phones and home speakers can each use their own conversations to query the same user's accumulated memories. Adding another device does not change where the data is stored.",[11,153,154],{},[34,155],{"alt":156,"className":157,"src":158,"width":105},"The product queries MemOS with the current question and uses the returned memories in its business features",[103],"https://cdn.memtensor.com.cn/img/memos-edge-cloud-06-en-20261027_compressed.png",[71,160],{},[74,162,164],{"id":163},"deployment-options","Deployment options",[11,166,167,168],{},"Providing persistent memory for earbuds, watches, phones or computers involves four decisions: ",[14,169,170],{},"where MemOS runs, where memory data is stored, where LLM computation happens and how devices access the services.",[11,172,173],{},"The following four common patterns show how these parts work together.",[175,176,177,196],"table",{},[178,179,180],"thead",{},[181,182,183,187,190,193],"tr",{},[184,185,186],"th",{},"Deployment pattern",[184,188,189],{},"MemOS and memory data",[184,191,192],{},"LLM location",[184,194,195],{},"Device access",[197,198,199,214,228,242],"tbody",{},[181,200,201,205,208,211],{},[202,203,204],"td",{},"Home hub with edge–cloud collaboration",[202,206,207],{},"MemOS runs on the home hub; memories and indexes stay local",[202,209,210],{},"Customer-hosted or selected remote LLM",[202,212,213],{},"Devices access the hub. Requests undergo local privacy processing before remote inference; results return to the hub for storage and use.",[181,215,216,219,222,225],{},[202,217,218],{},"Customer-managed deployment",[202,220,221],{},"Customer-managed servers; the customer stores and manages the data",[202,223,224],{},"In this example, LLMs and supporting processing run in the customer environment",[202,226,227],{},"Devices write and query memory through the product backend, then use it in product features.",[181,229,230,233,236,239],{},[202,231,232],{},"MemOS managed service",[202,234,235],{},"MemOS runs and stores data in its managed environment",[202,237,238],{},"The managed service provides the LLMs needed for memory processing",[202,240,241],{},"The product backend calls the managed APIs and uses the returned memories in its own features.",[181,243,244,247,250,253],{},[202,245,246],{},"Fully local home hub",[202,248,249],{},"MemOS, memories and indexes run on the home hub or colocated nodes",[202,251,252],{},"LLMs and supporting processing also run locally",[202,254,255],{},"Devices access local memory and product features over the home network.",[71,257],{},[86,259,261],{"id":260},"edgecloud-collaboration-local-memory-with-privacy-processing-before-remote-llm-calls","Edge–cloud collaboration: local memory with privacy processing before remote LLM calls",[11,263,264,265,268],{},"This pattern ",[14,266,267],{},"keeps memory local, processes configured sensitive information on the hub and calls remote LLMs as needed",". Mobile apps, home speakers, kitchen displays and other devices access MemOS on the home hub through authorized entry points. Memories, retrieval indexes and mappings between real values and placeholders remain on the hub.",[11,270,271],{},"LLMs run on the customer's inference servers or a selected model service. The internal MemOS privacy module replaces selected information locally and restores returned results. Requests that need a remote model during memory processing or querying follow the corresponding privacy path. In this example, lightweight tasks such as retrieval remain on the hub, and devices receive usable memory context with the original values restored.",[11,273,274],{},"An always-on mini PC or home server can serve as the hub. For a household with a few users, 32 GB of RAM, a 1 TB NVMe SSD and Gigabit or 2.5 GbE wired networking provide a reference configuration. The hub handles local services, memory storage, retrieval, privacy processing and device access, while remote nodes handle LLM computation.",[11,276,277],{},"The hub stays in a fixed location with continuous power and network access. It keeps running when a phone or laptop leaves. Devices at home connect over the LAN; remote access uses a controlled gateway or companion service.",[11,279,280],{},"Memory writes first save the input record and return an acknowledgment. Privacy processing and LLM calls then run in the background.",[282,283,284],"note",{},[11,285,286,287,293],{},"For the technical approach behind this privacy processing, see ",[119,288,292],{"href":289,"rel":290},"https://arxiv.org/abs/2605.09530",[291],"nofollow","MemPrivacy: Privacy-Preserving Personalized Memory for Edge–Cloud Agents",".",[11,295,296],{},[34,297],{"alt":298,"className":299,"src":300,"width":105},"The home hub runs MemOS and stores memory, replacing sensitive fields locally before calling remote LLMs",[103],"https://cdn.memtensor.com.cn/img/memos-edge-cloud-07-en-20261027_compressed.png",[11,302,303],{},[14,304,305],{},"How MemOS on the home hub handles sensitive information in remote requests",[11,307,308],{},"For example, a phone or home speaker submits an interaction containing a friend's name, a meeting time and an address through the hub's integration service. When MemOS prepares a memory-processing request, its internal privacy module replaces the selected name and address with placeholders and keeps the mappings on the hub. After the remote model returns a result, MemOS restores those values internally and continues organizing, maintaining and storing the memory.",[310,311,317],"pre",{"className":312,"code":314,"language":315,"meta":316},[313],"language-text","MemOS receives: Meet at Wang Chen's home at 10 a.m. on Saturday. The address is a particular apartment in a residential complex.\nSent to the model after internal processing: Meet at [PERSON_01]'s home at 10 a.m. on Saturday. The address is [ADDRESS_01].\nLocal hub mappings: [PERSON_01] → Wang Chen; [ADDRESS_01] → the specified residential complex, building and apartment.\nAfter the model returns: MemOS restores the selected values internally, then continues organizing and saving memory.\n","text","",[318,319,314],"code",{"__ignoreMap":316},[11,321,322],{},[34,323],{"alt":324,"className":325,"src":326,"width":105},"Sensitive fields are replaced before remote inference and restored inside the hub when results return",[103],"https://cdn.memtensor.com.cn/img/memos-edge-cloud-08-en-20261027_compressed.png",[71,328],{},[86,330,332],{"id":331},"customer-managed-deployment-run-memos-on-customer-controlled-servers","Customer-managed deployment: run MemOS on customer-controlled servers",[11,334,335,338],{},[14,336,337],{},"A customer-managed deployment can use public-cloud infrastructure."," A customer can rent servers in its own public-cloud account, deploy services, store data and manage LLMs there. This is still a customer-managed deployment. It differs from both a local hub in an end user's home and direct use of the MemOS managed service.",[11,340,341,342,345],{},"Consider an earbud manufacturer. The earbuds connect to the manufacturer's product backend through a companion mobile app. The backend handles accounts, authorization and business requests. ",[14,343,344],{},"MemOS runs on customer-managed servers, with input records, formed memories and retrieval indexes stored on customer-selected data nodes."," In this example, LLMs also run in the customer environment to support memory understanding, organization and maintenance. The customer can use data-center servers, existing virtual machines or servers in its own cloud account.",[11,347,348],{},"After a device submits information, MemOS saves the record and calls the LLM in the background to process and maintain memory. When context is needed later, MemOS retrieves relevant memories from customer-stored data and returns them to the product backend for Q&A, recommendations or planning. The customer manages services, data, LLMs and access permissions throughout.",[11,350,351],{},"If an external LLM API is used instead, the memory store can remain in the customer environment, while the relevant request content is sent to that service.",[11,353,354],{},[34,355],{"alt":356,"className":357,"src":358,"width":105},"MemOS and memory data run on customer-managed servers, with devices connecting through the product backend",[103],"https://cdn.memtensor.com.cn/img/memos-edge-cloud-09-en-20261027_compressed.png",[71,360],{},[86,362,364],{"id":363},"managed-cloud-service-use-memory-services-operated-by-memos","Managed cloud service: use memory services operated by MemOS",[11,366,367,368,371],{},"Using the same earbud and companion-app example, the customer's product handles device interactions and business features, while the product backend calls the MemOS managed APIs. ",[14,369,370],{},"MemOS runs in the managed environment, which stores memories and indexes and provides the LLMs and supporting processing needed for memory operations."," The customer does not need to maintain servers or LLM runtimes for these memory capabilities.",[11,373,374],{},"For writes, the product backend submits authorized information and receives an acknowledgment; MemOS processes and stores it in the background. For queries, the product submits the current question and receives relevant memories to use in its own Q&A, recommendations or planning features. The customer product still manages the models and tools used by those business features and identifies which memory content they receive during integration.",[11,376,377],{},"The user's memories accumulate in the managed environment. Devices access them through the product backend under its authorization controls.",[11,379,380],{},[34,381],{"alt":382,"className":383,"src":384,"width":105},"The product backend calls MemOS managed APIs, with memories and indexes stored in the managed environment",[103],"https://cdn.memtensor.com.cn/img/memos-edge-cloud-10-en-20261027_compressed.png",[71,386],{},[86,388,390],{"id":389},"fully-local-operation-memory-and-models-on-a-fixed-home-ai-hub","Fully local operation: memory and models on a fixed home AI hub",[11,392,393],{},"To keep both memory and LLM computation at home, use a fixed host with sufficient compute capacity, such as a compact AI workstation or home server. Phones, speakers, kitchen displays and other devices access it through authorized entry points on the home network.",[11,395,396,399],{},[14,397,398],{},"This pattern keeps memory storage and LLM computation local."," MemOS runs on the hub, memories and indexes reside on its local SSD, and LLMs and supporting processing run on the hub or colocated fixed nodes. MemOS saves, processes and maintains submitted information locally. When context is needed, it retrieves local memories for the current product feature.",[11,401,402,403,408],{},"The diagram also places business models for Q&A, speech and similar features locally. Fully offline operation requires local tools and reference materials as well, with the actual capabilities of the entire chain verified. One host can handle services, storage and LLMs, or connect to colocated compute nodes. For a household with a few users, a compact AI host with 64–128 GB of unified memory and 2–4 TB of SSD storage provides a reference resource range. With a discrete GPU, size system RAM and VRAM separately, then validate against the selected LLM, context length and concurrency. See the ",[119,404,407],{"href":405,"rel":406},"https://docs.nvidia.com/dgx/dgx-spark/hardware.html",[291],"DGX Spark hardware documentation"," for an example compact form factor.",[11,410,411],{},"Manage retained source materials, memory backups and logs using local directories and permissions. A NAS can store materials and backups. Whether an existing NAS can also run the memory service or an LLM depends on its processor, memory and software environment.",[11,413,414],{},[34,415],{"alt":416,"className":417,"src":418,"width":105},"Memory and business models run on the home hub or colocated nodes, accessed by devices over the home network",[103],"https://cdn.memtensor.com.cn/img/memos-edge-cloud-11-en-20261027_compressed.png",[71,420],{},[74,422,424],{"id":423},"api-integration-writes-status-tracking-and-memory-queries","API integration: writes, status tracking and memory queries",[11,426,427],{},"After choosing a deployment, connect information ingestion, processing-status tracking and memory queries. The examples below use the MemOS managed API, followed by the integration flow for a home hub. Replace demonstration users and credentials with your actual configuration.",[71,429],{},[86,431,433],{"id":432},"backend-apis-asynchronous-writes-and-queries-across-devices","Backend APIs: asynchronous writes and queries across devices",[11,435,436,437,440,441,444,445,449],{},"In this managed-API example, the product backend holds the project API key and checks user access against the product's account system. For customer-managed deployments, use the service addresses, authentication and APIs specified for the delivered version. ",[318,438,439],{},"user_id"," identifies the memory user, and ",[318,442,443],{},"conversation_id"," identifies the current conversation. Different devices belonging to the same user can use separate conversation IDs. See ",[119,446,448],{"href":447},"/api_docs/start/configuration","Project Configuration"," for the scope of API keys.",[11,451,452],{},[34,453],{"alt":454,"className":455,"src":456,"width":105},"Device interactions flow through the product backend, with writes, processing and queries tied to the same user account",[103],"https://cdn.memtensor.com.cn/img/memos-edge-cloud-12-en-20261027_compressed.png",[11,458,459],{},"After the mobile app transcribes an earbud interaction, the product backend submits the full expression for MemOS to process:",[310,461,465],{"className":462,"code":463,"language":464,"meta":316,"style":316},"language-bash shiki shiki-themes material-theme-lighter github-light-high-contrast github-dark-default","curl --request POST \\\n  --url 'https://memos.memtensor.cn/api/openmem/v1/add/message' \\\n  --header 'Authorization: Token YOUR_MEMOS_API_KEY' \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"user_id\": \"demo_user_001\",\n    \"conversation_id\": \"weekend_plan_001\",\n    \"messages\": [\n      {\"role\": \"user\", \"content\": \"I want to take my parents to Suzhou on Saturday morning and return on Sunday evening. Also, my mom cannot eat spicy food.\"}\n    ],\n    \"async_mode\": true\n  }'\n","bash",[318,466,467,488,506,521,535,546,552,558,564,570,576,582],{"__ignoreMap":316},[468,469,472,476,480,484],"span",{"class":470,"line":471},"line",1,[468,473,475],{"class":474},"saonL","curl",[468,477,479],{"class":478},"sp2SP"," --request",[468,481,483],{"class":482},"sp1uZ"," POST",[468,485,487],{"class":486},"seOsA"," \\\n",[468,489,491,494,498,501,504],{"class":470,"line":490},2,[468,492,493],{"class":478},"  --url",[468,495,497],{"class":496},"sjUum"," '",[468,499,500],{"class":482},"https://memos.memtensor.cn/api/openmem/v1/add/message",[468,502,503],{"class":496},"'",[468,505,487],{"class":486},[468,507,509,512,514,517,519],{"class":470,"line":508},3,[468,510,511],{"class":478},"  --header",[468,513,497],{"class":496},[468,515,516],{"class":482},"Authorization: Token YOUR_MEMOS_API_KEY",[468,518,503],{"class":496},[468,520,487],{"class":486},[468,522,524,526,528,531,533],{"class":470,"line":523},4,[468,525,511],{"class":478},[468,527,497],{"class":496},[468,529,530],{"class":482},"Content-Type: application/json",[468,532,503],{"class":496},[468,534,487],{"class":486},[468,536,538,541,543],{"class":470,"line":537},5,[468,539,540],{"class":478},"  --data",[468,542,497],{"class":496},[468,544,545],{"class":482},"{\n",[468,547,549],{"class":470,"line":548},6,[468,550,551],{"class":482},"    \"user_id\": \"demo_user_001\",\n",[468,553,555],{"class":470,"line":554},7,[468,556,557],{"class":482},"    \"conversation_id\": \"weekend_plan_001\",\n",[468,559,561],{"class":470,"line":560},8,[468,562,563],{"class":482},"    \"messages\": [\n",[468,565,567],{"class":470,"line":566},9,[468,568,569],{"class":482},"      {\"role\": \"user\", \"content\": \"I want to take my parents to Suzhou on Saturday morning and return on Sunday evening. Also, my mom cannot eat spicy food.\"}\n",[468,571,573],{"class":470,"line":572},10,[468,574,575],{"class":482},"    ],\n",[468,577,579],{"class":470,"line":578},11,[468,580,581],{"class":482},"    \"async_mode\": true\n",[468,583,585,588],{"class":470,"line":584},12,[468,586,587],{"class":482},"  }",[468,589,590],{"class":496},"'\n",[11,592,593,594,597,598,123,601,604,605,123,609,613],{},"This example uses ",[318,595,596],{},"async_mode: true",". The write API returns an acknowledgment with ",[318,599,600],{},"data.task_id",[318,602,603],{},"data.status",". MemOS continues processing in the background and saves memories and indexes according to the managed-service configuration. Acceptance and processing completion are separate states. The product backend stores the task ID to track progress as needed. See ",[119,606,608],{"href":607},"/api_docs/core/add_message","Add Message API",[119,610,612],{"href":611},"/memos_cloud/features/async_mode","Async Mode"," for fields and processing behavior.",[11,615,616,617,620],{},"On Friday, the user adds in the mobile app: “I have something to do on Saturday morning. Let's leave after lunch and visit the gardens on Sunday.” The product backend submits the new expression and conversation context asynchronously and records the new task ID. To check the complete processing result of a write or update, query its corresponding ",[318,618,619],{},"task_id",":",[310,622,624],{"className":462,"code":623,"language":464,"meta":316,"style":316},"curl --request POST \\\n  --url 'https://memos.memtensor.cn/api/openmem/v1/get/status' \\\n  --header 'Authorization: Token YOUR_MEMOS_API_KEY' \\\n  --header 'Content-Type: application/json' \\\n  --data '{\"task_id\": \"YOUR_TASK_ID\"}'\n",[318,625,626,636,649,661,673],{"__ignoreMap":316},[468,627,628,630,632,634],{"class":470,"line":471},[468,629,475],{"class":474},[468,631,479],{"class":478},[468,633,483],{"class":482},[468,635,487],{"class":486},[468,637,638,640,642,645,647],{"class":470,"line":490},[468,639,493],{"class":478},[468,641,497],{"class":496},[468,643,644],{"class":482},"https://memos.memtensor.cn/api/openmem/v1/get/status",[468,646,503],{"class":496},[468,648,487],{"class":486},[468,650,651,653,655,657,659],{"class":470,"line":508},[468,652,511],{"class":478},[468,654,497],{"class":496},[468,656,516],{"class":482},[468,658,503],{"class":496},[468,660,487],{"class":486},[468,662,663,665,667,669,671],{"class":470,"line":523},[468,664,511],{"class":478},[468,666,497],{"class":496},[468,668,530],{"class":482},[468,670,503],{"class":496},[468,672,487],{"class":486},[468,674,675,677,679,682],{"class":470,"line":537},[468,676,540],{"class":478},[468,678,497],{"class":496},[468,680,681],{"class":482},"{\"task_id\": \"YOUR_TASK_ID\"}",[468,683,590],{"class":496},[11,685,686,687,689,690,693,694,697,698,701,702,704,705,707,708,712],{},"The task's ",[318,688,603],{}," can be ",[318,691,692],{},"running",", ",[318,695,696],{},"completed"," or ",[318,699,700],{},"failed",". During integration testing, inspect the complete processing result after ",[318,703,696],{},". In production, queries can use memories that have already been processed and made available; searchable content may exist while a task is still ",[318,706,692],{},". See ",[119,709,711],{"href":710},"/api_docs/message/get_status","Get Task Status"," for status fields and failure information.",[11,714,715,716,718,719,620],{},"Back at home, the user asks the home speaker about the trip. The speaker service queries through the product backend using the same ",[318,717,439],{}," and the current speaker conversation's ",[318,720,443],{},[310,722,724],{"className":462,"code":723,"language":464,"meta":316,"style":316},"curl --request POST \\\n  --url 'https://memos.memtensor.cn/api/openmem/v1/search/memory' \\\n  --header 'Authorization: Token YOUR_MEMOS_API_KEY' \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"user_id\": \"demo_user_001\",\n    \"conversation_id\": \"home_speaker_continue_002\",\n    \"query\": \"What is the latest plan for our weekend trip to Suzhou? Anything else to keep in mind?\"\n  }'\n",[318,725,726,736,749,761,773,781,785,790,795],{"__ignoreMap":316},[468,727,728,730,732,734],{"class":470,"line":471},[468,729,475],{"class":474},[468,731,479],{"class":478},[468,733,483],{"class":482},[468,735,487],{"class":486},[468,737,738,740,742,745,747],{"class":470,"line":490},[468,739,493],{"class":478},[468,741,497],{"class":496},[468,743,744],{"class":482},"https://memos.memtensor.cn/api/openmem/v1/search/memory",[468,746,503],{"class":496},[468,748,487],{"class":486},[468,750,751,753,755,757,759],{"class":470,"line":508},[468,752,511],{"class":478},[468,754,497],{"class":496},[468,756,516],{"class":482},[468,758,503],{"class":496},[468,760,487],{"class":486},[468,762,763,765,767,769,771],{"class":470,"line":523},[468,764,511],{"class":478},[468,766,497],{"class":496},[468,768,530],{"class":482},[468,770,503],{"class":496},[468,772,487],{"class":486},[468,774,775,777,779],{"class":470,"line":537},[468,776,540],{"class":478},[468,778,497],{"class":496},[468,780,545],{"class":482},[468,782,783],{"class":470,"line":548},[468,784,551],{"class":482},[468,786,787],{"class":470,"line":554},[468,788,789],{"class":482},"    \"conversation_id\": \"home_speaker_continue_002\",\n",[468,791,792],{"class":470,"line":560},[468,793,794],{"class":482},"    \"query\": \"What is the latest plan for our weekend trip to Suzhou? Anything else to keep in mind?\"\n",[468,796,797,799],{"class":470,"line":566},[468,798,587],{"class":482},[468,800,590],{"class":496},[11,802,803,804,807,808,811,812,816],{},"The current conversation ID contributes query context; devices can use separate conversations. In the response, facts appear in ",[318,805,806],{},"data.memory_detail_list[].memory_value",", and preferences in ",[318,809,810],{},"data.preference_detail_list[].preference",". The product backend passes relevant memories to its Q&A or itinerary features to generate the speaker's answer. The mobile app can also query and use memories on its planning page. Actual retrieval depends on the inputs and processing results. See ",[119,813,815],{"href":814},"/api_docs/core/search_memory","Search Memory API"," for response fields.",[11,818,819,820,123,824,828],{},"During integration testing, use the same demo user for the initial write, a later update and a query from another device. Verify processing status, retrieved content and how the product uses the result. For precise management of existing content, connect ",[119,821,823],{"href":822},"/api_docs/core/update_memory","Update Memory",[119,825,827],{"href":826},"/memos_cloud/mem_operations/delete_memory","Delete Memory"," to the product's memory-management interface.",[71,830],{},[86,832,834],{"id":833},"hub-apis-local-writes-and-queries","Hub APIs: local writes and queries",[11,836,837],{},"When MemOS runs on a home hub, phones, speakers and other devices submit information and query memories through the hub's authorized service entry points. The edge–cloud and fully local patterns share the same memory workflow, with memories and indexes stored locally on the hub. LLM placement follows the deployment pattern described above.",[11,839,840],{},[34,841],{"alt":842,"className":843,"src":844,"width":105},"Devices write and query through the hub's authorized entry point, while memories and indexes stay local",[103],"https://cdn.memtensor.com.cn/img/memos-edge-cloud-13-en-20261027_compressed.png",[11,846,847,848,693,851,123,854,857,858,861],{},"The examples below follow the MemOS Cloud API format. First set ",[318,849,850],{},"MEMOS_ADD_MESSAGE_URL",[318,852,853],{},"MEMOS_GET_STATUS_URL",[318,855,856],{},"MEMOS_SEARCH_MEMORY_URL"," to the full write, status-query and memory-search endpoint URLs provided by your hub deployment. Set ",[318,859,860],{},"MEMOS_API_KEY"," to the access credential. Actual addresses, paths, authentication and storage configuration depend on the delivered version.",[11,863,864,867],{},[14,865,866],{},"Write interaction data."," Submit the full expression together with user and conversation identifiers to MemOS on the hub:",[310,869,871],{"className":462,"code":870,"language":464,"meta":316,"style":316},"curl --request POST \\\n  --url \"${MEMOS_ADD_MESSAGE_URL}\" \\\n  --header \"Authorization: Token ${MEMOS_API_KEY}\" \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"user_id\": \"demo_user_001\",\n    \"conversation_id\": \"home_hub_dinner_001\",\n    \"messages\": [\n      {\"role\": \"user\", \"content\": \"I am exhausted after work. Let us keep dinner simple. Oh, and no cilantro.\"}\n    ],\n    \"async_mode\": true\n  }'\n",[318,872,873,883,898,917,929,937,941,946,950,955,959,963],{"__ignoreMap":316},[468,874,875,877,879,881],{"class":470,"line":471},[468,876,475],{"class":474},[468,878,479],{"class":478},[468,880,483],{"class":482},[468,882,487],{"class":486},[468,884,885,887,890,893,896],{"class":470,"line":490},[468,886,493],{"class":478},[468,888,889],{"class":496}," \"${",[468,891,850],{"class":892},"s5ojA",[468,894,895],{"class":496},"}\"",[468,897,487],{"class":486},[468,899,900,902,905,908,911,913,915],{"class":470,"line":508},[468,901,511],{"class":478},[468,903,904],{"class":496}," \"",[468,906,907],{"class":482},"Authorization: Token ",[468,909,910],{"class":496},"${",[468,912,860],{"class":892},[468,914,895],{"class":496},[468,916,487],{"class":486},[468,918,919,921,923,925,927],{"class":470,"line":523},[468,920,511],{"class":478},[468,922,497],{"class":496},[468,924,530],{"class":482},[468,926,503],{"class":496},[468,928,487],{"class":486},[468,930,931,933,935],{"class":470,"line":537},[468,932,540],{"class":478},[468,934,497],{"class":496},[468,936,545],{"class":482},[468,938,939],{"class":470,"line":548},[468,940,551],{"class":482},[468,942,943],{"class":470,"line":554},[468,944,945],{"class":482},"    \"conversation_id\": \"home_hub_dinner_001\",\n",[468,947,948],{"class":470,"line":560},[468,949,563],{"class":482},[468,951,952],{"class":470,"line":566},[468,953,954],{"class":482},"      {\"role\": \"user\", \"content\": \"I am exhausted after work. Let us keep dinner simple. Oh, and no cilantro.\"}\n",[468,956,957],{"class":470,"line":572},[468,958,575],{"class":482},[468,960,961],{"class":470,"line":578},[468,962,581],{"class":482},[468,964,965,967],{"class":470,"line":584},[468,966,587],{"class":482},[468,968,590],{"class":496},[11,970,971,972,974,975,978,979,981,982,693,984,697,986,988],{},"After the write API acknowledges the request, MemOS forms, maintains and saves memories in the background. The integration stores the returned ",[318,973,600],{}," and uses it to query processing status. Replace ",[318,976,977],{},"YOUR_TASK_ID"," below with that task ID. ",[318,980,603],{}," is ",[318,983,692],{},[318,985,696],{},[318,987,700],{},". Memory queries use content that has already been processed and made available.",[310,990,992],{"className":462,"code":991,"language":464,"meta":316,"style":316},"curl --request POST \\\n  --url \"${MEMOS_GET_STATUS_URL}\" \\\n  --header \"Authorization: Token ${MEMOS_API_KEY}\" \\\n  --header 'Content-Type: application/json' \\\n  --data '{\"task_id\": \"YOUR_TASK_ID\"}'\n",[318,993,994,1004,1016,1032,1044],{"__ignoreMap":316},[468,995,996,998,1000,1002],{"class":470,"line":471},[468,997,475],{"class":474},[468,999,479],{"class":478},[468,1001,483],{"class":482},[468,1003,487],{"class":486},[468,1005,1006,1008,1010,1012,1014],{"class":470,"line":490},[468,1007,493],{"class":478},[468,1009,889],{"class":496},[468,1011,853],{"class":892},[468,1013,895],{"class":496},[468,1015,487],{"class":486},[468,1017,1018,1020,1022,1024,1026,1028,1030],{"class":470,"line":508},[468,1019,511],{"class":478},[468,1021,904],{"class":496},[468,1023,907],{"class":482},[468,1025,910],{"class":496},[468,1027,860],{"class":892},[468,1029,895],{"class":496},[468,1031,487],{"class":486},[468,1033,1034,1036,1038,1040,1042],{"class":470,"line":523},[468,1035,511],{"class":478},[468,1037,497],{"class":496},[468,1039,530],{"class":482},[468,1041,503],{"class":496},[468,1043,487],{"class":486},[468,1045,1046,1048,1050,1052],{"class":470,"line":537},[468,1047,540],{"class":478},[468,1049,497],{"class":496},[468,1051,681],{"class":482},[468,1053,590],{"class":496},[11,1055,1056,1059],{},[14,1057,1058],{},"Query relevant memories."," When the user later asks the home speaker about dinner, query MemOS as the same user with the current question:",[310,1061,1063],{"className":462,"code":1062,"language":464,"meta":316,"style":316},"curl --request POST \\\n  --url \"${MEMOS_SEARCH_MEMORY_URL}\" \\\n  --header \"Authorization: Token ${MEMOS_API_KEY}\" \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"user_id\": \"demo_user_001\",\n    \"conversation_id\": \"home_speaker_dinner_002\",\n    \"query\": \"What should we have for dinner tonight? Something easy to make.\"\n  }'\n",[318,1064,1065,1075,1087,1103,1115,1123,1127,1132,1137],{"__ignoreMap":316},[468,1066,1067,1069,1071,1073],{"class":470,"line":471},[468,1068,475],{"class":474},[468,1070,479],{"class":478},[468,1072,483],{"class":482},[468,1074,487],{"class":486},[468,1076,1077,1079,1081,1083,1085],{"class":470,"line":490},[468,1078,493],{"class":478},[468,1080,889],{"class":496},[468,1082,856],{"class":892},[468,1084,895],{"class":496},[468,1086,487],{"class":486},[468,1088,1089,1091,1093,1095,1097,1099,1101],{"class":470,"line":508},[468,1090,511],{"class":478},[468,1092,904],{"class":496},[468,1094,907],{"class":482},[468,1096,910],{"class":496},[468,1098,860],{"class":892},[468,1100,895],{"class":496},[468,1102,487],{"class":486},[468,1104,1105,1107,1109,1111,1113],{"class":470,"line":523},[468,1106,511],{"class":478},[468,1108,497],{"class":496},[468,1110,530],{"class":482},[468,1112,503],{"class":496},[468,1114,487],{"class":486},[468,1116,1117,1119,1121],{"class":470,"line":537},[468,1118,540],{"class":478},[468,1120,497],{"class":496},[468,1122,545],{"class":482},[468,1124,1125],{"class":470,"line":548},[468,1126,551],{"class":482},[468,1128,1129],{"class":470,"line":554},[468,1130,1131],{"class":482},"    \"conversation_id\": \"home_speaker_dinner_002\",\n",[468,1133,1134],{"class":470,"line":560},[468,1135,1136],{"class":482},"    \"query\": \"What should we have for dinner tonight? Something easy to make.\"\n",[468,1138,1139,1141],{"class":470,"line":566},[468,1140,587],{"class":482},[468,1142,590],{"class":496},[11,1144,1145],{},"MemOS retrieves relevant content from the hub's stored memories and indexes and returns it to the product's Q&A or menu-planning feature. The product combines the current question and relevant memories to generate an answer.",[11,1147,1148,1149,1153],{},"During integration testing, verify that processing status can be tracked for writes and queries return useful context. Also check memory retrieval after a restart and the scope of backups and deletion. See ",[119,1150,1152],{"href":1151},"/memos_cloud/getting_started/quick_start","Quick Start"," for more backend integration examples.",[1155,1156,1157],"style",{},"html pre.shiki code .saonL, html code.shiki .saonL{--shiki-light:#E2931D;--shiki-default:#702C00;--shiki-dark:#FFA657}html pre.shiki code .sp2SP, html code.shiki .sp2SP{--shiki-light:#91B859;--shiki-default:#023B95;--shiki-dark:#79C0FF}html pre.shiki code .sp1uZ, html code.shiki .sp1uZ{--shiki-light:#91B859;--shiki-default:#032563;--shiki-dark:#A5D6FF}html pre.shiki code .seOsA, html code.shiki .seOsA{--shiki-light:#90A4AE;--shiki-default:#A0111F;--shiki-dark:#FF7B72}html pre.shiki code .sjUum, html code.shiki .sjUum{--shiki-light:#39ADB5;--shiki-default:#032563;--shiki-dark:#A5D6FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s5ojA, html code.shiki .s5ojA{--shiki-light:#90A4AE;--shiki-default:#0E1116;--shiki-dark:#E6EDF3}",{"title":316,"searchDepth":490,"depth":490,"links":1159},[1160,1165,1171],{"id":76,"depth":490,"text":77,"children":1161},[1162,1163,1164],{"id":88,"depth":508,"text":89},{"id":110,"depth":508,"text":111},{"id":140,"depth":508,"text":141},{"id":163,"depth":490,"text":164,"children":1166},[1167,1168,1169,1170],{"id":260,"depth":508,"text":261},{"id":331,"depth":508,"text":332},{"id":363,"depth":508,"text":364},{"id":389,"depth":508,"text":390},{"id":423,"depth":490,"text":424,"children":1172},[1173,1174],{"id":432,"depth":508,"text":433},{"id":833,"depth":508,"text":834},"How MemOS forms, maintains and retrieves memory for earbuds, watches, home speakers, robots, phones and computers, with four deployment options and API integration examples.","md",{},"/en/usecase/edge_cloud_terminal_memory",{"title":5,"description":16},"en/usecase/edge_cloud_terminal_memory","Lq8sreVCZC1uowIiSMoJzagNX3JXojZ4bGxn0fjtUPQ",[-1,1183],{"title":1184,"path":1185,"stem":1186,"icon":1187,"framework":6,"module":6,"class":1188,"target":-1,"active":1189,"defaultOpen":1189,"children":-1,"description":1190},"Build a Shared Knowledge Base for AI Apps","/usecase/shared_knowledge_base","usecase/shared_knowledge_base","i-ri-book-2-line",[],false,"Keep ownership and sharing in your app. Let MemOS parse documents and retrieve them so authorized users can ask questions against the same knowledge base.",1793110957714]