[{"data":1,"prerenderedAt":3575},["ShallowReactive",2],{"/open_source/getting_started/installation":3,"surround-/open_source/getting_started/installation":3566},{"id":4,"title":5,"avatar":6,"banner":6,"body":7,"category":6,"desc":3559,"description":53,"extension":3560,"links":6,"meta":3561,"navigation":6,"path":3562,"seo":3563,"stem":3564,"__hash__":3565},"docs/en/open_source/getting_started/installation.md","Installation Guide",null,{"type":8,"value":9,"toc":3554},"minimark",[10,39,43,47,82,87,100,1055,1059,1068,1085,1088,1260,1416,1420,1495,1499,1508,1528,1534,1537,1548,1554,1558,2240,2243,2246,2264,2267,2270,2277,2293,2305,2313,2317,2381,2385,2402,2406,2441,2445,2577,2580,3142,3145,3148,3151,3468,3472,3481,3502,3506,3519,3522,3530,3534,3537,3550],[11,12,13,23,31],"card-group",{},[14,15,19],"card",{"icon":16,"title":17,"to":18},"ri:database-2-line","Install via Docker","/open_source/getting_started/installation#from-docker",[20,21,22],"p",{},"Ideal for quick deployment: one-click startup for services and dependencies.",[14,24,28],{"icon":25,"title":26,"to":27},"ri:play-line","Install from Source","/open_source/getting_started/installation#from-source",[20,29,30],{},"Ideal for development and contribution: editable installation, run tests, local debugging.",[14,32,36],{"icon":33,"title":34,"to":35},"ri:tree-line","Install via pip","/open_source/getting_started/installation#from-pip",[20,37,38],{},"The simplest installation method: get started with MemOS quickly.",[40,41],"span",{"id":42},"from-docker",[44,45,17],"h2",{"id":46},"install-via-docker",[48,49,54],"pre",{"className":50,"code":51,"language":52,"meta":53,"style":53},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","git clone https://github.com/MemTensor/MemOS.git\ncd MemOS\n","bash","",[55,56,57,72],"code",{"__ignoreMap":53},[40,58,61,65,69],{"class":59,"line":60},"line",1,[40,62,64],{"class":63},"sBMFI","git",[40,66,68],{"class":67},"sfazB"," clone",[40,70,71],{"class":67}," https://github.com/MemTensor/MemOS.git\n",[40,73,75,79],{"class":59,"line":74},2,[40,76,78],{"class":77},"s2Zo4","cd",[40,80,81],{"class":67}," MemOS\n",[83,84,86],"h4",{"id":85},"create-env-configuration-file","Create .env Configuration File",[88,89,90],"note",{},[20,91,92,96,99],{},[93,94,95],"strong",{},"Please Note",[97,98],"br",{},"\nThe .env file must be placed in the MemOS project root directory.",[101,102,104,108,127,131,134,633,637,1043,1050],"steps",{"level":103},"4",[83,105,107],{"id":106},"_1-create-env","1. Create .env",[48,109,111],{"className":50,"code":110,"language":52,"meta":53,"style":53},"cd MemOS\ntouch .env\n",[55,112,113,119],{"__ignoreMap":53},[40,114,115,117],{"class":59,"line":60},[40,116,78],{"class":77},[40,118,81],{"class":67},[40,120,121,124],{"class":59,"line":74},[40,122,123],{"class":63},"touch",[40,125,126],{"class":67}," .env\n",[83,128,130],{"id":129},"_2-env-contents","2. .env Contents",[20,132,133],{},"Here is a quick .env configuration example:",[48,135,137],{"className":50,"code":136,"language":52,"meta":53,"style":53},"\n# OpenAI API Key (Required configuration)\nOPENAI_API_KEY=sk-xxx\n# OpenAI API Base URL \nOPENAI_API_BASE=http://xxx:3000/v1\n# Default model name\nMOS_CHAT_MODEL=qwen3-max\n\n# Memory Reader LLM Model\nMEMRADER_MODEL=qwen3-max\n# Memory Reader API Key \nMEMRADER_API_KEY=sk-xxx\n# Memory Reader API Base URL\nMEMRADER_API_BASE=http://xxx:3000/v1\n\n# Embedder Model Name\nMOS_EMBEDDER_MODEL=text-embedding-v4\n# Configure embedding backend: ollama | universal_api\nMOS_EMBEDDER_BACKEND=universal_api\n# Embedder API Base URL \nMOS_EMBEDDER_API_BASE=http://xxx:8081/v1\n# Embedder API Key\nMOS_EMBEDDER_API_KEY=xxx\n# Embedding Vector Dimension\nEMBEDDING_DIMENSION=1024\n# Reranker Backend (http_bge | etc.)\nMOS_RERANKER_BACKEND=cosine_local\n\n# Neo4j Connection URI\n# Options: neo4j-community | neo4j | nebular | polardb\nNEO4J_BACKEND=neo4j-community\n# Required when backend=neo4j*\nNEO4J_URI=bolt://localhost:7687\nNEO4J_USER=neo4j\nNEO4J_PASSWORD=12345678\nNEO4J_DB_NAME=neo4j\nMOS_NEO4J_SHARED_DB=false\n\n# Whether to use redis scheduler\nDEFAULT_USE_REDIS_QUEUE=false\n\n# Enable Chat API\nENABLE_CHAT_API=true\n# Chat model list, can be applied through Bailian. Models are customizable.\nCHAT_MODEL_LIST=[{\"backend\": \"qwen\", \"api_base\": \"https://xxx/v1\", \"api_key\": \"sk-xxx\", \"model_name_or_path\": \"qwen3-max\", \"extra_body\": {\"enable_thinking\": true} ,\"support_models\": [\"qwen3-max\"]}]\n",[55,138,139,145,151,165,171,182,188,199,204,210,220,226,236,242,252,257,263,274,280,291,297,308,314,325,331,342,348,359,364,370,376,387,393,404,415,426,436,447,452,458,468,473,479,490,496],{"__ignoreMap":53},[40,140,141],{"class":59,"line":60},[40,142,144],{"emptyLinePlaceholder":143},true,"\n",[40,146,147],{"class":59,"line":74},[40,148,150],{"class":149},"sHwdD","# OpenAI API Key (Required configuration)\n",[40,152,154,158,162],{"class":59,"line":153},3,[40,155,157],{"class":156},"sTEyZ","OPENAI_API_KEY",[40,159,161],{"class":160},"sMK4o","=",[40,163,164],{"class":67},"sk-xxx\n",[40,166,168],{"class":59,"line":167},4,[40,169,170],{"class":149},"# OpenAI API Base URL \n",[40,172,174,177,179],{"class":59,"line":173},5,[40,175,176],{"class":156},"OPENAI_API_BASE",[40,178,161],{"class":160},[40,180,181],{"class":67},"http://xxx:3000/v1\n",[40,183,185],{"class":59,"line":184},6,[40,186,187],{"class":149},"# Default model name\n",[40,189,191,194,196],{"class":59,"line":190},7,[40,192,193],{"class":156},"MOS_CHAT_MODEL",[40,195,161],{"class":160},[40,197,198],{"class":67},"qwen3-max\n",[40,200,202],{"class":59,"line":201},8,[40,203,144],{"emptyLinePlaceholder":143},[40,205,207],{"class":59,"line":206},9,[40,208,209],{"class":149},"# Memory Reader LLM Model\n",[40,211,213,216,218],{"class":59,"line":212},10,[40,214,215],{"class":156},"MEMRADER_MODEL",[40,217,161],{"class":160},[40,219,198],{"class":67},[40,221,223],{"class":59,"line":222},11,[40,224,225],{"class":149},"# Memory Reader API Key \n",[40,227,229,232,234],{"class":59,"line":228},12,[40,230,231],{"class":156},"MEMRADER_API_KEY",[40,233,161],{"class":160},[40,235,164],{"class":67},[40,237,239],{"class":59,"line":238},13,[40,240,241],{"class":149},"# Memory Reader API Base URL\n",[40,243,245,248,250],{"class":59,"line":244},14,[40,246,247],{"class":156},"MEMRADER_API_BASE",[40,249,161],{"class":160},[40,251,181],{"class":67},[40,253,255],{"class":59,"line":254},15,[40,256,144],{"emptyLinePlaceholder":143},[40,258,260],{"class":59,"line":259},16,[40,261,262],{"class":149},"# Embedder Model Name\n",[40,264,266,269,271],{"class":59,"line":265},17,[40,267,268],{"class":156},"MOS_EMBEDDER_MODEL",[40,270,161],{"class":160},[40,272,273],{"class":67},"text-embedding-v4\n",[40,275,277],{"class":59,"line":276},18,[40,278,279],{"class":149},"# Configure embedding backend: ollama | universal_api\n",[40,281,283,286,288],{"class":59,"line":282},19,[40,284,285],{"class":156},"MOS_EMBEDDER_BACKEND",[40,287,161],{"class":160},[40,289,290],{"class":67},"universal_api\n",[40,292,294],{"class":59,"line":293},20,[40,295,296],{"class":149},"# Embedder API Base URL \n",[40,298,300,303,305],{"class":59,"line":299},21,[40,301,302],{"class":156},"MOS_EMBEDDER_API_BASE",[40,304,161],{"class":160},[40,306,307],{"class":67},"http://xxx:8081/v1\n",[40,309,311],{"class":59,"line":310},22,[40,312,313],{"class":149},"# Embedder API Key\n",[40,315,317,320,322],{"class":59,"line":316},23,[40,318,319],{"class":156},"MOS_EMBEDDER_API_KEY",[40,321,161],{"class":160},[40,323,324],{"class":67},"xxx\n",[40,326,328],{"class":59,"line":327},24,[40,329,330],{"class":149},"# Embedding Vector Dimension\n",[40,332,334,337,339],{"class":59,"line":333},25,[40,335,336],{"class":156},"EMBEDDING_DIMENSION",[40,338,161],{"class":160},[40,340,341],{"class":67},"1024\n",[40,343,345],{"class":59,"line":344},26,[40,346,347],{"class":149},"# Reranker Backend (http_bge | etc.)\n",[40,349,351,354,356],{"class":59,"line":350},27,[40,352,353],{"class":156},"MOS_RERANKER_BACKEND",[40,355,161],{"class":160},[40,357,358],{"class":67},"cosine_local\n",[40,360,362],{"class":59,"line":361},28,[40,363,144],{"emptyLinePlaceholder":143},[40,365,367],{"class":59,"line":366},29,[40,368,369],{"class":149},"# Neo4j Connection URI\n",[40,371,373],{"class":59,"line":372},30,[40,374,375],{"class":149},"# Options: neo4j-community | neo4j | nebular | polardb\n",[40,377,379,382,384],{"class":59,"line":378},31,[40,380,381],{"class":156},"NEO4J_BACKEND",[40,383,161],{"class":160},[40,385,386],{"class":67},"neo4j-community\n",[40,388,390],{"class":59,"line":389},32,[40,391,392],{"class":149},"# Required when backend=neo4j*\n",[40,394,396,399,401],{"class":59,"line":395},33,[40,397,398],{"class":156},"NEO4J_URI",[40,400,161],{"class":160},[40,402,403],{"class":67},"bolt://localhost:7687\n",[40,405,407,410,412],{"class":59,"line":406},34,[40,408,409],{"class":156},"NEO4J_USER",[40,411,161],{"class":160},[40,413,414],{"class":67},"neo4j\n",[40,416,418,421,423],{"class":59,"line":417},35,[40,419,420],{"class":156},"NEO4J_PASSWORD",[40,422,161],{"class":160},[40,424,425],{"class":67},"12345678\n",[40,427,429,432,434],{"class":59,"line":428},36,[40,430,431],{"class":156},"NEO4J_DB_NAME",[40,433,161],{"class":160},[40,435,414],{"class":67},[40,437,439,442,444],{"class":59,"line":438},37,[40,440,441],{"class":156},"MOS_NEO4J_SHARED_DB",[40,443,161],{"class":160},[40,445,446],{"class":67},"false\n",[40,448,450],{"class":59,"line":449},38,[40,451,144],{"emptyLinePlaceholder":143},[40,453,455],{"class":59,"line":454},39,[40,456,457],{"class":149},"# Whether to use redis scheduler\n",[40,459,461,464,466],{"class":59,"line":460},40,[40,462,463],{"class":156},"DEFAULT_USE_REDIS_QUEUE",[40,465,161],{"class":160},[40,467,446],{"class":67},[40,469,471],{"class":59,"line":470},41,[40,472,144],{"emptyLinePlaceholder":143},[40,474,476],{"class":59,"line":475},42,[40,477,478],{"class":149},"# Enable Chat API\n",[40,480,482,485,487],{"class":59,"line":481},43,[40,483,484],{"class":156},"ENABLE_CHAT_API",[40,486,161],{"class":160},[40,488,489],{"class":67},"true\n",[40,491,493],{"class":59,"line":492},44,[40,494,495],{"class":149},"# Chat model list, can be applied through Bailian. Models are customizable.\n",[40,497,499,502,504,507,510,513,516,519,522,525,528,530,533,535,537,539,542,544,546,548,551,553,555,557,560,562,564,566,569,571,573,575,578,580,582,584,587,589,591,594,596,599,601,603,606,609,612,614,617,619,621,624,626,628,630],{"class":59,"line":498},45,[40,500,501],{"class":156},"CHAT_MODEL_LIST",[40,503,161],{"class":160},[40,505,506],{"class":67},"[",[40,508,509],{"class":156},"{",[40,511,512],{"class":63},"\"backend\"",[40,514,515],{"class":77},":",[40,517,518],{"class":160}," \"",[40,520,521],{"class":67},"qwen",[40,523,524],{"class":160},"\"",[40,526,527],{"class":67},",",[40,529,518],{"class":160},[40,531,532],{"class":67},"api_base",[40,534,524],{"class":160},[40,536,515],{"class":67},[40,538,518],{"class":160},[40,540,541],{"class":67},"https://xxx/v1",[40,543,524],{"class":160},[40,545,527],{"class":67},[40,547,518],{"class":160},[40,549,550],{"class":67},"api_key",[40,552,524],{"class":160},[40,554,515],{"class":67},[40,556,518],{"class":160},[40,558,559],{"class":67},"sk-xxx",[40,561,524],{"class":160},[40,563,527],{"class":67},[40,565,518],{"class":160},[40,567,568],{"class":67},"model_name_or_path",[40,570,524],{"class":160},[40,572,515],{"class":67},[40,574,518],{"class":160},[40,576,577],{"class":67},"qwen3-max",[40,579,524],{"class":160},[40,581,527],{"class":67},[40,583,518],{"class":160},[40,585,586],{"class":67},"extra_body",[40,588,524],{"class":160},[40,590,515],{"class":67},[40,592,593],{"class":67}," {",[40,595,524],{"class":160},[40,597,598],{"class":67},"enable_thinking",[40,600,524],{"class":160},[40,602,515],{"class":67},[40,604,605],{"class":160}," true",[40,607,608],{"class":67},"}",[40,610,611],{"class":67}," ,",[40,613,524],{"class":160},[40,615,616],{"class":67},"support_models",[40,618,524],{"class":160},[40,620,515],{"class":67},[40,622,623],{"class":156}," [",[40,625,524],{"class":160},[40,627,577],{"class":67},[40,629,524],{"class":160},[40,631,632],{"class":156},"]}]\n",[83,634,636],{"id":635},"env-configuration-example-using-bailian",".env Configuration Example using Bailian",[48,638,640],{"className":50,"code":639,"language":52,"meta":53,"style":53},"# Can be applied through Bailian platform\n# https://bailian.console.aliyun.com/?spm=a2c4g.11186623.0.0.2f2165b08fRk4l&tab=api#/api\n# After successful application, get API_KEY and BASE_URL, configuration example as follows\n\n# OpenAI API Key (Use Bailian API_KEY)\nOPENAI_API_KEY=you_bailian_api_key\n# OpenAI API Base URL \nOPENAI_API_BASE=https://dashscope.aliyuncs.com/compatible-mode/v1\n# Default model name\nMOS_CHAT_MODEL=qwen3-max\n\n# Memory Reader LLM Model\nMEMRADER_MODEL=qwen3-max\n# Memory Reader API Key (Use Bailian API_KEY)\nMEMRADER_API_KEY=you_bailian_api_key\n# Memory Reader API Base URL\nMEMRADER_API_BASE=https://dashscope.aliyuncs.com/compatible-mode/v1\n\n# Embedder model name can refer to the link below\n# https://bailian.console.aliyun.com/?spm=a2c4g.11186623.0.0.2f2165b08fRk4l&tab=api#/api/?type=model&url=2846066\nMOS_EMBEDDER_MODEL=text-embedding-v4\n# Configure embedding backend: ollama | universal_api\nMOS_EMBEDDER_BACKEND=universal_api\n# Embedder API Base URL \nMOS_EMBEDDER_API_BASE=https://dashscope.aliyuncs.com/compatible-mode/v1\n# Embedder API Key (Use Bailian API_KEY)\nMOS_EMBEDDER_API_KEY=you_bailian_api_key\n# Embedding Vector Dimension\nEMBEDDING_DIMENSION=1024\n# Reranker Backend (http_bge | etc.)\nMOS_RERANKER_BACKEND=cosine_local\n\n# Neo4j Connection URI\n# Options: neo4j-community | neo4j | nebular | polardb\nNEO4J_BACKEND=neo4j-community\n# Required when backend=neo4j*\nNEO4J_URI=bolt://localhost:7687\nNEO4J_USER=neo4j\nNEO4J_PASSWORD=12345678\nNEO4J_DB_NAME=neo4j\nMOS_NEO4J_SHARED_DB=false\n\n# Whether to use redis scheduler\nDEFAULT_USE_REDIS_QUEUE=false\n\n# Enable Chat API\nENABLE_CHAT_API=true\n\nCHAT_MODEL_LIST=[{\"backend\": \"qwen\", \"api_base\": \"https://dashscope.aliyuncs.com/compatible-mode/v1\", \"api_key\": \"you_bailian_api_key\", \"model_name_or_path\": \"qwen3-max-preview\", \"extra_body\": {\"enable_thinking\": true} ,\"support_models\": [\"qwen3-max-preview\"]}]\n",[55,641,642,647,652,657,661,666,675,679,688,692,700,704,708,716,721,729,733,741,745,750,755,763,767,775,779,787,792,800,804,812,816,824,828,832,836,844,848,856,864,872,880,888,892,896,904,908,913,922,927],{"__ignoreMap":53},[40,643,644],{"class":59,"line":60},[40,645,646],{"class":149},"# Can be applied through Bailian platform\n",[40,648,649],{"class":59,"line":74},[40,650,651],{"class":149},"# https://bailian.console.aliyun.com/?spm=a2c4g.11186623.0.0.2f2165b08fRk4l&tab=api#/api\n",[40,653,654],{"class":59,"line":153},[40,655,656],{"class":149},"# After successful application, get API_KEY and BASE_URL, configuration example as follows\n",[40,658,659],{"class":59,"line":167},[40,660,144],{"emptyLinePlaceholder":143},[40,662,663],{"class":59,"line":173},[40,664,665],{"class":149},"# OpenAI API Key (Use Bailian API_KEY)\n",[40,667,668,670,672],{"class":59,"line":184},[40,669,157],{"class":156},[40,671,161],{"class":160},[40,673,674],{"class":67},"you_bailian_api_key\n",[40,676,677],{"class":59,"line":190},[40,678,170],{"class":149},[40,680,681,683,685],{"class":59,"line":201},[40,682,176],{"class":156},[40,684,161],{"class":160},[40,686,687],{"class":67},"https://dashscope.aliyuncs.com/compatible-mode/v1\n",[40,689,690],{"class":59,"line":206},[40,691,187],{"class":149},[40,693,694,696,698],{"class":59,"line":212},[40,695,193],{"class":156},[40,697,161],{"class":160},[40,699,198],{"class":67},[40,701,702],{"class":59,"line":222},[40,703,144],{"emptyLinePlaceholder":143},[40,705,706],{"class":59,"line":228},[40,707,209],{"class":149},[40,709,710,712,714],{"class":59,"line":238},[40,711,215],{"class":156},[40,713,161],{"class":160},[40,715,198],{"class":67},[40,717,718],{"class":59,"line":244},[40,719,720],{"class":149},"# Memory Reader API Key (Use Bailian API_KEY)\n",[40,722,723,725,727],{"class":59,"line":254},[40,724,231],{"class":156},[40,726,161],{"class":160},[40,728,674],{"class":67},[40,730,731],{"class":59,"line":259},[40,732,241],{"class":149},[40,734,735,737,739],{"class":59,"line":265},[40,736,247],{"class":156},[40,738,161],{"class":160},[40,740,687],{"class":67},[40,742,743],{"class":59,"line":276},[40,744,144],{"emptyLinePlaceholder":143},[40,746,747],{"class":59,"line":282},[40,748,749],{"class":149},"# Embedder model name can refer to the link below\n",[40,751,752],{"class":59,"line":293},[40,753,754],{"class":149},"# https://bailian.console.aliyun.com/?spm=a2c4g.11186623.0.0.2f2165b08fRk4l&tab=api#/api/?type=model&url=2846066\n",[40,756,757,759,761],{"class":59,"line":299},[40,758,268],{"class":156},[40,760,161],{"class":160},[40,762,273],{"class":67},[40,764,765],{"class":59,"line":310},[40,766,279],{"class":149},[40,768,769,771,773],{"class":59,"line":316},[40,770,285],{"class":156},[40,772,161],{"class":160},[40,774,290],{"class":67},[40,776,777],{"class":59,"line":327},[40,778,296],{"class":149},[40,780,781,783,785],{"class":59,"line":333},[40,782,302],{"class":156},[40,784,161],{"class":160},[40,786,687],{"class":67},[40,788,789],{"class":59,"line":344},[40,790,791],{"class":149},"# Embedder API Key (Use Bailian API_KEY)\n",[40,793,794,796,798],{"class":59,"line":350},[40,795,319],{"class":156},[40,797,161],{"class":160},[40,799,674],{"class":67},[40,801,802],{"class":59,"line":361},[40,803,330],{"class":149},[40,805,806,808,810],{"class":59,"line":366},[40,807,336],{"class":156},[40,809,161],{"class":160},[40,811,341],{"class":67},[40,813,814],{"class":59,"line":372},[40,815,347],{"class":149},[40,817,818,820,822],{"class":59,"line":378},[40,819,353],{"class":156},[40,821,161],{"class":160},[40,823,358],{"class":67},[40,825,826],{"class":59,"line":389},[40,827,144],{"emptyLinePlaceholder":143},[40,829,830],{"class":59,"line":395},[40,831,369],{"class":149},[40,833,834],{"class":59,"line":406},[40,835,375],{"class":149},[40,837,838,840,842],{"class":59,"line":417},[40,839,381],{"class":156},[40,841,161],{"class":160},[40,843,386],{"class":67},[40,845,846],{"class":59,"line":428},[40,847,392],{"class":149},[40,849,850,852,854],{"class":59,"line":438},[40,851,398],{"class":156},[40,853,161],{"class":160},[40,855,403],{"class":67},[40,857,858,860,862],{"class":59,"line":449},[40,859,409],{"class":156},[40,861,161],{"class":160},[40,863,414],{"class":67},[40,865,866,868,870],{"class":59,"line":454},[40,867,420],{"class":156},[40,869,161],{"class":160},[40,871,425],{"class":67},[40,873,874,876,878],{"class":59,"line":460},[40,875,431],{"class":156},[40,877,161],{"class":160},[40,879,414],{"class":67},[40,881,882,884,886],{"class":59,"line":470},[40,883,441],{"class":156},[40,885,161],{"class":160},[40,887,446],{"class":67},[40,889,890],{"class":59,"line":475},[40,891,144],{"emptyLinePlaceholder":143},[40,893,894],{"class":59,"line":481},[40,895,457],{"class":149},[40,897,898,900,902],{"class":59,"line":492},[40,899,463],{"class":156},[40,901,161],{"class":160},[40,903,446],{"class":67},[40,905,906],{"class":59,"line":498},[40,907,144],{"emptyLinePlaceholder":143},[40,909,911],{"class":59,"line":910},46,[40,912,478],{"class":149},[40,914,916,918,920],{"class":59,"line":915},47,[40,917,484],{"class":156},[40,919,161],{"class":160},[40,921,489],{"class":67},[40,923,925],{"class":59,"line":924},48,[40,926,144],{"emptyLinePlaceholder":143},[40,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,963,965,967,969,971,973,975,977,980,982,984,986,988,990,992,994,997,999,1001,1003,1005,1007,1009,1011,1013,1015,1017,1019,1021,1023,1025,1027,1029,1031,1033,1035,1037,1039,1041],{"class":59,"line":929},49,[40,931,501],{"class":156},[40,933,161],{"class":160},[40,935,506],{"class":67},[40,937,509],{"class":156},[40,939,512],{"class":63},[40,941,515],{"class":77},[40,943,518],{"class":160},[40,945,521],{"class":67},[40,947,524],{"class":160},[40,949,527],{"class":67},[40,951,518],{"class":160},[40,953,532],{"class":67},[40,955,524],{"class":160},[40,957,515],{"class":67},[40,959,518],{"class":160},[40,961,962],{"class":67},"https://dashscope.aliyuncs.com/compatible-mode/v1",[40,964,524],{"class":160},[40,966,527],{"class":67},[40,968,518],{"class":160},[40,970,550],{"class":67},[40,972,524],{"class":160},[40,974,515],{"class":67},[40,976,518],{"class":160},[40,978,979],{"class":67},"you_bailian_api_key",[40,981,524],{"class":160},[40,983,527],{"class":67},[40,985,518],{"class":160},[40,987,568],{"class":67},[40,989,524],{"class":160},[40,991,515],{"class":67},[40,993,518],{"class":160},[40,995,996],{"class":67},"qwen3-max-preview",[40,998,524],{"class":160},[40,1000,527],{"class":67},[40,1002,518],{"class":160},[40,1004,586],{"class":67},[40,1006,524],{"class":160},[40,1008,515],{"class":67},[40,1010,593],{"class":67},[40,1012,524],{"class":160},[40,1014,598],{"class":67},[40,1016,524],{"class":160},[40,1018,515],{"class":67},[40,1020,605],{"class":160},[40,1022,608],{"class":67},[40,1024,611],{"class":67},[40,1026,524],{"class":160},[40,1028,616],{"class":67},[40,1030,524],{"class":160},[40,1032,515],{"class":67},[40,1034,623],{"class":156},[40,1036,524],{"class":160},[40,1038,996],{"class":67},[40,1040,524],{"class":160},[40,1042,632],{"class":156},[20,1044,1045],{},[1046,1047],"img",{"alt":1048,"src":1049},"MemOS bailian","https://cdn.memt.ai/img/get_key_url_by_bailian_compressed.png",[1051,1052,1054],"div",{"style":1053},"text-align: center; margin-top: 10px","Example of applying for API_KEY and BASE_URL in Bailian",[83,1056,1058],{"id":1057},"configure-dockerfile","Configure Dockerfile",[88,1060,1061],{},[20,1062,1063,1065,1067],{},[93,1064,95],{},[97,1066],{},"\nThe Dockerfile is located in the docker directory.",[48,1069,1071],{"className":50,"code":1070,"language":52,"meta":53,"style":53},"# Enter the docker directory\ncd docker\n",[55,1072,1073,1078],{"__ignoreMap":53},[40,1074,1075],{"class":59,"line":60},[40,1076,1077],{"class":149},"# Enter the docker directory\n",[40,1079,1080,1082],{"class":59,"line":74},[40,1081,78],{"class":77},[40,1083,1084],{"class":67}," docker\n",[20,1086,1087],{},"Includes quick mode and full mode. You can choose to use the lite package (distinguished by arm and x86) or the full package (distinguished by arm and x86).",[48,1089,1091],{"className":50,"code":1090,"language":52,"meta":53,"style":53},"\n● Lite Package: Simplifies large dependencies like nvidia-related ones, effectively making the image lightweight for faster local deployment.\nurl: registry.cn-shanghai.aliyuncs.com/memtensor/memos-base:v1.0\nurl: registry.cn-shanghai.aliyuncs.com/memtensor/memos-base-arm:v1.0\n\n● Full Package: Packaged with all MemOS dependencies into the image, allowing for a full-feature experience. Can be built and started directly by configuring the Dockerfile.\nurl: registry.cn-shanghai.aliyuncs.com/memtensor/memos-full-base:v1.0.0\nurl: registry.cn-shanghai.aliyuncs.com/memtensor/memos-full-base-arm:v1.0.0\n",[55,1092,1093,1097,1153,1161,1168,1172,1246,1253],{"__ignoreMap":53},[40,1094,1095],{"class":59,"line":60},[40,1096,144],{"emptyLinePlaceholder":143},[40,1098,1099,1102,1105,1108,1111,1114,1117,1120,1123,1126,1129,1132,1135,1138,1141,1144,1147,1150],{"class":59,"line":74},[40,1100,1101],{"class":63},"●",[40,1103,1104],{"class":67}," Lite",[40,1106,1107],{"class":67}," Package:",[40,1109,1110],{"class":67}," Simplifies",[40,1112,1113],{"class":67}," large",[40,1115,1116],{"class":67}," dependencies",[40,1118,1119],{"class":67}," like",[40,1121,1122],{"class":67}," nvidia-related",[40,1124,1125],{"class":67}," ones,",[40,1127,1128],{"class":67}," effectively",[40,1130,1131],{"class":67}," making",[40,1133,1134],{"class":67}," the",[40,1136,1137],{"class":67}," image",[40,1139,1140],{"class":67}," lightweight",[40,1142,1143],{"class":67}," for",[40,1145,1146],{"class":67}," faster",[40,1148,1149],{"class":67}," local",[40,1151,1152],{"class":67}," deployment.\n",[40,1154,1155,1158],{"class":59,"line":153},[40,1156,1157],{"class":63},"url:",[40,1159,1160],{"class":67}," registry.cn-shanghai.aliyuncs.com/memtensor/memos-base:v1.0\n",[40,1162,1163,1165],{"class":59,"line":167},[40,1164,1157],{"class":63},[40,1166,1167],{"class":67}," registry.cn-shanghai.aliyuncs.com/memtensor/memos-base-arm:v1.0\n",[40,1169,1170],{"class":59,"line":173},[40,1171,144],{"emptyLinePlaceholder":143},[40,1173,1174,1176,1179,1181,1184,1187,1190,1193,1195,1198,1200,1203,1206,1208,1211,1214,1217,1220,1223,1226,1229,1232,1235,1238,1241,1243],{"class":59,"line":184},[40,1175,1101],{"class":63},[40,1177,1178],{"class":67}," Full",[40,1180,1107],{"class":67},[40,1182,1183],{"class":67}," Packaged",[40,1185,1186],{"class":67}," with",[40,1188,1189],{"class":67}," all",[40,1191,1192],{"class":67}," MemOS",[40,1194,1116],{"class":67},[40,1196,1197],{"class":67}," into",[40,1199,1134],{"class":67},[40,1201,1202],{"class":67}," image,",[40,1204,1205],{"class":67}," allowing",[40,1207,1143],{"class":67},[40,1209,1210],{"class":67}," a",[40,1212,1213],{"class":67}," full-feature",[40,1215,1216],{"class":67}," experience.",[40,1218,1219],{"class":67}," Can",[40,1221,1222],{"class":67}," be",[40,1224,1225],{"class":67}," built",[40,1227,1228],{"class":67}," and",[40,1230,1231],{"class":67}," started",[40,1233,1234],{"class":67}," directly",[40,1236,1237],{"class":67}," by",[40,1239,1240],{"class":67}," configuring",[40,1242,1134],{"class":67},[40,1244,1245],{"class":67}," Dockerfile.\n",[40,1247,1248,1250],{"class":59,"line":190},[40,1249,1157],{"class":63},[40,1251,1252],{"class":67}," registry.cn-shanghai.aliyuncs.com/memtensor/memos-full-base:v1.0.0\n",[40,1254,1255,1257],{"class":59,"line":201},[40,1256,1157],{"class":63},[40,1258,1259],{"class":67}," registry.cn-shanghai.aliyuncs.com/memtensor/memos-full-base-arm:v1.0.0\n",[48,1261,1263],{"className":50,"code":1262,"language":52,"meta":53,"style":53},"# This example uses the lite package url\nFROM registry.cn-shanghai.aliyuncs.com/memtensor/memos-base-arm:v1.0\n\nWORKDIR /app\n\nENV HF_ENDPOINT=https://hf-mirror.com\n\nENV PYTHONPATH=/app/src\n\nCOPY src/ ./src/\n\nEXPOSE 8000\n\nCMD [\"uvicorn\", \"memos.api.server_api:app\", \"--host\", \"0.0.0.0\", \"--port\", \"8000\", \"--reload\"]\n\n",[55,1264,1265,1270,1277,1281,1289,1293,1301,1305,1312,1316,1327,1331,1340,1344],{"__ignoreMap":53},[40,1266,1267],{"class":59,"line":60},[40,1268,1269],{"class":149},"# This example uses the lite package url\n",[40,1271,1272,1275],{"class":59,"line":74},[40,1273,1274],{"class":63},"FROM",[40,1276,1167],{"class":67},[40,1278,1279],{"class":59,"line":153},[40,1280,144],{"emptyLinePlaceholder":143},[40,1282,1283,1286],{"class":59,"line":167},[40,1284,1285],{"class":63},"WORKDIR",[40,1287,1288],{"class":67}," /app\n",[40,1290,1291],{"class":59,"line":173},[40,1292,144],{"emptyLinePlaceholder":143},[40,1294,1295,1298],{"class":59,"line":184},[40,1296,1297],{"class":63},"ENV",[40,1299,1300],{"class":67}," HF_ENDPOINT=https://hf-mirror.com\n",[40,1302,1303],{"class":59,"line":190},[40,1304,144],{"emptyLinePlaceholder":143},[40,1306,1307,1309],{"class":59,"line":201},[40,1308,1297],{"class":63},[40,1310,1311],{"class":67}," PYTHONPATH=/app/src\n",[40,1313,1314],{"class":59,"line":206},[40,1315,144],{"emptyLinePlaceholder":143},[40,1317,1318,1321,1324],{"class":59,"line":212},[40,1319,1320],{"class":63},"COPY",[40,1322,1323],{"class":67}," src/",[40,1325,1326],{"class":67}," ./src/\n",[40,1328,1329],{"class":59,"line":222},[40,1330,144],{"emptyLinePlaceholder":143},[40,1332,1333,1336],{"class":59,"line":228},[40,1334,1335],{"class":63},"EXPOSE",[40,1337,1339],{"class":1338},"sbssI"," 8000\n",[40,1341,1342],{"class":59,"line":238},[40,1343,144],{"emptyLinePlaceholder":143},[40,1345,1346,1349,1351,1353,1356,1358,1361,1363,1366,1368,1370,1372,1375,1377,1379,1381,1384,1386,1388,1390,1393,1395,1397,1399,1402,1404,1406,1408,1411,1413],{"class":59,"line":244},[40,1347,1348],{"class":63},"CMD",[40,1350,623],{"class":156},[40,1352,524],{"class":160},[40,1354,1355],{"class":67},"uvicorn",[40,1357,524],{"class":160},[40,1359,1360],{"class":156},", ",[40,1362,524],{"class":160},[40,1364,1365],{"class":67},"memos.api.server_api:app",[40,1367,524],{"class":160},[40,1369,527],{"class":67},[40,1371,518],{"class":160},[40,1373,1374],{"class":67},"--host",[40,1376,524],{"class":160},[40,1378,527],{"class":67},[40,1380,518],{"class":160},[40,1382,1383],{"class":67},"0.0.0.0",[40,1385,524],{"class":160},[40,1387,527],{"class":67},[40,1389,518],{"class":160},[40,1391,1392],{"class":67},"--port",[40,1394,524],{"class":160},[40,1396,527],{"class":67},[40,1398,518],{"class":160},[40,1400,1401],{"class":67},"8000",[40,1403,524],{"class":160},[40,1405,527],{"class":67},[40,1407,518],{"class":160},[40,1409,1410],{"class":67},"--reload",[40,1412,524],{"class":160},[40,1414,1415],{"class":67},"]\n",[83,1417,1419],{"id":1418},"start-docker-client","Start Docker Client",[48,1421,1423],{"className":50,"code":1422,"language":52,"meta":53,"style":53}," # If Docker is not installed, please install the corresponding version. Download address:\n https://www.docker.com/\n\n#After installation, Docker can be started through the client or through the command line\n#Command line start\nsudo systemctl start docker\n\n# After installation, check docker status\ndocker ps\n\n# Check docker images (optional)\ndocker images\n\n",[55,1424,1425,1430,1435,1439,1444,1449,1462,1466,1471,1479,1483,1488],{"__ignoreMap":53},[40,1426,1427],{"class":59,"line":60},[40,1428,1429],{"class":149}," # If Docker is not installed, please install the corresponding version. Download address:\n",[40,1431,1432],{"class":59,"line":74},[40,1433,1434],{"class":63}," https://www.docker.com/\n",[40,1436,1437],{"class":59,"line":153},[40,1438,144],{"emptyLinePlaceholder":143},[40,1440,1441],{"class":59,"line":167},[40,1442,1443],{"class":149},"#After installation, Docker can be started through the client or through the command line\n",[40,1445,1446],{"class":59,"line":173},[40,1447,1448],{"class":149},"#Command line start\n",[40,1450,1451,1454,1457,1460],{"class":59,"line":184},[40,1452,1453],{"class":63},"sudo",[40,1455,1456],{"class":67}," systemctl",[40,1458,1459],{"class":67}," start",[40,1461,1084],{"class":67},[40,1463,1464],{"class":59,"line":190},[40,1465,144],{"emptyLinePlaceholder":143},[40,1467,1468],{"class":59,"line":201},[40,1469,1470],{"class":149},"# After installation, check docker status\n",[40,1472,1473,1476],{"class":59,"line":206},[40,1474,1475],{"class":63},"docker",[40,1477,1478],{"class":67}," ps\n",[40,1480,1481],{"class":59,"line":212},[40,1482,144],{"emptyLinePlaceholder":143},[40,1484,1485],{"class":59,"line":222},[40,1486,1487],{"class":149},"# Check docker images (optional)\n",[40,1489,1490,1492],{"class":59,"line":228},[40,1491,1475],{"class":63},[40,1493,1494],{"class":67}," images\n",[83,1496,1498],{"id":1497},"build-and-start-service","Build and Start Service:",[88,1500,1501],{},[20,1502,1503,1505,1507],{},[93,1504,95],{},[97,1506],{},"\nThe build command must also be executed in the docker directory.",[48,1509,1511],{"className":50,"code":1510,"language":52,"meta":53,"style":53},"# In the docker directory\ndocker compose up\n",[55,1512,1513,1518],{"__ignoreMap":53},[40,1514,1515],{"class":59,"line":60},[40,1516,1517],{"class":149},"# In the docker directory\n",[40,1519,1520,1522,1525],{"class":59,"line":74},[40,1521,1475],{"class":63},[40,1523,1524],{"class":67}," compose",[40,1526,1527],{"class":67}," up\n",[20,1529,1530],{},[1046,1531],{"alt":1532,"src":1533},"MemOS buildComposeupSuccess","https://cdn.memt.ai/img/memos_build_composeup_success_compressed.png",[1051,1535,1536],{"style":1053},"Example image, port according to custom docker configuration",[83,1538,1540,1541,1547],{"id":1539},"access-the-api-at-httplocalhost8000docs","Access the API at ",[1542,1543,1544],"a",{"href":1544,"rel":1545},"http://localhost:8000/docs",[1546],"nofollow",".",[20,1549,1550],{},[1046,1551],{"alt":1552,"src":1553},"MemOS Architecture","https://cdn.memt.ai/img/memos_run_server_success_compressed.png",[83,1555,1557],{"id":1556},"search-memory","Search Memory",[48,1559,1561],{"className":50,"code":1560,"language":52,"meta":53,"style":53},"curl --location --request POST 'http://127.0.0.1:8000/product/search' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n    \"query\": \"What do I like to eat\",\n     \"user_id\": \"8736b16e-1d20-4163-980b-a5063c3facdc\",\n    \"readable_cube_ids\": [\"b32d0977-435d-4828-a86f-4f47f8b55bca\"],\n    \"top_k\":20\n  }'\n\n# response\n{\n    \"code\": 200,\n    \"message\": \"Search completed successfully\",\n    \"data\": {\n        \"text_mem\": [\n          {\n            \"cube_id\": \"7231eda8-6c57-4f6e-97ce-98b699eebb98\",\n            \"memories\": [\n              {\n                  \"id\": \"2f40be8f-736c-4a5f-aada-9489037769e0\",\n                  \"memory\": \"[user opinion] User likes strawberries.\",\n                  \"metadata\": {\n                      \"user_id\": \"de8215e3-3beb-4afc-9b64-ae594d62f1ea\",\n                      \"session_id\": \"root_session\",\n                      \"status\": \"activated\",\n                      \"type\": \"fact\",\n                      \"key\": \"User's preference for strawberries\",\n                      \"confidence\": 0.99,\n                      \"source\": null,\n                      \"tags\": [\n                          \"preference\",\n                          \"strawberries\"\n                      ],\n                      \"visibility\": null,\n                      \"updated_at\": \"2025-09-18T08:23:44.625479000+00:00\",\n                      \"memory_type\": \"UserMemory\",\n                      \"sources\": [],\n                      \"embedding\": [],\n                      \"created_at\": \"2025-09-18T08:23:44.625511000+00:00\",\n                      \"usage\": [\n                          \"{\n                          \"time\": \"2025-09-18T08:24:17.759748\", \n                          \"info\": {\n                            \"user_id\": \"de8215e3-3beb-4afc-9b64-ae594d62f1ea\", \n                            \"session_id\": \"root_session\"\n                            }\n                          }\"\n                      ],\n                      \"background\": \"User expressed a preference for strawberries, indicating a tendency in dietary preferences.\",\n                      \"relativity\": 0.6349761312470591,\n                      \"vector_sync\": \"success\",\n                      \"ref_id\": \"[2f40be8f]\",\n                      \"id\": \"2f40be8f-736c-4a5f-aada-9489037769e0\",\n                      \"memory\": \"[user opinion] User likes strawberries.\"\n                  },\n                  \"ref_id\": \"[2f40be8f]\"\n              },\n              ...\n            }\n          }\n        ],\n        \"act_mem\": [],\n        \"para_mem\": []\n    }\n}\n",[55,1562,1563,1589,1603,1613,1618,1623,1628,1633,1641,1645,1650,1654,1664,1681,1691,1701,1706,1722,1731,1736,1752,1768,1777,1793,1809,1825,1841,1857,1867,1877,1886,1893,1898,1903,1912,1928,1944,1954,1963,1979,1988,1993,2010,2020,2034,2048,2053,2058,2062,2078,2089,2106,2123,2139,2153,2161,2175,2183,2189,2195,2201,2207,2217,2228,2234],{"__ignoreMap":53},[40,1564,1565,1568,1571,1574,1577,1580,1583,1586],{"class":59,"line":60},[40,1566,1567],{"class":63},"curl",[40,1569,1570],{"class":67}," --location",[40,1572,1573],{"class":67}," --request",[40,1575,1576],{"class":67}," POST",[40,1578,1579],{"class":160}," '",[40,1581,1582],{"class":67},"http://127.0.0.1:8000/product/search",[40,1584,1585],{"class":160},"'",[40,1587,1588],{"class":156}," \\\n",[40,1590,1591,1594,1596,1599,1601],{"class":59,"line":74},[40,1592,1593],{"class":156},"--header ",[40,1595,1585],{"class":160},[40,1597,1598],{"class":67},"Content-Type: application/json",[40,1600,1585],{"class":160},[40,1602,1588],{"class":156},[40,1604,1605,1608,1610],{"class":59,"line":153},[40,1606,1607],{"class":156},"--data-raw ",[40,1609,1585],{"class":160},[40,1611,1612],{"class":67},"{\n",[40,1614,1615],{"class":59,"line":167},[40,1616,1617],{"class":67},"    \"query\": \"What do I like to eat\",\n",[40,1619,1620],{"class":59,"line":173},[40,1621,1622],{"class":67},"     \"user_id\": \"8736b16e-1d20-4163-980b-a5063c3facdc\",\n",[40,1624,1625],{"class":59,"line":184},[40,1626,1627],{"class":67},"    \"readable_cube_ids\": [\"b32d0977-435d-4828-a86f-4f47f8b55bca\"],\n",[40,1629,1630],{"class":59,"line":190},[40,1631,1632],{"class":67},"    \"top_k\":20\n",[40,1634,1635,1638],{"class":59,"line":201},[40,1636,1637],{"class":67},"  }",[40,1639,1640],{"class":160},"'\n",[40,1642,1643],{"class":59,"line":206},[40,1644,144],{"emptyLinePlaceholder":143},[40,1646,1647],{"class":59,"line":212},[40,1648,1649],{"class":149},"# response\n",[40,1651,1652],{"class":59,"line":222},[40,1653,1612],{"class":160},[40,1655,1656,1659,1661],{"class":59,"line":228},[40,1657,1658],{"class":63},"    \"code\"",[40,1660,515],{"class":77},[40,1662,1663],{"class":67}," 200,\n",[40,1665,1666,1669,1671,1673,1676,1678],{"class":59,"line":238},[40,1667,1668],{"class":63},"    \"message\"",[40,1670,515],{"class":77},[40,1672,518],{"class":160},[40,1674,1675],{"class":67},"Search completed successfully",[40,1677,524],{"class":160},[40,1679,1680],{"class":67},",\n",[40,1682,1683,1686,1688],{"class":59,"line":244},[40,1684,1685],{"class":63},"    \"data\"",[40,1687,515],{"class":77},[40,1689,1690],{"class":67}," {\n",[40,1692,1693,1696,1698],{"class":59,"line":254},[40,1694,1695],{"class":63},"        \"text_mem\"",[40,1697,515],{"class":77},[40,1699,1700],{"class":156}," [\n",[40,1702,1703],{"class":59,"line":259},[40,1704,1705],{"class":160},"          {\n",[40,1707,1708,1711,1713,1715,1718,1720],{"class":59,"line":265},[40,1709,1710],{"class":63},"            \"cube_id\"",[40,1712,515],{"class":77},[40,1714,518],{"class":160},[40,1716,1717],{"class":67},"7231eda8-6c57-4f6e-97ce-98b699eebb98",[40,1719,524],{"class":160},[40,1721,1680],{"class":67},[40,1723,1724,1727,1729],{"class":59,"line":276},[40,1725,1726],{"class":63},"            \"memories\"",[40,1728,515],{"class":77},[40,1730,1700],{"class":156},[40,1732,1733],{"class":59,"line":282},[40,1734,1735],{"class":160},"              {\n",[40,1737,1738,1741,1743,1745,1748,1750],{"class":59,"line":293},[40,1739,1740],{"class":63},"                  \"id\"",[40,1742,515],{"class":77},[40,1744,518],{"class":160},[40,1746,1747],{"class":67},"2f40be8f-736c-4a5f-aada-9489037769e0",[40,1749,524],{"class":160},[40,1751,1680],{"class":67},[40,1753,1754,1757,1759,1761,1764,1766],{"class":59,"line":299},[40,1755,1756],{"class":63},"                  \"memory\"",[40,1758,515],{"class":77},[40,1760,518],{"class":160},[40,1762,1763],{"class":67},"[user opinion] User likes strawberries.",[40,1765,524],{"class":160},[40,1767,1680],{"class":67},[40,1769,1770,1773,1775],{"class":59,"line":310},[40,1771,1772],{"class":63},"                  \"metadata\"",[40,1774,515],{"class":77},[40,1776,1690],{"class":67},[40,1778,1779,1782,1784,1786,1789,1791],{"class":59,"line":316},[40,1780,1781],{"class":63},"                      \"user_id\"",[40,1783,515],{"class":77},[40,1785,518],{"class":160},[40,1787,1788],{"class":67},"de8215e3-3beb-4afc-9b64-ae594d62f1ea",[40,1790,524],{"class":160},[40,1792,1680],{"class":67},[40,1794,1795,1798,1800,1802,1805,1807],{"class":59,"line":327},[40,1796,1797],{"class":63},"                      \"session_id\"",[40,1799,515],{"class":77},[40,1801,518],{"class":160},[40,1803,1804],{"class":67},"root_session",[40,1806,524],{"class":160},[40,1808,1680],{"class":67},[40,1810,1811,1814,1816,1818,1821,1823],{"class":59,"line":333},[40,1812,1813],{"class":63},"                      \"status\"",[40,1815,515],{"class":77},[40,1817,518],{"class":160},[40,1819,1820],{"class":67},"activated",[40,1822,524],{"class":160},[40,1824,1680],{"class":67},[40,1826,1827,1830,1832,1834,1837,1839],{"class":59,"line":344},[40,1828,1829],{"class":63},"                      \"type\"",[40,1831,515],{"class":77},[40,1833,518],{"class":160},[40,1835,1836],{"class":67},"fact",[40,1838,524],{"class":160},[40,1840,1680],{"class":67},[40,1842,1843,1846,1848,1850,1853,1855],{"class":59,"line":350},[40,1844,1845],{"class":63},"                      \"key\"",[40,1847,515],{"class":77},[40,1849,518],{"class":160},[40,1851,1852],{"class":67},"User's preference for strawberries",[40,1854,524],{"class":160},[40,1856,1680],{"class":67},[40,1858,1859,1862,1864],{"class":59,"line":361},[40,1860,1861],{"class":63},"                      \"confidence\"",[40,1863,515],{"class":77},[40,1865,1866],{"class":67}," 0.99,\n",[40,1868,1869,1872,1874],{"class":59,"line":366},[40,1870,1871],{"class":63},"                      \"source\"",[40,1873,515],{"class":77},[40,1875,1876],{"class":67}," null,\n",[40,1878,1879,1882,1884],{"class":59,"line":372},[40,1880,1881],{"class":63},"                      \"tags\"",[40,1883,515],{"class":77},[40,1885,1700],{"class":156},[40,1887,1888,1891],{"class":59,"line":378},[40,1889,1890],{"class":63},"                          \"preference\"",[40,1892,1680],{"class":63},[40,1894,1895],{"class":59,"line":389},[40,1896,1897],{"class":63},"                          \"strawberries\"\n",[40,1899,1900],{"class":59,"line":395},[40,1901,1902],{"class":156},"                      ],\n",[40,1904,1905,1908,1910],{"class":59,"line":406},[40,1906,1907],{"class":63},"                      \"visibility\"",[40,1909,515],{"class":77},[40,1911,1876],{"class":67},[40,1913,1914,1917,1919,1921,1924,1926],{"class":59,"line":417},[40,1915,1916],{"class":63},"                      \"updated_at\"",[40,1918,515],{"class":77},[40,1920,518],{"class":160},[40,1922,1923],{"class":67},"2025-09-18T08:23:44.625479000+00:00",[40,1925,524],{"class":160},[40,1927,1680],{"class":67},[40,1929,1930,1933,1935,1937,1940,1942],{"class":59,"line":428},[40,1931,1932],{"class":63},"                      \"memory_type\"",[40,1934,515],{"class":77},[40,1936,518],{"class":160},[40,1938,1939],{"class":67},"UserMemory",[40,1941,524],{"class":160},[40,1943,1680],{"class":67},[40,1945,1946,1949,1951],{"class":59,"line":438},[40,1947,1948],{"class":63},"                      \"sources\"",[40,1950,515],{"class":77},[40,1952,1953],{"class":156}," [],\n",[40,1955,1956,1959,1961],{"class":59,"line":449},[40,1957,1958],{"class":63},"                      \"embedding\"",[40,1960,515],{"class":77},[40,1962,1953],{"class":156},[40,1964,1965,1968,1970,1972,1975,1977],{"class":59,"line":454},[40,1966,1967],{"class":63},"                      \"created_at\"",[40,1969,515],{"class":77},[40,1971,518],{"class":160},[40,1973,1974],{"class":67},"2025-09-18T08:23:44.625511000+00:00",[40,1976,524],{"class":160},[40,1978,1680],{"class":67},[40,1980,1981,1984,1986],{"class":59,"line":460},[40,1982,1983],{"class":63},"                      \"usage\"",[40,1985,515],{"class":77},[40,1987,1700],{"class":156},[40,1989,1990],{"class":59,"line":470},[40,1991,1992],{"class":63},"                          \"{\n",[40,1994,1995,1998,2001,2004,2007],{"class":59,"line":475},[40,1996,1997],{"class":63},"                          \"",[40,1999,2000],{"class":63},"time",[40,2002,2003],{"class":63},"\": \"",[40,2005,2006],{"class":63},"2025-09-18T08:24:17.759748",[40,2008,2009],{"class":63},"\", \n",[40,2011,2012,2014,2017],{"class":59,"line":481},[40,2013,1997],{"class":63},[40,2015,2016],{"class":63},"info",[40,2018,2019],{"class":63},"\": {\n",[40,2021,2022,2025,2028,2030,2032],{"class":59,"line":492},[40,2023,2024],{"class":63},"                            \"",[40,2026,2027],{"class":63},"user_id",[40,2029,2003],{"class":63},[40,2031,1788],{"class":63},[40,2033,2009],{"class":63},[40,2035,2036,2038,2041,2043,2045],{"class":59,"line":498},[40,2037,2024],{"class":63},[40,2039,2040],{"class":63},"session_id",[40,2042,2003],{"class":63},[40,2044,1804],{"class":63},[40,2046,2047],{"class":63},"\"\n",[40,2049,2050],{"class":59,"line":910},[40,2051,2052],{"class":63},"                            }\n",[40,2054,2055],{"class":59,"line":915},[40,2056,2057],{"class":63},"                          }\"\n",[40,2059,2060],{"class":59,"line":924},[40,2061,1902],{"class":156},[40,2063,2064,2067,2069,2071,2074,2076],{"class":59,"line":929},[40,2065,2066],{"class":63},"                      \"background\"",[40,2068,515],{"class":77},[40,2070,518],{"class":160},[40,2072,2073],{"class":67},"User expressed a preference for strawberries, indicating a tendency in dietary preferences.",[40,2075,524],{"class":160},[40,2077,1680],{"class":67},[40,2079,2081,2084,2086],{"class":59,"line":2080},50,[40,2082,2083],{"class":63},"                      \"relativity\"",[40,2085,515],{"class":77},[40,2087,2088],{"class":67}," 0.6349761312470591,\n",[40,2090,2092,2095,2097,2099,2102,2104],{"class":59,"line":2091},51,[40,2093,2094],{"class":63},"                      \"vector_sync\"",[40,2096,515],{"class":77},[40,2098,518],{"class":160},[40,2100,2101],{"class":67},"success",[40,2103,524],{"class":160},[40,2105,1680],{"class":67},[40,2107,2109,2112,2114,2116,2119,2121],{"class":59,"line":2108},52,[40,2110,2111],{"class":63},"                      \"ref_id\"",[40,2113,515],{"class":77},[40,2115,518],{"class":160},[40,2117,2118],{"class":67},"[2f40be8f]",[40,2120,524],{"class":160},[40,2122,1680],{"class":67},[40,2124,2126,2129,2131,2133,2135,2137],{"class":59,"line":2125},53,[40,2127,2128],{"class":63},"                      \"id\"",[40,2130,515],{"class":77},[40,2132,518],{"class":160},[40,2134,1747],{"class":67},[40,2136,524],{"class":160},[40,2138,1680],{"class":67},[40,2140,2142,2145,2147,2149,2151],{"class":59,"line":2141},54,[40,2143,2144],{"class":63},"                      \"memory\"",[40,2146,515],{"class":77},[40,2148,518],{"class":160},[40,2150,1763],{"class":67},[40,2152,2047],{"class":160},[40,2154,2156,2159],{"class":59,"line":2155},55,[40,2157,2158],{"class":160},"                  }",[40,2160,1680],{"class":156},[40,2162,2164,2167,2169,2171,2173],{"class":59,"line":2163},56,[40,2165,2166],{"class":63},"                  \"ref_id\"",[40,2168,515],{"class":77},[40,2170,518],{"class":160},[40,2172,2118],{"class":67},[40,2174,2047],{"class":160},[40,2176,2178,2181],{"class":59,"line":2177},57,[40,2179,2180],{"class":160},"              }",[40,2182,1680],{"class":156},[40,2184,2186],{"class":59,"line":2185},58,[40,2187,2188],{"class":77},"              ...\n",[40,2190,2192],{"class":59,"line":2191},59,[40,2193,2194],{"class":160},"            }\n",[40,2196,2198],{"class":59,"line":2197},60,[40,2199,2200],{"class":156},"          }\n",[40,2202,2204],{"class":59,"line":2203},61,[40,2205,2206],{"class":156},"        ],\n",[40,2208,2210,2213,2215],{"class":59,"line":2209},62,[40,2211,2212],{"class":63},"        \"act_mem\"",[40,2214,515],{"class":77},[40,2216,1953],{"class":156},[40,2218,2220,2223,2225],{"class":59,"line":2219},63,[40,2221,2222],{"class":63},"        \"para_mem\"",[40,2224,515],{"class":77},[40,2226,2227],{"class":156}," []\n",[40,2229,2231],{"class":59,"line":2230},64,[40,2232,2233],{"class":156},"    }\n",[40,2235,2237],{"class":59,"line":2236},65,[40,2238,2239],{"class":156},"}\n",[40,2241],{"id":2242},"from-source",[44,2244,26],{"id":2245},"install-from-source",[48,2247,2248],{"className":50,"code":51,"language":52,"meta":53,"style":53},[55,2249,2250,2258],{"__ignoreMap":53},[40,2251,2252,2254,2256],{"class":59,"line":60},[40,2253,64],{"class":63},[40,2255,68],{"class":67},[40,2257,71],{"class":67},[40,2259,2260,2262],{"class":59,"line":74},[40,2261,78],{"class":77},[40,2263,81],{"class":67},[83,2265,86],{"id":2266},"create-env-configuration-file-1",[20,2268,2269],{},"The MemOS server_api relies on environment variables to start, so you need to create a .env file in the startup directory.",[2271,2272,2273],"ol",{},[2274,2275,2276],"li",{},"Create .env file",[48,2278,2279],{"className":50,"code":110,"language":52,"meta":53,"style":53},[55,2280,2281,2287],{"__ignoreMap":53},[40,2282,2283,2285],{"class":59,"line":60},[40,2284,78],{"class":77},[40,2286,81],{"class":67},[40,2288,2289,2291],{"class":59,"line":74},[40,2290,123],{"class":63},[40,2292,126],{"class":67},[2271,2294,2295],{"start":74},[2274,2296,2297,2298,2301,2302],{},".env contents\nPlease refer to the Docker installation for quick configuration",[1542,2299,2300],{"href":18},"env configuration","\nFor detailed .env configuration, please refer to ",[1542,2303,2300],{"href":2304},"/open_source/getting_started/rest_api_server/#local-deployment",[88,2306,2307],{},[20,2308,2309,2311,99],{},[93,2310,95],{},[97,2312],{},[83,2314,2316],{"id":2315},"install-dependencies","Install Dependencies",[48,2318,2320],{"className":50,"code":2319,"language":52,"meta":53,"style":53},"# Execute the installation command\npip install -e .\npip install --no-cache-dir -r ./docker/requirements.txt\n# Configure PYTHONPATH to the absolute directory of the current project file src\nexport PYTHONPATH=/******/MemOS/src\n",[55,2321,2322,2327,2341,2356,2361],{"__ignoreMap":53},[40,2323,2324],{"class":59,"line":60},[40,2325,2326],{"class":149},"# Execute the installation command\n",[40,2328,2329,2332,2335,2338],{"class":59,"line":74},[40,2330,2331],{"class":63},"pip",[40,2333,2334],{"class":67}," install",[40,2336,2337],{"class":67}," -e",[40,2339,2340],{"class":67}," .\n",[40,2342,2343,2345,2347,2350,2353],{"class":59,"line":153},[40,2344,2331],{"class":63},[40,2346,2334],{"class":67},[40,2348,2349],{"class":67}," --no-cache-dir",[40,2351,2352],{"class":67}," -r",[40,2354,2355],{"class":67}," ./docker/requirements.txt\n",[40,2357,2358],{"class":59,"line":167},[40,2359,2360],{"class":149},"# Configure PYTHONPATH to the absolute directory of the current project file src\n",[40,2362,2363,2367,2370,2372,2375,2378],{"class":59,"line":173},[40,2364,2366],{"class":2365},"spNyl","export",[40,2368,2369],{"class":156}," PYTHONPATH",[40,2371,161],{"class":160},[40,2373,2374],{"class":156},"/",[40,2376,2377],{"class":160},"******",[40,2379,2380],{"class":156},"/MemOS/src\n",[83,2382,2384],{"id":2383},"neo4j-support","Neo4j Support",[88,2386,2387],{},[20,2388,2389,2392,2394,2395,2397,2398,2401],{},[93,2390,2391],{},"Neo4j Desktop Requirement",[97,2393],{},"If you plan to use Neo4j for graph memory, please install Neo4j Desktop.",[97,2396],{},"\nAdditionally, you need to set ",[93,2399,2400],{},"NEO4J_BACKEND=neo4j"," in .env file",[83,2403,2405],{"id":2404},"start-memos-server","Start MemOS Server",[48,2407,2409],{"className":50,"code":2408,"language":52,"meta":53,"style":53},"# project root directory\nuvicorn memos.api.server_api:app --host 0.0.0.0 --port 8000 --workers 1\n",[55,2410,2411,2416],{"__ignoreMap":53},[40,2412,2413],{"class":59,"line":60},[40,2414,2415],{"class":149},"# project root directory\n",[40,2417,2418,2420,2423,2426,2429,2432,2435,2438],{"class":59,"line":74},[40,2419,1355],{"class":63},[40,2421,2422],{"class":67}," memos.api.server_api:app",[40,2424,2425],{"class":67}," --host",[40,2427,2428],{"class":1338}," 0.0.0.0",[40,2430,2431],{"class":67}," --port",[40,2433,2434],{"class":1338}," 8000",[40,2436,2437],{"class":67}," --workers",[40,2439,2440],{"class":1338}," 1\n",[83,2442,2444],{"id":2443},"add-memory","Add Memory",[48,2446,2448],{"className":50,"code":2447,"language":52,"meta":53,"style":53},"curl --location --request POST 'http://127.0.0.1:8000/product/add' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n\n    \"messages\": [{\n    \"role\": \"user\",\n    \"content\": \"I like eating strawberries\"\n  }],\n    \"user_id\": \"8736b16e-1d20-4163-980b-a5063c3facdc\",\n    \"writable_cube_ids\":[\"b32d0977-435d-4828-a86f-4f47f8b55bca\"]\n}'\n\n# response\n{\n    \"code\": 200,\n    \"message\": \"Memory created successfully\",\n    \"data\": null\n}\n",[55,2449,2450,2469,2481,2489,2493,2498,2503,2508,2513,2518,2523,2529,2533,2537,2541,2549,2564,2573],{"__ignoreMap":53},[40,2451,2452,2454,2456,2458,2460,2462,2465,2467],{"class":59,"line":60},[40,2453,1567],{"class":63},[40,2455,1570],{"class":67},[40,2457,1573],{"class":67},[40,2459,1576],{"class":67},[40,2461,1579],{"class":160},[40,2463,2464],{"class":67},"http://127.0.0.1:8000/product/add",[40,2466,1585],{"class":160},[40,2468,1588],{"class":156},[40,2470,2471,2473,2475,2477,2479],{"class":59,"line":74},[40,2472,1593],{"class":156},[40,2474,1585],{"class":160},[40,2476,1598],{"class":67},[40,2478,1585],{"class":160},[40,2480,1588],{"class":156},[40,2482,2483,2485,2487],{"class":59,"line":153},[40,2484,1607],{"class":156},[40,2486,1585],{"class":160},[40,2488,1612],{"class":67},[40,2490,2491],{"class":59,"line":167},[40,2492,144],{"emptyLinePlaceholder":143},[40,2494,2495],{"class":59,"line":173},[40,2496,2497],{"class":67},"    \"messages\": [{\n",[40,2499,2500],{"class":59,"line":184},[40,2501,2502],{"class":67},"    \"role\": \"user\",\n",[40,2504,2505],{"class":59,"line":190},[40,2506,2507],{"class":67},"    \"content\": \"I like eating strawberries\"\n",[40,2509,2510],{"class":59,"line":201},[40,2511,2512],{"class":67},"  }],\n",[40,2514,2515],{"class":59,"line":206},[40,2516,2517],{"class":67},"    \"user_id\": \"8736b16e-1d20-4163-980b-a5063c3facdc\",\n",[40,2519,2520],{"class":59,"line":212},[40,2521,2522],{"class":67},"    \"writable_cube_ids\":[\"b32d0977-435d-4828-a86f-4f47f8b55bca\"]\n",[40,2524,2525,2527],{"class":59,"line":222},[40,2526,608],{"class":67},[40,2528,1640],{"class":160},[40,2530,2531],{"class":59,"line":228},[40,2532,144],{"emptyLinePlaceholder":143},[40,2534,2535],{"class":59,"line":238},[40,2536,1649],{"class":149},[40,2538,2539],{"class":59,"line":244},[40,2540,1612],{"class":160},[40,2542,2543,2545,2547],{"class":59,"line":254},[40,2544,1658],{"class":63},[40,2546,515],{"class":77},[40,2548,1663],{"class":67},[40,2550,2551,2553,2555,2557,2560,2562],{"class":59,"line":259},[40,2552,1668],{"class":63},[40,2554,515],{"class":77},[40,2556,518],{"class":160},[40,2558,2559],{"class":67},"Memory created successfully",[40,2561,524],{"class":160},[40,2563,1680],{"class":67},[40,2565,2566,2568,2570],{"class":59,"line":265},[40,2567,1685],{"class":63},[40,2569,515],{"class":77},[40,2571,2572],{"class":67}," null\n",[40,2574,2575],{"class":59,"line":276},[40,2576,2239],{"class":160},[83,2578,1557],{"id":2579},"search-memory-1",[48,2581,2582],{"className":50,"code":1560,"language":52,"meta":53,"style":53},[55,2583,2584,2602,2614,2622,2626,2630,2634,2638,2644,2648,2652,2656,2664,2678,2686,2694,2698,2712,2720,2724,2738,2752,2760,2774,2788,2802,2816,2830,2838,2846,2854,2860,2864,2868,2876,2890,2904,2912,2920,2934,2942,2946,2958,2966,2978,2990,2994,2998,3002,3016,3024,3038,3052,3066,3078,3084,3096,3102,3106,3110,3114,3118,3126,3134,3138],{"__ignoreMap":53},[40,2585,2586,2588,2590,2592,2594,2596,2598,2600],{"class":59,"line":60},[40,2587,1567],{"class":63},[40,2589,1570],{"class":67},[40,2591,1573],{"class":67},[40,2593,1576],{"class":67},[40,2595,1579],{"class":160},[40,2597,1582],{"class":67},[40,2599,1585],{"class":160},[40,2601,1588],{"class":156},[40,2603,2604,2606,2608,2610,2612],{"class":59,"line":74},[40,2605,1593],{"class":156},[40,2607,1585],{"class":160},[40,2609,1598],{"class":67},[40,2611,1585],{"class":160},[40,2613,1588],{"class":156},[40,2615,2616,2618,2620],{"class":59,"line":153},[40,2617,1607],{"class":156},[40,2619,1585],{"class":160},[40,2621,1612],{"class":67},[40,2623,2624],{"class":59,"line":167},[40,2625,1617],{"class":67},[40,2627,2628],{"class":59,"line":173},[40,2629,1622],{"class":67},[40,2631,2632],{"class":59,"line":184},[40,2633,1627],{"class":67},[40,2635,2636],{"class":59,"line":190},[40,2637,1632],{"class":67},[40,2639,2640,2642],{"class":59,"line":201},[40,2641,1637],{"class":67},[40,2643,1640],{"class":160},[40,2645,2646],{"class":59,"line":206},[40,2647,144],{"emptyLinePlaceholder":143},[40,2649,2650],{"class":59,"line":212},[40,2651,1649],{"class":149},[40,2653,2654],{"class":59,"line":222},[40,2655,1612],{"class":160},[40,2657,2658,2660,2662],{"class":59,"line":228},[40,2659,1658],{"class":63},[40,2661,515],{"class":77},[40,2663,1663],{"class":67},[40,2665,2666,2668,2670,2672,2674,2676],{"class":59,"line":238},[40,2667,1668],{"class":63},[40,2669,515],{"class":77},[40,2671,518],{"class":160},[40,2673,1675],{"class":67},[40,2675,524],{"class":160},[40,2677,1680],{"class":67},[40,2679,2680,2682,2684],{"class":59,"line":244},[40,2681,1685],{"class":63},[40,2683,515],{"class":77},[40,2685,1690],{"class":67},[40,2687,2688,2690,2692],{"class":59,"line":254},[40,2689,1695],{"class":63},[40,2691,515],{"class":77},[40,2693,1700],{"class":156},[40,2695,2696],{"class":59,"line":259},[40,2697,1705],{"class":160},[40,2699,2700,2702,2704,2706,2708,2710],{"class":59,"line":265},[40,2701,1710],{"class":63},[40,2703,515],{"class":77},[40,2705,518],{"class":160},[40,2707,1717],{"class":67},[40,2709,524],{"class":160},[40,2711,1680],{"class":67},[40,2713,2714,2716,2718],{"class":59,"line":276},[40,2715,1726],{"class":63},[40,2717,515],{"class":77},[40,2719,1700],{"class":156},[40,2721,2722],{"class":59,"line":282},[40,2723,1735],{"class":160},[40,2725,2726,2728,2730,2732,2734,2736],{"class":59,"line":293},[40,2727,1740],{"class":63},[40,2729,515],{"class":77},[40,2731,518],{"class":160},[40,2733,1747],{"class":67},[40,2735,524],{"class":160},[40,2737,1680],{"class":67},[40,2739,2740,2742,2744,2746,2748,2750],{"class":59,"line":299},[40,2741,1756],{"class":63},[40,2743,515],{"class":77},[40,2745,518],{"class":160},[40,2747,1763],{"class":67},[40,2749,524],{"class":160},[40,2751,1680],{"class":67},[40,2753,2754,2756,2758],{"class":59,"line":310},[40,2755,1772],{"class":63},[40,2757,515],{"class":77},[40,2759,1690],{"class":67},[40,2761,2762,2764,2766,2768,2770,2772],{"class":59,"line":316},[40,2763,1781],{"class":63},[40,2765,515],{"class":77},[40,2767,518],{"class":160},[40,2769,1788],{"class":67},[40,2771,524],{"class":160},[40,2773,1680],{"class":67},[40,2775,2776,2778,2780,2782,2784,2786],{"class":59,"line":327},[40,2777,1797],{"class":63},[40,2779,515],{"class":77},[40,2781,518],{"class":160},[40,2783,1804],{"class":67},[40,2785,524],{"class":160},[40,2787,1680],{"class":67},[40,2789,2790,2792,2794,2796,2798,2800],{"class":59,"line":333},[40,2791,1813],{"class":63},[40,2793,515],{"class":77},[40,2795,518],{"class":160},[40,2797,1820],{"class":67},[40,2799,524],{"class":160},[40,2801,1680],{"class":67},[40,2803,2804,2806,2808,2810,2812,2814],{"class":59,"line":344},[40,2805,1829],{"class":63},[40,2807,515],{"class":77},[40,2809,518],{"class":160},[40,2811,1836],{"class":67},[40,2813,524],{"class":160},[40,2815,1680],{"class":67},[40,2817,2818,2820,2822,2824,2826,2828],{"class":59,"line":350},[40,2819,1845],{"class":63},[40,2821,515],{"class":77},[40,2823,518],{"class":160},[40,2825,1852],{"class":67},[40,2827,524],{"class":160},[40,2829,1680],{"class":67},[40,2831,2832,2834,2836],{"class":59,"line":361},[40,2833,1861],{"class":63},[40,2835,515],{"class":77},[40,2837,1866],{"class":67},[40,2839,2840,2842,2844],{"class":59,"line":366},[40,2841,1871],{"class":63},[40,2843,515],{"class":77},[40,2845,1876],{"class":67},[40,2847,2848,2850,2852],{"class":59,"line":372},[40,2849,1881],{"class":63},[40,2851,515],{"class":77},[40,2853,1700],{"class":156},[40,2855,2856,2858],{"class":59,"line":378},[40,2857,1890],{"class":63},[40,2859,1680],{"class":63},[40,2861,2862],{"class":59,"line":389},[40,2863,1897],{"class":63},[40,2865,2866],{"class":59,"line":395},[40,2867,1902],{"class":156},[40,2869,2870,2872,2874],{"class":59,"line":406},[40,2871,1907],{"class":63},[40,2873,515],{"class":77},[40,2875,1876],{"class":67},[40,2877,2878,2880,2882,2884,2886,2888],{"class":59,"line":417},[40,2879,1916],{"class":63},[40,2881,515],{"class":77},[40,2883,518],{"class":160},[40,2885,1923],{"class":67},[40,2887,524],{"class":160},[40,2889,1680],{"class":67},[40,2891,2892,2894,2896,2898,2900,2902],{"class":59,"line":428},[40,2893,1932],{"class":63},[40,2895,515],{"class":77},[40,2897,518],{"class":160},[40,2899,1939],{"class":67},[40,2901,524],{"class":160},[40,2903,1680],{"class":67},[40,2905,2906,2908,2910],{"class":59,"line":438},[40,2907,1948],{"class":63},[40,2909,515],{"class":77},[40,2911,1953],{"class":156},[40,2913,2914,2916,2918],{"class":59,"line":449},[40,2915,1958],{"class":63},[40,2917,515],{"class":77},[40,2919,1953],{"class":156},[40,2921,2922,2924,2926,2928,2930,2932],{"class":59,"line":454},[40,2923,1967],{"class":63},[40,2925,515],{"class":77},[40,2927,518],{"class":160},[40,2929,1974],{"class":67},[40,2931,524],{"class":160},[40,2933,1680],{"class":67},[40,2935,2936,2938,2940],{"class":59,"line":460},[40,2937,1983],{"class":63},[40,2939,515],{"class":77},[40,2941,1700],{"class":156},[40,2943,2944],{"class":59,"line":470},[40,2945,1992],{"class":63},[40,2947,2948,2950,2952,2954,2956],{"class":59,"line":475},[40,2949,1997],{"class":63},[40,2951,2000],{"class":63},[40,2953,2003],{"class":63},[40,2955,2006],{"class":63},[40,2957,2009],{"class":63},[40,2959,2960,2962,2964],{"class":59,"line":481},[40,2961,1997],{"class":63},[40,2963,2016],{"class":63},[40,2965,2019],{"class":63},[40,2967,2968,2970,2972,2974,2976],{"class":59,"line":492},[40,2969,2024],{"class":63},[40,2971,2027],{"class":63},[40,2973,2003],{"class":63},[40,2975,1788],{"class":63},[40,2977,2009],{"class":63},[40,2979,2980,2982,2984,2986,2988],{"class":59,"line":498},[40,2981,2024],{"class":63},[40,2983,2040],{"class":63},[40,2985,2003],{"class":63},[40,2987,1804],{"class":63},[40,2989,2047],{"class":63},[40,2991,2992],{"class":59,"line":910},[40,2993,2052],{"class":63},[40,2995,2996],{"class":59,"line":915},[40,2997,2057],{"class":63},[40,2999,3000],{"class":59,"line":924},[40,3001,1902],{"class":156},[40,3003,3004,3006,3008,3010,3012,3014],{"class":59,"line":929},[40,3005,2066],{"class":63},[40,3007,515],{"class":77},[40,3009,518],{"class":160},[40,3011,2073],{"class":67},[40,3013,524],{"class":160},[40,3015,1680],{"class":67},[40,3017,3018,3020,3022],{"class":59,"line":2080},[40,3019,2083],{"class":63},[40,3021,515],{"class":77},[40,3023,2088],{"class":67},[40,3025,3026,3028,3030,3032,3034,3036],{"class":59,"line":2091},[40,3027,2094],{"class":63},[40,3029,515],{"class":77},[40,3031,518],{"class":160},[40,3033,2101],{"class":67},[40,3035,524],{"class":160},[40,3037,1680],{"class":67},[40,3039,3040,3042,3044,3046,3048,3050],{"class":59,"line":2108},[40,3041,2111],{"class":63},[40,3043,515],{"class":77},[40,3045,518],{"class":160},[40,3047,2118],{"class":67},[40,3049,524],{"class":160},[40,3051,1680],{"class":67},[40,3053,3054,3056,3058,3060,3062,3064],{"class":59,"line":2125},[40,3055,2128],{"class":63},[40,3057,515],{"class":77},[40,3059,518],{"class":160},[40,3061,1747],{"class":67},[40,3063,524],{"class":160},[40,3065,1680],{"class":67},[40,3067,3068,3070,3072,3074,3076],{"class":59,"line":2141},[40,3069,2144],{"class":63},[40,3071,515],{"class":77},[40,3073,518],{"class":160},[40,3075,1763],{"class":67},[40,3077,2047],{"class":160},[40,3079,3080,3082],{"class":59,"line":2155},[40,3081,2158],{"class":160},[40,3083,1680],{"class":156},[40,3085,3086,3088,3090,3092,3094],{"class":59,"line":2163},[40,3087,2166],{"class":63},[40,3089,515],{"class":77},[40,3091,518],{"class":160},[40,3093,2118],{"class":67},[40,3095,2047],{"class":160},[40,3097,3098,3100],{"class":59,"line":2177},[40,3099,2180],{"class":160},[40,3101,1680],{"class":156},[40,3103,3104],{"class":59,"line":2185},[40,3105,2188],{"class":77},[40,3107,3108],{"class":59,"line":2191},[40,3109,2194],{"class":160},[40,3111,3112],{"class":59,"line":2197},[40,3113,2200],{"class":156},[40,3115,3116],{"class":59,"line":2203},[40,3117,2206],{"class":156},[40,3119,3120,3122,3124],{"class":59,"line":2209},[40,3121,2212],{"class":63},[40,3123,515],{"class":77},[40,3125,1953],{"class":156},[40,3127,3128,3130,3132],{"class":59,"line":2219},[40,3129,2222],{"class":63},[40,3131,515],{"class":77},[40,3133,2227],{"class":156},[40,3135,3136],{"class":59,"line":2230},[40,3137,2233],{"class":156},[40,3139,3140],{"class":59,"line":2236},[40,3141,2239],{"class":156},[40,3143],{"id":3144},"from-pip",[44,3146,34],{"id":3147},"install-via-pip",[20,3149,3150],{},"The simplest way to install MemOS is using pip.",[101,3152,3153,3157,3160,3195,3199,3202,3223,3226,3246,3352,3355,3357,3361,3372,3377,3385,3394,3401,3404,3407,3455,3458,3464],{"level":103},[83,3154,3156],{"id":3155},"create-and-activate-conda-environment-recommended","Create and Activate Conda Environment (Recommended)",[20,3158,3159],{},"To avoid dependency conflicts, it is strongly recommended to use a dedicated Conda environment.",[48,3161,3163],{"className":50,"code":3162,"language":52,"meta":53,"style":53},"conda create -n memos python=3.11\nconda activate memos\n",[55,3164,3165,3185],{"__ignoreMap":53},[40,3166,3167,3170,3173,3176,3179,3182],{"class":59,"line":60},[40,3168,3169],{"class":63},"conda",[40,3171,3172],{"class":67}," create",[40,3174,3175],{"class":67}," -n",[40,3177,3178],{"class":67}," memos",[40,3180,3181],{"class":67}," python=",[40,3183,3184],{"class":1338},"3.11\n",[40,3186,3187,3189,3192],{"class":59,"line":74},[40,3188,3169],{"class":63},[40,3190,3191],{"class":67}," activate",[40,3193,3194],{"class":67}," memos\n",[83,3196,3198],{"id":3197},"install-memos-from-pypi","Install MemOS from PyPI",[20,3200,3201],{},"Install MemOS with all optional components:",[48,3203,3205],{"className":50,"code":3204,"language":52,"meta":53,"style":53},"pip install -U \"MemoryOS[all]\"\n",[55,3206,3207],{"__ignoreMap":53},[40,3208,3209,3211,3213,3216,3218,3221],{"class":59,"line":60},[40,3210,2331],{"class":63},[40,3212,2334],{"class":67},[40,3214,3215],{"class":67}," -U",[40,3217,518],{"class":160},[40,3219,3220],{"class":67},"MemoryOS[all]",[40,3222,2047],{"class":160},[20,3224,3225],{},"After installation, you can verify it was successful:",[48,3227,3229],{"className":50,"code":3228,"language":52,"meta":53,"style":53},"python -c \"import memos; print(memos.__version__)\"\n",[55,3230,3231],{"__ignoreMap":53},[40,3232,3233,3236,3239,3241,3244],{"class":59,"line":60},[40,3234,3235],{"class":63},"python",[40,3237,3238],{"class":67}," -c",[40,3240,518],{"class":160},[40,3242,3243],{"class":67},"import memos; print(memos.__version__)",[40,3245,2047],{"class":160},[88,3247,3248,3255,3258,3308,3311],{},[20,3249,3250,3253],{},[93,3251,3252],{},"Optional Dependencies",[97,3254],{},[20,3256,3257],{},"MemOS provides several optional dependency groups for different features. You can install them based on your needs.",[3259,3260,3261,3274],"table",{},[3262,3263,3264],"thead",{},[3265,3266,3267,3271],"tr",{},[3268,3269,3270],"th",{},"Feature",[3268,3272,3273],{},"Package Name",[3275,3276,3277,3288,3298],"tbody",{},[3265,3278,3279,3283],{},[3280,3281,3282],"td",{},"Tree Memory",[3280,3284,3285],{},[55,3286,3287],{},"MemoryOS[tree-mem]",[3265,3289,3290,3293],{},[3280,3291,3292],{},"Memory Reader",[3280,3294,3295],{},[55,3296,3297],{},"MemoryOS[mem-reader]",[3265,3299,3300,3303],{},[3280,3301,3302],{},"Memory Scheduler",[3280,3304,3305],{},[55,3306,3307],{},"MemoryOS[mem-scheduler]",[20,3309,3310],{},"Example installation commands:",[48,3312,3314],{"className":50,"code":3313,"language":52,"meta":53,"style":53},"pip install MemoryOS[tree-mem]\npip install MemoryOS[tree-mem,mem-reader]\npip install MemoryOS[mem-scheduler]\npip install MemoryOS[tree-mem,mem-reader,mem-scheduler]\n",[55,3315,3316,3325,3334,3343],{"__ignoreMap":53},[40,3317,3318,3320,3322],{"class":59,"line":60},[40,3319,2331],{"class":63},[40,3321,2334],{"class":67},[40,3323,3324],{"class":67}," MemoryOS[tree-mem]\n",[40,3326,3327,3329,3331],{"class":59,"line":74},[40,3328,2331],{"class":63},[40,3330,2334],{"class":67},[40,3332,3333],{"class":67}," MemoryOS[tree-mem,mem-reader]\n",[40,3335,3336,3338,3340],{"class":59,"line":153},[40,3337,2331],{"class":63},[40,3339,2334],{"class":67},[40,3341,3342],{"class":67}," MemoryOS[mem-scheduler]\n",[40,3344,3345,3347,3349],{"class":59,"line":167},[40,3346,2331],{"class":63},[40,3348,2334],{"class":67},[40,3350,3351],{"class":67}," MemoryOS[tree-mem,mem-reader,mem-scheduler]\n",[83,3353,86],{"id":3354},"create-env-configuration-file-2",[20,3356,2269],{},[2271,3358,3359],{},[2274,3360,2276],{},[48,3362,3364],{"className":50,"code":3363,"language":52,"meta":53,"style":53},"touch .env\n",[55,3365,3366],{"__ignoreMap":53},[40,3367,3368,3370],{"class":59,"line":60},[40,3369,123],{"class":63},[40,3371,126],{"class":67},[2271,3373,3374],{"start":74},[2274,3375,3376],{},"Example .env contents",[48,3378,3383],{"className":3379,"code":3381,"language":3382,"meta":53},[3380],"language-text","# ========== Required Configuration ==========\nCHAT_MODEL_LIST='[\n  {\n    \"name\": \"default\",\n    \"backend\": \"openai\",\n    \"config\": {\n      \"model\": \"gpt-4o-mini\",\n      \"api_key\": \"YOUR_API_KEY\"\n    }\n  }\n]'\n\n# ========== Optional Configuration ==========\nMEMOS_LOG_LEVEL=INFO\n","text",[55,3384,3381],{"__ignoreMap":53},[88,3386,3387],{},[20,3388,3389,3391,3393],{},[93,3390,95],{},[97,3392],{},"\nenv notes",[20,3395,3396,3397,1547],{},"For detailed development environment setup, workflow guidelines, and contribution best practices, please see our ",[1542,3398,3400],{"href":3399},"/open_source/contribution/overview","Contribution Guide",[83,3402,2405],{"id":3403},"start-memos-server-1",[20,3405,3406],{},"MemOS does not automatically load .env files. Please use the python-dotenv method to start.",[48,3408,3410],{"className":50,"code":3409,"language":52,"meta":53,"style":53},"python -m dotenv run -- \\\n  uvicorn memos.api.server_api:app \\\n  --host 0.0.0.0 \\\n  --port 8000\n",[55,3411,3412,3430,3439,3448],{"__ignoreMap":53},[40,3413,3414,3416,3419,3422,3425,3428],{"class":59,"line":60},[40,3415,3235],{"class":63},[40,3417,3418],{"class":67}," -m",[40,3420,3421],{"class":67}," dotenv",[40,3423,3424],{"class":67}," run",[40,3426,3427],{"class":67}," --",[40,3429,1588],{"class":156},[40,3431,3432,3435,3437],{"class":59,"line":74},[40,3433,3434],{"class":67},"  uvicorn",[40,3436,2422],{"class":67},[40,3438,1588],{"class":156},[40,3440,3441,3444,3446],{"class":59,"line":153},[40,3442,3443],{"class":67},"  --host",[40,3445,2428],{"class":1338},[40,3447,1588],{"class":156},[40,3449,3450,3453],{"class":59,"line":167},[40,3451,3452],{"class":67},"  --port",[40,3454,1339],{"class":1338},[20,3456,3457],{},"After successful startup, you will see output similar to:",[48,3459,3462],{"className":3460,"code":3461,"language":3382,"meta":53},[3380],"INFO:     Uvicorn running on http://0.0.0.0:8000\nINFO:     Application startup complete.\n",[55,3463,3461],{"__ignoreMap":53},[83,3465,3467],{"id":3466},"verify-service-is-running","Verify Service is Running",[83,3469,3471],{"id":3470},"ollama-support","Ollama Support",[20,3473,3474,3475,3480],{},"To use MemOS with ",[1542,3476,3479],{"href":3477,"rel":3478},"https://ollama.com/",[1546],"Ollama",", first install the Ollama CLI:",[48,3482,3484],{"className":50,"code":3483,"language":52,"meta":53,"style":53},"curl -fsSL https://ollama.com/install.sh | sh\n",[55,3485,3486],{"__ignoreMap":53},[40,3487,3488,3490,3493,3496,3499],{"class":59,"line":60},[40,3489,1567],{"class":63},[40,3491,3492],{"class":67}," -fsSL",[40,3494,3495],{"class":67}," https://ollama.com/install.sh",[40,3497,3498],{"class":160}," |",[40,3500,3501],{"class":63}," sh\n",[83,3503,3505],{"id":3504},"transformers-support","Transformers Support",[20,3507,3508,3509,3512,3513,3518],{},"To use functionalities based on the ",[55,3510,3511],{},"transformers"," library, ensure you have ",[1542,3514,3517],{"href":3515,"rel":3516},"https://pytorch.org/get-started/locally/",[1546],"PyTorch"," installed (CUDA version recommended for GPU acceleration).",[83,3520,2384],{"id":3521},"neo4j-support-1",[88,3523,3524],{},[20,3525,3526,3528,2394],{},[93,3527,2391],{},[97,3529],{},[83,3531,3533],{"id":3532},"download-examples","Download Examples",[20,3535,3536],{},"To download example code, data, and configurations, run the following command:",[48,3538,3540],{"className":50,"code":3539,"language":52,"meta":53,"style":53},"memos download_examples\n",[55,3541,3542],{"__ignoreMap":53},[40,3543,3544,3547],{"class":59,"line":60},[40,3545,3546],{"class":63},"memos",[40,3548,3549],{"class":67}," download_examples\n",[3551,3552,3553],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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 .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":53,"searchDepth":74,"depth":74,"links":3555},[3556,3557,3558],{"id":46,"depth":74,"text":17},{"id":2245,"depth":74,"text":26},{"id":3147,"depth":74,"text":34},"Complete installation guide for MemOS.","md",{},"/en/open_source/getting_started/installation",{"title":5,"description":53},"en/open_source/getting_started/installation","2JFWnDARminqWLjmh_JBV9023leEUcZHsNrHLTkwSZo",[3567],{"title":3568,"path":3569,"stem":3570,"icon":3571,"framework":6,"module":6,"class":3572,"target":-1,"active":3573,"defaultOpen":3573,"children":-1,"description":3574},"Your First Memory","/open_source/getting_started/your_first_memory","open_source/getting_started/your_first_memory","i-ri-bookmark-line",[],false,"Let’s build your first plaintext memory in MemOS! GeneralTextMemory is the easiest way to get hands-on with extracting, embedding, and searching simple text memories.",1770372078695]