[{"data":1,"prerenderedAt":4334},["ShallowReactive",2],{"\u002Fcn\u002Fopen_source\u002Fgetting_started\u002Finstallation":3,"surround-\u002Fcn\u002Fopen_source\u002Fgetting_started\u002Finstallation":4325},{"id":4,"title":5,"avatar":6,"banner":6,"body":7,"category":6,"desc":4318,"description":49,"extension":4319,"links":6,"meta":4320,"navigation":6,"path":4321,"seo":4322,"stem":4323,"__hash__":4324},"docs\u002Fcn\u002Fopen_source\u002Fgetting_started\u002Finstallation.md","安装指南",null,{"type":8,"value":9,"toc":4313},"minimark",[10,39,43,79,84,97,1052,1056,1065,1082,1085,1154,1310,1313,1388,1392,1401,1421,1427,1430,1441,1447,1451,1602,1606,2265,2267,2285,2288,2291,2298,2314,2328,2336,2339,2409,2412,2415,2431,2435,2470,2473,2595,2598,3157,3159,3162,4286,4309],[11,12,13,23,31],"card-group",{},[14,15,19],"card",{"icon":16,"title":17,"to":18},"ri:database-2-line","通过Docker安装","\u002Fcn\u002Fopen_source\u002Fgetting_started\u002Finstallation#通过docker安装",[20,21,22],"p",{},"适合快速部署：一键启动服务与依赖组件。",[14,24,28],{"icon":25,"title":26,"to":27},"ri:play-line","从源码安装","\u002Fcn\u002Fopen_source\u002Fgetting_started\u002Finstallation#从源码安装",[20,29,30],{},"适合二次开发与贡献：可编辑安装、可跑测试、可本地调试。",[14,32,36],{"icon":33,"title":34,"to":35},"ri:tree-line","通过pip安装","\u002Fcn\u002Fopen_source\u002Fgetting_started\u002Finstallation#通过pip安装",[20,37,38],{},"最简单的安装方式：快速开始使用 MemOS。",[40,41,17],"h2",{"id":42},"通过docker安装",[44,45,50],"pre",{"className":46,"code":47,"language":48,"meta":49,"style":49},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","git clone https:\u002F\u002Fgithub.com\u002FMemTensor\u002FMemOS.git\ncd MemOS\n","bash","",[51,52,53,69],"code",{"__ignoreMap":49},[54,55,58,62,66],"span",{"class":56,"line":57},"line",1,[54,59,61],{"class":60},"sBMFI","git",[54,63,65],{"class":64},"sfazB"," clone",[54,67,68],{"class":64}," https:\u002F\u002Fgithub.com\u002FMemTensor\u002FMemOS.git\n",[54,70,72,76],{"class":56,"line":71},2,[54,73,75],{"class":74},"s2Zo4","cd",[54,77,78],{"class":64}," MemOS\n",[80,81,83],"h4",{"id":82},"创建-env-配置文件","创建 .env 配置文件",[85,86,87],"note",{},[20,88,89,93,96],{},[90,91,92],"strong",{},"请注意",[94,95],"br",{},"\n.env 文件配置需要放在MemOS 项目根目录下",[98,99,101,105,124,128,131,630,634,1040,1047],"steps",{"level":100},"4",[80,102,104],{"id":103},"_1-新建-env","1. 新建 .env",[44,106,108],{"className":46,"code":107,"language":48,"meta":49,"style":49},"cd MemOS\ntouch .env\n",[51,109,110,116],{"__ignoreMap":49},[54,111,112,114],{"class":56,"line":57},[54,113,75],{"class":74},[54,115,78],{"class":64},[54,117,118,121],{"class":56,"line":71},[54,119,120],{"class":60},"touch",[54,122,123],{"class":64}," .env\n",[80,125,127],{"id":126},"_2-env-内容","2. .env 内容",[20,129,130],{},".env 快速配置如下",[44,132,134],{"className":46,"code":133,"language":48,"meta":49,"style":49},"\n# OpenAI API 密钥 (需自定义配置)\nOPENAI_API_KEY=sk-xxx\n# OpenAI API 基础 URL \nOPENAI_API_BASE=http:\u002F\u002Fxxx:3000\u002Fv1\n# 默认模型名称\nMOS_CHAT_MODEL=qwen3-max\n\n# Memory Reader LLM 模型\nMEMRADER_MODEL=qwen3-max\n# Memory Reader API 密钥 \nMEMRADER_API_KEY=sk-xxx\n# Memory Reader API 基础 URL\nMEMRADER_API_BASE=http:\u002F\u002Fxxx:3000\u002Fv1\n\n# Embedder 模型名称\nMOS_EMBEDDER_MODEL=text-embedding-v4\n# 配置embedding backend 两种选择 ollama | universal_api\nMOS_EMBEDDER_BACKEND=universal_api\n# Embedder API 基础 URL \nMOS_EMBEDDER_API_BASE=http:\u002F\u002Fxxx:8081\u002Fv1\n# Embedder API 密钥\nMOS_EMBEDDER_API_KEY=xxx\n# Embedding 向量维度\nEMBEDDING_DIMENSION=1024\n# Reranker 后端 (http_bge | etc.)\nMOS_RERANKER_BACKEND=cosine_local\n\n# Neo4j 连接 URI\n# 可选值: neo4j-community | neo4j | nebular | polardb\nNEO4J_BACKEND=neo4j-community\n# 当 backend=neo4j* 时必须\nNEO4J_URI=bolt:\u002F\u002Flocalhost:7687\nNEO4J_USER=neo4j\nNEO4J_PASSWORD=12345678\nNEO4J_DB_NAME=neo4j\nMOS_NEO4J_SHARED_DB=false\n\n# 是否使用 redis 的调度器\nDEFAULT_USE_REDIS_QUEUE=false\n\n# 启用聊天 API\nENABLE_CHAT_API=true\n# 聊天模型列表 可以通过百炼申请. 模型可自选\nCHAT_MODEL_LIST=[{\"backend\": \"qwen\", \"api_base\": \"https:\u002F\u002Fxxx\u002Fv1\", \"api_key\": \"sk-xxx\", \"model_name_or_path\": \"qwen3-max\", \"extra_body\": {\"enable_thinking\": true} ,\"support_models\": [\"qwen3-max\"]}]\n",[51,135,136,142,148,162,168,179,185,196,201,207,217,223,233,239,249,254,260,271,277,288,294,305,311,322,328,339,345,356,361,367,373,384,390,401,412,423,433,444,449,455,465,470,476,487,493],{"__ignoreMap":49},[54,137,138],{"class":56,"line":57},[54,139,141],{"emptyLinePlaceholder":140},true,"\n",[54,143,144],{"class":56,"line":71},[54,145,147],{"class":146},"sHwdD","# OpenAI API 密钥 (需自定义配置)\n",[54,149,151,155,159],{"class":56,"line":150},3,[54,152,154],{"class":153},"sTEyZ","OPENAI_API_KEY",[54,156,158],{"class":157},"sMK4o","=",[54,160,161],{"class":64},"sk-xxx\n",[54,163,165],{"class":56,"line":164},4,[54,166,167],{"class":146},"# OpenAI API 基础 URL \n",[54,169,171,174,176],{"class":56,"line":170},5,[54,172,173],{"class":153},"OPENAI_API_BASE",[54,175,158],{"class":157},[54,177,178],{"class":64},"http:\u002F\u002Fxxx:3000\u002Fv1\n",[54,180,182],{"class":56,"line":181},6,[54,183,184],{"class":146},"# 默认模型名称\n",[54,186,188,191,193],{"class":56,"line":187},7,[54,189,190],{"class":153},"MOS_CHAT_MODEL",[54,192,158],{"class":157},[54,194,195],{"class":64},"qwen3-max\n",[54,197,199],{"class":56,"line":198},8,[54,200,141],{"emptyLinePlaceholder":140},[54,202,204],{"class":56,"line":203},9,[54,205,206],{"class":146},"# Memory Reader LLM 模型\n",[54,208,210,213,215],{"class":56,"line":209},10,[54,211,212],{"class":153},"MEMRADER_MODEL",[54,214,158],{"class":157},[54,216,195],{"class":64},[54,218,220],{"class":56,"line":219},11,[54,221,222],{"class":146},"# Memory Reader API 密钥 \n",[54,224,226,229,231],{"class":56,"line":225},12,[54,227,228],{"class":153},"MEMRADER_API_KEY",[54,230,158],{"class":157},[54,232,161],{"class":64},[54,234,236],{"class":56,"line":235},13,[54,237,238],{"class":146},"# Memory Reader API 基础 URL\n",[54,240,242,245,247],{"class":56,"line":241},14,[54,243,244],{"class":153},"MEMRADER_API_BASE",[54,246,158],{"class":157},[54,248,178],{"class":64},[54,250,252],{"class":56,"line":251},15,[54,253,141],{"emptyLinePlaceholder":140},[54,255,257],{"class":56,"line":256},16,[54,258,259],{"class":146},"# Embedder 模型名称\n",[54,261,263,266,268],{"class":56,"line":262},17,[54,264,265],{"class":153},"MOS_EMBEDDER_MODEL",[54,267,158],{"class":157},[54,269,270],{"class":64},"text-embedding-v4\n",[54,272,274],{"class":56,"line":273},18,[54,275,276],{"class":146},"# 配置embedding backend 两种选择 ollama | universal_api\n",[54,278,280,283,285],{"class":56,"line":279},19,[54,281,282],{"class":153},"MOS_EMBEDDER_BACKEND",[54,284,158],{"class":157},[54,286,287],{"class":64},"universal_api\n",[54,289,291],{"class":56,"line":290},20,[54,292,293],{"class":146},"# Embedder API 基础 URL \n",[54,295,297,300,302],{"class":56,"line":296},21,[54,298,299],{"class":153},"MOS_EMBEDDER_API_BASE",[54,301,158],{"class":157},[54,303,304],{"class":64},"http:\u002F\u002Fxxx:8081\u002Fv1\n",[54,306,308],{"class":56,"line":307},22,[54,309,310],{"class":146},"# Embedder API 密钥\n",[54,312,314,317,319],{"class":56,"line":313},23,[54,315,316],{"class":153},"MOS_EMBEDDER_API_KEY",[54,318,158],{"class":157},[54,320,321],{"class":64},"xxx\n",[54,323,325],{"class":56,"line":324},24,[54,326,327],{"class":146},"# Embedding 向量维度\n",[54,329,331,334,336],{"class":56,"line":330},25,[54,332,333],{"class":153},"EMBEDDING_DIMENSION",[54,335,158],{"class":157},[54,337,338],{"class":64},"1024\n",[54,340,342],{"class":56,"line":341},26,[54,343,344],{"class":146},"# Reranker 后端 (http_bge | etc.)\n",[54,346,348,351,353],{"class":56,"line":347},27,[54,349,350],{"class":153},"MOS_RERANKER_BACKEND",[54,352,158],{"class":157},[54,354,355],{"class":64},"cosine_local\n",[54,357,359],{"class":56,"line":358},28,[54,360,141],{"emptyLinePlaceholder":140},[54,362,364],{"class":56,"line":363},29,[54,365,366],{"class":146},"# Neo4j 连接 URI\n",[54,368,370],{"class":56,"line":369},30,[54,371,372],{"class":146},"# 可选值: neo4j-community | neo4j | nebular | polardb\n",[54,374,376,379,381],{"class":56,"line":375},31,[54,377,378],{"class":153},"NEO4J_BACKEND",[54,380,158],{"class":157},[54,382,383],{"class":64},"neo4j-community\n",[54,385,387],{"class":56,"line":386},32,[54,388,389],{"class":146},"# 当 backend=neo4j* 时必须\n",[54,391,393,396,398],{"class":56,"line":392},33,[54,394,395],{"class":153},"NEO4J_URI",[54,397,158],{"class":157},[54,399,400],{"class":64},"bolt:\u002F\u002Flocalhost:7687\n",[54,402,404,407,409],{"class":56,"line":403},34,[54,405,406],{"class":153},"NEO4J_USER",[54,408,158],{"class":157},[54,410,411],{"class":64},"neo4j\n",[54,413,415,418,420],{"class":56,"line":414},35,[54,416,417],{"class":153},"NEO4J_PASSWORD",[54,419,158],{"class":157},[54,421,422],{"class":64},"12345678\n",[54,424,426,429,431],{"class":56,"line":425},36,[54,427,428],{"class":153},"NEO4J_DB_NAME",[54,430,158],{"class":157},[54,432,411],{"class":64},[54,434,436,439,441],{"class":56,"line":435},37,[54,437,438],{"class":153},"MOS_NEO4J_SHARED_DB",[54,440,158],{"class":157},[54,442,443],{"class":64},"false\n",[54,445,447],{"class":56,"line":446},38,[54,448,141],{"emptyLinePlaceholder":140},[54,450,452],{"class":56,"line":451},39,[54,453,454],{"class":146},"# 是否使用 redis 的调度器\n",[54,456,458,461,463],{"class":56,"line":457},40,[54,459,460],{"class":153},"DEFAULT_USE_REDIS_QUEUE",[54,462,158],{"class":157},[54,464,443],{"class":64},[54,466,468],{"class":56,"line":467},41,[54,469,141],{"emptyLinePlaceholder":140},[54,471,473],{"class":56,"line":472},42,[54,474,475],{"class":146},"# 启用聊天 API\n",[54,477,479,482,484],{"class":56,"line":478},43,[54,480,481],{"class":153},"ENABLE_CHAT_API",[54,483,158],{"class":157},[54,485,486],{"class":64},"true\n",[54,488,490],{"class":56,"line":489},44,[54,491,492],{"class":146},"# 聊天模型列表 可以通过百炼申请. 模型可自选\n",[54,494,496,499,501,504,507,510,513,516,519,522,525,527,530,532,534,536,539,541,543,545,548,550,552,554,557,559,561,563,566,568,570,572,575,577,579,581,584,586,588,591,593,596,598,600,603,606,609,611,614,616,618,621,623,625,627],{"class":56,"line":495},45,[54,497,498],{"class":153},"CHAT_MODEL_LIST",[54,500,158],{"class":157},[54,502,503],{"class":64},"[",[54,505,506],{"class":153},"{",[54,508,509],{"class":60},"\"backend\"",[54,511,512],{"class":74},":",[54,514,515],{"class":157}," \"",[54,517,518],{"class":64},"qwen",[54,520,521],{"class":157},"\"",[54,523,524],{"class":64},",",[54,526,515],{"class":157},[54,528,529],{"class":64},"api_base",[54,531,521],{"class":157},[54,533,512],{"class":64},[54,535,515],{"class":157},[54,537,538],{"class":64},"https:\u002F\u002Fxxx\u002Fv1",[54,540,521],{"class":157},[54,542,524],{"class":64},[54,544,515],{"class":157},[54,546,547],{"class":64},"api_key",[54,549,521],{"class":157},[54,551,512],{"class":64},[54,553,515],{"class":157},[54,555,556],{"class":64},"sk-xxx",[54,558,521],{"class":157},[54,560,524],{"class":64},[54,562,515],{"class":157},[54,564,565],{"class":64},"model_name_or_path",[54,567,521],{"class":157},[54,569,512],{"class":64},[54,571,515],{"class":157},[54,573,574],{"class":64},"qwen3-max",[54,576,521],{"class":157},[54,578,524],{"class":64},[54,580,515],{"class":157},[54,582,583],{"class":64},"extra_body",[54,585,521],{"class":157},[54,587,512],{"class":64},[54,589,590],{"class":64}," {",[54,592,521],{"class":157},[54,594,595],{"class":64},"enable_thinking",[54,597,521],{"class":157},[54,599,512],{"class":64},[54,601,602],{"class":157}," true",[54,604,605],{"class":64},"}",[54,607,608],{"class":64}," ,",[54,610,521],{"class":157},[54,612,613],{"class":64},"support_models",[54,615,521],{"class":157},[54,617,512],{"class":64},[54,619,620],{"class":153}," [",[54,622,521],{"class":157},[54,624,574],{"class":64},[54,626,521],{"class":157},[54,628,629],{"class":153},"]}]\n",[80,631,633],{"id":632},"env-以百炼为示例配置如下",".env 以百炼为示例配置如下",[44,635,637],{"className":46,"code":636,"language":48,"meta":49,"style":49},"# 可通过百炼平台申请\n# https:\u002F\u002Fbailian.console.aliyun.com\u002F?spm=a2c4g.11186623.0.0.2f2165b08fRk4l&tab=api#\u002Fapi\n# 申请成功后，获取API_KEY和BASE_URL，示例配置如下\n\n# OpenAI API 密钥 (用百炼的API_KEY)\nOPENAI_API_KEY=you_bailian_api_key\n# OpenAI API 基础 URL \nOPENAI_API_BASE=https:\u002F\u002Fdashscope.aliyuncs.com\u002Fcompatible-mode\u002Fv1\n# 默认模型名称\nMOS_CHAT_MODEL=qwen3-max\n\n# Memory Reader LLM 模型\nMEMRADER_MODEL=qwen3-max\n# Memory Reader API 密钥 (用百炼的API_KEY)\nMEMRADER_API_KEY=you_bailian_api_key\n# Memory Reader API 基础 URL\nMEMRADER_API_BASE=https:\u002F\u002Fdashscope.aliyuncs.com\u002Fcompatible-mode\u002Fv1\n\n# Embedder模型名称可以参考下面链接\n# https:\u002F\u002Fbailian.console.aliyun.com\u002F?spm=a2c4g.11186623.0.0.2f2165b08fRk4l&tab=api#\u002Fapi\u002F?type=model&url=2846066\nMOS_EMBEDDER_MODEL=text-embedding-v4\n# 配置embedding backend 两种选择 ollama | universal_api\nMOS_EMBEDDER_BACKEND=universal_api\n# Embedder API 基础 URL \nMOS_EMBEDDER_API_BASE=https:\u002F\u002Fdashscope.aliyuncs.com\u002Fcompatible-mode\u002Fv1\n# Embedder API 密钥 (用百炼的API_KEY)\nMOS_EMBEDDER_API_KEY=you_bailian_api_key\n# Embedding 向量维度\nEMBEDDING_DIMENSION=1024\n# Reranker 后端 (http_bge | etc.)\nMOS_RERANKER_BACKEND=cosine_local\n\n# Neo4j 连接 URI\n# 可选值: neo4j-community | neo4j | nebular | polardb\nNEO4J_BACKEND=neo4j-community\n# 当 backend=neo4j* 时必须\nNEO4J_URI=bolt:\u002F\u002Flocalhost:7687\nNEO4J_USER=neo4j\nNEO4J_PASSWORD=12345678\nNEO4J_DB_NAME=neo4j\nMOS_NEO4J_SHARED_DB=false\n\n# 是否使用 redis 的调度器\nDEFAULT_USE_REDIS_QUEUE=false\n\n# 启用聊天 API\nENABLE_CHAT_API=true\n\nCHAT_MODEL_LIST=[{\"backend\": \"qwen\", \"api_base\": \"https:\u002F\u002Fdashscope.aliyuncs.com\u002Fcompatible-mode\u002Fv1\", \"api_key\": \"you_bailian_api_key\", \"model_name_or_path\": \"qwen3-max-preview\", \"extra_body\": {\"enable_thinking\": true} ,\"support_models\": [\"qwen3-max-preview\"]}]\n",[51,638,639,644,649,654,658,663,672,676,685,689,697,701,705,713,718,726,730,738,742,747,752,760,764,772,776,784,789,797,801,809,813,821,825,829,833,841,845,853,861,869,877,885,889,893,901,905,910,919,924],{"__ignoreMap":49},[54,640,641],{"class":56,"line":57},[54,642,643],{"class":146},"# 可通过百炼平台申请\n",[54,645,646],{"class":56,"line":71},[54,647,648],{"class":146},"# https:\u002F\u002Fbailian.console.aliyun.com\u002F?spm=a2c4g.11186623.0.0.2f2165b08fRk4l&tab=api#\u002Fapi\n",[54,650,651],{"class":56,"line":150},[54,652,653],{"class":146},"# 申请成功后，获取API_KEY和BASE_URL，示例配置如下\n",[54,655,656],{"class":56,"line":164},[54,657,141],{"emptyLinePlaceholder":140},[54,659,660],{"class":56,"line":170},[54,661,662],{"class":146},"# OpenAI API 密钥 (用百炼的API_KEY)\n",[54,664,665,667,669],{"class":56,"line":181},[54,666,154],{"class":153},[54,668,158],{"class":157},[54,670,671],{"class":64},"you_bailian_api_key\n",[54,673,674],{"class":56,"line":187},[54,675,167],{"class":146},[54,677,678,680,682],{"class":56,"line":198},[54,679,173],{"class":153},[54,681,158],{"class":157},[54,683,684],{"class":64},"https:\u002F\u002Fdashscope.aliyuncs.com\u002Fcompatible-mode\u002Fv1\n",[54,686,687],{"class":56,"line":203},[54,688,184],{"class":146},[54,690,691,693,695],{"class":56,"line":209},[54,692,190],{"class":153},[54,694,158],{"class":157},[54,696,195],{"class":64},[54,698,699],{"class":56,"line":219},[54,700,141],{"emptyLinePlaceholder":140},[54,702,703],{"class":56,"line":225},[54,704,206],{"class":146},[54,706,707,709,711],{"class":56,"line":235},[54,708,212],{"class":153},[54,710,158],{"class":157},[54,712,195],{"class":64},[54,714,715],{"class":56,"line":241},[54,716,717],{"class":146},"# Memory Reader API 密钥 (用百炼的API_KEY)\n",[54,719,720,722,724],{"class":56,"line":251},[54,721,228],{"class":153},[54,723,158],{"class":157},[54,725,671],{"class":64},[54,727,728],{"class":56,"line":256},[54,729,238],{"class":146},[54,731,732,734,736],{"class":56,"line":262},[54,733,244],{"class":153},[54,735,158],{"class":157},[54,737,684],{"class":64},[54,739,740],{"class":56,"line":273},[54,741,141],{"emptyLinePlaceholder":140},[54,743,744],{"class":56,"line":279},[54,745,746],{"class":146},"# Embedder模型名称可以参考下面链接\n",[54,748,749],{"class":56,"line":290},[54,750,751],{"class":146},"# https:\u002F\u002Fbailian.console.aliyun.com\u002F?spm=a2c4g.11186623.0.0.2f2165b08fRk4l&tab=api#\u002Fapi\u002F?type=model&url=2846066\n",[54,753,754,756,758],{"class":56,"line":296},[54,755,265],{"class":153},[54,757,158],{"class":157},[54,759,270],{"class":64},[54,761,762],{"class":56,"line":307},[54,763,276],{"class":146},[54,765,766,768,770],{"class":56,"line":313},[54,767,282],{"class":153},[54,769,158],{"class":157},[54,771,287],{"class":64},[54,773,774],{"class":56,"line":324},[54,775,293],{"class":146},[54,777,778,780,782],{"class":56,"line":330},[54,779,299],{"class":153},[54,781,158],{"class":157},[54,783,684],{"class":64},[54,785,786],{"class":56,"line":341},[54,787,788],{"class":146},"# Embedder API 密钥 (用百炼的API_KEY)\n",[54,790,791,793,795],{"class":56,"line":347},[54,792,316],{"class":153},[54,794,158],{"class":157},[54,796,671],{"class":64},[54,798,799],{"class":56,"line":358},[54,800,327],{"class":146},[54,802,803,805,807],{"class":56,"line":363},[54,804,333],{"class":153},[54,806,158],{"class":157},[54,808,338],{"class":64},[54,810,811],{"class":56,"line":369},[54,812,344],{"class":146},[54,814,815,817,819],{"class":56,"line":375},[54,816,350],{"class":153},[54,818,158],{"class":157},[54,820,355],{"class":64},[54,822,823],{"class":56,"line":386},[54,824,141],{"emptyLinePlaceholder":140},[54,826,827],{"class":56,"line":392},[54,828,366],{"class":146},[54,830,831],{"class":56,"line":403},[54,832,372],{"class":146},[54,834,835,837,839],{"class":56,"line":414},[54,836,378],{"class":153},[54,838,158],{"class":157},[54,840,383],{"class":64},[54,842,843],{"class":56,"line":425},[54,844,389],{"class":146},[54,846,847,849,851],{"class":56,"line":435},[54,848,395],{"class":153},[54,850,158],{"class":157},[54,852,400],{"class":64},[54,854,855,857,859],{"class":56,"line":446},[54,856,406],{"class":153},[54,858,158],{"class":157},[54,860,411],{"class":64},[54,862,863,865,867],{"class":56,"line":451},[54,864,417],{"class":153},[54,866,158],{"class":157},[54,868,422],{"class":64},[54,870,871,873,875],{"class":56,"line":457},[54,872,428],{"class":153},[54,874,158],{"class":157},[54,876,411],{"class":64},[54,878,879,881,883],{"class":56,"line":467},[54,880,438],{"class":153},[54,882,158],{"class":157},[54,884,443],{"class":64},[54,886,887],{"class":56,"line":472},[54,888,141],{"emptyLinePlaceholder":140},[54,890,891],{"class":56,"line":478},[54,892,454],{"class":146},[54,894,895,897,899],{"class":56,"line":489},[54,896,460],{"class":153},[54,898,158],{"class":157},[54,900,443],{"class":64},[54,902,903],{"class":56,"line":495},[54,904,141],{"emptyLinePlaceholder":140},[54,906,908],{"class":56,"line":907},46,[54,909,475],{"class":146},[54,911,913,915,917],{"class":56,"line":912},47,[54,914,481],{"class":153},[54,916,158],{"class":157},[54,918,486],{"class":64},[54,920,922],{"class":56,"line":921},48,[54,923,141],{"emptyLinePlaceholder":140},[54,925,927,929,931,933,935,937,939,941,943,945,947,949,951,953,955,957,960,962,964,966,968,970,972,974,977,979,981,983,985,987,989,991,994,996,998,1000,1002,1004,1006,1008,1010,1012,1014,1016,1018,1020,1022,1024,1026,1028,1030,1032,1034,1036,1038],{"class":56,"line":926},49,[54,928,498],{"class":153},[54,930,158],{"class":157},[54,932,503],{"class":64},[54,934,506],{"class":153},[54,936,509],{"class":60},[54,938,512],{"class":74},[54,940,515],{"class":157},[54,942,518],{"class":64},[54,944,521],{"class":157},[54,946,524],{"class":64},[54,948,515],{"class":157},[54,950,529],{"class":64},[54,952,521],{"class":157},[54,954,512],{"class":64},[54,956,515],{"class":157},[54,958,959],{"class":64},"https:\u002F\u002Fdashscope.aliyuncs.com\u002Fcompatible-mode\u002Fv1",[54,961,521],{"class":157},[54,963,524],{"class":64},[54,965,515],{"class":157},[54,967,547],{"class":64},[54,969,521],{"class":157},[54,971,512],{"class":64},[54,973,515],{"class":157},[54,975,976],{"class":64},"you_bailian_api_key",[54,978,521],{"class":157},[54,980,524],{"class":64},[54,982,515],{"class":157},[54,984,565],{"class":64},[54,986,521],{"class":157},[54,988,512],{"class":64},[54,990,515],{"class":157},[54,992,993],{"class":64},"qwen3-max-preview",[54,995,521],{"class":157},[54,997,524],{"class":64},[54,999,515],{"class":157},[54,1001,583],{"class":64},[54,1003,521],{"class":157},[54,1005,512],{"class":64},[54,1007,590],{"class":64},[54,1009,521],{"class":157},[54,1011,595],{"class":64},[54,1013,521],{"class":157},[54,1015,512],{"class":64},[54,1017,602],{"class":157},[54,1019,605],{"class":64},[54,1021,608],{"class":64},[54,1023,521],{"class":157},[54,1025,613],{"class":64},[54,1027,521],{"class":157},[54,1029,512],{"class":64},[54,1031,620],{"class":153},[54,1033,521],{"class":157},[54,1035,993],{"class":64},[54,1037,521],{"class":157},[54,1039,629],{"class":153},[20,1041,1042],{},[1043,1044],"img",{"alt":1045,"src":1046},"MemOS bailian","https:\u002F\u002Fcdn.memtensor.com.cn\u002Fimg\u002Fget_key_url_by_bailian_compressed.png",[1048,1049,1051],"div",{"style":1050},"text-align: center; margin-top: 10px","百炼申请 API_KEY和 BASE_URL 示例",[80,1053,1055],{"id":1054},"配置dockerfile文件","配置Dockerfile文件",[85,1057,1058],{},[20,1059,1060,1062,1064],{},[90,1061,92],{},[94,1063],{},"\nDockerfile 文件在 docker 目录下",[44,1066,1068],{"className":46,"code":1067,"language":48,"meta":49,"style":49},"#进入docker目录下\ncd docker\n",[51,1069,1070,1075],{"__ignoreMap":49},[54,1071,1072],{"class":56,"line":57},[54,1073,1074],{"class":146},"#进入docker目录下\n",[54,1076,1077,1079],{"class":56,"line":71},[54,1078,75],{"class":74},[54,1080,1081],{"class":64}," docker\n",[20,1083,1084],{},"包含快速模式和完整模式，可区分使用精简包（区分arm和x86）和全量包（区分arm和x86）",[44,1086,1088],{"className":46,"code":1087,"language":48,"meta":49,"style":49},"\n● 精简包：简化体量过大的 nvidia相关等依赖，对镜像实现轻量化，使本地部署更加轻量快速。\nurl: registry.cn-shanghai.aliyuncs.com\u002Fmemtensor\u002Fmemos-base:v1.0\nurl: registry.cn-shanghai.aliyuncs.com\u002Fmemtensor\u002Fmemos-base-arm:v1.0\n\n● 全量包：将 MemOS 全部依赖包打为镜像，可体验完整功能，通过配置 Dockerfile可直接构建启动。\nurl: registry.cn-shanghai.aliyuncs.com\u002Fmemtensor\u002Fmemos-full-base:v1.0.0\nurl: registry.cn-shanghai.aliyuncs.com\u002Fmemtensor\u002Fmemos-full-base-arm:v1.0.0\n",[51,1089,1090,1094,1105,1113,1120,1124,1140,1147],{"__ignoreMap":49},[54,1091,1092],{"class":56,"line":57},[54,1093,141],{"emptyLinePlaceholder":140},[54,1095,1096,1099,1102],{"class":56,"line":71},[54,1097,1098],{"class":60},"●",[54,1100,1101],{"class":64}," 精简包：简化体量过大的",[54,1103,1104],{"class":64}," nvidia相关等依赖，对镜像实现轻量化，使本地部署更加轻量快速。\n",[54,1106,1107,1110],{"class":56,"line":150},[54,1108,1109],{"class":60},"url:",[54,1111,1112],{"class":64}," registry.cn-shanghai.aliyuncs.com\u002Fmemtensor\u002Fmemos-base:v1.0\n",[54,1114,1115,1117],{"class":56,"line":164},[54,1116,1109],{"class":60},[54,1118,1119],{"class":64}," registry.cn-shanghai.aliyuncs.com\u002Fmemtensor\u002Fmemos-base-arm:v1.0\n",[54,1121,1122],{"class":56,"line":170},[54,1123,141],{"emptyLinePlaceholder":140},[54,1125,1126,1128,1131,1134,1137],{"class":56,"line":181},[54,1127,1098],{"class":60},[54,1129,1130],{"class":64}," 全量包：将",[54,1132,1133],{"class":64}," MemOS",[54,1135,1136],{"class":64}," 全部依赖包打为镜像，可体验完整功能，通过配置",[54,1138,1139],{"class":64}," Dockerfile可直接构建启动。\n",[54,1141,1142,1144],{"class":56,"line":187},[54,1143,1109],{"class":60},[54,1145,1146],{"class":64}," registry.cn-shanghai.aliyuncs.com\u002Fmemtensor\u002Fmemos-full-base:v1.0.0\n",[54,1148,1149,1151],{"class":56,"line":198},[54,1150,1109],{"class":60},[54,1152,1153],{"class":64}," registry.cn-shanghai.aliyuncs.com\u002Fmemtensor\u002Fmemos-full-base-arm:v1.0.0\n",[44,1155,1157],{"className":46,"code":1156,"language":48,"meta":49,"style":49},"# 当前示例使用精简包 url\nFROM registry.cn-shanghai.aliyuncs.com\u002Fmemtensor\u002Fmemos-base-arm:v1.0\n\nWORKDIR \u002Fapp\n\nENV HF_ENDPOINT=https:\u002F\u002Fhf-mirror.com\n\nENV PYTHONPATH=\u002Fapp\u002Fsrc\n\nCOPY src\u002F .\u002Fsrc\u002F\n\nEXPOSE 8000\n\nCMD [\"uvicorn\", \"memos.api.server_api:app\", \"--host\", \"0.0.0.0\", \"--port\", \"8000\", \"--reload\"]\n\n",[51,1158,1159,1164,1171,1175,1183,1187,1195,1199,1206,1210,1221,1225,1234,1238],{"__ignoreMap":49},[54,1160,1161],{"class":56,"line":57},[54,1162,1163],{"class":146},"# 当前示例使用精简包 url\n",[54,1165,1166,1169],{"class":56,"line":71},[54,1167,1168],{"class":60},"FROM",[54,1170,1119],{"class":64},[54,1172,1173],{"class":56,"line":150},[54,1174,141],{"emptyLinePlaceholder":140},[54,1176,1177,1180],{"class":56,"line":164},[54,1178,1179],{"class":60},"WORKDIR",[54,1181,1182],{"class":64}," \u002Fapp\n",[54,1184,1185],{"class":56,"line":170},[54,1186,141],{"emptyLinePlaceholder":140},[54,1188,1189,1192],{"class":56,"line":181},[54,1190,1191],{"class":60},"ENV",[54,1193,1194],{"class":64}," HF_ENDPOINT=https:\u002F\u002Fhf-mirror.com\n",[54,1196,1197],{"class":56,"line":187},[54,1198,141],{"emptyLinePlaceholder":140},[54,1200,1201,1203],{"class":56,"line":198},[54,1202,1191],{"class":60},[54,1204,1205],{"class":64}," PYTHONPATH=\u002Fapp\u002Fsrc\n",[54,1207,1208],{"class":56,"line":203},[54,1209,141],{"emptyLinePlaceholder":140},[54,1211,1212,1215,1218],{"class":56,"line":209},[54,1213,1214],{"class":60},"COPY",[54,1216,1217],{"class":64}," src\u002F",[54,1219,1220],{"class":64}," .\u002Fsrc\u002F\n",[54,1222,1223],{"class":56,"line":219},[54,1224,141],{"emptyLinePlaceholder":140},[54,1226,1227,1230],{"class":56,"line":225},[54,1228,1229],{"class":60},"EXPOSE",[54,1231,1233],{"class":1232},"sbssI"," 8000\n",[54,1235,1236],{"class":56,"line":235},[54,1237,141],{"emptyLinePlaceholder":140},[54,1239,1240,1243,1245,1247,1250,1252,1255,1257,1260,1262,1264,1266,1269,1271,1273,1275,1278,1280,1282,1284,1287,1289,1291,1293,1296,1298,1300,1302,1305,1307],{"class":56,"line":241},[54,1241,1242],{"class":60},"CMD",[54,1244,620],{"class":153},[54,1246,521],{"class":157},[54,1248,1249],{"class":64},"uvicorn",[54,1251,521],{"class":157},[54,1253,1254],{"class":153},", ",[54,1256,521],{"class":157},[54,1258,1259],{"class":64},"memos.api.server_api:app",[54,1261,521],{"class":157},[54,1263,524],{"class":64},[54,1265,515],{"class":157},[54,1267,1268],{"class":64},"--host",[54,1270,521],{"class":157},[54,1272,524],{"class":64},[54,1274,515],{"class":157},[54,1276,1277],{"class":64},"0.0.0.0",[54,1279,521],{"class":157},[54,1281,524],{"class":64},[54,1283,515],{"class":157},[54,1285,1286],{"class":64},"--port",[54,1288,521],{"class":157},[54,1290,524],{"class":64},[54,1292,515],{"class":157},[54,1294,1295],{"class":64},"8000",[54,1297,521],{"class":157},[54,1299,524],{"class":64},[54,1301,515],{"class":157},[54,1303,1304],{"class":64},"--reload",[54,1306,521],{"class":157},[54,1308,1309],{"class":64},"]\n",[80,1311,1312],{"id":1312},"启动docker客户端",[44,1314,1316],{"className":46,"code":1315,"language":48,"meta":49,"style":49}," # 如果没有安装docker,请安装对应版本，下载地址如下：\n https:\u002F\u002Fwww.docker.com\u002F\n\n # 安装完成之后，可通过客户端启动docker，或者通过命令行启动docker\n # 通过命令行启动docker\n sudo systemctl start docker\n\n# 安装完成后，查看docker状态\ndocker ps\n\n# 查看docker镜像 （可不用）\ndocker images\n\n",[51,1317,1318,1323,1328,1332,1337,1342,1355,1359,1364,1372,1376,1381],{"__ignoreMap":49},[54,1319,1320],{"class":56,"line":57},[54,1321,1322],{"class":146}," # 如果没有安装docker,请安装对应版本，下载地址如下：\n",[54,1324,1325],{"class":56,"line":71},[54,1326,1327],{"class":60}," https:\u002F\u002Fwww.docker.com\u002F\n",[54,1329,1330],{"class":56,"line":150},[54,1331,141],{"emptyLinePlaceholder":140},[54,1333,1334],{"class":56,"line":164},[54,1335,1336],{"class":146}," # 安装完成之后，可通过客户端启动docker，或者通过命令行启动docker\n",[54,1338,1339],{"class":56,"line":170},[54,1340,1341],{"class":146}," # 通过命令行启动docker\n",[54,1343,1344,1347,1350,1353],{"class":56,"line":181},[54,1345,1346],{"class":60}," sudo",[54,1348,1349],{"class":64}," systemctl",[54,1351,1352],{"class":64}," start",[54,1354,1081],{"class":64},[54,1356,1357],{"class":56,"line":187},[54,1358,141],{"emptyLinePlaceholder":140},[54,1360,1361],{"class":56,"line":198},[54,1362,1363],{"class":146},"# 安装完成后，查看docker状态\n",[54,1365,1366,1369],{"class":56,"line":203},[54,1367,1368],{"class":60},"docker",[54,1370,1371],{"class":64}," ps\n",[54,1373,1374],{"class":56,"line":209},[54,1375,141],{"emptyLinePlaceholder":140},[54,1377,1378],{"class":56,"line":219},[54,1379,1380],{"class":146},"# 查看docker镜像 （可不用）\n",[54,1382,1383,1385],{"class":56,"line":225},[54,1384,1368],{"class":60},[54,1386,1387],{"class":64}," images\n",[80,1389,1391],{"id":1390},"构建并启动服务","构建并启动服务 ：",[85,1393,1394],{},[20,1395,1396,1398,1400],{},[90,1397,92],{},[94,1399],{},"\n构建命令同样在 docker 目录下",[44,1402,1404],{"className":46,"code":1403,"language":48,"meta":49,"style":49},"# 在docker目录下\ndocker compose up\n",[51,1405,1406,1411],{"__ignoreMap":49},[54,1407,1408],{"class":56,"line":57},[54,1409,1410],{"class":146},"# 在docker目录下\n",[54,1412,1413,1415,1418],{"class":56,"line":71},[54,1414,1368],{"class":60},[54,1416,1417],{"class":64}," compose",[54,1419,1420],{"class":64}," up\n",[20,1422,1423],{},[1043,1424],{"alt":1425,"src":1426},"MemOS buildComposeupSuccess","https:\u002F\u002Fcdn.memtensor.com.cn\u002Fimg\u002Fmemos_build_composeup_success_compressed.png",[1048,1428,1429],{"style":1050},"示例图片，端口按 docker 自定义的配置",[80,1431,1433,1434,1440],{"id":1432},"通过-httplocalhost8000docs-访问-api","通过 ",[1435,1436,1437],"a",{"href":1437,"rel":1438},"http:\u002F\u002Flocalhost:8000\u002Fdocs",[1439],"nofollow"," 访问 API。",[20,1442,1443],{},[1043,1444],{"alt":1445,"src":1446},"MemOS Architecture","https:\u002F\u002Fcdn.memtensor.com.cn\u002Fimg\u002Fmemos_run_server_success_compressed.png",[80,1448,1450],{"id":1449},"add-memory","ADD Memory",[44,1452,1454],{"className":46,"code":1453,"language":48,"meta":49,"style":49},"curl --location --request POST 'http:\u002F\u002F127.0.0.1:8000\u002Fproduct\u002Fadd' \\\n--header 'Content-Type: application\u002Fjson' \\\n--data-raw '{\n\n    \"messages\": [{\n    \"role\": \"user\",\n    \"content\": \"我喜欢吃草莓\"\n  }],\n    \"user_id\": \"8736b16e-1d20-4163-980b-a5063c3facdc\",\n    \"writable_cube_ids\":[\"b32d0977-435d-4828-a86f-4f47f8b55bca\"]\n}'\n\n# 响应\n{\n    \"code\": 200,\n    \"message\": \"Memory created successfully\",\n    \"data\": null\n}\n",[51,1455,1456,1482,1496,1506,1510,1515,1520,1525,1530,1535,1540,1547,1551,1556,1560,1570,1587,1597],{"__ignoreMap":49},[54,1457,1458,1461,1464,1467,1470,1473,1476,1479],{"class":56,"line":57},[54,1459,1460],{"class":60},"curl",[54,1462,1463],{"class":64}," --location",[54,1465,1466],{"class":64}," --request",[54,1468,1469],{"class":64}," POST",[54,1471,1472],{"class":157}," '",[54,1474,1475],{"class":64},"http:\u002F\u002F127.0.0.1:8000\u002Fproduct\u002Fadd",[54,1477,1478],{"class":157},"'",[54,1480,1481],{"class":153}," \\\n",[54,1483,1484,1487,1489,1492,1494],{"class":56,"line":71},[54,1485,1486],{"class":153},"--header ",[54,1488,1478],{"class":157},[54,1490,1491],{"class":64},"Content-Type: application\u002Fjson",[54,1493,1478],{"class":157},[54,1495,1481],{"class":153},[54,1497,1498,1501,1503],{"class":56,"line":150},[54,1499,1500],{"class":153},"--data-raw ",[54,1502,1478],{"class":157},[54,1504,1505],{"class":64},"{\n",[54,1507,1508],{"class":56,"line":164},[54,1509,141],{"emptyLinePlaceholder":140},[54,1511,1512],{"class":56,"line":170},[54,1513,1514],{"class":64},"    \"messages\": [{\n",[54,1516,1517],{"class":56,"line":181},[54,1518,1519],{"class":64},"    \"role\": \"user\",\n",[54,1521,1522],{"class":56,"line":187},[54,1523,1524],{"class":64},"    \"content\": \"我喜欢吃草莓\"\n",[54,1526,1527],{"class":56,"line":198},[54,1528,1529],{"class":64},"  }],\n",[54,1531,1532],{"class":56,"line":203},[54,1533,1534],{"class":64},"    \"user_id\": \"8736b16e-1d20-4163-980b-a5063c3facdc\",\n",[54,1536,1537],{"class":56,"line":209},[54,1538,1539],{"class":64},"    \"writable_cube_ids\":[\"b32d0977-435d-4828-a86f-4f47f8b55bca\"]\n",[54,1541,1542,1544],{"class":56,"line":219},[54,1543,605],{"class":64},[54,1545,1546],{"class":157},"'\n",[54,1548,1549],{"class":56,"line":225},[54,1550,141],{"emptyLinePlaceholder":140},[54,1552,1553],{"class":56,"line":235},[54,1554,1555],{"class":146},"# 响应\n",[54,1557,1558],{"class":56,"line":241},[54,1559,1505],{"class":157},[54,1561,1562,1565,1567],{"class":56,"line":251},[54,1563,1564],{"class":60},"    \"code\"",[54,1566,512],{"class":74},[54,1568,1569],{"class":64}," 200,\n",[54,1571,1572,1575,1577,1579,1582,1584],{"class":56,"line":256},[54,1573,1574],{"class":60},"    \"message\"",[54,1576,512],{"class":74},[54,1578,515],{"class":157},[54,1580,1581],{"class":64},"Memory created successfully",[54,1583,521],{"class":157},[54,1585,1586],{"class":64},",\n",[54,1588,1589,1592,1594],{"class":56,"line":262},[54,1590,1591],{"class":60},"    \"data\"",[54,1593,512],{"class":74},[54,1595,1596],{"class":64}," null\n",[54,1598,1599],{"class":56,"line":273},[54,1600,1601],{"class":157},"}\n",[80,1603,1605],{"id":1604},"search-memory","Search Memory",[44,1607,1609],{"className":46,"code":1608,"language":48,"meta":49,"style":49},"curl --location --request POST 'http:\u002F\u002F127.0.0.1:8000\u002Fproduct\u002Fsearch' \\\n--header 'Content-Type: application\u002Fjson' \\\n--data-raw '{\n    \"query\": \"我喜欢吃什么\",\n     \"user_id\": \"8736b16e-1d20-4163-980b-a5063c3facdc\",\n    \"readable_cube_ids\": [\"b32d0977-435d-4828-a86f-4f47f8b55bca\"],\n    \"top_k\":20\n  }'\n# 响应\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观点]用户喜欢草莓。\",\n                  \"metadata\": {\n                      \"user_id\": \"de8215e3-3beb-4afc-9b64-ae594d62f1ea\",\n                      \"session_id\": \"root_session\",\n                      \"status\": \"activated\",\n                      \"type\": \"fact\",\n                      \"key\": \"用户对草莓的喜好\",\n                      \"confidence\": 0.99,\n                      \"source\": null,\n                      \"tags\": [\n                          \"喜好\",\n                          \"草莓\"\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\": \"用户表达了对草莓的喜好，显示出他们在饮食偏好上的倾向。\",\n                      \"relativity\": 0.6349761312470591,\n                      \"vector_sync\": \"success\",\n                      \"ref_id\": \"[2f40be8f]\",\n                      \"id\": \"2f40be8f-736c-4a5f-aada-9489037769e0\",\n                      \"memory\": \"[user观点]用户喜欢草莓。\"\n                  },\n                  \"ref_id\": \"[2f40be8f]\"\n              },\n              ...\n            }\n          }\n        ],\n        \"act_mem\": [],\n        \"para_mem\": []\n    }\n}\n",[51,1610,1611,1630,1642,1650,1655,1660,1665,1670,1677,1681,1685,1693,1708,1717,1727,1732,1748,1757,1762,1778,1794,1803,1819,1835,1851,1867,1883,1893,1903,1912,1919,1924,1929,1938,1954,1970,1980,1989,2005,2014,2019,2036,2046,2061,2075,2080,2085,2089,2105,2115,2132,2149,2165,2179,2187,2201,2209,2215,2221,2227,2233,2243,2254,2260],{"__ignoreMap":49},[54,1612,1613,1615,1617,1619,1621,1623,1626,1628],{"class":56,"line":57},[54,1614,1460],{"class":60},[54,1616,1463],{"class":64},[54,1618,1466],{"class":64},[54,1620,1469],{"class":64},[54,1622,1472],{"class":157},[54,1624,1625],{"class":64},"http:\u002F\u002F127.0.0.1:8000\u002Fproduct\u002Fsearch",[54,1627,1478],{"class":157},[54,1629,1481],{"class":153},[54,1631,1632,1634,1636,1638,1640],{"class":56,"line":71},[54,1633,1486],{"class":153},[54,1635,1478],{"class":157},[54,1637,1491],{"class":64},[54,1639,1478],{"class":157},[54,1641,1481],{"class":153},[54,1643,1644,1646,1648],{"class":56,"line":150},[54,1645,1500],{"class":153},[54,1647,1478],{"class":157},[54,1649,1505],{"class":64},[54,1651,1652],{"class":56,"line":164},[54,1653,1654],{"class":64},"    \"query\": \"我喜欢吃什么\",\n",[54,1656,1657],{"class":56,"line":170},[54,1658,1659],{"class":64},"     \"user_id\": \"8736b16e-1d20-4163-980b-a5063c3facdc\",\n",[54,1661,1662],{"class":56,"line":181},[54,1663,1664],{"class":64},"    \"readable_cube_ids\": [\"b32d0977-435d-4828-a86f-4f47f8b55bca\"],\n",[54,1666,1667],{"class":56,"line":187},[54,1668,1669],{"class":64},"    \"top_k\":20\n",[54,1671,1672,1675],{"class":56,"line":198},[54,1673,1674],{"class":64},"  }",[54,1676,1546],{"class":157},[54,1678,1679],{"class":56,"line":203},[54,1680,1555],{"class":146},[54,1682,1683],{"class":56,"line":209},[54,1684,1505],{"class":157},[54,1686,1687,1689,1691],{"class":56,"line":219},[54,1688,1564],{"class":60},[54,1690,512],{"class":74},[54,1692,1569],{"class":64},[54,1694,1695,1697,1699,1701,1704,1706],{"class":56,"line":225},[54,1696,1574],{"class":60},[54,1698,512],{"class":74},[54,1700,515],{"class":157},[54,1702,1703],{"class":64},"Search completed successfully",[54,1705,521],{"class":157},[54,1707,1586],{"class":64},[54,1709,1710,1712,1714],{"class":56,"line":235},[54,1711,1591],{"class":60},[54,1713,512],{"class":74},[54,1715,1716],{"class":64}," {\n",[54,1718,1719,1722,1724],{"class":56,"line":241},[54,1720,1721],{"class":60},"        \"text_mem\"",[54,1723,512],{"class":74},[54,1725,1726],{"class":153}," [\n",[54,1728,1729],{"class":56,"line":251},[54,1730,1731],{"class":157},"          {\n",[54,1733,1734,1737,1739,1741,1744,1746],{"class":56,"line":256},[54,1735,1736],{"class":60},"            \"cube_id\"",[54,1738,512],{"class":74},[54,1740,515],{"class":157},[54,1742,1743],{"class":64},"7231eda8-6c57-4f6e-97ce-98b699eebb98",[54,1745,521],{"class":157},[54,1747,1586],{"class":64},[54,1749,1750,1753,1755],{"class":56,"line":262},[54,1751,1752],{"class":60},"            \"memories\"",[54,1754,512],{"class":74},[54,1756,1726],{"class":153},[54,1758,1759],{"class":56,"line":273},[54,1760,1761],{"class":157},"              {\n",[54,1763,1764,1767,1769,1771,1774,1776],{"class":56,"line":279},[54,1765,1766],{"class":60},"                  \"id\"",[54,1768,512],{"class":74},[54,1770,515],{"class":157},[54,1772,1773],{"class":64},"2f40be8f-736c-4a5f-aada-9489037769e0",[54,1775,521],{"class":157},[54,1777,1586],{"class":64},[54,1779,1780,1783,1785,1787,1790,1792],{"class":56,"line":290},[54,1781,1782],{"class":60},"                  \"memory\"",[54,1784,512],{"class":74},[54,1786,515],{"class":157},[54,1788,1789],{"class":64},"[user观点]用户喜欢草莓。",[54,1791,521],{"class":157},[54,1793,1586],{"class":64},[54,1795,1796,1799,1801],{"class":56,"line":296},[54,1797,1798],{"class":60},"                  \"metadata\"",[54,1800,512],{"class":74},[54,1802,1716],{"class":64},[54,1804,1805,1808,1810,1812,1815,1817],{"class":56,"line":307},[54,1806,1807],{"class":60},"                      \"user_id\"",[54,1809,512],{"class":74},[54,1811,515],{"class":157},[54,1813,1814],{"class":64},"de8215e3-3beb-4afc-9b64-ae594d62f1ea",[54,1816,521],{"class":157},[54,1818,1586],{"class":64},[54,1820,1821,1824,1826,1828,1831,1833],{"class":56,"line":313},[54,1822,1823],{"class":60},"                      \"session_id\"",[54,1825,512],{"class":74},[54,1827,515],{"class":157},[54,1829,1830],{"class":64},"root_session",[54,1832,521],{"class":157},[54,1834,1586],{"class":64},[54,1836,1837,1840,1842,1844,1847,1849],{"class":56,"line":324},[54,1838,1839],{"class":60},"                      \"status\"",[54,1841,512],{"class":74},[54,1843,515],{"class":157},[54,1845,1846],{"class":64},"activated",[54,1848,521],{"class":157},[54,1850,1586],{"class":64},[54,1852,1853,1856,1858,1860,1863,1865],{"class":56,"line":330},[54,1854,1855],{"class":60},"                      \"type\"",[54,1857,512],{"class":74},[54,1859,515],{"class":157},[54,1861,1862],{"class":64},"fact",[54,1864,521],{"class":157},[54,1866,1586],{"class":64},[54,1868,1869,1872,1874,1876,1879,1881],{"class":56,"line":341},[54,1870,1871],{"class":60},"                      \"key\"",[54,1873,512],{"class":74},[54,1875,515],{"class":157},[54,1877,1878],{"class":64},"用户对草莓的喜好",[54,1880,521],{"class":157},[54,1882,1586],{"class":64},[54,1884,1885,1888,1890],{"class":56,"line":347},[54,1886,1887],{"class":60},"                      \"confidence\"",[54,1889,512],{"class":74},[54,1891,1892],{"class":64}," 0.99,\n",[54,1894,1895,1898,1900],{"class":56,"line":358},[54,1896,1897],{"class":60},"                      \"source\"",[54,1899,512],{"class":74},[54,1901,1902],{"class":64}," null,\n",[54,1904,1905,1908,1910],{"class":56,"line":363},[54,1906,1907],{"class":60},"                      \"tags\"",[54,1909,512],{"class":74},[54,1911,1726],{"class":153},[54,1913,1914,1917],{"class":56,"line":369},[54,1915,1916],{"class":60},"                          \"喜好\"",[54,1918,1586],{"class":60},[54,1920,1921],{"class":56,"line":375},[54,1922,1923],{"class":60},"                          \"草莓\"\n",[54,1925,1926],{"class":56,"line":386},[54,1927,1928],{"class":153},"                      ],\n",[54,1930,1931,1934,1936],{"class":56,"line":392},[54,1932,1933],{"class":60},"                      \"visibility\"",[54,1935,512],{"class":74},[54,1937,1902],{"class":64},[54,1939,1940,1943,1945,1947,1950,1952],{"class":56,"line":403},[54,1941,1942],{"class":60},"                      \"updated_at\"",[54,1944,512],{"class":74},[54,1946,515],{"class":157},[54,1948,1949],{"class":64},"2025-09-18T08:23:44.625479000+00:00",[54,1951,521],{"class":157},[54,1953,1586],{"class":64},[54,1955,1956,1959,1961,1963,1966,1968],{"class":56,"line":414},[54,1957,1958],{"class":60},"                      \"memory_type\"",[54,1960,512],{"class":74},[54,1962,515],{"class":157},[54,1964,1965],{"class":64},"UserMemory",[54,1967,521],{"class":157},[54,1969,1586],{"class":64},[54,1971,1972,1975,1977],{"class":56,"line":425},[54,1973,1974],{"class":60},"                      \"sources\"",[54,1976,512],{"class":74},[54,1978,1979],{"class":153}," [],\n",[54,1981,1982,1985,1987],{"class":56,"line":435},[54,1983,1984],{"class":60},"                      \"embedding\"",[54,1986,512],{"class":74},[54,1988,1979],{"class":153},[54,1990,1991,1994,1996,1998,2001,2003],{"class":56,"line":446},[54,1992,1993],{"class":60},"                      \"created_at\"",[54,1995,512],{"class":74},[54,1997,515],{"class":157},[54,1999,2000],{"class":64},"2025-09-18T08:23:44.625511000+00:00",[54,2002,521],{"class":157},[54,2004,1586],{"class":64},[54,2006,2007,2010,2012],{"class":56,"line":451},[54,2008,2009],{"class":60},"                      \"usage\"",[54,2011,512],{"class":74},[54,2013,1726],{"class":153},[54,2015,2016],{"class":56,"line":457},[54,2017,2018],{"class":60},"                          \"{\n",[54,2020,2021,2024,2027,2030,2033],{"class":56,"line":467},[54,2022,2023],{"class":60},"                            \"",[54,2025,2026],{"class":60},"time",[54,2028,2029],{"class":60},"\": \"",[54,2031,2032],{"class":60},"2025-09-18T08:24:17.759748",[54,2034,2035],{"class":60},"\", \n",[54,2037,2038,2040,2043],{"class":56,"line":472},[54,2039,2023],{"class":60},[54,2041,2042],{"class":60},"info",[54,2044,2045],{"class":60},"\": {\n",[54,2047,2048,2051,2054,2056,2058],{"class":56,"line":478},[54,2049,2050],{"class":60},"                              \"",[54,2052,2053],{"class":60},"user_id",[54,2055,2029],{"class":60},[54,2057,1814],{"class":60},[54,2059,2060],{"class":60},"\",\n",[54,2062,2063,2065,2068,2070,2072],{"class":56,"line":489},[54,2064,2050],{"class":60},[54,2066,2067],{"class":60},"session_id",[54,2069,2029],{"class":60},[54,2071,1830],{"class":60},[54,2073,2074],{"class":60},"\"\n",[54,2076,2077],{"class":56,"line":495},[54,2078,2079],{"class":60},"                            }\n",[54,2081,2082],{"class":56,"line":907},[54,2083,2084],{"class":60},"                          }\"\n",[54,2086,2087],{"class":56,"line":912},[54,2088,1928],{"class":153},[54,2090,2091,2094,2096,2098,2101,2103],{"class":56,"line":921},[54,2092,2093],{"class":60},"                      \"background\"",[54,2095,512],{"class":74},[54,2097,515],{"class":157},[54,2099,2100],{"class":64},"用户表达了对草莓的喜好，显示出他们在饮食偏好上的倾向。",[54,2102,521],{"class":157},[54,2104,1586],{"class":64},[54,2106,2107,2110,2112],{"class":56,"line":926},[54,2108,2109],{"class":60},"                      \"relativity\"",[54,2111,512],{"class":74},[54,2113,2114],{"class":64}," 0.6349761312470591,\n",[54,2116,2118,2121,2123,2125,2128,2130],{"class":56,"line":2117},50,[54,2119,2120],{"class":60},"                      \"vector_sync\"",[54,2122,512],{"class":74},[54,2124,515],{"class":157},[54,2126,2127],{"class":64},"success",[54,2129,521],{"class":157},[54,2131,1586],{"class":64},[54,2133,2135,2138,2140,2142,2145,2147],{"class":56,"line":2134},51,[54,2136,2137],{"class":60},"                      \"ref_id\"",[54,2139,512],{"class":74},[54,2141,515],{"class":157},[54,2143,2144],{"class":64},"[2f40be8f]",[54,2146,521],{"class":157},[54,2148,1586],{"class":64},[54,2150,2152,2155,2157,2159,2161,2163],{"class":56,"line":2151},52,[54,2153,2154],{"class":60},"                      \"id\"",[54,2156,512],{"class":74},[54,2158,515],{"class":157},[54,2160,1773],{"class":64},[54,2162,521],{"class":157},[54,2164,1586],{"class":64},[54,2166,2168,2171,2173,2175,2177],{"class":56,"line":2167},53,[54,2169,2170],{"class":60},"                      \"memory\"",[54,2172,512],{"class":74},[54,2174,515],{"class":157},[54,2176,1789],{"class":64},[54,2178,2074],{"class":157},[54,2180,2182,2185],{"class":56,"line":2181},54,[54,2183,2184],{"class":157},"                  }",[54,2186,1586],{"class":153},[54,2188,2190,2193,2195,2197,2199],{"class":56,"line":2189},55,[54,2191,2192],{"class":60},"                  \"ref_id\"",[54,2194,512],{"class":74},[54,2196,515],{"class":157},[54,2198,2144],{"class":64},[54,2200,2074],{"class":157},[54,2202,2204,2207],{"class":56,"line":2203},56,[54,2205,2206],{"class":157},"              }",[54,2208,1586],{"class":153},[54,2210,2212],{"class":56,"line":2211},57,[54,2213,2214],{"class":74},"              ...\n",[54,2216,2218],{"class":56,"line":2217},58,[54,2219,2220],{"class":157},"            }\n",[54,2222,2224],{"class":56,"line":2223},59,[54,2225,2226],{"class":153},"          }\n",[54,2228,2230],{"class":56,"line":2229},60,[54,2231,2232],{"class":153},"        ],\n",[54,2234,2236,2239,2241],{"class":56,"line":2235},61,[54,2237,2238],{"class":60},"        \"act_mem\"",[54,2240,512],{"class":74},[54,2242,1979],{"class":153},[54,2244,2246,2249,2251],{"class":56,"line":2245},62,[54,2247,2248],{"class":60},"        \"para_mem\"",[54,2250,512],{"class":74},[54,2252,2253],{"class":153}," []\n",[54,2255,2257],{"class":56,"line":2256},63,[54,2258,2259],{"class":153},"    }\n",[54,2261,2263],{"class":56,"line":2262},64,[54,2264,1601],{"class":153},[40,2266,26],{"id":26},[44,2268,2269],{"className":46,"code":47,"language":48,"meta":49,"style":49},[51,2270,2271,2279],{"__ignoreMap":49},[54,2272,2273,2275,2277],{"class":56,"line":57},[54,2274,61],{"class":60},[54,2276,65],{"class":64},[54,2278,68],{"class":64},[54,2280,2281,2283],{"class":56,"line":71},[54,2282,75],{"class":74},[54,2284,78],{"class":64},[80,2286,83],{"id":2287},"创建-env-配置文件-1",[20,2289,2290],{},"MemOS 的 server_api 依赖环境变量启动，因此需要在启动目录下创建 .env 文件。",[2292,2293,2294],"ol",{},[2295,2296,2297],"li",{},"新建 .env",[44,2299,2300],{"className":46,"code":107,"language":48,"meta":49,"style":49},[51,2301,2302,2308],{"__ignoreMap":49},[54,2303,2304,2306],{"class":56,"line":57},[54,2305,75],{"class":74},[54,2307,78],{"class":64},[54,2309,2310,2312],{"class":56,"line":71},[54,2311,120],{"class":60},[54,2313,123],{"class":64},[2292,2315,2316],{"start":71},[2295,2317,2318,2319,2323,2324],{},".env 内容，快速配置请见 docker 安装下的",[1435,2320,2322],{"href":2321},"\u002Fopen_source\u002Fgetting_started\u002Finstallation#2.-.env-%E5%86%85%E5%AE%B9","env 配置","\n.env详细配置请见",[1435,2325,2327],{"href":2326},"\u002Fopen_source\u002Fgetting_started\u002Frest_api_server\u002F#%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C","env配置",[85,2329,2330],{},[20,2331,2332,2334,96],{},[90,2333,92],{},[94,2335],{},[80,2337,2338],{"id":2338},"安装依赖",[44,2340,2342],{"className":46,"code":2341,"language":48,"meta":49,"style":49},"# 执行安装命令\npip install -e .\npip install --no-cache-dir -r .\u002Fdocker\u002Frequirements.txt -i https:\u002F\u002Fmirrors.aliyun.com\u002Fpypi\u002Fsimple\u002F\n# 配置PYTHONPATH 当前项目文件的绝对目录下的 src\nexport PYTHONPATH=\u002F******\u002FMemOS\u002Fsrc\n",[51,2343,2344,2349,2363,2384,2389],{"__ignoreMap":49},[54,2345,2346],{"class":56,"line":57},[54,2347,2348],{"class":146},"# 执行安装命令\n",[54,2350,2351,2354,2357,2360],{"class":56,"line":71},[54,2352,2353],{"class":60},"pip",[54,2355,2356],{"class":64}," install",[54,2358,2359],{"class":64}," -e",[54,2361,2362],{"class":64}," .\n",[54,2364,2365,2367,2369,2372,2375,2378,2381],{"class":56,"line":150},[54,2366,2353],{"class":60},[54,2368,2356],{"class":64},[54,2370,2371],{"class":64}," --no-cache-dir",[54,2373,2374],{"class":64}," -r",[54,2376,2377],{"class":64}," .\u002Fdocker\u002Frequirements.txt",[54,2379,2380],{"class":64}," -i",[54,2382,2383],{"class":64}," https:\u002F\u002Fmirrors.aliyun.com\u002Fpypi\u002Fsimple\u002F\n",[54,2385,2386],{"class":56,"line":164},[54,2387,2388],{"class":146},"# 配置PYTHONPATH 当前项目文件的绝对目录下的 src\n",[54,2390,2391,2395,2398,2400,2403,2406],{"class":56,"line":170},[54,2392,2394],{"class":2393},"spNyl","export",[54,2396,2397],{"class":153}," PYTHONPATH",[54,2399,158],{"class":157},[54,2401,2402],{"class":153},"\u002F",[54,2404,2405],{"class":157},"******",[54,2407,2408],{"class":153},"\u002FMemOS\u002Fsrc\n",[80,2410,2411],{"id":2411},"安装图数据库",[20,2413,2414],{},"Memos的记忆底层是通过图数据库进行存储的，在开源项目中，推荐使用Neo4j运行您的第一个项目。社区同时支持Neo4j企业版\u002F社区版与PolarDB。",[85,2416,2417],{},[20,2418,2419,2422,2424,2425,2427,2428],{},[90,2420,2421],{},"PC开发者的最快选择：Neo4j Desktop",[94,2423],{},"如果您计划使用 Neo4j 作为图记忆，Neo4j Desktop可能是最方便的安装方式。",[94,2426],{},"\n另外，您需要在 .env 文件中设置 ",[90,2429,2430],{},"NEO4J_BACKEND=neo4j",[80,2432,2434],{"id":2433},"启动-memos-server","启动 MemOS Server。",[44,2436,2438],{"className":46,"code":2437,"language":48,"meta":49,"style":49},"# 项目根目录下\nuvicorn memos.api.server_api:app --host 0.0.0.0 --port 8000 --workers 1\n",[51,2439,2440,2445],{"__ignoreMap":49},[54,2441,2442],{"class":56,"line":57},[54,2443,2444],{"class":146},"# 项目根目录下\n",[54,2446,2447,2449,2452,2455,2458,2461,2464,2467],{"class":56,"line":71},[54,2448,1249],{"class":60},[54,2450,2451],{"class":64}," memos.api.server_api:app",[54,2453,2454],{"class":64}," --host",[54,2456,2457],{"class":1232}," 0.0.0.0",[54,2459,2460],{"class":64}," --port",[54,2462,2463],{"class":1232}," 8000",[54,2465,2466],{"class":64}," --workers",[54,2468,2469],{"class":1232}," 1\n",[80,2471,1450],{"id":2472},"add-memory-1",[44,2474,2475],{"className":46,"code":1453,"language":48,"meta":49,"style":49},[51,2476,2477,2495,2507,2515,2519,2523,2527,2531,2535,2539,2543,2549,2553,2557,2561,2569,2583,2591],{"__ignoreMap":49},[54,2478,2479,2481,2483,2485,2487,2489,2491,2493],{"class":56,"line":57},[54,2480,1460],{"class":60},[54,2482,1463],{"class":64},[54,2484,1466],{"class":64},[54,2486,1469],{"class":64},[54,2488,1472],{"class":157},[54,2490,1475],{"class":64},[54,2492,1478],{"class":157},[54,2494,1481],{"class":153},[54,2496,2497,2499,2501,2503,2505],{"class":56,"line":71},[54,2498,1486],{"class":153},[54,2500,1478],{"class":157},[54,2502,1491],{"class":64},[54,2504,1478],{"class":157},[54,2506,1481],{"class":153},[54,2508,2509,2511,2513],{"class":56,"line":150},[54,2510,1500],{"class":153},[54,2512,1478],{"class":157},[54,2514,1505],{"class":64},[54,2516,2517],{"class":56,"line":164},[54,2518,141],{"emptyLinePlaceholder":140},[54,2520,2521],{"class":56,"line":170},[54,2522,1514],{"class":64},[54,2524,2525],{"class":56,"line":181},[54,2526,1519],{"class":64},[54,2528,2529],{"class":56,"line":187},[54,2530,1524],{"class":64},[54,2532,2533],{"class":56,"line":198},[54,2534,1529],{"class":64},[54,2536,2537],{"class":56,"line":203},[54,2538,1534],{"class":64},[54,2540,2541],{"class":56,"line":209},[54,2542,1539],{"class":64},[54,2544,2545,2547],{"class":56,"line":219},[54,2546,605],{"class":64},[54,2548,1546],{"class":157},[54,2550,2551],{"class":56,"line":225},[54,2552,141],{"emptyLinePlaceholder":140},[54,2554,2555],{"class":56,"line":235},[54,2556,1555],{"class":146},[54,2558,2559],{"class":56,"line":241},[54,2560,1505],{"class":157},[54,2562,2563,2565,2567],{"class":56,"line":251},[54,2564,1564],{"class":60},[54,2566,512],{"class":74},[54,2568,1569],{"class":64},[54,2570,2571,2573,2575,2577,2579,2581],{"class":56,"line":256},[54,2572,1574],{"class":60},[54,2574,512],{"class":74},[54,2576,515],{"class":157},[54,2578,1581],{"class":64},[54,2580,521],{"class":157},[54,2582,1586],{"class":64},[54,2584,2585,2587,2589],{"class":56,"line":262},[54,2586,1591],{"class":60},[54,2588,512],{"class":74},[54,2590,1596],{"class":64},[54,2592,2593],{"class":56,"line":273},[54,2594,1601],{"class":157},[80,2596,1605],{"id":2597},"search-memory-1",[44,2599,2601],{"className":46,"code":2600,"language":48,"meta":49,"style":49},"curl --location --request POST 'http:\u002F\u002F127.0.0.1:8000\u002Fproduct\u002Fsearch' \\\n--header 'Content-Type: application\u002Fjson' \\\n--data-raw '{\n    \"query\": \"我喜欢吃什么\",\n     \"user_id\": \"8736b16e-1d20-4163-980b-a5063c3facdc\",\n    \"readable_cube_ids\": [\"b32d0977-435d-4828-a86f-4f47f8b55bca\"],\n    \"top_k\":20\n  }'\n# 响应\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观点]用户喜欢草莓。\",\n                  \"metadata\": {\n                      \"user_id\": \"de8215e3-3beb-4afc-9b64-ae594d62f1ea\",\n                      \"session_id\": \"root_session\",\n                      \"status\": \"activated\",\n                      \"type\": \"fact\",\n                      \"key\": \"用户对草莓的喜好\",\n                      \"confidence\": 0.99,\n                      \"source\": null,\n                      \"tags\": [\n                          \"喜好\",\n                          \"草莓\"\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\": \"用户表达了对草莓的喜好，显示出他们在饮食偏好上的倾向。\",\n                      \"relativity\": 0.6349761312470591,\n                      \"vector_sync\": \"success\",\n                      \"ref_id\": \"[2f40be8f]\",\n                      \"id\": \"2f40be8f-736c-4a5f-aada-9489037769e0\",\n                      \"memory\": \"[user观点]用户喜欢草莓。\"\n                  },\n                  \"ref_id\": \"[2f40be8f]\"\n              },\n              ...\n            }\n          }\n        ],\n        \"act_mem\": [],\n        \"para_mem\": []\n    }\n}\n",[51,2602,2603,2621,2633,2641,2645,2649,2653,2657,2663,2667,2671,2679,2693,2701,2709,2713,2727,2735,2739,2753,2767,2775,2789,2803,2817,2831,2845,2853,2861,2869,2875,2879,2883,2891,2905,2919,2927,2935,2949,2957,2961,2973,2981,2993,3005,3009,3013,3017,3031,3039,3053,3067,3081,3093,3099,3111,3117,3121,3125,3129,3133,3141,3149,3153],{"__ignoreMap":49},[54,2604,2605,2607,2609,2611,2613,2615,2617,2619],{"class":56,"line":57},[54,2606,1460],{"class":60},[54,2608,1463],{"class":64},[54,2610,1466],{"class":64},[54,2612,1469],{"class":64},[54,2614,1472],{"class":157},[54,2616,1625],{"class":64},[54,2618,1478],{"class":157},[54,2620,1481],{"class":153},[54,2622,2623,2625,2627,2629,2631],{"class":56,"line":71},[54,2624,1486],{"class":153},[54,2626,1478],{"class":157},[54,2628,1491],{"class":64},[54,2630,1478],{"class":157},[54,2632,1481],{"class":153},[54,2634,2635,2637,2639],{"class":56,"line":150},[54,2636,1500],{"class":153},[54,2638,1478],{"class":157},[54,2640,1505],{"class":64},[54,2642,2643],{"class":56,"line":164},[54,2644,1654],{"class":64},[54,2646,2647],{"class":56,"line":170},[54,2648,1659],{"class":64},[54,2650,2651],{"class":56,"line":181},[54,2652,1664],{"class":64},[54,2654,2655],{"class":56,"line":187},[54,2656,1669],{"class":64},[54,2658,2659,2661],{"class":56,"line":198},[54,2660,1674],{"class":64},[54,2662,1546],{"class":157},[54,2664,2665],{"class":56,"line":203},[54,2666,1555],{"class":146},[54,2668,2669],{"class":56,"line":209},[54,2670,1505],{"class":157},[54,2672,2673,2675,2677],{"class":56,"line":219},[54,2674,1564],{"class":60},[54,2676,512],{"class":74},[54,2678,1569],{"class":64},[54,2680,2681,2683,2685,2687,2689,2691],{"class":56,"line":225},[54,2682,1574],{"class":60},[54,2684,512],{"class":74},[54,2686,515],{"class":157},[54,2688,1703],{"class":64},[54,2690,521],{"class":157},[54,2692,1586],{"class":64},[54,2694,2695,2697,2699],{"class":56,"line":235},[54,2696,1591],{"class":60},[54,2698,512],{"class":74},[54,2700,1716],{"class":64},[54,2702,2703,2705,2707],{"class":56,"line":241},[54,2704,1721],{"class":60},[54,2706,512],{"class":74},[54,2708,1726],{"class":153},[54,2710,2711],{"class":56,"line":251},[54,2712,1731],{"class":157},[54,2714,2715,2717,2719,2721,2723,2725],{"class":56,"line":256},[54,2716,1736],{"class":60},[54,2718,512],{"class":74},[54,2720,515],{"class":157},[54,2722,1743],{"class":64},[54,2724,521],{"class":157},[54,2726,1586],{"class":64},[54,2728,2729,2731,2733],{"class":56,"line":262},[54,2730,1752],{"class":60},[54,2732,512],{"class":74},[54,2734,1726],{"class":153},[54,2736,2737],{"class":56,"line":273},[54,2738,1761],{"class":157},[54,2740,2741,2743,2745,2747,2749,2751],{"class":56,"line":279},[54,2742,1766],{"class":60},[54,2744,512],{"class":74},[54,2746,515],{"class":157},[54,2748,1773],{"class":64},[54,2750,521],{"class":157},[54,2752,1586],{"class":64},[54,2754,2755,2757,2759,2761,2763,2765],{"class":56,"line":290},[54,2756,1782],{"class":60},[54,2758,512],{"class":74},[54,2760,515],{"class":157},[54,2762,1789],{"class":64},[54,2764,521],{"class":157},[54,2766,1586],{"class":64},[54,2768,2769,2771,2773],{"class":56,"line":296},[54,2770,1798],{"class":60},[54,2772,512],{"class":74},[54,2774,1716],{"class":64},[54,2776,2777,2779,2781,2783,2785,2787],{"class":56,"line":307},[54,2778,1807],{"class":60},[54,2780,512],{"class":74},[54,2782,515],{"class":157},[54,2784,1814],{"class":64},[54,2786,521],{"class":157},[54,2788,1586],{"class":64},[54,2790,2791,2793,2795,2797,2799,2801],{"class":56,"line":313},[54,2792,1823],{"class":60},[54,2794,512],{"class":74},[54,2796,515],{"class":157},[54,2798,1830],{"class":64},[54,2800,521],{"class":157},[54,2802,1586],{"class":64},[54,2804,2805,2807,2809,2811,2813,2815],{"class":56,"line":324},[54,2806,1839],{"class":60},[54,2808,512],{"class":74},[54,2810,515],{"class":157},[54,2812,1846],{"class":64},[54,2814,521],{"class":157},[54,2816,1586],{"class":64},[54,2818,2819,2821,2823,2825,2827,2829],{"class":56,"line":330},[54,2820,1855],{"class":60},[54,2822,512],{"class":74},[54,2824,515],{"class":157},[54,2826,1862],{"class":64},[54,2828,521],{"class":157},[54,2830,1586],{"class":64},[54,2832,2833,2835,2837,2839,2841,2843],{"class":56,"line":341},[54,2834,1871],{"class":60},[54,2836,512],{"class":74},[54,2838,515],{"class":157},[54,2840,1878],{"class":64},[54,2842,521],{"class":157},[54,2844,1586],{"class":64},[54,2846,2847,2849,2851],{"class":56,"line":347},[54,2848,1887],{"class":60},[54,2850,512],{"class":74},[54,2852,1892],{"class":64},[54,2854,2855,2857,2859],{"class":56,"line":358},[54,2856,1897],{"class":60},[54,2858,512],{"class":74},[54,2860,1902],{"class":64},[54,2862,2863,2865,2867],{"class":56,"line":363},[54,2864,1907],{"class":60},[54,2866,512],{"class":74},[54,2868,1726],{"class":153},[54,2870,2871,2873],{"class":56,"line":369},[54,2872,1916],{"class":60},[54,2874,1586],{"class":60},[54,2876,2877],{"class":56,"line":375},[54,2878,1923],{"class":60},[54,2880,2881],{"class":56,"line":386},[54,2882,1928],{"class":153},[54,2884,2885,2887,2889],{"class":56,"line":392},[54,2886,1933],{"class":60},[54,2888,512],{"class":74},[54,2890,1902],{"class":64},[54,2892,2893,2895,2897,2899,2901,2903],{"class":56,"line":403},[54,2894,1942],{"class":60},[54,2896,512],{"class":74},[54,2898,515],{"class":157},[54,2900,1949],{"class":64},[54,2902,521],{"class":157},[54,2904,1586],{"class":64},[54,2906,2907,2909,2911,2913,2915,2917],{"class":56,"line":414},[54,2908,1958],{"class":60},[54,2910,512],{"class":74},[54,2912,515],{"class":157},[54,2914,1965],{"class":64},[54,2916,521],{"class":157},[54,2918,1586],{"class":64},[54,2920,2921,2923,2925],{"class":56,"line":425},[54,2922,1974],{"class":60},[54,2924,512],{"class":74},[54,2926,1979],{"class":153},[54,2928,2929,2931,2933],{"class":56,"line":435},[54,2930,1984],{"class":60},[54,2932,512],{"class":74},[54,2934,1979],{"class":153},[54,2936,2937,2939,2941,2943,2945,2947],{"class":56,"line":446},[54,2938,1993],{"class":60},[54,2940,512],{"class":74},[54,2942,515],{"class":157},[54,2944,2000],{"class":64},[54,2946,521],{"class":157},[54,2948,1586],{"class":64},[54,2950,2951,2953,2955],{"class":56,"line":451},[54,2952,2009],{"class":60},[54,2954,512],{"class":74},[54,2956,1726],{"class":153},[54,2958,2959],{"class":56,"line":457},[54,2960,2018],{"class":60},[54,2962,2963,2965,2967,2969,2971],{"class":56,"line":467},[54,2964,2023],{"class":60},[54,2966,2026],{"class":60},[54,2968,2029],{"class":60},[54,2970,2032],{"class":60},[54,2972,2035],{"class":60},[54,2974,2975,2977,2979],{"class":56,"line":472},[54,2976,2023],{"class":60},[54,2978,2042],{"class":60},[54,2980,2045],{"class":60},[54,2982,2983,2985,2987,2989,2991],{"class":56,"line":478},[54,2984,2050],{"class":60},[54,2986,2053],{"class":60},[54,2988,2029],{"class":60},[54,2990,1814],{"class":60},[54,2992,2035],{"class":60},[54,2994,2995,2997,2999,3001,3003],{"class":56,"line":489},[54,2996,2050],{"class":60},[54,2998,2067],{"class":60},[54,3000,2029],{"class":60},[54,3002,1830],{"class":60},[54,3004,2074],{"class":60},[54,3006,3007],{"class":56,"line":495},[54,3008,2079],{"class":60},[54,3010,3011],{"class":56,"line":907},[54,3012,2084],{"class":60},[54,3014,3015],{"class":56,"line":912},[54,3016,1928],{"class":153},[54,3018,3019,3021,3023,3025,3027,3029],{"class":56,"line":921},[54,3020,2093],{"class":60},[54,3022,512],{"class":74},[54,3024,515],{"class":157},[54,3026,2100],{"class":64},[54,3028,521],{"class":157},[54,3030,1586],{"class":64},[54,3032,3033,3035,3037],{"class":56,"line":926},[54,3034,2109],{"class":60},[54,3036,512],{"class":74},[54,3038,2114],{"class":64},[54,3040,3041,3043,3045,3047,3049,3051],{"class":56,"line":2117},[54,3042,2120],{"class":60},[54,3044,512],{"class":74},[54,3046,515],{"class":157},[54,3048,2127],{"class":64},[54,3050,521],{"class":157},[54,3052,1586],{"class":64},[54,3054,3055,3057,3059,3061,3063,3065],{"class":56,"line":2134},[54,3056,2137],{"class":60},[54,3058,512],{"class":74},[54,3060,515],{"class":157},[54,3062,2144],{"class":64},[54,3064,521],{"class":157},[54,3066,1586],{"class":64},[54,3068,3069,3071,3073,3075,3077,3079],{"class":56,"line":2151},[54,3070,2154],{"class":60},[54,3072,512],{"class":74},[54,3074,515],{"class":157},[54,3076,1773],{"class":64},[54,3078,521],{"class":157},[54,3080,1586],{"class":64},[54,3082,3083,3085,3087,3089,3091],{"class":56,"line":2167},[54,3084,2170],{"class":60},[54,3086,512],{"class":74},[54,3088,515],{"class":157},[54,3090,1789],{"class":64},[54,3092,2074],{"class":157},[54,3094,3095,3097],{"class":56,"line":2181},[54,3096,2184],{"class":157},[54,3098,1586],{"class":153},[54,3100,3101,3103,3105,3107,3109],{"class":56,"line":2189},[54,3102,2192],{"class":60},[54,3104,512],{"class":74},[54,3106,515],{"class":157},[54,3108,2144],{"class":64},[54,3110,2074],{"class":157},[54,3112,3113,3115],{"class":56,"line":2203},[54,3114,2206],{"class":157},[54,3116,1586],{"class":153},[54,3118,3119],{"class":56,"line":2211},[54,3120,2214],{"class":74},[54,3122,3123],{"class":56,"line":2217},[54,3124,2220],{"class":157},[54,3126,3127],{"class":56,"line":2223},[54,3128,2226],{"class":153},[54,3130,3131],{"class":56,"line":2229},[54,3132,2232],{"class":153},[54,3134,3135,3137,3139],{"class":56,"line":2235},[54,3136,2238],{"class":60},[54,3138,512],{"class":74},[54,3140,1979],{"class":153},[54,3142,3143,3145,3147],{"class":56,"line":2245},[54,3144,2248],{"class":60},[54,3146,512],{"class":74},[54,3148,2253],{"class":153},[54,3150,3151],{"class":56,"line":2256},[54,3152,2259],{"class":153},[54,3154,3155],{"class":56,"line":2262},[54,3156,1601],{"class":153},[40,3158,34],{"id":34},[20,3160,3161],{},"安装 MemOS 最简单的方法是使用 pip。",[98,3163,3164,3168,3171,3206,3210,3213,3234,3237,3239,3247,3250,3252,3256,3267,3275,3283,3287,3290,3339,3342,3350,3353,3360,3366,3531,3534,3540],{"level":100},[80,3165,3167],{"id":3166},"创建并激活-conda-环境推荐","创建并激活 Conda 环境（推荐）",[20,3169,3170],{},"为避免依赖冲突，强烈建议使用独立的 Conda 环境。",[44,3172,3174],{"className":46,"code":3173,"language":48,"meta":49,"style":49},"conda create -n memos python=3.11\nconda activate memos\n",[51,3175,3176,3196],{"__ignoreMap":49},[54,3177,3178,3181,3184,3187,3190,3193],{"class":56,"line":57},[54,3179,3180],{"class":60},"conda",[54,3182,3183],{"class":64}," create",[54,3185,3186],{"class":64}," -n",[54,3188,3189],{"class":64}," memos",[54,3191,3192],{"class":64}," python=",[54,3194,3195],{"class":1232},"3.11\n",[54,3197,3198,3200,3203],{"class":56,"line":71},[54,3199,3180],{"class":60},[54,3201,3202],{"class":64}," activate",[54,3204,3205],{"class":64}," memos\n",[80,3207,3209],{"id":3208},"从-pypi-安装-memos","从 PyPI 安装 MemOS",[20,3211,3212],{},"安装 MemOS 及其全部可选组件：",[44,3214,3216],{"className":46,"code":3215,"language":48,"meta":49,"style":49},"pip install -U \"MemoryOS[all]\"\n",[51,3217,3218],{"__ignoreMap":49},[54,3219,3220,3222,3224,3227,3229,3232],{"class":56,"line":57},[54,3221,2353],{"class":60},[54,3223,2356],{"class":64},[54,3225,3226],{"class":64}," -U",[54,3228,515],{"class":157},[54,3230,3231],{"class":64},"MemoryOS[all]",[54,3233,2074],{"class":157},[80,3235,2411],{"id":3236},"安装图数据库-1",[20,3238,2414],{},[85,3240,3241],{},[20,3242,3243,3245,2424],{},[90,3244,2421],{},[94,3246],{},[80,3248,83],{"id":3249},"创建-env-配置文件-2",[20,3251,2290],{},[2292,3253,3254],{},[2295,3255,2297],{},[44,3257,3259],{"className":46,"code":3258,"language":48,"meta":49,"style":49},"touch .env\n",[51,3260,3261],{"__ignoreMap":49},[54,3262,3263,3265],{"class":56,"line":57},[54,3264,120],{"class":60},[54,3266,123],{"class":64},[2292,3268,3269],{"start":71},[2295,3270,3271,3272],{},"示例 .env 内容\n.env详细配置请见",[1435,3273,2327],{"href":3274},"\u002Fopen_source\u002Fgetting_started\u002Frest_api_server",[20,3276,3277,3278,3282],{},"有关详细的开发环境设置、工作流程指南和贡献最佳实践，请参阅我们的 ",[1435,3279,3281],{"href":3280},"\u002Fopen_source\u002Fcontribution\u002Foverview","贡献指南","。",[80,3284,3286],{"id":3285},"启动-memos-server-1","启动 MemOS Server",[20,3288,3289],{},"MemOS 不会自动加载 .env 文件，请使用 python-dotenv 方式启动。",[44,3291,3293],{"className":46,"code":3292,"language":48,"meta":49,"style":49},"python -m dotenv run -- \\\n  uvicorn memos.api.server_api:app \\\n  --host 0.0.0.0 \\\n  --port 8000\n",[51,3294,3295,3314,3323,3332],{"__ignoreMap":49},[54,3296,3297,3300,3303,3306,3309,3312],{"class":56,"line":57},[54,3298,3299],{"class":60},"python",[54,3301,3302],{"class":64}," -m",[54,3304,3305],{"class":64}," dotenv",[54,3307,3308],{"class":64}," run",[54,3310,3311],{"class":64}," --",[54,3313,1481],{"class":153},[54,3315,3316,3319,3321],{"class":56,"line":71},[54,3317,3318],{"class":64},"  uvicorn",[54,3320,2451],{"class":64},[54,3322,1481],{"class":153},[54,3324,3325,3328,3330],{"class":56,"line":150},[54,3326,3327],{"class":64},"  --host",[54,3329,2457],{"class":1232},[54,3331,1481],{"class":153},[54,3333,3334,3337],{"class":56,"line":164},[54,3335,3336],{"class":64},"  --port",[54,3338,1233],{"class":1232},[20,3340,3341],{},"启动成功后，你将看到类似输出：",[44,3343,3348],{"className":3344,"code":3346,"language":3347,"meta":49},[3345],"language-text","INFO:     Uvicorn running on http:\u002F\u002F0.0.0.0:8000\nINFO:     Application startup complete.\n","text",[51,3349,3346],{"__ignoreMap":49},[80,3351,3352],{"id":3352},"开始您的记忆操作吧",[20,3354,3355,3356,3359],{},"添加记忆（调用方式和从源码部署是一致哒，这次我们试试",[90,3357,3358],{},"同步","方式来添加记忆）：",[44,3361,3364],{"className":3362,"code":3363,"language":3347,"meta":49},[3345],"curl --location --request POST 'http:\u002F\u002F127.0.0.1:8000\u002Fproduct\u002Fadd' \\\n--header 'Content-Type: application\u002Fjson' \\\n--data-raw '{\n    \"messages\": [{\n    \"role\": \"user\",\n    \"content\": \"我喜欢吃草莓\"\n  }],\n    \"user_id\": \"8736b16e-1d20-4163-980b-a5063c3facdc\",\n    \"writable_cube_ids\":[\"b32d0977-435d-4828-a86f-4f47f8b55bca\"],\n    \"async_mode\": \"sync\",\n    \"mode\": \"fine\"\n}'\n",[51,3365,3363],{"__ignoreMap":49},[85,3367,3368,3375],{},[20,3369,3370,3373],{},[90,3371,3372],{},"期望的输出",[94,3374],{},[44,3376,3380],{"className":3377,"code":3378,"language":3379,"meta":49,"style":49},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"code\": 200,\n  \"message\": \"Memory added successfully\",\n  \"data\": [\n    {\n      \"memory\": \"用户喜欢吃草莓。\",\n      \"memory_id\": \"d01a354e-e5f6-4e2a-bd89-c57ae\",\n      \"memory_type\": \"UserMemory\",\n      \"cube_id\": \"b32d0977-435d-4828-a86f-4f47f8b55bca\"\n    }\n  ]\n}\n","json",[51,3381,3382,3386,3402,3422,3435,3440,3461,3481,3500,3518,3522,3527],{"__ignoreMap":49},[54,3383,3384],{"class":56,"line":57},[54,3385,1505],{"class":157},[54,3387,3388,3391,3393,3395,3397,3400],{"class":56,"line":71},[54,3389,3390],{"class":157},"  \"",[54,3392,51],{"class":2393},[54,3394,521],{"class":157},[54,3396,512],{"class":157},[54,3398,3399],{"class":1232}," 200",[54,3401,1586],{"class":157},[54,3403,3404,3406,3409,3411,3413,3415,3418,3420],{"class":56,"line":150},[54,3405,3390],{"class":157},[54,3407,3408],{"class":2393},"message",[54,3410,521],{"class":157},[54,3412,512],{"class":157},[54,3414,515],{"class":157},[54,3416,3417],{"class":64},"Memory added successfully",[54,3419,521],{"class":157},[54,3421,1586],{"class":157},[54,3423,3424,3426,3429,3431,3433],{"class":56,"line":164},[54,3425,3390],{"class":157},[54,3427,3428],{"class":2393},"data",[54,3430,521],{"class":157},[54,3432,512],{"class":157},[54,3434,1726],{"class":157},[54,3436,3437],{"class":56,"line":170},[54,3438,3439],{"class":157},"    {\n",[54,3441,3442,3445,3448,3450,3452,3454,3457,3459],{"class":56,"line":181},[54,3443,3444],{"class":157},"      \"",[54,3446,3447],{"class":60},"memory",[54,3449,521],{"class":157},[54,3451,512],{"class":157},[54,3453,515],{"class":157},[54,3455,3456],{"class":64},"用户喜欢吃草莓。",[54,3458,521],{"class":157},[54,3460,1586],{"class":157},[54,3462,3463,3465,3468,3470,3472,3474,3477,3479],{"class":56,"line":187},[54,3464,3444],{"class":157},[54,3466,3467],{"class":60},"memory_id",[54,3469,521],{"class":157},[54,3471,512],{"class":157},[54,3473,515],{"class":157},[54,3475,3476],{"class":64},"d01a354e-e5f6-4e2a-bd89-c57ae",[54,3478,521],{"class":157},[54,3480,1586],{"class":157},[54,3482,3483,3485,3488,3490,3492,3494,3496,3498],{"class":56,"line":198},[54,3484,3444],{"class":157},[54,3486,3487],{"class":60},"memory_type",[54,3489,521],{"class":157},[54,3491,512],{"class":157},[54,3493,515],{"class":157},[54,3495,1965],{"class":64},[54,3497,521],{"class":157},[54,3499,1586],{"class":157},[54,3501,3502,3504,3507,3509,3511,3513,3516],{"class":56,"line":203},[54,3503,3444],{"class":157},[54,3505,3506],{"class":60},"cube_id",[54,3508,521],{"class":157},[54,3510,512],{"class":157},[54,3512,515],{"class":157},[54,3514,3515],{"class":64},"b32d0977-435d-4828-a86f-4f47f8b55bca",[54,3517,2074],{"class":157},[54,3519,3520],{"class":56,"line":209},[54,3521,2259],{"class":157},[54,3523,3524],{"class":56,"line":219},[54,3525,3526],{"class":157},"  ]\n",[54,3528,3529],{"class":56,"line":225},[54,3530,1601],{"class":157},[20,3532,3533],{},"检索记忆（调用方式和从源码部署是一致哒）：",[44,3535,3538],{"className":3536,"code":3537,"language":3347,"meta":49},[3345],"curl --location --request POST 'http:\u002F\u002F127.0.0.1:8000\u002Fproduct\u002Fsearch' \\\n--header 'Content-Type: application\u002Fjson' \\\n--data-raw '{\n    \"query\": \"我喜欢吃什么\",\n     \"user_id\": \"8736b16e-1d20-4163-980b-a5063c3facdc\",\n    \"readable_cube_ids\": [\"b32d0977-435d-4828-a86f-4f47f8b55bca\"],\n    \"top_k\":20\n  }'\n",[51,3539,3537],{"__ignoreMap":49},[85,3541,3542,3548],{},[20,3543,3544,3546],{},[90,3545,3372],{},[94,3547],{},[44,3549,3551],{"className":3377,"code":3550,"language":3379,"meta":49,"style":49},"{\n  \"code\": 200,\n  \"message\": \"Search completed successfully\",\n  \"data\": {\n    \"text_mem\": [\n      {\n        \"cube_id\": \"b32d0977-435d-4828-a86f-4f47f8b55bca\",\n        \"memories\": [\n          {\n            \"id\": \"f18cbe36-4cd9-456f-9b9f-6be89c35b2bf\",\n            \"memory\": \"用户喜欢吃草莓。\",\n            \"metadata\": {\n              \"user_id\": \"8736b16e-1d20-4163-980b-a5dc\",\n              \"session_id\": \"default_session\",\n              \"status\": \"activated\",\n              \"type\": \"fact\",\n              \"key\": \"草莓喜好\",\n              \"confidence\": 0.99,\n              \"source\": null,\n              \"tags\": [\"饮喜好\", \"草莓\"],\n              \"visibility\": null,\n              \"updated_at\": \"2025-12-26T20:35:08.178564000+00:00\",\n              \"info\": null,\n              \"covered_history\": null,\n              \"memory_type\": \"WorkingMemory\",\n              \"sources\": [],\n              \"embedding\": [],\n              \"created_at\": \"2025-12-26T20:35:08.177484000+00:00\",\n              \"usage\": [],\n              \"background\": \"用户表达了好，表明他们喜欢这种水果，可能在饮食选择中倾向于包含草莓。\",\n              \"file_ids\": [],\n              \"relativity\": 0.0,\n              \"ref_id\": \"[f18cbe36]\"\n            },\n            \"ref_id\": \"[f18cbe36]\"\n          }\n        ]\n      }\n    ],\n    \"act_mem\": [],\n    \"para_mem\": [],\n    \"pref_mem\": [\n      {\n        \"cube_id\": \"b32d0977-435d-4828-a86f-4f47f8b55bca\",\n        \"memories\": []\n      }\n    ],\n    \"pref_note\": \"\",\n    \"tool_mem\": [\n      {\n        \"cube_id\": \"b32d0977-435d-4828-a86f-4f47f8b55bca\",\n        \"memories\": []\n      }\n    ],\n    \"pref_string\": \"\"\n  }\n}\n",[51,3552,3553,3557,3571,3589,3601,3615,3620,3639,3652,3656,3678,3696,3709,3730,3749,3768,3787,3807,3823,3836,3868,3881,3901,3913,3926,3945,3958,3971,3991,4004,4024,4037,4053,4071,4076,4092,4096,4101,4106,4111,4124,4137,4150,4154,4172,4184,4188,4192,4208,4221,4225,4243,4255,4259,4263,4277,4282],{"__ignoreMap":49},[54,3554,3555],{"class":56,"line":57},[54,3556,1505],{"class":157},[54,3558,3559,3561,3563,3565,3567,3569],{"class":56,"line":71},[54,3560,3390],{"class":157},[54,3562,51],{"class":2393},[54,3564,521],{"class":157},[54,3566,512],{"class":157},[54,3568,3399],{"class":1232},[54,3570,1586],{"class":157},[54,3572,3573,3575,3577,3579,3581,3583,3585,3587],{"class":56,"line":150},[54,3574,3390],{"class":157},[54,3576,3408],{"class":2393},[54,3578,521],{"class":157},[54,3580,512],{"class":157},[54,3582,515],{"class":157},[54,3584,1703],{"class":64},[54,3586,521],{"class":157},[54,3588,1586],{"class":157},[54,3590,3591,3593,3595,3597,3599],{"class":56,"line":164},[54,3592,3390],{"class":157},[54,3594,3428],{"class":2393},[54,3596,521],{"class":157},[54,3598,512],{"class":157},[54,3600,1716],{"class":157},[54,3602,3603,3606,3609,3611,3613],{"class":56,"line":170},[54,3604,3605],{"class":157},"    \"",[54,3607,3608],{"class":60},"text_mem",[54,3610,521],{"class":157},[54,3612,512],{"class":157},[54,3614,1726],{"class":157},[54,3616,3617],{"class":56,"line":181},[54,3618,3619],{"class":157},"      {\n",[54,3621,3622,3625,3627,3629,3631,3633,3635,3637],{"class":56,"line":187},[54,3623,3624],{"class":157},"        \"",[54,3626,3506],{"class":1232},[54,3628,521],{"class":157},[54,3630,512],{"class":157},[54,3632,515],{"class":157},[54,3634,3515],{"class":64},[54,3636,521],{"class":157},[54,3638,1586],{"class":157},[54,3640,3641,3643,3646,3648,3650],{"class":56,"line":198},[54,3642,3624],{"class":157},[54,3644,3645],{"class":1232},"memories",[54,3647,521],{"class":157},[54,3649,512],{"class":157},[54,3651,1726],{"class":157},[54,3653,3654],{"class":56,"line":203},[54,3655,1731],{"class":157},[54,3657,3658,3661,3665,3667,3669,3671,3674,3676],{"class":56,"line":209},[54,3659,3660],{"class":157},"            \"",[54,3662,3664],{"class":3663},"swJcz","id",[54,3666,521],{"class":157},[54,3668,512],{"class":157},[54,3670,515],{"class":157},[54,3672,3673],{"class":64},"f18cbe36-4cd9-456f-9b9f-6be89c35b2bf",[54,3675,521],{"class":157},[54,3677,1586],{"class":157},[54,3679,3680,3682,3684,3686,3688,3690,3692,3694],{"class":56,"line":219},[54,3681,3660],{"class":157},[54,3683,3447],{"class":3663},[54,3685,521],{"class":157},[54,3687,512],{"class":157},[54,3689,515],{"class":157},[54,3691,3456],{"class":64},[54,3693,521],{"class":157},[54,3695,1586],{"class":157},[54,3697,3698,3700,3703,3705,3707],{"class":56,"line":225},[54,3699,3660],{"class":157},[54,3701,3702],{"class":3663},"metadata",[54,3704,521],{"class":157},[54,3706,512],{"class":157},[54,3708,1716],{"class":157},[54,3710,3711,3714,3717,3719,3721,3723,3726,3728],{"class":56,"line":235},[54,3712,3713],{"class":157},"              \"",[54,3715,2053],{"class":3716},"su27w",[54,3718,521],{"class":157},[54,3720,512],{"class":157},[54,3722,515],{"class":157},[54,3724,3725],{"class":64},"8736b16e-1d20-4163-980b-a5dc",[54,3727,521],{"class":157},[54,3729,1586],{"class":157},[54,3731,3732,3734,3736,3738,3740,3742,3745,3747],{"class":56,"line":241},[54,3733,3713],{"class":157},[54,3735,2067],{"class":3716},[54,3737,521],{"class":157},[54,3739,512],{"class":157},[54,3741,515],{"class":157},[54,3743,3744],{"class":64},"default_session",[54,3746,521],{"class":157},[54,3748,1586],{"class":157},[54,3750,3751,3753,3756,3758,3760,3762,3764,3766],{"class":56,"line":251},[54,3752,3713],{"class":157},[54,3754,3755],{"class":3716},"status",[54,3757,521],{"class":157},[54,3759,512],{"class":157},[54,3761,515],{"class":157},[54,3763,1846],{"class":64},[54,3765,521],{"class":157},[54,3767,1586],{"class":157},[54,3769,3770,3772,3775,3777,3779,3781,3783,3785],{"class":56,"line":256},[54,3771,3713],{"class":157},[54,3773,3774],{"class":3716},"type",[54,3776,521],{"class":157},[54,3778,512],{"class":157},[54,3780,515],{"class":157},[54,3782,1862],{"class":64},[54,3784,521],{"class":157},[54,3786,1586],{"class":157},[54,3788,3789,3791,3794,3796,3798,3800,3803,3805],{"class":56,"line":262},[54,3790,3713],{"class":157},[54,3792,3793],{"class":3716},"key",[54,3795,521],{"class":157},[54,3797,512],{"class":157},[54,3799,515],{"class":157},[54,3801,3802],{"class":64},"草莓喜好",[54,3804,521],{"class":157},[54,3806,1586],{"class":157},[54,3808,3809,3811,3814,3816,3818,3821],{"class":56,"line":273},[54,3810,3713],{"class":157},[54,3812,3813],{"class":3716},"confidence",[54,3815,521],{"class":157},[54,3817,512],{"class":157},[54,3819,3820],{"class":1232}," 0.99",[54,3822,1586],{"class":157},[54,3824,3825,3827,3830,3832,3834],{"class":56,"line":279},[54,3826,3713],{"class":157},[54,3828,3829],{"class":3716},"source",[54,3831,521],{"class":157},[54,3833,512],{"class":157},[54,3835,1902],{"class":157},[54,3837,3838,3840,3843,3845,3847,3849,3851,3854,3856,3858,3860,3863,3865],{"class":56,"line":290},[54,3839,3713],{"class":157},[54,3841,3842],{"class":3716},"tags",[54,3844,521],{"class":157},[54,3846,512],{"class":157},[54,3848,620],{"class":157},[54,3850,521],{"class":157},[54,3852,3853],{"class":64},"饮喜好",[54,3855,521],{"class":157},[54,3857,524],{"class":157},[54,3859,515],{"class":157},[54,3861,3862],{"class":64},"草莓",[54,3864,521],{"class":157},[54,3866,3867],{"class":157},"],\n",[54,3869,3870,3872,3875,3877,3879],{"class":56,"line":296},[54,3871,3713],{"class":157},[54,3873,3874],{"class":3716},"visibility",[54,3876,521],{"class":157},[54,3878,512],{"class":157},[54,3880,1902],{"class":157},[54,3882,3883,3885,3888,3890,3892,3894,3897,3899],{"class":56,"line":307},[54,3884,3713],{"class":157},[54,3886,3887],{"class":3716},"updated_at",[54,3889,521],{"class":157},[54,3891,512],{"class":157},[54,3893,515],{"class":157},[54,3895,3896],{"class":64},"2025-12-26T20:35:08.178564000+00:00",[54,3898,521],{"class":157},[54,3900,1586],{"class":157},[54,3902,3903,3905,3907,3909,3911],{"class":56,"line":313},[54,3904,3713],{"class":157},[54,3906,2042],{"class":3716},[54,3908,521],{"class":157},[54,3910,512],{"class":157},[54,3912,1902],{"class":157},[54,3914,3915,3917,3920,3922,3924],{"class":56,"line":324},[54,3916,3713],{"class":157},[54,3918,3919],{"class":3716},"covered_history",[54,3921,521],{"class":157},[54,3923,512],{"class":157},[54,3925,1902],{"class":157},[54,3927,3928,3930,3932,3934,3936,3938,3941,3943],{"class":56,"line":330},[54,3929,3713],{"class":157},[54,3931,3487],{"class":3716},[54,3933,521],{"class":157},[54,3935,512],{"class":157},[54,3937,515],{"class":157},[54,3939,3940],{"class":64},"WorkingMemory",[54,3942,521],{"class":157},[54,3944,1586],{"class":157},[54,3946,3947,3949,3952,3954,3956],{"class":56,"line":341},[54,3948,3713],{"class":157},[54,3950,3951],{"class":3716},"sources",[54,3953,521],{"class":157},[54,3955,512],{"class":157},[54,3957,1979],{"class":157},[54,3959,3960,3962,3965,3967,3969],{"class":56,"line":347},[54,3961,3713],{"class":157},[54,3963,3964],{"class":3716},"embedding",[54,3966,521],{"class":157},[54,3968,512],{"class":157},[54,3970,1979],{"class":157},[54,3972,3973,3975,3978,3980,3982,3984,3987,3989],{"class":56,"line":358},[54,3974,3713],{"class":157},[54,3976,3977],{"class":3716},"created_at",[54,3979,521],{"class":157},[54,3981,512],{"class":157},[54,3983,515],{"class":157},[54,3985,3986],{"class":64},"2025-12-26T20:35:08.177484000+00:00",[54,3988,521],{"class":157},[54,3990,1586],{"class":157},[54,3992,3993,3995,3998,4000,4002],{"class":56,"line":363},[54,3994,3713],{"class":157},[54,3996,3997],{"class":3716},"usage",[54,3999,521],{"class":157},[54,4001,512],{"class":157},[54,4003,1979],{"class":157},[54,4005,4006,4008,4011,4013,4015,4017,4020,4022],{"class":56,"line":369},[54,4007,3713],{"class":157},[54,4009,4010],{"class":3716},"background",[54,4012,521],{"class":157},[54,4014,512],{"class":157},[54,4016,515],{"class":157},[54,4018,4019],{"class":64},"用户表达了好，表明他们喜欢这种水果，可能在饮食选择中倾向于包含草莓。",[54,4021,521],{"class":157},[54,4023,1586],{"class":157},[54,4025,4026,4028,4031,4033,4035],{"class":56,"line":375},[54,4027,3713],{"class":157},[54,4029,4030],{"class":3716},"file_ids",[54,4032,521],{"class":157},[54,4034,512],{"class":157},[54,4036,1979],{"class":157},[54,4038,4039,4041,4044,4046,4048,4051],{"class":56,"line":386},[54,4040,3713],{"class":157},[54,4042,4043],{"class":3716},"relativity",[54,4045,521],{"class":157},[54,4047,512],{"class":157},[54,4049,4050],{"class":1232}," 0.0",[54,4052,1586],{"class":157},[54,4054,4055,4057,4060,4062,4064,4066,4069],{"class":56,"line":392},[54,4056,3713],{"class":157},[54,4058,4059],{"class":3716},"ref_id",[54,4061,521],{"class":157},[54,4063,512],{"class":157},[54,4065,515],{"class":157},[54,4067,4068],{"class":64},"[f18cbe36]",[54,4070,2074],{"class":157},[54,4072,4073],{"class":56,"line":403},[54,4074,4075],{"class":157},"            },\n",[54,4077,4078,4080,4082,4084,4086,4088,4090],{"class":56,"line":414},[54,4079,3660],{"class":157},[54,4081,4059],{"class":3663},[54,4083,521],{"class":157},[54,4085,512],{"class":157},[54,4087,515],{"class":157},[54,4089,4068],{"class":64},[54,4091,2074],{"class":157},[54,4093,4094],{"class":56,"line":425},[54,4095,2226],{"class":157},[54,4097,4098],{"class":56,"line":435},[54,4099,4100],{"class":157},"        ]\n",[54,4102,4103],{"class":56,"line":446},[54,4104,4105],{"class":157},"      }\n",[54,4107,4108],{"class":56,"line":451},[54,4109,4110],{"class":157},"    ],\n",[54,4112,4113,4115,4118,4120,4122],{"class":56,"line":457},[54,4114,3605],{"class":157},[54,4116,4117],{"class":60},"act_mem",[54,4119,521],{"class":157},[54,4121,512],{"class":157},[54,4123,1979],{"class":157},[54,4125,4126,4128,4131,4133,4135],{"class":56,"line":467},[54,4127,3605],{"class":157},[54,4129,4130],{"class":60},"para_mem",[54,4132,521],{"class":157},[54,4134,512],{"class":157},[54,4136,1979],{"class":157},[54,4138,4139,4141,4144,4146,4148],{"class":56,"line":472},[54,4140,3605],{"class":157},[54,4142,4143],{"class":60},"pref_mem",[54,4145,521],{"class":157},[54,4147,512],{"class":157},[54,4149,1726],{"class":157},[54,4151,4152],{"class":56,"line":478},[54,4153,3619],{"class":157},[54,4155,4156,4158,4160,4162,4164,4166,4168,4170],{"class":56,"line":489},[54,4157,3624],{"class":157},[54,4159,3506],{"class":1232},[54,4161,521],{"class":157},[54,4163,512],{"class":157},[54,4165,515],{"class":157},[54,4167,3515],{"class":64},[54,4169,521],{"class":157},[54,4171,1586],{"class":157},[54,4173,4174,4176,4178,4180,4182],{"class":56,"line":495},[54,4175,3624],{"class":157},[54,4177,3645],{"class":1232},[54,4179,521],{"class":157},[54,4181,512],{"class":157},[54,4183,2253],{"class":157},[54,4185,4186],{"class":56,"line":907},[54,4187,4105],{"class":157},[54,4189,4190],{"class":56,"line":912},[54,4191,4110],{"class":157},[54,4193,4194,4196,4199,4201,4203,4206],{"class":56,"line":921},[54,4195,3605],{"class":157},[54,4197,4198],{"class":60},"pref_note",[54,4200,521],{"class":157},[54,4202,512],{"class":157},[54,4204,4205],{"class":157}," \"\"",[54,4207,1586],{"class":157},[54,4209,4210,4212,4215,4217,4219],{"class":56,"line":926},[54,4211,3605],{"class":157},[54,4213,4214],{"class":60},"tool_mem",[54,4216,521],{"class":157},[54,4218,512],{"class":157},[54,4220,1726],{"class":157},[54,4222,4223],{"class":56,"line":2117},[54,4224,3619],{"class":157},[54,4226,4227,4229,4231,4233,4235,4237,4239,4241],{"class":56,"line":2134},[54,4228,3624],{"class":157},[54,4230,3506],{"class":1232},[54,4232,521],{"class":157},[54,4234,512],{"class":157},[54,4236,515],{"class":157},[54,4238,3515],{"class":64},[54,4240,521],{"class":157},[54,4242,1586],{"class":157},[54,4244,4245,4247,4249,4251,4253],{"class":56,"line":2151},[54,4246,3624],{"class":157},[54,4248,3645],{"class":1232},[54,4250,521],{"class":157},[54,4252,512],{"class":157},[54,4254,2253],{"class":157},[54,4256,4257],{"class":56,"line":2167},[54,4258,4105],{"class":157},[54,4260,4261],{"class":56,"line":2181},[54,4262,4110],{"class":157},[54,4264,4265,4267,4270,4272,4274],{"class":56,"line":2189},[54,4266,3605],{"class":157},[54,4268,4269],{"class":60},"pref_string",[54,4271,521],{"class":157},[54,4273,512],{"class":157},[54,4275,4276],{"class":157}," \"\"\n",[54,4278,4279],{"class":56,"line":2203},[54,4280,4281],{"class":157},"  }\n",[54,4283,4284],{"class":56,"line":2211},[54,4285,1601],{"class":157},[85,4287,4288,4296],{},[20,4289,4290,4293,4295],{},[90,4291,4292],{},"下载示例代码",[94,4294],{},"恭喜您🎉已完成从pip安装MemOS，并跑通最小验证用例！您还可以基于以下命令下载示例代码，从而了解每个memos\n内部模块的调用方式：",[44,4297,4299],{"className":46,"code":4298,"language":48,"meta":49,"style":49},"memos download_examples\n",[51,4300,4301],{"__ignoreMap":49},[54,4302,4303,4306],{"class":56,"line":57},[54,4304,4305],{"class":60},"memos",[54,4307,4308],{"class":64}," download_examples\n",[4310,4311,4312],"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}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .su27w, html code.shiki .su27w{--shiki-light:#916B53;--shiki-default:#916B53;--shiki-dark:#916B53}",{"title":49,"searchDepth":71,"depth":71,"links":4314},[4315,4316,4317],{"id":42,"depth":71,"text":17},{"id":26,"depth":71,"text":26},{"id":34,"depth":71,"text":34},"MemOS 完整安装指南。","md",{},"\u002Fcn\u002Fopen_source\u002Fgetting_started\u002Finstallation",{"title":5,"description":49},"cn\u002Fopen_source\u002Fgetting_started\u002Finstallation","YeiKy0FcFXaoqQe22JYC0bFsL9S821pChZDMztE1ErM",[4326],{"title":4327,"path":4328,"stem":4329,"icon":4330,"framework":6,"module":6,"class":4331,"target":-1,"active":4332,"defaultOpen":4332,"children":-1,"description":4333},"创建你的第一个记忆","\u002Fcn\u002Fopen_source\u002Fgetting_started\u002Fyour_first_memory","open_source\u002Fgetting_started\u002Fyour_first_memory","i-ri-bookmark-line",[],false,"动手实战！我们将带您使用 SimpleStructMemReader 从对话中提取记忆，并把它存进 TreeTextMemory 进行管理与检索。",1774339749007]