{"_id":"@alicloud-ai-search/openclaw-memory","_rev":"12-affcdd1a79634488b045c51e4ce0f277","name":"@alicloud-ai-search/openclaw-memory","dist-tags":{"latest":"1.0.1"},"versions":{"0.1.0":{"name":"@alicloud-ai-search/openclaw-memory","version":"0.1.0","license":"MIT","_id":"@alicloud-ai-search/openclaw-memory@0.1.0","maintainers":[{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"}],"dist":{"shasum":"366b1af99b066c4604e5a48c31e321a5bc451ffd","tarball":"https://registry.npmjs.org/@alicloud-ai-search/openclaw-memory/-/openclaw-memory-0.1.0.tgz","fileCount":4,"integrity":"sha512-USNp0t0q5LFs7rN9SYvpaAUoLH9Z78Ffm/tws08R2w+LmEofInzcv01kP11d7zJR8rLzS/FIc161btegpscESA==","signatures":[{"sig":"MEQCIFsrNT3U5MXJhMeWgmHq/tOe5IV5hp/q7bTl6bfPwUvaAiAsBnvgU5RH1X+8mFRipIMgCGGBEnQcDbUyYsAKyQ03OA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34163},"main":"index.ts","type":"module","gitHead":"03102409b8b0336899941f10ce5ad5615a44ad1f","_npmUser":{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"},"openclaw":{"extensions":["./index.ts"]},"_npmVersion":"10.9.2","description":"OpenClaw memory plugin backed by REST API","directories":{},"_nodeVersion":"23.11.1","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openclaw-memory_0.1.0_1776679050069_0.8351400381457541","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@alicloud-ai-search/openclaw-memory","version":"0.2.0","license":"MIT","_id":"@alicloud-ai-search/openclaw-memory@0.2.0","maintainers":[{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"}],"dist":{"shasum":"7c24f85a15001164c10be334473267bb37154a53","tarball":"https://registry.npmjs.org/@alicloud-ai-search/openclaw-memory/-/openclaw-memory-0.2.0.tgz","fileCount":4,"integrity":"sha512-WSCh/4eXC0QDiqtQx1kO11tUYZU0BB0wuXQvvmLPi6xFcsVKZ90AINXvFQndWLs6eZHziy+UqLGw+CSfTsm7rw==","signatures":[{"sig":"MEUCIGE3e43EOR+mFfH99u88Rn7Kd1Ys8T696mcIiNQG+HyPAiEA8ByyERLip2z9vuD8BKIm6aUCxVOQ7RNuWYQBcoQoYmM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35759},"main":"index.ts","type":"module","gitHead":"9ad11c6232bbf935535ad6d53388f6f2c7f6aaa0","_npmUser":{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"},"openclaw":{"extensions":["./index.ts"]},"_npmVersion":"10.9.2","description":"OpenClaw memory plugin backed by REST API","directories":{},"_nodeVersion":"23.11.1","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openclaw-memory_0.2.0_1777003193547_0.6055426307508762","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@alicloud-ai-search/openclaw-memory","version":"0.3.0","license":"MIT","_id":"@alicloud-ai-search/openclaw-memory@0.3.0","maintainers":[{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"}],"dist":{"shasum":"18882793549210f6379ff5441d4f399af2202a06","tarball":"https://registry.npmjs.org/@alicloud-ai-search/openclaw-memory/-/openclaw-memory-0.3.0.tgz","fileCount":4,"integrity":"sha512-5rEh44mXLAkNWavehzenaWJ9hq4bcJGwLVIQIS4sBDPJkUmfCoaD/ihysukuoqfYGda6WHv1oxKTw4XSHoj3sA==","signatures":[{"sig":"MEYCIQC3cQzj7TUwbtNAdB97V7V5XwayXAxW/rrcrgX6F7CpNwIhAPRCyK1h37cmXeQ0TkOUVvBkS8DP0r1nMTE0J76VeirA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35185},"main":"index.ts","type":"module","gitHead":"b6ecf22af3e77177ebbcfc8725a45d971efee5fc","_npmUser":{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"},"openclaw":{"extensions":["./index.ts"]},"_npmVersion":"10.9.2","description":"OpenClaw memory plugin backed by REST API","directories":{},"_nodeVersion":"23.11.1","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openclaw-memory_0.3.0_1777015396575_0.4985075315090173","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@alicloud-ai-search/openclaw-memory","version":"0.4.0","license":"MIT","_id":"@alicloud-ai-search/openclaw-memory@0.4.0","maintainers":[{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"}],"dist":{"shasum":"74e75f0088529dd56b495aa712b461337bc0c67b","tarball":"https://registry.npmjs.org/@alicloud-ai-search/openclaw-memory/-/openclaw-memory-0.4.0.tgz","fileCount":4,"integrity":"sha512-Hs25BJqEcJL5dbVKjCvWqOXE8vYCHeoERn1JACnzHW3BijZ+iatMXDStn/sU5spX/mIcPaezbbHSfIGN5+MWrA==","signatures":[{"sig":"MEUCIQCCyLURrYUvw9bMppiGlg0TzgirfT/FwY/Tzrs4DOfhbQIgZhKS0vLuWx/bCjVN6a0yJV+adMknxwo3U5tiQGkQzzM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35187},"main":"index.ts","type":"module","gitHead":"b284963e101fe7bbaa83ad4b6ec6b40fb6bad563","_npmUser":{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"},"openclaw":{"extensions":["./index.ts"]},"_npmVersion":"10.9.2","description":"OpenClaw memory plugin backed by REST API","directories":{},"_nodeVersion":"23.11.1","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openclaw-memory_0.4.0_1777015564771_0.1477886970349207","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@alicloud-ai-search/openclaw-memory","version":"0.5.0","license":"MIT","_id":"@alicloud-ai-search/openclaw-memory@0.5.0","maintainers":[{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"}],"dist":{"shasum":"5832ac552a3533c7e6166d0f79399731ff59a29b","tarball":"https://registry.npmjs.org/@alicloud-ai-search/openclaw-memory/-/openclaw-memory-0.5.0.tgz","fileCount":4,"integrity":"sha512-3cQKfsRmWEDwoVRZCj9v1fPKsSUrBbsVdzfvKVgA6rt+LBY25a7U36yd3v9B9ZEuBAIveD48KP03na/By6pGeQ==","signatures":[{"sig":"MEYCIQCXxKwW84PwHwbWSRBza6gfYJhiaOgG5XkGFM2gsnnWAAIhAMDhB/yg1rziQ5UUjKq3vOBtT9X6e1w02O7WRvBb+Tyy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35405},"main":"index.ts","type":"module","gitHead":"3ea54cc0b1e404ce85adb9c298585794ca0f7c81","_npmUser":{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"},"openclaw":{"extensions":["./index.ts"]},"_npmVersion":"10.9.2","description":"OpenClaw memory plugin backed by REST API","directories":{},"_nodeVersion":"23.11.1","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openclaw-memory_0.5.0_1777018781819_0.4145325165100662","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@alicloud-ai-search/openclaw-memory","version":"0.6.0","license":"MIT","_id":"@alicloud-ai-search/openclaw-memory@0.6.0","maintainers":[{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"}],"dist":{"shasum":"cfa6a9a1176740460a01a197c1aa4ed2cf11a530","tarball":"https://registry.npmjs.org/@alicloud-ai-search/openclaw-memory/-/openclaw-memory-0.6.0.tgz","fileCount":4,"integrity":"sha512-6eUqB+//tHrX2oTRFms+kerw5mcFUWLw22ShKz6j+0gmLyIK77t559SPXJ6q8BG2QdrgsAFZxe5MudcvkV+/0w==","signatures":[{"sig":"MEUCIQCrpAwjo2cdvkGp+i5CfVkSi03nqpoP5JYiTW/1fsdjtwIgXgMh9EwTJk2QZ5MyV80d7PU5lTq0OyH1zPWOaLPnaAY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35395},"main":"index.ts","type":"module","gitHead":"d4bf6a4608630f1f4f58cf065052d7d23b38d46c","_npmUser":{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"},"openclaw":{"extensions":["./index.ts"]},"_npmVersion":"10.9.2","description":"OpenClaw memory plugin backed by REST API","directories":{},"_nodeVersion":"23.11.1","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openclaw-memory_0.6.0_1777019004228_0.5207937184279294","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@alicloud-ai-search/openclaw-memory","version":"0.7.0","license":"MIT","_id":"@alicloud-ai-search/openclaw-memory@0.7.0","maintainers":[{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"}],"dist":{"shasum":"5f7d1903aadcb8f5ba083147da9b294727243ecb","tarball":"https://registry.npmjs.org/@alicloud-ai-search/openclaw-memory/-/openclaw-memory-0.7.0.tgz","fileCount":4,"integrity":"sha512-pI2ecv+Tlm3T05ciTSJUBltTsTGuSUb48y2d3wg/V3ZQQgEDDpLpBbZcBTbdu8y80qIXZeiyO7En/cyzOHct4g==","signatures":[{"sig":"MEQCIGa2E26nVlClKy10lAoqxroRW4xhjnIlPMoMvLv/yNHGAiAbkGJnKw7FHCcV1jYtjhJrfa51pz1zSpM6ZPhYsZk3zg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35551},"main":"index.ts","type":"module","gitHead":"e0e33059bfa3a404186ff49cc3b49e0fb35c1b43","_npmUser":{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"},"openclaw":{"extensions":["./index.ts"]},"_npmVersion":"10.9.2","description":"OpenClaw memory plugin backed by REST API","directories":{},"_nodeVersion":"23.11.1","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openclaw-memory_0.7.0_1777455962829_0.4363932638382584","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@alicloud-ai-search/openclaw-memory","version":"0.7.1","license":"MIT","_id":"@alicloud-ai-search/openclaw-memory@0.7.1","maintainers":[{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"}],"dist":{"shasum":"affda0a7c64b9f1f95aa6536e866c7cca6bde02c","tarball":"https://registry.npmjs.org/@alicloud-ai-search/openclaw-memory/-/openclaw-memory-0.7.1.tgz","fileCount":6,"integrity":"sha512-ogKtpmRLU8HUDeVtQETxs2hwV5jrpEku36iDUlG/TVihaKVE9hT1igrNaH7CO6UWx6UNhrloGo9xbwZdEdAgNw==","signatures":[{"sig":"MEUCIQCJaswD2RYUCPozqqK0ldAaKNhnhHK/Em8h7zOKecqj8AIgdyadIiuE4pd3d3GQ34M4I3bWaIceionsiUm9WlGIInI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61978},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"e0e33059bfa3a404186ff49cc3b49e0fb35c1b43","scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist","prepack":"npm run build"},"_npmUser":{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"},"openclaw":{"extensions":["./index.ts"],"runtimeExtensions":["./dist/index.js"]},"_npmVersion":"10.9.2","description":"OpenClaw memory plugin backed by REST API","directories":{},"_nodeVersion":"23.11.1","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-memory_0.7.1_1778755892460_0.8794715413032961","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@alicloud-ai-search/openclaw-memory","version":"0.7.2","license":"MIT","_id":"@alicloud-ai-search/openclaw-memory@0.7.2","maintainers":[{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"}],"dist":{"shasum":"56339573ec5100b0130d05196d1922be6ca31e63","tarball":"https://registry.npmjs.org/@alicloud-ai-search/openclaw-memory/-/openclaw-memory-0.7.2.tgz","fileCount":6,"integrity":"sha512-m+R8jM2LRKe8xQCxWvzHAAQmk/DhnqPPXSsiiHTc6nLUEnsLmwiUx7o5sLw4fv9KjOsvw7bXjvJpU03YlX72ag==","signatures":[{"sig":"MEYCIQCasFlcvr6iMH8vNKwLuGYn7HdHT8K3hPnaOWY9LCtnYQIhAKDPIxfmbAADvbSFLqD7+nxrPOHi/yYmyElaAJ3Ali5B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62131},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"e0e33059bfa3a404186ff49cc3b49e0fb35c1b43","scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist","prepack":"npm run build"},"_npmUser":{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"},"openclaw":{"extensions":["./index.ts"],"runtimeExtensions":["./dist/index.js"]},"_npmVersion":"10.9.2","description":"OpenClaw memory plugin backed by REST API","directories":{},"_nodeVersion":"23.11.1","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-memory_0.7.2_1778757489869_0.3468523888294408","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"@alicloud-ai-search/openclaw-memory","version":"0.7.4","license":"MIT","_id":"@alicloud-ai-search/openclaw-memory@0.7.4","maintainers":[{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"}],"dist":{"shasum":"f7dedeb20d7c65ffd36d1dfec2e24e49b4457b4f","tarball":"https://registry.npmjs.org/@alicloud-ai-search/openclaw-memory/-/openclaw-memory-0.7.4.tgz","fileCount":6,"integrity":"sha512-9xEnSKyxIiNhm/0ZDPE1MpYU7vPAw4ABSIbL68KyIvhulRnmu2PD6T4DxjXpyN7+isJY4q4c9B+hAGtU2FOfKQ==","signatures":[{"sig":"MEYCIQDsajrUisMX79sjJFSszlDYFk6mXGmcpBn5el6XhlfkOwIhAJvMgzo7/GQEFFBo9Ys/9RthGcnsCpDMhzioaj6hX/AI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64896},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"fc6f4f3bceeae39b335130713ea461f01c7d10c5","scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist *.tgz","prepack":"npm run build"},"_npmUser":{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"},"openclaw":{"extensions":["./index.ts"],"runtimeExtensions":["./dist/index.js"]},"_npmVersion":"10.9.2","description":"OpenClaw memory plugin backed by REST API","directories":{},"_nodeVersion":"23.11.1","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-memory_0.7.4_1778835642499_0.7172718545851182","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"@alicloud-ai-search/openclaw-memory","version":"0.7.5","license":"MIT","_id":"@alicloud-ai-search/openclaw-memory@0.7.5","maintainers":[{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"}],"dist":{"shasum":"87377a6292c792413f9b70f0e78737addfbbb70d","tarball":"https://registry.npmjs.org/@alicloud-ai-search/openclaw-memory/-/openclaw-memory-0.7.5.tgz","fileCount":6,"integrity":"sha512-RGfBNkpoVBNaL3Rxxh3WAw62x+r7mMbk993F+xhsUK1uOggtjHQ47ZLVRMntBTWptZpT48FJEozcSxVhl5RXrQ==","signatures":[{"sig":"MEYCIQDx8cbvk7/9CapmcmtkpzmE8qr/qLnHT9NO+F8zXAYhCgIhAKUWxB2j/wRTu192laI3V+hjlIlh8fxoUIhIX6B1+mEU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66129},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"5b681fa4afc6eb4933f626e1663c1efcdd80b24a","scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist *.tgz","prepack":"npm run build"},"_npmUser":{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"},"openclaw":{"extensions":["./index.ts"],"runtimeExtensions":["./dist/index.js"]},"_npmVersion":"10.9.2","description":"OpenClaw memory plugin backed by REST API","directories":{},"_nodeVersion":"23.11.1","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-memory_0.7.5_1778838539965_0.9339357175762313","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@alicloud-ai-search/openclaw-memory","version":"1.0.1","type":"module","description":"OpenClaw memory plugin backed by REST API","main":"dist/index.js","types":"dist/index.d.ts","openclaw":{"extensions":["./index.ts"],"runtimeExtensions":["./dist/index.js"]},"scripts":{"build":"tsc -p tsconfig.json","prepack":"npm run build","clean":"rm -rf dist *.tgz"},"dependencies":{},"devDependencies":{"@types/node":"^20.0.0","typescript":"^5.4.0"},"license":"MIT","_id":"@alicloud-ai-search/openclaw-memory@1.0.1","gitHead":"12fef43332c3cf94504d49ed2cafc23f4c7b78ac","_nodeVersion":"23.11.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-0Nd8+XtI6xdUnY8bWxmihzx8cJaSPEuxM6m/NQHRfrK53jOoDriap8Y3UXPEwprxKS+428/bL3sDhtyqzqlWEQ==","shasum":"57fe5d6e3518875d52ae45150295150273757cc3","tarball":"https://registry.npmjs.org/@alicloud-ai-search/openclaw-memory/-/openclaw-memory-1.0.1.tgz","fileCount":7,"unpackedSize":58291,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIG5s3SyB01ErYi0DYyp4aWr9mofD42jcvQabFX/rf8tVAiEA6fbMXzrkxdHxxa1As4zr4j1CLhCZ2pUPAjWUmUtciCo="}]},"_npmUser":{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/openclaw-memory_1.0.1_1781523131010_0.9920795618884228"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-20T09:57:29.953Z","modified":"2026-06-15T11:32:11.314Z","0.1.0":"2026-04-20T09:57:30.211Z","0.2.0":"2026-04-24T03:59:53.701Z","0.3.0":"2026-04-24T07:23:16.759Z","0.4.0":"2026-04-24T07:26:04.902Z","0.5.0":"2026-04-24T08:19:41.957Z","0.6.0":"2026-04-24T08:23:24.368Z","0.7.0":"2026-04-29T09:46:02.969Z","0.7.1":"2026-05-14T10:51:32.682Z","0.7.2":"2026-05-14T11:18:10.027Z","0.7.4":"2026-05-15T09:00:42.647Z","0.7.5":"2026-05-15T09:49:00.097Z","1.0.1":"2026-06-15T11:32:11.181Z"},"license":"MIT","description":"OpenClaw memory plugin backed by REST API","maintainers":[{"name":"lch0420","email":"liuchenhao.lch@alibaba-inc.com"}],"readme":"# Openclaw-memory\n\nOpenClaw memory plugin backed by the Agentic Memory API — provides long-term semantic memory and skill management for your agents.\n\n## Features\n\n- **MCP-based tools**: Memory, Skill and Knowledgebase tools are provided via MCP server configuration\n- **Auto-recall**: Injects relevant memories (and optionally skills) before each agent execution\n- **Auto-capture**: Stores conversation highlights after each agent execution\n- **CLI commands**: `mem search|get|update|forget|task`\n- **Zero native dependencies**: Uses Node.js built-in `fetch()` — no SDK required\n\n## Get your API token\n\n1. Sign up at https://opensearch.console.aliyun.com/cn-shanghai/rag/server-market if you haven't already\n2. Go to api-keys\n3. Click **Create API Key**, copy the api token (starts with `OS-`) and endpoint (e.g. `http://xxx.platform-cn-shanghai.opensearch.aliyuncs.com`)\n4. These two values (api token, endpoint) will be used in the following configuration\n\n\n## Installation\n\n1. Install the plugin:\n\n   ```bash\n    openclaw plugins install @alicloud-ai-search/openclaw-memory\n   ```\n\n2. Change your `~/.openclaw/openclaw.json`:\n  Add the following to your plugins.entries.openclaw-memory:\n\n   ```json\n    \"config\": {\n      \"baseUrl\": \"http://xxx.platform-cn-shanghai.opensearch.aliyuncs.com\",\n      \"workspaceName\": \"{YOUR_WORKSPACE_HERE}\",\n      \"apiKey\": \"{YOUR_API_KEY_HERE}\"\n    }\n   ```\n\n   So that the complete config should look like this:\n   ```json\n    \"openclaw-memory\": {\n      \"enabled\": true,\n        \"config\": {\n          \"baseUrl\": \"http://xxx.platform-cn-shanghai.opensearch.aliyuncs.com\",\n          \"workspaceName\": \"default\",\n          \"apiKey\": \"YOUR_API_KEY_HERE\"\n        }\n    }\n    ```\n\n## MCP Configuration\n\nMemory tools are provided via an MCP server. Add the following `mcp` section to your `~/.openclaw/openclaw.json`:\n\n```json\n  \"mcp\": {\n    \"servers\": {\n      \"agentic-memory\": {\n        \"url\": \"<YOUR_ENDPOINT>/v1/agentic-memory/mcp\",\n        \"transport\": \"streamable-http\", \n        \"headers\": {\n          \"Authorization\": \"Bearer <token>\"\n        }\n      }\n    }\n  }\n```\n\nReplace `<YOUR_ENDPOINT>` with your Agentic Memory API base URL and `<token>` with your API key.\n\n3. Restart the gateway after all configuration is complete:\n\n   ```bash\n   openclaw gateway restart\n   ```\n\n   You should see in the logs:\n   ```\n   [openclaw-memory] Plugin registered (autoRecallMemory=true, autoCaptureMemory=true, autoRecallSkill=false, autoCaptureSkill=false, ...)\n   ```\n\n## Configuration\n\n| Option | Type | Default | Required | Description |\n|--------|------|---------|----------|-------------|\n| `baseUrl` | string | `http://localhost:8000` | **yes** | Agentic Memory API base URL |\n| `workspaceName` | string | — | **yes** | Workspace Name |\n| `apiKey` | string | — | **yes** | Agentic Memory API key |\n| `serviceId` | string | `agentic-memory` | no | Service ID for the memory service |\n| `userId` | string | auto-generated | no | A string you choose to uniquely identify the user whose memories are being stored. If not set, a persistent UUID is auto-generated (see below) |\n| `agentId` | string | `\"\"` | no | Agent ID (optional, associates memories/skills with a specific agent) |\n| `autoCaptureMemory` | boolean | `false` | no | Store conversation context after agent execution |\n| `autoRecallMemory` | boolean | `false` | no | Inject relevant memories before agent execution |\n| `autoRecallSkill` | boolean | `false` | no | Include skills in auto-recall results |\n| `autoCaptureSkill` | boolean | `false` | no | (Coming soon) Auto-capture skills from conversations |\n| `recallLimit` | number | `5` | no | Max items to recall per query |\n\n## Auto-generated userId\n\nWhen `userId` is **not** set in the plugin config, the plugin automatically generates and persists one:\n\n1. It looks for a file called `autogen-userid.txt` in the ~/.openclaw directory.\n2. If the file exists, its content is read and used as the `userId`.\n3. If the file does not exist, a new `openclaw-memory-<UUID>` string is generated, written to `autogen-userid.txt`, and used as the `userId`.\n\nWhenever an auto-generated `userId` is used (whether newly created or read from an existing file), a log line is printed:\n\n```\n[openclaw-memory] Using auto-generated userId from /path/to/autogen-userid.txt: openclaw-memory-xxx\n```\n\nTo switch to a manually configured `userId`, simply add `\"userId\": \"your-id\"` to the plugin config — the `autogen-userid.txt` file will then be ignored.\n\n## CLI Commands\n\n```bash\n# Search memories (optionally include skills)\nopenclaw mem search \"project architecture\"\nopenclaw mem search \"project architecture\" --limit 10 --skill\n\n# Get a memory or skill by ID\nopenclaw mem get <id>\n\n# Update a memory's content by ID\nopenclaw mem update <id> \"new memory content\"\n\n# Delete a memory or skill\nopenclaw mem forget <id>\n\n# Check async task status\nopenclaw mem task <task_id>\n```\n\n## How Auto-Recall Works\n\nWhen `autoRecallMemory` is enabled, the plugin hooks into `before_agent_start`:\n\n1. The user's prompt is used as a search query against the Agentic Memory API\n2. Up to `recallLimit` memories (and skills, if `autoRecallSkill` is enabled) are retrieved\n3. They are prepended to the agent context as:\n\n   ```xml\n   <relevant-memories>\n   Relevant facts from long-term memory:\n   - Some stored fact\n   - Another relevant memory\n\n   Relevant skills:\n   - skill-name: description of the skill\n   </relevant-memories>\n   ```\n\n4. Temporary sessions (session keys starting with `temp:`) and start prompts are skipped\n\n## How Auto-Capture Works\n\nWhen `autoCaptureMemory` is enabled, the plugin hooks into `agent_end`:\n\n1. User and assistant messages from the conversation are extracted\n2. Messages shorter than 50 characters are skipped\n3. Messages containing `<relevant-memories>` are skipped (prevents feedback loops)\n4. Start prompts (`A new session was started via...`) are skipped\n5. Temporary sessions are skipped\n6. Remaining messages are sent to the Agentic Memory API for extraction and storage\n","readmeFilename":"README.md"}