[{"data":1,"prerenderedAt":3107},["ShallowReactive",2],{"docs-page-cn-\u002Fcn\u002Fmemos_cloud\u002Ffeatures\u002Fskill":3,"surround-cn-\u002Fcn\u002Fmemos_cloud\u002Ffeatures\u002Fskill":3091},{"id":4,"title":5,"avatar":6,"banner":6,"body":7,"category":6,"desc":3084,"description":176,"extension":3085,"links":6,"meta":3086,"navigation":6,"path":3087,"seo":3088,"stem":3089,"__hash__":3090},"docs\u002Fcn\u002Fmemos_cloud\u002Ffeatures\u002Fskill.md","技能 Skill",null,{"type":8,"value":9,"toc":3066},"minimark",[10,15,24,37,40,51,54,57,61,66,69,76,78,82,85,87,89,92,95,102,105,149,152,154,157,160,162,167,170,860,862,866,873,1077,1079,1083,1086,1233,1236,1365,1367,1369,1372,1375,1378,1380,1384,1387,2375,2377,2381,2400,2406,2408,2412,2422,2640,2642,2646,2652,2674,2682,2684,2690,2694,2760,2764,2770,2772,2774,2777,2784,2818,2820,2823,2826,2828,2832,2838,2928,2930,2934,2939,3024,3030,3032,3037,3062],[11,12,14],"h2",{"id":13},"什么是技能skill","什么是技能（Skill）？",[16,17,18,19,23],"p",{},"在 AI Agent 的语境中，",[20,21,22],"strong",{},"技能"," 是一套可复用的任务处理方法。它告诉 Agent「遇到某类任务该怎么做」，例如：",[25,26,27,31,34],"ul",{},[28,29,30],"li",{},"如何规划一次旅行",[28,32,33],{},"如何处理一笔退货工单",[28,35,36],{},"如何按公司规范生成周报",[16,38,39],{},"技能可以弥补大模型在长期运行中经验难以沉淀的问题，主要体现在：",[25,41,42,45,48],{},[28,43,44],{},"可维护：把真实任务中的稳定流程沉淀为结构化方法，方便持续迭代。",[28,46,47],{},"按需调用：由 Agent 根据当前任务召回相关技能，而不是把所有流程都放进上下文。",[28,49,50],{},"个性化：将不同用户的偏好、习惯和禁忌转化为可复用的执行方式。",[52,53],"hr",{},[55,56],"br",{},[11,58,60],{"id":59},"memos-如何为-agent-提供技能","MemOS 如何为 Agent 提供技能？",[62,63,65],"h3",{"id":64},"_1-自动生成个性化技能","1. 自动生成个性化技能",[16,67,68],{},"MemOS 主张“记忆即资产”，在真实对话中沉淀下来的解决路径与用户偏好，就是最宝贵的技能素材。",[16,70,71,72,75],{},"你不需要准备任何文件，只要添加用户与 Agent 的对话原文，MemOS ",[20,73,74],{},"会从用户记忆中自动提炼技能","——将零散的交互历史固化为可复用、个性化的专业能力。",[55,77],{},[62,79,81],{"id":80},"_2-上传自定义技能","2. 上传自定义技能",[16,83,84],{},"现在，MemOS 也支持直接上传你已有的技能文件，上传 Markdown 文件或 ZIP 包到知识库，MemOS 就能在检索时返回相关的技能给 Agent。",[52,86],{},[55,88],{},[11,90,91],{"id":91},"自动生成个性化技能",[62,93,94],{"id":94},"工作原理",[16,96,97],{},[98,99],"img",{"alt":100,"src":101},"image.png","https:\u002F\u002Fcdn.memtensor.com.cn\u002Fimg\u002F1769653199709_6ol3n7_compressed.png",[16,103,104],{},"上图展示了终端用户、你构建的 AI Agent 与 MemOS 的完整交互流程：",[106,107,108,116,140,146],"ol",{},[28,109,110,111,115],{},"调用 ",[112,113,114],"code",{},"add\u002Fmessage"," 接口将用户的对话消息传入 MemOS。",[28,117,118,119,121,122,125,126,128,129,132,133,135,136,139],{},"MemOS 接收到请求后，会依次完成以下处理，生成技能（Skill）文件：",[55,120],{},"a. ",[20,123,124],{},"智能切片","：识别历史对话中的任务边界，切分成任务文本块；",[55,127],{},"b. ",[20,130,131],{},"聚类提取","：将同类型的任务文本块聚类，结合用户的历史记忆，提取出结构化的技能文本。",[55,134],{},"c. ",[20,137,138],{},"技能转化","：将技能转化为可运行、可被识别的技能（Skill）文件。",[28,141,110,142,145],{},[112,143,144],{},"search\u002Fmemory"," 接口检索记忆，MemOS 会统一返回与上下文相关的用户事实、偏好、工具记忆与匹配的技能（Skill）文件。",[28,147,148],{},"下载技能文件，将记忆和技能文件统一传给你自己部署的大模型，从而实现对长期经验与自动生成技能的有效利用。",[16,150,151],{},"整个过程无需手动上传任何技能文件。",[55,153],{},[62,155,156],{"id":156},"旅行规划示例",[16,158,159],{},"以「旅行规划」为例，展示同一个任务如何为不同用户生成不同技能。",[55,161],{},[163,164,166],"h4",{"id":165},"_1-添加对话","1. 添加对话",[16,168,169],{},"用户在对话中表达了自己的旅行规划偏好：不走回头路、行程紧凑、偏好文化景点、需要提前检查天气。",[171,172,177],"pre",{"className":173,"code":174,"language":175,"meta":176,"style":176},"language-python shiki shiki-themes material-theme-lighter github-light-high-contrast github-dark-default","import os\nimport json\nimport requests\n\nos.environ[\"MEMOS_API_KEY\"] = \"YOUR_API_KEY\"\nos.environ[\"MEMOS_BASE_URL\"] = \"https:\u002F\u002Fmemos.memtensor.cn\u002Fapi\u002Fopenmem\u002Fv1\"\n\ndata = {\n    \"user_id\": \"memos_user_j\",\n    \"conversation_id\": \"travel_0127\",\n    \"messages\": [\n        {\n            \"role\": \"user\",\n            \"content\": \"下周我要去成都玩，帮我规划一个5天的出行计划。我喜欢不走回头路的特种兵出行，也帮我标注路途中值得品尝的美食。\"\n        },\n        {\"role\": \"assistant\", \"content\": \"...此处省略...\"},\n        {\n            \"role\": \"user\",\n            \"content\": \"我比较喜欢逛文化景点，商场什么的不太感兴趣。\"\n        },\n        {\"role\": \"assistant\", \"content\": \"...此处省略...\"},\n        {\n            \"role\": \"user\",\n            \"content\": \"帮我在规划的时候提前确认天气和温度，方便我准备行李。\"\n        },\n        {\"role\": \"assistant\", \"content\": \"...此处省略...\"}\n    ]\n}\n\nheaders = {\n    \"Content-Type\": \"application\u002Fjson\",\n    \"Authorization\": f\"Token {os.environ['MEMOS_API_KEY']}\"\n}\nurl = f\"{os.environ['MEMOS_BASE_URL']}\u002Fadd\u002Fmessage\"\n\nres = requests.post(url=url, headers=headers, data=json.dumps(data))\nprint(f\"result: {res.json()}\")\n","python","",[112,178,179,192,200,208,215,258,287,292,304,328,349,364,370,392,411,417,459,464,483,501,506,543,548,567,585,590,628,634,639,644,654,675,720,725,760,765,826],{"__ignoreMap":176},[180,181,184,188],"span",{"class":182,"line":183},"line",1,[180,185,187],{"class":186},"sBMTB","import",[180,189,191],{"class":190},"s5ojA"," os\n",[180,193,195,197],{"class":182,"line":194},2,[180,196,187],{"class":186},[180,198,199],{"class":190}," json\n",[180,201,203,205],{"class":182,"line":202},3,[180,204,187],{"class":186},[180,206,207],{"class":190}," requests\n",[180,209,211],{"class":182,"line":210},4,[180,212,214],{"emptyLinePlaceholder":213},true,"\n",[180,216,218,221,225,229,232,236,240,242,245,249,252,255],{"class":182,"line":217},5,[180,219,220],{"class":190},"os",[180,222,224],{"class":223},"suWxN",".",[180,226,228],{"class":227},"s5qkx","environ",[180,230,231],{"class":223},"[",[180,233,235],{"class":234},"sjUum","\"",[180,237,239],{"class":238},"sp1uZ","MEMOS_API_KEY",[180,241,235],{"class":234},[180,243,244],{"class":223},"]",[180,246,248],{"class":247},"saN0X"," =",[180,250,251],{"class":234}," \"",[180,253,254],{"class":238},"YOUR_API_KEY",[180,256,257],{"class":234},"\"\n",[180,259,261,263,265,267,269,271,274,276,278,280,282,285],{"class":182,"line":260},6,[180,262,220],{"class":190},[180,264,224],{"class":223},[180,266,228],{"class":227},[180,268,231],{"class":223},[180,270,235],{"class":234},[180,272,273],{"class":238},"MEMOS_BASE_URL",[180,275,235],{"class":234},[180,277,244],{"class":223},[180,279,248],{"class":247},[180,281,251],{"class":234},[180,283,284],{"class":238},"https:\u002F\u002Fmemos.memtensor.cn\u002Fapi\u002Fopenmem\u002Fv1",[180,286,257],{"class":234},[180,288,290],{"class":182,"line":289},7,[180,291,214],{"emptyLinePlaceholder":213},[180,293,295,298,301],{"class":182,"line":294},8,[180,296,297],{"class":190},"data ",[180,299,300],{"class":247},"=",[180,302,303],{"class":223}," {\n",[180,305,307,310,313,315,318,320,323,325],{"class":182,"line":306},9,[180,308,309],{"class":234},"    \"",[180,311,312],{"class":238},"user_id",[180,314,235],{"class":234},[180,316,317],{"class":223},":",[180,319,251],{"class":234},[180,321,322],{"class":238},"memos_user_j",[180,324,235],{"class":234},[180,326,327],{"class":223},",\n",[180,329,331,333,336,338,340,342,345,347],{"class":182,"line":330},10,[180,332,309],{"class":234},[180,334,335],{"class":238},"conversation_id",[180,337,235],{"class":234},[180,339,317],{"class":223},[180,341,251],{"class":234},[180,343,344],{"class":238},"travel_0127",[180,346,235],{"class":234},[180,348,327],{"class":223},[180,350,352,354,357,359,361],{"class":182,"line":351},11,[180,353,309],{"class":234},[180,355,356],{"class":238},"messages",[180,358,235],{"class":234},[180,360,317],{"class":223},[180,362,363],{"class":223}," [\n",[180,365,367],{"class":182,"line":366},12,[180,368,369],{"class":223},"        {\n",[180,371,373,376,379,381,383,385,388,390],{"class":182,"line":372},13,[180,374,375],{"class":234},"            \"",[180,377,378],{"class":238},"role",[180,380,235],{"class":234},[180,382,317],{"class":223},[180,384,251],{"class":234},[180,386,387],{"class":238},"user",[180,389,235],{"class":234},[180,391,327],{"class":223},[180,393,395,397,400,402,404,406,409],{"class":182,"line":394},14,[180,396,375],{"class":234},[180,398,399],{"class":238},"content",[180,401,235],{"class":234},[180,403,317],{"class":223},[180,405,251],{"class":234},[180,407,408],{"class":238},"下周我要去成都玩，帮我规划一个5天的出行计划。我喜欢不走回头路的特种兵出行，也帮我标注路途中值得品尝的美食。",[180,410,257],{"class":234},[180,412,414],{"class":182,"line":413},15,[180,415,416],{"class":223},"        },\n",[180,418,420,423,425,427,429,431,433,436,438,441,443,445,447,449,451,454,456],{"class":182,"line":419},16,[180,421,422],{"class":223},"        {",[180,424,235],{"class":234},[180,426,378],{"class":238},[180,428,235],{"class":234},[180,430,317],{"class":223},[180,432,251],{"class":234},[180,434,435],{"class":238},"assistant",[180,437,235],{"class":234},[180,439,440],{"class":223},",",[180,442,251],{"class":234},[180,444,399],{"class":238},[180,446,235],{"class":234},[180,448,317],{"class":223},[180,450,251],{"class":234},[180,452,453],{"class":238},"...此处省略...",[180,455,235],{"class":234},[180,457,458],{"class":223},"},\n",[180,460,462],{"class":182,"line":461},17,[180,463,369],{"class":223},[180,465,467,469,471,473,475,477,479,481],{"class":182,"line":466},18,[180,468,375],{"class":234},[180,470,378],{"class":238},[180,472,235],{"class":234},[180,474,317],{"class":223},[180,476,251],{"class":234},[180,478,387],{"class":238},[180,480,235],{"class":234},[180,482,327],{"class":223},[180,484,486,488,490,492,494,496,499],{"class":182,"line":485},19,[180,487,375],{"class":234},[180,489,399],{"class":238},[180,491,235],{"class":234},[180,493,317],{"class":223},[180,495,251],{"class":234},[180,497,498],{"class":238},"我比较喜欢逛文化景点，商场什么的不太感兴趣。",[180,500,257],{"class":234},[180,502,504],{"class":182,"line":503},20,[180,505,416],{"class":223},[180,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541],{"class":182,"line":508},21,[180,510,422],{"class":223},[180,512,235],{"class":234},[180,514,378],{"class":238},[180,516,235],{"class":234},[180,518,317],{"class":223},[180,520,251],{"class":234},[180,522,435],{"class":238},[180,524,235],{"class":234},[180,526,440],{"class":223},[180,528,251],{"class":234},[180,530,399],{"class":238},[180,532,235],{"class":234},[180,534,317],{"class":223},[180,536,251],{"class":234},[180,538,453],{"class":238},[180,540,235],{"class":234},[180,542,458],{"class":223},[180,544,546],{"class":182,"line":545},22,[180,547,369],{"class":223},[180,549,551,553,555,557,559,561,563,565],{"class":182,"line":550},23,[180,552,375],{"class":234},[180,554,378],{"class":238},[180,556,235],{"class":234},[180,558,317],{"class":223},[180,560,251],{"class":234},[180,562,387],{"class":238},[180,564,235],{"class":234},[180,566,327],{"class":223},[180,568,570,572,574,576,578,580,583],{"class":182,"line":569},24,[180,571,375],{"class":234},[180,573,399],{"class":238},[180,575,235],{"class":234},[180,577,317],{"class":223},[180,579,251],{"class":234},[180,581,582],{"class":238},"帮我在规划的时候提前确认天气和温度，方便我准备行李。",[180,584,257],{"class":234},[180,586,588],{"class":182,"line":587},25,[180,589,416],{"class":223},[180,591,593,595,597,599,601,603,605,607,609,611,613,615,617,619,621,623,625],{"class":182,"line":592},26,[180,594,422],{"class":223},[180,596,235],{"class":234},[180,598,378],{"class":238},[180,600,235],{"class":234},[180,602,317],{"class":223},[180,604,251],{"class":234},[180,606,435],{"class":238},[180,608,235],{"class":234},[180,610,440],{"class":223},[180,612,251],{"class":234},[180,614,399],{"class":238},[180,616,235],{"class":234},[180,618,317],{"class":223},[180,620,251],{"class":234},[180,622,453],{"class":238},[180,624,235],{"class":234},[180,626,627],{"class":223},"}\n",[180,629,631],{"class":182,"line":630},27,[180,632,633],{"class":223},"    ]\n",[180,635,637],{"class":182,"line":636},28,[180,638,627],{"class":223},[180,640,642],{"class":182,"line":641},29,[180,643,214],{"emptyLinePlaceholder":213},[180,645,647,650,652],{"class":182,"line":646},30,[180,648,649],{"class":190},"headers ",[180,651,300],{"class":247},[180,653,303],{"class":223},[180,655,657,659,662,664,666,668,671,673],{"class":182,"line":656},31,[180,658,309],{"class":234},[180,660,661],{"class":238},"Content-Type",[180,663,235],{"class":234},[180,665,317],{"class":223},[180,667,251],{"class":234},[180,669,670],{"class":238},"application\u002Fjson",[180,672,235],{"class":234},[180,674,327],{"class":223},[180,676,678,680,683,685,687,691,694,698,700,702,704,706,709,711,713,715,718],{"class":182,"line":677},32,[180,679,309],{"class":234},[180,681,682],{"class":238},"Authorization",[180,684,235],{"class":234},[180,686,317],{"class":223},[180,688,690],{"class":689},"sZ6T4"," f",[180,692,693],{"class":238},"\"Token ",[180,695,697],{"class":696},"scyET","{",[180,699,220],{"class":190},[180,701,224],{"class":223},[180,703,228],{"class":227},[180,705,231],{"class":223},[180,707,708],{"class":234},"'",[180,710,239],{"class":238},[180,712,708],{"class":234},[180,714,244],{"class":223},[180,716,717],{"class":696},"}",[180,719,257],{"class":238},[180,721,723],{"class":182,"line":722},33,[180,724,627],{"class":223},[180,726,728,731,733,735,737,739,741,743,745,747,749,751,753,755,757],{"class":182,"line":727},34,[180,729,730],{"class":190},"url ",[180,732,300],{"class":247},[180,734,690],{"class":689},[180,736,235],{"class":238},[180,738,697],{"class":696},[180,740,220],{"class":190},[180,742,224],{"class":223},[180,744,228],{"class":227},[180,746,231],{"class":223},[180,748,708],{"class":234},[180,750,273],{"class":238},[180,752,708],{"class":234},[180,754,244],{"class":223},[180,756,717],{"class":696},[180,758,759],{"class":238},"\u002Fadd\u002Fmessage\"\n",[180,761,763],{"class":182,"line":762},35,[180,764,214],{"emptyLinePlaceholder":213},[180,766,768,771,773,776,778,782,785,789,791,793,795,798,800,803,805,808,810,813,815,818,820,823],{"class":182,"line":767},36,[180,769,770],{"class":190},"res ",[180,772,300],{"class":247},[180,774,775],{"class":190}," requests",[180,777,224],{"class":223},[180,779,781],{"class":780},"sa-2m","post",[180,783,784],{"class":223},"(",[180,786,788],{"class":787},"sp4zP","url",[180,790,300],{"class":247},[180,792,788],{"class":780},[180,794,440],{"class":223},[180,796,797],{"class":787}," headers",[180,799,300],{"class":247},[180,801,802],{"class":780},"headers",[180,804,440],{"class":223},[180,806,807],{"class":787}," data",[180,809,300],{"class":247},[180,811,812],{"class":780},"json",[180,814,224],{"class":223},[180,816,817],{"class":780},"dumps",[180,819,784],{"class":223},[180,821,822],{"class":780},"data",[180,824,825],{"class":223},"))\n",[180,827,829,833,835,838,841,843,846,848,850,853,855,857],{"class":182,"line":828},37,[180,830,832],{"class":831},"svxCd","print",[180,834,784],{"class":223},[180,836,837],{"class":689},"f",[180,839,840],{"class":238},"\"result: ",[180,842,697],{"class":696},[180,844,845],{"class":780},"res",[180,847,224],{"class":223},[180,849,812],{"class":780},[180,851,852],{"class":223},"()",[180,854,717],{"class":696},[180,856,235],{"class":238},[180,858,859],{"class":223},")\n",[55,861],{},[163,863,865],{"id":864},"_2-检索技能","2. 检索技能",[16,867,868,869,872],{},"当同一用户下次提出类似需求时，传入 ",[112,870,871],{},"include_skill=true","：",[171,874,876],{"className":173,"code":875,"language":175,"meta":176,"style":176},"data = {\n    \"query\": \"清明节我打算去云南，帮我规划7天的行程。\",\n    \"user_id\": \"memos_user_j\",\n    \"conversation_id\": \"travel_0301\",\n    \"include_skill\": True\n}\n\nres = requests.post(\n    url=f\"{os.environ['MEMOS_BASE_URL']}\u002Fsearch\u002Fmemory\",\n    headers=headers,\n    data=json.dumps(data)\n)\nprint(f\"result: {res.json()}\")\n",[112,877,878,886,906,924,943,958,962,966,981,1017,1028,1047,1051],{"__ignoreMap":176},[180,879,880,882,884],{"class":182,"line":183},[180,881,297],{"class":190},[180,883,300],{"class":247},[180,885,303],{"class":223},[180,887,888,890,893,895,897,899,902,904],{"class":182,"line":194},[180,889,309],{"class":234},[180,891,892],{"class":238},"query",[180,894,235],{"class":234},[180,896,317],{"class":223},[180,898,251],{"class":234},[180,900,901],{"class":238},"清明节我打算去云南，帮我规划7天的行程。",[180,903,235],{"class":234},[180,905,327],{"class":223},[180,907,908,910,912,914,916,918,920,922],{"class":182,"line":202},[180,909,309],{"class":234},[180,911,312],{"class":238},[180,913,235],{"class":234},[180,915,317],{"class":223},[180,917,251],{"class":234},[180,919,322],{"class":238},[180,921,235],{"class":234},[180,923,327],{"class":223},[180,925,926,928,930,932,934,936,939,941],{"class":182,"line":210},[180,927,309],{"class":234},[180,929,335],{"class":238},[180,931,235],{"class":234},[180,933,317],{"class":223},[180,935,251],{"class":234},[180,937,938],{"class":238},"travel_0301",[180,940,235],{"class":234},[180,942,327],{"class":223},[180,944,945,947,950,952,954],{"class":182,"line":217},[180,946,309],{"class":234},[180,948,949],{"class":238},"include_skill",[180,951,235],{"class":234},[180,953,317],{"class":223},[180,955,957],{"class":956},"smHB8"," True\n",[180,959,960],{"class":182,"line":260},[180,961,627],{"class":223},[180,963,964],{"class":182,"line":289},[180,965,214],{"emptyLinePlaceholder":213},[180,967,968,970,972,974,976,978],{"class":182,"line":294},[180,969,770],{"class":190},[180,971,300],{"class":247},[180,973,775],{"class":190},[180,975,224],{"class":223},[180,977,781],{"class":780},[180,979,980],{"class":223},"(\n",[180,982,983,986,988,990,992,994,996,998,1000,1002,1004,1006,1008,1010,1012,1015],{"class":182,"line":306},[180,984,985],{"class":787},"    url",[180,987,300],{"class":247},[180,989,837],{"class":689},[180,991,235],{"class":238},[180,993,697],{"class":696},[180,995,220],{"class":780},[180,997,224],{"class":223},[180,999,228],{"class":227},[180,1001,231],{"class":223},[180,1003,708],{"class":234},[180,1005,273],{"class":238},[180,1007,708],{"class":234},[180,1009,244],{"class":223},[180,1011,717],{"class":696},[180,1013,1014],{"class":238},"\u002Fsearch\u002Fmemory\"",[180,1016,327],{"class":223},[180,1018,1019,1022,1024,1026],{"class":182,"line":330},[180,1020,1021],{"class":787},"    headers",[180,1023,300],{"class":247},[180,1025,802],{"class":780},[180,1027,327],{"class":223},[180,1029,1030,1033,1035,1037,1039,1041,1043,1045],{"class":182,"line":351},[180,1031,1032],{"class":787},"    data",[180,1034,300],{"class":247},[180,1036,812],{"class":780},[180,1038,224],{"class":223},[180,1040,817],{"class":780},[180,1042,784],{"class":223},[180,1044,822],{"class":780},[180,1046,859],{"class":223},[180,1048,1049],{"class":182,"line":366},[180,1050,859],{"class":223},[180,1052,1053,1055,1057,1059,1061,1063,1065,1067,1069,1071,1073,1075],{"class":182,"line":372},[180,1054,832],{"class":831},[180,1056,784],{"class":223},[180,1058,837],{"class":689},[180,1060,840],{"class":238},[180,1062,697],{"class":696},[180,1064,845],{"class":780},[180,1066,224],{"class":223},[180,1068,812],{"class":780},[180,1070,852],{"class":223},[180,1072,717],{"class":696},[180,1074,235],{"class":238},[180,1076,859],{"class":223},[55,1078],{},[163,1080,1082],{"id":1081},"_3-memos-生成技能","3. MemOS 生成技能",[16,1084,1085],{},"同样是「旅行规划」，不是所有用户套同一个模板，而是把每个用户长期对话中的偏好沉淀为专属、可复用的能力。\n如下所示，MemOS 为这位高能量 J 人生成的技能可能如下：",[171,1087,1091],{"className":1088,"code":1089,"language":1090,"meta":176,"style":176},"language-markdown shiki shiki-themes material-theme-lighter github-light-high-contrast github-dark-default","---\nname: 旅行行程规划\ndescription: 为高能量旅行者设计多日行程，包括高效动线、文化景点、美食与天气适配建议。\n---\n\n## Procedure\n1. 确定旅行天数、目的地和用户偏好\n2. 收集目的地文化景点、美食点位和交通信息\n3. 按区域规划每日路线，避免来回折返\n4. 将美食点位穿插进交通动线中\n5. 检查天气预报，调整每日路线和行李建议\n\n## Experience\n- 优先安排文化景点，减少购物商场类行程\n- 路线要紧凑，适合高能量、特种兵式旅行\n- 每日行程尽量按地理位置顺路推进\n\n## User Preferences\n- 不走回头路\n- 偏好文化景点\n- 希望提前确认天气和温度\n","markdown",[112,1092,1093,1099,1104,1109,1114,1118,1127,1136,1144,1152,1160,1168,1172,1179,1187,1194,1201,1205,1212,1219,1226],{"__ignoreMap":176},[180,1094,1095],{"class":182,"line":183},[180,1096,1098],{"class":1097},"sV76_","---\n",[180,1100,1101],{"class":182,"line":194},[180,1102,1103],{"class":190},"name: 旅行行程规划\n",[180,1105,1106],{"class":182,"line":202},[180,1107,1108],{"class":190},"description: 为高能量旅行者设计多日行程，包括高效动线、文化景点、美食与天气适配建议。\n",[180,1110,1111],{"class":182,"line":210},[180,1112,1098],{"class":1113},"sJcg5",[180,1115,1116],{"class":182,"line":217},[180,1117,214],{"emptyLinePlaceholder":213},[180,1119,1120,1123],{"class":182,"line":260},[180,1121,1122],{"class":1113},"## ",[180,1124,1126],{"class":1125},"sGXFf","Procedure\n",[180,1128,1129,1133],{"class":182,"line":289},[180,1130,1132],{"class":1131},"sQBKe","1.",[180,1134,1135],{"class":190}," 确定旅行天数、目的地和用户偏好\n",[180,1137,1138,1141],{"class":182,"line":294},[180,1139,1140],{"class":1131},"2.",[180,1142,1143],{"class":190}," 收集目的地文化景点、美食点位和交通信息\n",[180,1145,1146,1149],{"class":182,"line":306},[180,1147,1148],{"class":1131},"3.",[180,1150,1151],{"class":190}," 按区域规划每日路线，避免来回折返\n",[180,1153,1154,1157],{"class":182,"line":330},[180,1155,1156],{"class":1131},"4.",[180,1158,1159],{"class":190}," 将美食点位穿插进交通动线中\n",[180,1161,1162,1165],{"class":182,"line":351},[180,1163,1164],{"class":1131},"5.",[180,1166,1167],{"class":190}," 检查天气预报，调整每日路线和行李建议\n",[180,1169,1170],{"class":182,"line":366},[180,1171,214],{"emptyLinePlaceholder":213},[180,1173,1174,1176],{"class":182,"line":372},[180,1175,1122],{"class":1113},[180,1177,1178],{"class":1125},"Experience\n",[180,1180,1181,1184],{"class":182,"line":394},[180,1182,1183],{"class":1131},"-",[180,1185,1186],{"class":190}," 优先安排文化景点，减少购物商场类行程\n",[180,1188,1189,1191],{"class":182,"line":413},[180,1190,1183],{"class":1131},[180,1192,1193],{"class":190}," 路线要紧凑，适合高能量、特种兵式旅行\n",[180,1195,1196,1198],{"class":182,"line":419},[180,1197,1183],{"class":1131},[180,1199,1200],{"class":190}," 每日行程尽量按地理位置顺路推进\n",[180,1202,1203],{"class":182,"line":461},[180,1204,214],{"emptyLinePlaceholder":213},[180,1206,1207,1209],{"class":182,"line":466},[180,1208,1122],{"class":1113},[180,1210,1211],{"class":1125},"User Preferences\n",[180,1213,1214,1216],{"class":182,"line":485},[180,1215,1183],{"class":1131},[180,1217,1218],{"class":190}," 不走回头路\n",[180,1220,1221,1223],{"class":182,"line":503},[180,1222,1183],{"class":1131},[180,1224,1225],{"class":190}," 偏好文化景点\n",[180,1227,1228,1230],{"class":182,"line":508},[180,1229,1183],{"class":1131},[180,1231,1232],{"class":190}," 希望提前确认天气和温度\n",[16,1234,1235],{},"如果另一个用户是「低能量 P 人」，在对话中表达了\"夜猫子、早上起不来、不想去太远、喜欢小众景点\"，MemOS 生成的技能会明显不同：",[171,1237,1239],{"className":1088,"code":1238,"language":1090,"meta":176,"style":176},"---\nname: 旅行行程规划\ndescription: 帮助低能量旅行者规划轻松、灵活、偏下午和夜间体验的旅行行程。\n---\n\n## Procedure\n1. 确认用户当天精力、起床时间和不可接受的通勤距离\n2. 优先筛选距离近、交通简单、不需要赶早的景点\n3. 将行程重心放在下午、傍晚和夜间活动\n4. 穿插小众景点，避免过度热门和拥挤路线\n5. 保留弹性时间，允许用户临时调整\n\n## Experience\n- 避免安排早起项目\n- 避免长距离奔波和过密行程\n- 优先推荐地铁直达或短途打车可达的地点\n\n## User Preferences\n- 夜猫子，早上起不来\n- 不喜欢赶路\n- 喜欢小众、不走寻常路的体验\n",[112,1240,1241,1245,1249,1254,1258,1262,1268,1275,1282,1289,1296,1303,1307,1313,1320,1327,1334,1338,1344,1351,1358],{"__ignoreMap":176},[180,1242,1243],{"class":182,"line":183},[180,1244,1098],{"class":1097},[180,1246,1247],{"class":182,"line":194},[180,1248,1103],{"class":190},[180,1250,1251],{"class":182,"line":202},[180,1252,1253],{"class":190},"description: 帮助低能量旅行者规划轻松、灵活、偏下午和夜间体验的旅行行程。\n",[180,1255,1256],{"class":182,"line":210},[180,1257,1098],{"class":1113},[180,1259,1260],{"class":182,"line":217},[180,1261,214],{"emptyLinePlaceholder":213},[180,1263,1264,1266],{"class":182,"line":260},[180,1265,1122],{"class":1113},[180,1267,1126],{"class":1125},[180,1269,1270,1272],{"class":182,"line":289},[180,1271,1132],{"class":1131},[180,1273,1274],{"class":190}," 确认用户当天精力、起床时间和不可接受的通勤距离\n",[180,1276,1277,1279],{"class":182,"line":294},[180,1278,1140],{"class":1131},[180,1280,1281],{"class":190}," 优先筛选距离近、交通简单、不需要赶早的景点\n",[180,1283,1284,1286],{"class":182,"line":306},[180,1285,1148],{"class":1131},[180,1287,1288],{"class":190}," 将行程重心放在下午、傍晚和夜间活动\n",[180,1290,1291,1293],{"class":182,"line":330},[180,1292,1156],{"class":1131},[180,1294,1295],{"class":190}," 穿插小众景点，避免过度热门和拥挤路线\n",[180,1297,1298,1300],{"class":182,"line":351},[180,1299,1164],{"class":1131},[180,1301,1302],{"class":190}," 保留弹性时间，允许用户临时调整\n",[180,1304,1305],{"class":182,"line":366},[180,1306,214],{"emptyLinePlaceholder":213},[180,1308,1309,1311],{"class":182,"line":372},[180,1310,1122],{"class":1113},[180,1312,1178],{"class":1125},[180,1314,1315,1317],{"class":182,"line":394},[180,1316,1183],{"class":1131},[180,1318,1319],{"class":190}," 避免安排早起项目\n",[180,1321,1322,1324],{"class":182,"line":413},[180,1323,1183],{"class":1131},[180,1325,1326],{"class":190}," 避免长距离奔波和过密行程\n",[180,1328,1329,1331],{"class":182,"line":419},[180,1330,1183],{"class":1131},[180,1332,1333],{"class":190}," 优先推荐地铁直达或短途打车可达的地点\n",[180,1335,1336],{"class":182,"line":461},[180,1337,214],{"emptyLinePlaceholder":213},[180,1339,1340,1342],{"class":182,"line":466},[180,1341,1122],{"class":1113},[180,1343,1211],{"class":1125},[180,1345,1346,1348],{"class":182,"line":485},[180,1347,1183],{"class":1131},[180,1349,1350],{"class":190}," 夜猫子，早上起不来\n",[180,1352,1353,1355],{"class":182,"line":503},[180,1354,1183],{"class":1131},[180,1356,1357],{"class":190}," 不喜欢赶路\n",[180,1359,1360,1362],{"class":182,"line":508},[180,1361,1183],{"class":1131},[180,1363,1364],{"class":190}," 喜欢小众、不走寻常路的体验\n",[52,1366],{},[55,1368],{},[11,1370,1371],{"id":1371},"上传自定义技能",[62,1373,1374],{"id":1374},"客服退货示例",[16,1376,1377],{},"当你已有明确的标准流程，可以直接上传技能文件到知识库，MemOS 将统一检索并返回相关的技能。下述示例以「客服 Agent 退货处理流程」举例，讲解从技能上传到检索使用的全流程。",[55,1379],{},[163,1381,1383],{"id":1382},"_1-通过-api-上传到知识库","1. 通过 API 上传到知识库",[16,1385,1386],{},"通过上传知识库文件，上传一份指导客服 Agent 协助用户完成退货的技能文件。",[1388,1389,1390,1759],"code-group",{},[171,1391,1394],{"className":173,"code":1392,"filename":1393,"language":175,"meta":176,"style":176},"import os\nimport json\nimport requests\n\nos.environ[\"MEMOS_API_KEY\"] = \"YOUR_API_KEY\"\nos.environ[\"MEMOS_BASE_URL\"] = \"https:\u002F\u002Fmemos.memtensor.cn\u002Fapi\u002Fopenmem\u002Fv1\"\n\nheaders = {\n    \"Content-Type\": \"application\u002Fjson\",\n    \"Authorization\": f\"Token {os.environ['MEMOS_API_KEY']}\"\n}\n\ndata = {\n    \"knowledgebase_id\": \"kb_xxx\",  # 替换为你的知识库 ID\n    \"file\": [\n        {\n            \"type\": \"skill\",\n            \"content\": \"https:\u002F\u002Fcdn.memtensor.com.cn\u002Ffile\u002FSKILL.md\"  # 替换为你要上传的文件地址\n        }\n    ]\n}\n\nurl = f\"{os.environ['MEMOS_BASE_URL']}\u002Fadd\u002Fknowledgebase-file\"\n\nres = requests.post(url=url, headers=headers, data=json.dumps(data))\nprint(f\"result: {res.json()}\")\n","URL 上传",[112,1395,1396,1402,1408,1414,1418,1444,1470,1474,1482,1500,1536,1540,1544,1552,1576,1589,1593,1613,1633,1638,1642,1646,1650,1683,1687,1733],{"__ignoreMap":176},[180,1397,1398,1400],{"class":182,"line":183},[180,1399,187],{"class":186},[180,1401,191],{"class":190},[180,1403,1404,1406],{"class":182,"line":194},[180,1405,187],{"class":186},[180,1407,199],{"class":190},[180,1409,1410,1412],{"class":182,"line":202},[180,1411,187],{"class":186},[180,1413,207],{"class":190},[180,1415,1416],{"class":182,"line":210},[180,1417,214],{"emptyLinePlaceholder":213},[180,1419,1420,1422,1424,1426,1428,1430,1432,1434,1436,1438,1440,1442],{"class":182,"line":217},[180,1421,220],{"class":190},[180,1423,224],{"class":223},[180,1425,228],{"class":227},[180,1427,231],{"class":223},[180,1429,235],{"class":234},[180,1431,239],{"class":238},[180,1433,235],{"class":234},[180,1435,244],{"class":223},[180,1437,248],{"class":247},[180,1439,251],{"class":234},[180,1441,254],{"class":238},[180,1443,257],{"class":234},[180,1445,1446,1448,1450,1452,1454,1456,1458,1460,1462,1464,1466,1468],{"class":182,"line":260},[180,1447,220],{"class":190},[180,1449,224],{"class":223},[180,1451,228],{"class":227},[180,1453,231],{"class":223},[180,1455,235],{"class":234},[180,1457,273],{"class":238},[180,1459,235],{"class":234},[180,1461,244],{"class":223},[180,1463,248],{"class":247},[180,1465,251],{"class":234},[180,1467,284],{"class":238},[180,1469,257],{"class":234},[180,1471,1472],{"class":182,"line":289},[180,1473,214],{"emptyLinePlaceholder":213},[180,1475,1476,1478,1480],{"class":182,"line":294},[180,1477,649],{"class":190},[180,1479,300],{"class":247},[180,1481,303],{"class":223},[180,1483,1484,1486,1488,1490,1492,1494,1496,1498],{"class":182,"line":306},[180,1485,309],{"class":234},[180,1487,661],{"class":238},[180,1489,235],{"class":234},[180,1491,317],{"class":223},[180,1493,251],{"class":234},[180,1495,670],{"class":238},[180,1497,235],{"class":234},[180,1499,327],{"class":223},[180,1501,1502,1504,1506,1508,1510,1512,1514,1516,1518,1520,1522,1524,1526,1528,1530,1532,1534],{"class":182,"line":330},[180,1503,309],{"class":234},[180,1505,682],{"class":238},[180,1507,235],{"class":234},[180,1509,317],{"class":223},[180,1511,690],{"class":689},[180,1513,693],{"class":238},[180,1515,697],{"class":696},[180,1517,220],{"class":190},[180,1519,224],{"class":223},[180,1521,228],{"class":227},[180,1523,231],{"class":223},[180,1525,708],{"class":234},[180,1527,239],{"class":238},[180,1529,708],{"class":234},[180,1531,244],{"class":223},[180,1533,717],{"class":696},[180,1535,257],{"class":238},[180,1537,1538],{"class":182,"line":351},[180,1539,627],{"class":223},[180,1541,1542],{"class":182,"line":366},[180,1543,214],{"emptyLinePlaceholder":213},[180,1545,1546,1548,1550],{"class":182,"line":372},[180,1547,297],{"class":190},[180,1549,300],{"class":247},[180,1551,303],{"class":223},[180,1553,1554,1556,1559,1561,1563,1565,1568,1570,1572],{"class":182,"line":394},[180,1555,309],{"class":234},[180,1557,1558],{"class":238},"knowledgebase_id",[180,1560,235],{"class":234},[180,1562,317],{"class":223},[180,1564,251],{"class":234},[180,1566,1567],{"class":238},"kb_xxx",[180,1569,235],{"class":234},[180,1571,440],{"class":223},[180,1573,1575],{"class":1574},"sfVK4","  # 替换为你的知识库 ID\n",[180,1577,1578,1580,1583,1585,1587],{"class":182,"line":413},[180,1579,309],{"class":234},[180,1581,1582],{"class":238},"file",[180,1584,235],{"class":234},[180,1586,317],{"class":223},[180,1588,363],{"class":223},[180,1590,1591],{"class":182,"line":419},[180,1592,369],{"class":223},[180,1594,1595,1597,1600,1602,1604,1606,1609,1611],{"class":182,"line":461},[180,1596,375],{"class":234},[180,1598,1599],{"class":238},"type",[180,1601,235],{"class":234},[180,1603,317],{"class":223},[180,1605,251],{"class":234},[180,1607,1608],{"class":238},"skill",[180,1610,235],{"class":234},[180,1612,327],{"class":223},[180,1614,1615,1617,1619,1621,1623,1625,1628,1630],{"class":182,"line":466},[180,1616,375],{"class":234},[180,1618,399],{"class":238},[180,1620,235],{"class":234},[180,1622,317],{"class":223},[180,1624,251],{"class":234},[180,1626,1627],{"class":238},"https:\u002F\u002Fcdn.memtensor.com.cn\u002Ffile\u002FSKILL.md",[180,1629,235],{"class":234},[180,1631,1632],{"class":1574},"  # 替换为你要上传的文件地址\n",[180,1634,1635],{"class":182,"line":485},[180,1636,1637],{"class":223},"        }\n",[180,1639,1640],{"class":182,"line":503},[180,1641,633],{"class":223},[180,1643,1644],{"class":182,"line":508},[180,1645,627],{"class":223},[180,1647,1648],{"class":182,"line":545},[180,1649,214],{"emptyLinePlaceholder":213},[180,1651,1652,1654,1656,1658,1660,1662,1664,1666,1668,1670,1672,1674,1676,1678,1680],{"class":182,"line":550},[180,1653,730],{"class":190},[180,1655,300],{"class":247},[180,1657,690],{"class":689},[180,1659,235],{"class":238},[180,1661,697],{"class":696},[180,1663,220],{"class":190},[180,1665,224],{"class":223},[180,1667,228],{"class":227},[180,1669,231],{"class":223},[180,1671,708],{"class":234},[180,1673,273],{"class":238},[180,1675,708],{"class":234},[180,1677,244],{"class":223},[180,1679,717],{"class":696},[180,1681,1682],{"class":238},"\u002Fadd\u002Fknowledgebase-file\"\n",[180,1684,1685],{"class":182,"line":569},[180,1686,214],{"emptyLinePlaceholder":213},[180,1688,1689,1691,1693,1695,1697,1699,1701,1703,1705,1707,1709,1711,1713,1715,1717,1719,1721,1723,1725,1727,1729,1731],{"class":182,"line":587},[180,1690,770],{"class":190},[180,1692,300],{"class":247},[180,1694,775],{"class":190},[180,1696,224],{"class":223},[180,1698,781],{"class":780},[180,1700,784],{"class":223},[180,1702,788],{"class":787},[180,1704,300],{"class":247},[180,1706,788],{"class":780},[180,1708,440],{"class":223},[180,1710,797],{"class":787},[180,1712,300],{"class":247},[180,1714,802],{"class":780},[180,1716,440],{"class":223},[180,1718,807],{"class":787},[180,1720,300],{"class":247},[180,1722,812],{"class":780},[180,1724,224],{"class":223},[180,1726,817],{"class":780},[180,1728,784],{"class":223},[180,1730,822],{"class":780},[180,1732,825],{"class":223},[180,1734,1735,1737,1739,1741,1743,1745,1747,1749,1751,1753,1755,1757],{"class":182,"line":592},[180,1736,832],{"class":831},[180,1738,784],{"class":223},[180,1740,837],{"class":689},[180,1742,840],{"class":238},[180,1744,697],{"class":696},[180,1746,845],{"class":780},[180,1748,224],{"class":223},[180,1750,812],{"class":780},[180,1752,852],{"class":223},[180,1754,717],{"class":696},[180,1756,235],{"class":238},[180,1758,859],{"class":223},[171,1760,1763],{"className":173,"code":1761,"filename":1762,"language":175,"meta":176,"style":176},"import os\nimport json\nimport base64\nimport requests\n\nos.environ[\"MEMOS_API_KEY\"] = \"YOUR_API_KEY\"\nos.environ[\"MEMOS_BASE_URL\"] = \"https:\u002F\u002Fmemos.memtensor.cn\u002Fapi\u002Fopenmem\u002Fv1\"\n\nskill_markdown = \"\"\"---\nname: 客服退货处理流程\ndescription: 指导客服按标准流程处理用户退货请求\n---\n\n## Procedure\n\n1. 确认用户身份和订单号\n2. 核实退货原因是否符合政策\n3. 引导用户选择退货方式（上门取件\u002F自行寄回）\n4. 生成退货单号并告知用户\n5. 跟踪物流状态，退款到账后通知用户\n\n## Experience\n\n- 签收 7 天内可无理由退货\n- 生鲜类商品不支持退货，需走售后补偿流程\n- 高价值商品（>500 元）需主管审批\n\n## User Preferences\n\n- 优先推荐上门取件，减少用户操作成本\n- 退款方式默认原路退回\n\n## Examples\n\n### Example 1: 普通商品退货\n用户：我三天前买的耳机想退货。\n助手：好的，已确认您的订单在 7 天无理由退货范围内。请问您希望上门取件还是自行寄回？\n\"\"\"\n\nencoded_skill = base64.b64encode(skill_markdown.encode(\"utf-8\")).decode(\"utf-8\")\n\ndata = {\n    \"knowledgebase_id\": \"kb_xxx\",  # 替换为你的知识库 ID\n    \"file\": [\n        {\n            \"type\": \"skill\",\n            \"name\": \"customer-return-sop.md\",\n            \"content\": f\"data:text\u002Fmarkdown;base64,{encoded_skill}\"\n        }\n    ]\n}\n\nheaders = {\n    \"Content-Type\": \"application\u002Fjson\",\n    \"Authorization\": f\"Token {os.environ['MEMOS_API_KEY']}\"\n}\nurl = f\"{os.environ['MEMOS_BASE_URL']}\u002Fadd\u002Fknowledgebase-file\"\n\nres = requests.post(url=url, headers=headers, data=json.dumps(data))\nprint(f\"result: {res.json()}\")\n","Base64 上传",[112,1764,1765,1771,1777,1784,1790,1794,1820,1846,1850,1862,1867,1872,1876,1880,1885,1889,1894,1899,1904,1909,1914,1918,1923,1927,1932,1937,1942,1946,1951,1955,1960,1965,1969,1974,1978,1983,1988,1993,1999,2004,2055,2060,2069,2090,2103,2108,2127,2148,2173,2178,2183,2188,2193,2202,2221,2258,2263,2296,2301,2348],{"__ignoreMap":176},[180,1766,1767,1769],{"class":182,"line":183},[180,1768,187],{"class":186},[180,1770,191],{"class":190},[180,1772,1773,1775],{"class":182,"line":194},[180,1774,187],{"class":186},[180,1776,199],{"class":190},[180,1778,1779,1781],{"class":182,"line":202},[180,1780,187],{"class":186},[180,1782,1783],{"class":190}," base64\n",[180,1785,1786,1788],{"class":182,"line":210},[180,1787,187],{"class":186},[180,1789,207],{"class":190},[180,1791,1792],{"class":182,"line":217},[180,1793,214],{"emptyLinePlaceholder":213},[180,1795,1796,1798,1800,1802,1804,1806,1808,1810,1812,1814,1816,1818],{"class":182,"line":260},[180,1797,220],{"class":190},[180,1799,224],{"class":223},[180,1801,228],{"class":227},[180,1803,231],{"class":223},[180,1805,235],{"class":234},[180,1807,239],{"class":238},[180,1809,235],{"class":234},[180,1811,244],{"class":223},[180,1813,248],{"class":247},[180,1815,251],{"class":234},[180,1817,254],{"class":238},[180,1819,257],{"class":234},[180,1821,1822,1824,1826,1828,1830,1832,1834,1836,1838,1840,1842,1844],{"class":182,"line":289},[180,1823,220],{"class":190},[180,1825,224],{"class":223},[180,1827,228],{"class":227},[180,1829,231],{"class":223},[180,1831,235],{"class":234},[180,1833,273],{"class":238},[180,1835,235],{"class":234},[180,1837,244],{"class":223},[180,1839,248],{"class":247},[180,1841,251],{"class":234},[180,1843,284],{"class":238},[180,1845,257],{"class":234},[180,1847,1848],{"class":182,"line":294},[180,1849,214],{"emptyLinePlaceholder":213},[180,1851,1852,1855,1857,1860],{"class":182,"line":306},[180,1853,1854],{"class":190},"skill_markdown ",[180,1856,300],{"class":247},[180,1858,1859],{"class":234}," \"\"\"",[180,1861,1098],{"class":238},[180,1863,1864],{"class":182,"line":330},[180,1865,1866],{"class":238},"name: 客服退货处理流程\n",[180,1868,1869],{"class":182,"line":351},[180,1870,1871],{"class":238},"description: 指导客服按标准流程处理用户退货请求\n",[180,1873,1874],{"class":182,"line":366},[180,1875,1098],{"class":238},[180,1877,1878],{"class":182,"line":372},[180,1879,214],{"emptyLinePlaceholder":213},[180,1881,1882],{"class":182,"line":394},[180,1883,1884],{"class":238},"## Procedure\n",[180,1886,1887],{"class":182,"line":413},[180,1888,214],{"emptyLinePlaceholder":213},[180,1890,1891],{"class":182,"line":419},[180,1892,1893],{"class":238},"1. 确认用户身份和订单号\n",[180,1895,1896],{"class":182,"line":461},[180,1897,1898],{"class":238},"2. 核实退货原因是否符合政策\n",[180,1900,1901],{"class":182,"line":466},[180,1902,1903],{"class":238},"3. 引导用户选择退货方式（上门取件\u002F自行寄回）\n",[180,1905,1906],{"class":182,"line":485},[180,1907,1908],{"class":238},"4. 生成退货单号并告知用户\n",[180,1910,1911],{"class":182,"line":503},[180,1912,1913],{"class":238},"5. 跟踪物流状态，退款到账后通知用户\n",[180,1915,1916],{"class":182,"line":508},[180,1917,214],{"emptyLinePlaceholder":213},[180,1919,1920],{"class":182,"line":545},[180,1921,1922],{"class":238},"## Experience\n",[180,1924,1925],{"class":182,"line":550},[180,1926,214],{"emptyLinePlaceholder":213},[180,1928,1929],{"class":182,"line":569},[180,1930,1931],{"class":238},"- 签收 7 天内可无理由退货\n",[180,1933,1934],{"class":182,"line":587},[180,1935,1936],{"class":238},"- 生鲜类商品不支持退货，需走售后补偿流程\n",[180,1938,1939],{"class":182,"line":592},[180,1940,1941],{"class":238},"- 高价值商品（>500 元）需主管审批\n",[180,1943,1944],{"class":182,"line":630},[180,1945,214],{"emptyLinePlaceholder":213},[180,1947,1948],{"class":182,"line":636},[180,1949,1950],{"class":238},"## User Preferences\n",[180,1952,1953],{"class":182,"line":641},[180,1954,214],{"emptyLinePlaceholder":213},[180,1956,1957],{"class":182,"line":646},[180,1958,1959],{"class":238},"- 优先推荐上门取件，减少用户操作成本\n",[180,1961,1962],{"class":182,"line":656},[180,1963,1964],{"class":238},"- 退款方式默认原路退回\n",[180,1966,1967],{"class":182,"line":677},[180,1968,214],{"emptyLinePlaceholder":213},[180,1970,1971],{"class":182,"line":722},[180,1972,1973],{"class":238},"## Examples\n",[180,1975,1976],{"class":182,"line":727},[180,1977,214],{"emptyLinePlaceholder":213},[180,1979,1980],{"class":182,"line":762},[180,1981,1982],{"class":238},"### Example 1: 普通商品退货\n",[180,1984,1985],{"class":182,"line":767},[180,1986,1987],{"class":238},"用户：我三天前买的耳机想退货。\n",[180,1989,1990],{"class":182,"line":828},[180,1991,1992],{"class":238},"助手：好的，已确认您的订单在 7 天无理由退货范围内。请问您希望上门取件还是自行寄回？\n",[180,1994,1996],{"class":182,"line":1995},38,[180,1997,1998],{"class":234},"\"\"\"\n",[180,2000,2002],{"class":182,"line":2001},39,[180,2003,214],{"emptyLinePlaceholder":213},[180,2005,2007,2010,2012,2015,2017,2020,2022,2025,2027,2030,2032,2034,2037,2039,2042,2045,2047,2049,2051,2053],{"class":182,"line":2006},40,[180,2008,2009],{"class":190},"encoded_skill ",[180,2011,300],{"class":247},[180,2013,2014],{"class":190}," base64",[180,2016,224],{"class":223},[180,2018,2019],{"class":780},"b64encode",[180,2021,784],{"class":223},[180,2023,2024],{"class":780},"skill_markdown",[180,2026,224],{"class":223},[180,2028,2029],{"class":780},"encode",[180,2031,784],{"class":223},[180,2033,235],{"class":234},[180,2035,2036],{"class":238},"utf-8",[180,2038,235],{"class":234},[180,2040,2041],{"class":223},")).",[180,2043,2044],{"class":780},"decode",[180,2046,784],{"class":223},[180,2048,235],{"class":234},[180,2050,2036],{"class":238},[180,2052,235],{"class":234},[180,2054,859],{"class":223},[180,2056,2058],{"class":182,"line":2057},41,[180,2059,214],{"emptyLinePlaceholder":213},[180,2061,2063,2065,2067],{"class":182,"line":2062},42,[180,2064,297],{"class":190},[180,2066,300],{"class":247},[180,2068,303],{"class":223},[180,2070,2072,2074,2076,2078,2080,2082,2084,2086,2088],{"class":182,"line":2071},43,[180,2073,309],{"class":234},[180,2075,1558],{"class":238},[180,2077,235],{"class":234},[180,2079,317],{"class":223},[180,2081,251],{"class":234},[180,2083,1567],{"class":238},[180,2085,235],{"class":234},[180,2087,440],{"class":223},[180,2089,1575],{"class":1574},[180,2091,2093,2095,2097,2099,2101],{"class":182,"line":2092},44,[180,2094,309],{"class":234},[180,2096,1582],{"class":238},[180,2098,235],{"class":234},[180,2100,317],{"class":223},[180,2102,363],{"class":223},[180,2104,2106],{"class":182,"line":2105},45,[180,2107,369],{"class":223},[180,2109,2111,2113,2115,2117,2119,2121,2123,2125],{"class":182,"line":2110},46,[180,2112,375],{"class":234},[180,2114,1599],{"class":238},[180,2116,235],{"class":234},[180,2118,317],{"class":223},[180,2120,251],{"class":234},[180,2122,1608],{"class":238},[180,2124,235],{"class":234},[180,2126,327],{"class":223},[180,2128,2130,2132,2135,2137,2139,2141,2144,2146],{"class":182,"line":2129},47,[180,2131,375],{"class":234},[180,2133,2134],{"class":238},"name",[180,2136,235],{"class":234},[180,2138,317],{"class":223},[180,2140,251],{"class":234},[180,2142,2143],{"class":238},"customer-return-sop.md",[180,2145,235],{"class":234},[180,2147,327],{"class":223},[180,2149,2151,2153,2155,2157,2159,2161,2164,2166,2169,2171],{"class":182,"line":2150},48,[180,2152,375],{"class":234},[180,2154,399],{"class":238},[180,2156,235],{"class":234},[180,2158,317],{"class":223},[180,2160,690],{"class":689},[180,2162,2163],{"class":238},"\"data:text\u002Fmarkdown;base64,",[180,2165,697],{"class":696},[180,2167,2168],{"class":190},"encoded_skill",[180,2170,717],{"class":696},[180,2172,257],{"class":238},[180,2174,2176],{"class":182,"line":2175},49,[180,2177,1637],{"class":223},[180,2179,2181],{"class":182,"line":2180},50,[180,2182,633],{"class":223},[180,2184,2186],{"class":182,"line":2185},51,[180,2187,627],{"class":223},[180,2189,2191],{"class":182,"line":2190},52,[180,2192,214],{"emptyLinePlaceholder":213},[180,2194,2196,2198,2200],{"class":182,"line":2195},53,[180,2197,649],{"class":190},[180,2199,300],{"class":247},[180,2201,303],{"class":223},[180,2203,2205,2207,2209,2211,2213,2215,2217,2219],{"class":182,"line":2204},54,[180,2206,309],{"class":234},[180,2208,661],{"class":238},[180,2210,235],{"class":234},[180,2212,317],{"class":223},[180,2214,251],{"class":234},[180,2216,670],{"class":238},[180,2218,235],{"class":234},[180,2220,327],{"class":223},[180,2222,2224,2226,2228,2230,2232,2234,2236,2238,2240,2242,2244,2246,2248,2250,2252,2254,2256],{"class":182,"line":2223},55,[180,2225,309],{"class":234},[180,2227,682],{"class":238},[180,2229,235],{"class":234},[180,2231,317],{"class":223},[180,2233,690],{"class":689},[180,2235,693],{"class":238},[180,2237,697],{"class":696},[180,2239,220],{"class":190},[180,2241,224],{"class":223},[180,2243,228],{"class":227},[180,2245,231],{"class":223},[180,2247,708],{"class":234},[180,2249,239],{"class":238},[180,2251,708],{"class":234},[180,2253,244],{"class":223},[180,2255,717],{"class":696},[180,2257,257],{"class":238},[180,2259,2261],{"class":182,"line":2260},56,[180,2262,627],{"class":223},[180,2264,2266,2268,2270,2272,2274,2276,2278,2280,2282,2284,2286,2288,2290,2292,2294],{"class":182,"line":2265},57,[180,2267,730],{"class":190},[180,2269,300],{"class":247},[180,2271,690],{"class":689},[180,2273,235],{"class":238},[180,2275,697],{"class":696},[180,2277,220],{"class":190},[180,2279,224],{"class":223},[180,2281,228],{"class":227},[180,2283,231],{"class":223},[180,2285,708],{"class":234},[180,2287,273],{"class":238},[180,2289,708],{"class":234},[180,2291,244],{"class":223},[180,2293,717],{"class":696},[180,2295,1682],{"class":238},[180,2297,2299],{"class":182,"line":2298},58,[180,2300,214],{"emptyLinePlaceholder":213},[180,2302,2304,2306,2308,2310,2312,2314,2316,2318,2320,2322,2324,2326,2328,2330,2332,2334,2336,2338,2340,2342,2344,2346],{"class":182,"line":2303},59,[180,2305,770],{"class":190},[180,2307,300],{"class":247},[180,2309,775],{"class":190},[180,2311,224],{"class":223},[180,2313,781],{"class":780},[180,2315,784],{"class":223},[180,2317,788],{"class":787},[180,2319,300],{"class":247},[180,2321,788],{"class":780},[180,2323,440],{"class":223},[180,2325,797],{"class":787},[180,2327,300],{"class":247},[180,2329,802],{"class":780},[180,2331,440],{"class":223},[180,2333,807],{"class":787},[180,2335,300],{"class":247},[180,2337,812],{"class":780},[180,2339,224],{"class":223},[180,2341,817],{"class":780},[180,2343,784],{"class":223},[180,2345,822],{"class":780},[180,2347,825],{"class":223},[180,2349,2351,2353,2355,2357,2359,2361,2363,2365,2367,2369,2371,2373],{"class":182,"line":2350},60,[180,2352,832],{"class":831},[180,2354,784],{"class":223},[180,2356,837],{"class":689},[180,2358,840],{"class":238},[180,2360,697],{"class":696},[180,2362,845],{"class":780},[180,2364,224],{"class":223},[180,2366,812],{"class":780},[180,2368,852],{"class":223},[180,2370,717],{"class":696},[180,2372,235],{"class":238},[180,2374,859],{"class":223},[55,2376],{},[163,2378,2380],{"id":2379},"_2-通过控制台上传技能文件","2. 通过控制台上传技能文件",[16,2382,2383,2384,2391,2392,2395,2396,2399],{},"前往 ",[2385,2386,2390],"a",{"href":2387,"rel":2388},"https:\u002F\u002Fmemos-dashboard.openmem.net\u002FknowledgeBase\u002F",[2389],"nofollow","控制台 - 知识库","，选择目标知识库，点击「上传文档」，将 ",[112,2393,2394],{},".md"," 或 ",[112,2397,2398],{},".zip"," 文件拖入即可。上传时选择文件类型为「技能文件」。",[16,2401,2402],{},[98,2403],{"alt":2404,"src":2405},"image","https:\u002F\u002Fcdn.memtensor.com.cn\u002Fimg\u002F1778148120408_c3xk8d_compressed.png",[55,2407],{},[163,2409,2411],{"id":2410},"_3-检索技能","3. 检索技能",[16,2413,2414,2415,2418,2419,2421],{},"上传成功后，检索时传入 ",[112,2416,2417],{},"knowledgebase_ids"," 并开启 ",[112,2420,949],{},"，MemOS 会返回与查询内容相关的技能。如下所示，Agent 可按「客服退货处理流程」引导用户完成退货。",[171,2423,2425],{"className":173,"code":2424,"language":175,"meta":176,"style":176},"data = {\n    \"query\": \"用户想退一件三天前买的耳机\",\n    \"user_id\": \"memos_user_123\",\n    \"conversation_id\": \"session_001\",\n    \"knowledgebase_ids\": [\"kb_xxx\"],\n    \"include_skill\": True\n}\n\nres = requests.post(\n    url=f\"{os.environ['MEMOS_BASE_URL']}\u002Fsearch\u002Fmemory\",\n    headers=headers,\n    data=json.dumps(data)\n)\nprint(f\"result: {res.json()}\")\n",[112,2426,2427,2435,2454,2473,2492,2514,2526,2530,2534,2548,2582,2592,2610,2614],{"__ignoreMap":176},[180,2428,2429,2431,2433],{"class":182,"line":183},[180,2430,297],{"class":190},[180,2432,300],{"class":247},[180,2434,303],{"class":223},[180,2436,2437,2439,2441,2443,2445,2447,2450,2452],{"class":182,"line":194},[180,2438,309],{"class":234},[180,2440,892],{"class":238},[180,2442,235],{"class":234},[180,2444,317],{"class":223},[180,2446,251],{"class":234},[180,2448,2449],{"class":238},"用户想退一件三天前买的耳机",[180,2451,235],{"class":234},[180,2453,327],{"class":223},[180,2455,2456,2458,2460,2462,2464,2466,2469,2471],{"class":182,"line":202},[180,2457,309],{"class":234},[180,2459,312],{"class":238},[180,2461,235],{"class":234},[180,2463,317],{"class":223},[180,2465,251],{"class":234},[180,2467,2468],{"class":238},"memos_user_123",[180,2470,235],{"class":234},[180,2472,327],{"class":223},[180,2474,2475,2477,2479,2481,2483,2485,2488,2490],{"class":182,"line":210},[180,2476,309],{"class":234},[180,2478,335],{"class":238},[180,2480,235],{"class":234},[180,2482,317],{"class":223},[180,2484,251],{"class":234},[180,2486,2487],{"class":238},"session_001",[180,2489,235],{"class":234},[180,2491,327],{"class":223},[180,2493,2494,2496,2498,2500,2502,2505,2507,2509,2511],{"class":182,"line":217},[180,2495,309],{"class":234},[180,2497,2417],{"class":238},[180,2499,235],{"class":234},[180,2501,317],{"class":223},[180,2503,2504],{"class":223}," [",[180,2506,235],{"class":234},[180,2508,1567],{"class":238},[180,2510,235],{"class":234},[180,2512,2513],{"class":223},"],\n",[180,2515,2516,2518,2520,2522,2524],{"class":182,"line":260},[180,2517,309],{"class":234},[180,2519,949],{"class":238},[180,2521,235],{"class":234},[180,2523,317],{"class":223},[180,2525,957],{"class":956},[180,2527,2528],{"class":182,"line":289},[180,2529,627],{"class":223},[180,2531,2532],{"class":182,"line":294},[180,2533,214],{"emptyLinePlaceholder":213},[180,2535,2536,2538,2540,2542,2544,2546],{"class":182,"line":306},[180,2537,770],{"class":190},[180,2539,300],{"class":247},[180,2541,775],{"class":190},[180,2543,224],{"class":223},[180,2545,781],{"class":780},[180,2547,980],{"class":223},[180,2549,2550,2552,2554,2556,2558,2560,2562,2564,2566,2568,2570,2572,2574,2576,2578,2580],{"class":182,"line":330},[180,2551,985],{"class":787},[180,2553,300],{"class":247},[180,2555,837],{"class":689},[180,2557,235],{"class":238},[180,2559,697],{"class":696},[180,2561,220],{"class":780},[180,2563,224],{"class":223},[180,2565,228],{"class":227},[180,2567,231],{"class":223},[180,2569,708],{"class":234},[180,2571,273],{"class":238},[180,2573,708],{"class":234},[180,2575,244],{"class":223},[180,2577,717],{"class":696},[180,2579,1014],{"class":238},[180,2581,327],{"class":223},[180,2583,2584,2586,2588,2590],{"class":182,"line":351},[180,2585,1021],{"class":787},[180,2587,300],{"class":247},[180,2589,802],{"class":780},[180,2591,327],{"class":223},[180,2593,2594,2596,2598,2600,2602,2604,2606,2608],{"class":182,"line":366},[180,2595,1032],{"class":787},[180,2597,300],{"class":247},[180,2599,812],{"class":780},[180,2601,224],{"class":223},[180,2603,817],{"class":780},[180,2605,784],{"class":223},[180,2607,822],{"class":780},[180,2609,859],{"class":223},[180,2611,2612],{"class":182,"line":372},[180,2613,859],{"class":223},[180,2615,2616,2618,2620,2622,2624,2626,2628,2630,2632,2634,2636,2638],{"class":182,"line":394},[180,2617,832],{"class":831},[180,2619,784],{"class":223},[180,2621,837],{"class":689},[180,2623,840],{"class":238},[180,2625,697],{"class":696},[180,2627,845],{"class":780},[180,2629,224],{"class":223},[180,2631,812],{"class":780},[180,2633,852],{"class":223},[180,2635,717],{"class":696},[180,2637,235],{"class":238},[180,2639,859],{"class":223},[55,2641],{},[62,2643,2645],{"id":2644},"skill-文件规范","Skill 文件规范",[163,2647,2649,2650],{"id":2648},"_1-单文件-md","1. 单文件 ",[112,2651,2394],{},[25,2653,2654,2671],{},[28,2655,2656,2657],{},"约束条件如下：",[25,2658,2659,2662],{},[28,2660,2661],{},"大小限制：≤ 100KB",[28,2663,2664,2665,2667,2668],{},"文件内容：必须包含 ",[112,2666,2134],{}," 和 ",[112,2669,2670],{},"description",[28,2672,2673],{},"推荐按以下格式组织正文：",[171,2675,2680],{"className":2676,"code":2678,"language":2679,"meta":176},[2677],"language-text","---\nname: （技能名称）\ndescription: （一句话描述技能的用途和适用场景）\n---\n\n## Procedure\n1. 步骤一\n2. 步骤二\n3. 步骤三\n\n## Experience\n- 经验或注意事项一\n- 经验或注意事项二\n\n## User Preferences\n- 偏好设定一\n- 偏好设定二\n\n## Examples\n\n### Example 1: （场景描述）\n（完整的输入输出示例）\n\n## Additional Information\n（补充说明，如参考链接、特殊规则等）\n","text",[112,2681,2678],{"__ignoreMap":176},[55,2683],{},[163,2685,2687,2688],{"id":2686},"_2-技能压缩包-zip","2. 技能压缩包 ",[112,2689,2398],{},[25,2691,2692],{},[28,2693,2656],{},[2695,2696,2697,2710],"table",{},[2698,2699,2700],"thead",{},[2701,2702,2703,2707],"tr",{},[2704,2705,2706],"th",{},"约束",[2704,2708,2709],{},"要求",[2711,2712,2713,2722,2730,2738,2746],"tbody",{},[2701,2714,2715,2719],{},[2716,2717,2718],"td",{},"格式",[2716,2720,2721],{},"标准 ZIP，不支持 rar\u002F7z",[2701,2723,2724,2727],{},[2716,2725,2726],{},"zip 大小",[2716,2728,2729],{},"≤ 20MB",[2701,2731,2732,2735],{},[2716,2733,2734],{},"解压后文件数",[2716,2736,2737],{},"≤ 200",[2701,2739,2740,2743],{},[2716,2741,2742],{},"解压后单文件",[2716,2744,2745],{},"≤ 10MB",[2701,2747,2748,2751],{},[2716,2749,2750],{},"SKILL.md",[2716,2752,2753,2754,2756,2757,2759],{},"≤ 100KB，",[112,2755,2134],{},"\u002F",[112,2758,2670],{}," 必填，须在压缩包第一层",[25,2761,2762],{},[28,2763,2673],{},[171,2765,2768],{"className":2766,"code":2767,"language":2679,"meta":176},[2677],"refund-sop-v1.zip\n├── SKILL.md             \n├── references\u002F\n│   └── 退货政策摘要.md\n├── scripts\u002F\n│   └── check_order.py    \n└── assets\u002F\n    └── flowchart.png\n",[112,2769,2767],{"__ignoreMap":176},[52,2771],{},[55,2773],{},[11,2775,2776],{"id":2776},"如何使用召回的技能",[16,2778,2779,2780,2783],{},"无论技能来源是自动生成还是知识库上传，检索返回的 ",[112,2781,2782],{},"skill_detail_list"," 中每个技能包含两个字段：",[2695,2785,2786,2796],{},[2698,2787,2788],{},[2701,2789,2790,2793],{},[2704,2791,2792],{},"字段",[2704,2794,2795],{},"说明",[2711,2797,2798,2808],{},[2701,2799,2800,2805],{},[2716,2801,2802],{},[112,2803,2804],{},"skill_value",[2716,2806,2807],{},"技能的结构化内容，可直接转为字符串注入 Agent 的 prompt",[2701,2809,2810,2815],{},[2716,2811,2812],{},[112,2813,2814],{},"skill_url",[2716,2816,2817],{},"技能文件的下载链接；如果是 zip 技能包，Agent 可下载后获取脚本、参考资料等附件",[55,2819],{},[62,2821,2822],{"id":2822},"用法参考",[16,2824,2825],{},"根据你调用的 Agent 是否具备使用 Skill 的能力，可参考以下两种用法：",[55,2827],{},[163,2829,2831],{"id":2830},"_1-agent-支持-skill","1. Agent 支持 Skill",[16,2833,2834,2835,2837],{},"将 ",[112,2836,2814],{}," 提供给 Agent，让它下载链接中的文件，可以把它写进 prompt：",[171,2839,2841],{"className":173,"code":2840,"language":175,"meta":176,"style":176},"skill_detail = result[\"skill_detail_list\"][0]\nskill_url = skill_detail.get(\"skill_url\")\n\nsystem_prompt = f\"\"\"你是一个客服助手。遇到用户退货，可使用以下 Skill 文件完成任务：\n\n{skill_url}\n\"\"\"\n",[112,2842,2843,2871,2896,2900,2912,2916,2924],{"__ignoreMap":176},[180,2844,2845,2848,2850,2853,2855,2857,2859,2861,2864,2868],{"class":182,"line":183},[180,2846,2847],{"class":190},"skill_detail ",[180,2849,300],{"class":247},[180,2851,2852],{"class":190}," result",[180,2854,231],{"class":223},[180,2856,235],{"class":234},[180,2858,2782],{"class":238},[180,2860,235],{"class":234},[180,2862,2863],{"class":223},"][",[180,2865,2867],{"class":2866},"sJNII","0",[180,2869,2870],{"class":223},"]\n",[180,2872,2873,2876,2878,2881,2883,2886,2888,2890,2892,2894],{"class":182,"line":194},[180,2874,2875],{"class":190},"skill_url ",[180,2877,300],{"class":247},[180,2879,2880],{"class":190}," skill_detail",[180,2882,224],{"class":223},[180,2884,2885],{"class":780},"get",[180,2887,784],{"class":223},[180,2889,235],{"class":234},[180,2891,2814],{"class":238},[180,2893,235],{"class":234},[180,2895,859],{"class":223},[180,2897,2898],{"class":182,"line":202},[180,2899,214],{"emptyLinePlaceholder":213},[180,2901,2902,2905,2907,2909],{"class":182,"line":210},[180,2903,2904],{"class":190},"system_prompt ",[180,2906,300],{"class":247},[180,2908,690],{"class":689},[180,2910,2911],{"class":238},"\"\"\"你是一个客服助手。遇到用户退货，可使用以下 Skill 文件完成任务：\n",[180,2913,2914],{"class":182,"line":217},[180,2915,214],{"emptyLinePlaceholder":213},[180,2917,2918,2920,2922],{"class":182,"line":260},[180,2919,697],{"class":696},[180,2921,2814],{"class":190},[180,2923,627],{"class":696},[180,2925,2926],{"class":182,"line":289},[180,2927,1998],{"class":238},[55,2929],{},[163,2931,2933],{"id":2932},"_2-agent-不支持-skill","2. Agent 不支持 Skill",[16,2935,2834,2936,2938],{},[112,2937,2804],{}," 转成字符串，添加到 prompt 中：",[171,2940,2942],{"className":173,"code":2941,"language":175,"meta":176,"style":176},"skill_detail = result[\"skill_detail_list\"][0]\nskill = str(skill_detail[\"skill_value\"])\n\nsystem_prompt = f\"\"\"你是一个客服助手。请参考以下技能执行任务：\n\n{skill}\n\"\"\"\n",[112,2943,2944,2966,2993,2997,3008,3012,3020],{"__ignoreMap":176},[180,2945,2946,2948,2950,2952,2954,2956,2958,2960,2962,2964],{"class":182,"line":183},[180,2947,2847],{"class":190},[180,2949,300],{"class":247},[180,2951,2852],{"class":190},[180,2953,231],{"class":223},[180,2955,235],{"class":234},[180,2957,2782],{"class":238},[180,2959,235],{"class":234},[180,2961,2863],{"class":223},[180,2963,2867],{"class":2866},[180,2965,2870],{"class":223},[180,2967,2968,2971,2973,2977,2979,2982,2984,2986,2988,2990],{"class":182,"line":194},[180,2969,2970],{"class":190},"skill ",[180,2972,300],{"class":247},[180,2974,2976],{"class":2975},"skqQ-"," str",[180,2978,784],{"class":223},[180,2980,2981],{"class":780},"skill_detail",[180,2983,231],{"class":223},[180,2985,235],{"class":234},[180,2987,2804],{"class":238},[180,2989,235],{"class":234},[180,2991,2992],{"class":223},"])\n",[180,2994,2995],{"class":182,"line":202},[180,2996,214],{"emptyLinePlaceholder":213},[180,2998,2999,3001,3003,3005],{"class":182,"line":210},[180,3000,2904],{"class":190},[180,3002,300],{"class":247},[180,3004,690],{"class":689},[180,3006,3007],{"class":238},"\"\"\"你是一个客服助手。请参考以下技能执行任务：\n",[180,3009,3010],{"class":182,"line":217},[180,3011,214],{"emptyLinePlaceholder":213},[180,3013,3014,3016,3018],{"class":182,"line":260},[180,3015,697],{"class":696},[180,3017,1608],{"class":190},[180,3019,627],{"class":696},[180,3021,3022],{"class":182,"line":289},[180,3023,1998],{"class":238},[3025,3026,3027],"tip",{},[16,3028,3029],{},"检索时，MemOS 会同时搜索个人对话生成的技能和知识库中上传的技能，统一排序返回。你无需区分来源。",[52,3031],{},[16,3033,3034],{},[20,3035,3036],{},"现在就开始探索 MemOS 技能吧！",[25,3038,3039,3047,3055],{},[28,3040,2383,3041,3046],{},[2385,3042,3045],{"href":3043,"rel":3044},"https:\u002F\u002Fmemos-dashboard.openmem.net\u002Fcn\u002Fskill\u002F",[2389],"控制台 - 技能页面","，查看自动生成的技能。",[28,3048,3049,3050,3054],{},"还没有技能？",[2385,3051,3053],{"href":3052},"\u002Fmemos_cloud\u002Fmem_operations\u002Fadd_message","添加消息","即可触发生成。",[28,3056,3057,3058,3061],{},"想上传自定义技能？前往 ",[2385,3059,2390],{"href":2387,"rel":3060},[2389],"上传。",[3063,3064,3065],"style",{},"html pre.shiki code .sBMTB, html code.shiki .sBMTB{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#A0111F;--shiki-default-font-style:inherit;--shiki-dark:#FF7B72;--shiki-dark-font-style:inherit}html pre.shiki code .s5ojA, html code.shiki .s5ojA{--shiki-light:#90A4AE;--shiki-default:#0E1116;--shiki-dark:#E6EDF3}html pre.shiki code .suWxN, html code.shiki .suWxN{--shiki-light:#39ADB5;--shiki-default:#0E1116;--shiki-dark:#E6EDF3}html pre.shiki code .s5qkx, html code.shiki .s5qkx{--shiki-light:#E53935;--shiki-default:#0E1116;--shiki-dark:#E6EDF3}html pre.shiki code .sjUum, html code.shiki .sjUum{--shiki-light:#39ADB5;--shiki-default:#032563;--shiki-dark:#A5D6FF}html pre.shiki code .sp1uZ, html code.shiki .sp1uZ{--shiki-light:#91B859;--shiki-default:#032563;--shiki-dark:#A5D6FF}html pre.shiki code .saN0X, html code.shiki .saN0X{--shiki-light:#39ADB5;--shiki-default:#A0111F;--shiki-dark:#FF7B72}html pre.shiki code .sZ6T4, html code.shiki .sZ6T4{--shiki-light:#9C3EDA;--shiki-default:#A0111F;--shiki-dark:#FF7B72}html pre.shiki code .scyET, html code.shiki .scyET{--shiki-light:#F76D47;--shiki-default:#A0111F;--shiki-dark:#FF7B72}html pre.shiki code .sa-2m, html code.shiki .sa-2m{--shiki-light:#6182B8;--shiki-default:#0E1116;--shiki-dark:#E6EDF3}html pre.shiki code .sp4zP, html code.shiki .sp4zP{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#702C00;--shiki-default-font-style:inherit;--shiki-dark:#FFA657;--shiki-dark-font-style:inherit}html pre.shiki code .svxCd, html code.shiki .svxCd{--shiki-light:#6182B8;--shiki-default:#023B95;--shiki-dark:#79C0FF}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 .smHB8, html code.shiki .smHB8{--shiki-light:#39ADB5;--shiki-default:#023B95;--shiki-dark:#79C0FF}html pre.shiki code .sfVK4, html code.shiki .sfVK4{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#66707B;--shiki-default-font-style:inherit;--shiki-dark:#8B949E;--shiki-dark-font-style:inherit}html pre.shiki code .sJNII, html code.shiki .sJNII{--shiki-light:#F76D47;--shiki-default:#023B95;--shiki-dark:#79C0FF}html pre.shiki code .skqQ-, html code.shiki .skqQ-{--shiki-light:#E2931D;--shiki-default:#023B95;--shiki-dark:#79C0FF}html pre.shiki code .sV76_, html code.shiki .sV76_{--shiki-light:#90A4AE;--shiki-light-font-weight:inherit;--shiki-default:#023B95;--shiki-default-font-weight:bold;--shiki-dark:#79C0FF;--shiki-dark-font-weight:bold}html pre.shiki code .sJcg5, html code.shiki .sJcg5{--shiki-light:#39ADB5;--shiki-light-font-weight:inherit;--shiki-default:#023B95;--shiki-default-font-weight:bold;--shiki-dark:#79C0FF;--shiki-dark-font-weight:bold}html pre.shiki code .sGXFf, html code.shiki .sGXFf{--shiki-light:#E2931D;--shiki-light-font-weight:inherit;--shiki-default:#023B95;--shiki-default-font-weight:bold;--shiki-dark:#79C0FF;--shiki-dark-font-weight:bold}html pre.shiki code .sQBKe, html code.shiki .sQBKe{--shiki-light:#39ADB5;--shiki-default:#702C00;--shiki-dark:#FFA657}",{"title":176,"searchDepth":194,"depth":194,"links":3067},[3068,3069,3073,3077,3081],{"id":13,"depth":194,"text":14},{"id":59,"depth":194,"text":60,"children":3070},[3071,3072],{"id":64,"depth":202,"text":65},{"id":80,"depth":202,"text":81},{"id":91,"depth":194,"text":91,"children":3074},[3075,3076],{"id":94,"depth":202,"text":94},{"id":156,"depth":202,"text":156},{"id":1371,"depth":194,"text":1371,"children":3078},[3079,3080],{"id":1374,"depth":202,"text":1374},{"id":2644,"depth":202,"text":2645},{"id":2776,"depth":194,"text":2776,"children":3082},[3083],{"id":2822,"depth":202,"text":2822},"为 Agent 检索可复用的相关技能，支持对话自动生成和自定义上传两种方式。","md",{},"\u002Fcn\u002Fmemos_cloud\u002Ffeatures\u002Fskill",{"title":5,"description":176},"cn\u002Fmemos_cloud\u002Ffeatures\u002Fskill","BF8prE9H6pxRmBWg_QRN5oY5uK8_WrhdWqitN1qdI7U",[3092,3100],{"title":3093,"path":3094,"stem":3095,"icon":3096,"framework":6,"module":6,"class":3097,"target":-1,"active":3098,"defaultOpen":3098,"children":-1,"description":3099},"自定义标签","\u002Fcn\u002Fmemos_cloud\u002Ffeatures\u002Fcustom_tags","memos_cloud\u002Ffeatures\u002Fcustom_tags","i-ri-price-tag-3-line",[],false,"添加消息时按照你的业务需求使用标签。",{"title":3101,"path":3102,"stem":3103,"icon":3104,"framework":6,"module":6,"class":3105,"target":-1,"active":3098,"defaultOpen":3098,"children":-1,"description":3106},"知识库","\u002Fcn\u002Fmemos_cloud\u002Ffeatures\u002Fknowledge_base","memos_cloud\u002Ffeatures\u002Fknowledge_base","i-ri-book-read-line",[],"创建项目关联的知识库，检索时结合记忆与知识库。",1781252502883]