{"_id":"openclaw-amem","_rev":"30-29ed266e779868312c64646112856052","name":"openclaw-amem","dist-tags":{"latest":"2.1.4"},"versions":{"1.0.0":{"name":"openclaw-amem","version":"1.0.0","keywords":["openclaw","openclaw-plugin","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"_id":"openclaw-amem@1.0.0","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"homepage":"https://amem.owo.lc","bugs":{"url":"https://github.com/heichaowo/openclaw-amem/issues"},"dist":{"shasum":"a58964f4da8a824a263cd016e713f79c3f8702b8","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-1.0.0.tgz","fileCount":5,"integrity":"sha512-n/ZGby5c1XhU326UCTtM9lYc3Mft5GwH6uiJz176NAih0J/TaVP5drIeenR4RkCSYt0bV+kqBteDmCvxej+53g==","signatures":[{"sig":"MEQCIAtLTr1Rd7WTA2VKek21sQ5RKCG06BxFeWt53Fr1XS57AiBluYwcbVVji+V6OO7OOmnSB9FsAFZmAH+bLVSR2hZViQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":278177},"main":"dist/index.js","_from":"file:openclaw-amem-1.0.0.tgz","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","docs:dev":"vitepress dev website","docs:build":"vitepress build website","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest","docs:preview":"vitepress preview website"},"_npmUser":{"name":"heichaowo","email":"npmjs@bgm.cat"},"openclaw":{"build":{"openclawVersion":"2026.6.9"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"_resolved":"/Users/hashcat/Downloads/openclaw-amem-1.0.0.tgz","_integrity":"sha512-n/ZGby5c1XhU326UCTtM9lYc3Mft5GwH6uiJz176NAih0J/TaVP5drIeenR4RkCSYt0bV+kqBteDmCvxej+53g==","repository":{"url":"git+https://github.com/heichaowo/openclaw-amem.git","type":"git"},"_npmVersion":"11.16.0","description":"A-MEM agentic memory backend for OpenClaw — TypeScript rewrite","directories":{},"_nodeVersion":"26.3.0","dependencies":{"uuid":"^14.0.0","chromadb":"^1.9.2","@types/uuid":"^10.0.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.52.0","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^3.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","eslint":"^10.4.1","vitest":"^4.1.8","prettier":"^3.8.3","vitepress":"^1.6.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","typescript-eslint":"^8.60.1","vitepress-plugin-llms":"^1.13.2"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-amem_1.0.0_1782317710890_0.739824070902086","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"openclaw-amem","version":"1.1.0","keywords":["openclaw","openclaw-plugin","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"_id":"openclaw-amem@1.1.0","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"homepage":"https://amem.owo.lc","bugs":{"url":"https://github.com/heichaowo/amem/issues"},"dist":{"shasum":"c2682c1a0bf59e59371b7825dc8ab0183cc75589","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-1.1.0.tgz","fileCount":5,"integrity":"sha512-h3t60JXKnPeHcCC2N0A44iKfgVpfl497E4ay4DJr4T+6SPIkKu+mcK9EkIUwozuO65hnT6lki8TSDOYTL3oN5A==","signatures":[{"sig":"MEYCIQDjsmPYezLKoC/6x15cqM9+MjEy6BqtGEr+OX3yQ+CyKwIhAJSfDlX57ICzdO9jC8AQIKWRWK3/IyvTrHML6+3nCjIq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":267389},"main":"dist/index.js","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest"},"_npmUser":{"name":"heichaowo","email":"npmjs@bgm.cat"},"openclaw":{"build":{"openclawVersion":"2026.6.9"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"repository":{"url":"https://github.com/heichaowo/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"A-MEM agentic memory backend for OpenClaw — TypeScript rewrite","directories":{},"_nodeVersion":"24.18.0","dependencies":{"uuid":"^14.0.0","@types/uuid":"^10.0.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.52.0","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^3.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","eslint":"^10.4.1","vitest":"^4.1.8","prettier":"^3.8.3","amem-core":"0.1.0","@eslint/js":"^10.0.1","typescript":"^5.9.3","typescript-eslint":"^8.60.1"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-amem_1.1.0_1783585905401_0.5899464868647772","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"openclaw-amem","version":"1.1.1","keywords":["openclaw","openclaw-plugin","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"license":"MIT","_id":"openclaw-amem@1.1.1","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"homepage":"https://amem.owo.lc","bugs":{"url":"https://github.com/heichaowo/amem/issues"},"dist":{"shasum":"ef17edf52cfdaad7c5f5e36e23b568ed4b774dbc","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-1.1.1.tgz","fileCount":5,"integrity":"sha512-mRFyiTj9ttC1S/mzomk9TbReifImRddhWWmx956GNumPHX368qAObDjmwm76tOLK2gAiGMHCK+RsqzySzQiUNQ==","signatures":[{"sig":"MEYCIQDitmvXmaERxPGAEBfrOA6+K7g3cE6O6B4lUtXBK4BAZgIhAKPkOs6SwS8yXeW5bCGpB6GlvrBwrQU5Va4ZP7ZRkR7l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100760},"main":"dist/index.js","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest"},"_npmUser":{"name":"heichaowo","email":"npmjs@bgm.cat"},"openclaw":{"build":{"openclawVersion":"2026.6.9"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/heichaowo/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"A-MEM agentic memory backend for OpenClaw — TypeScript rewrite","directories":{},"_nodeVersion":"24.18.0","dependencies":{"uuid":"^14.0.0","@types/uuid":"^10.0.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.52.0","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^3.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","eslint":"^10.4.1","vitest":"^4.1.8","prettier":"^3.8.3","amem-core":"0.1.0","@eslint/js":"^10.0.1","typescript":"^5.9.3","typescript-eslint":"^8.60.1"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-amem_1.1.1_1783590945971_0.5340011993191769","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"openclaw-amem","version":"1.1.2","keywords":["openclaw","openclaw-plugin","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"license":"MIT","_id":"openclaw-amem@1.1.2","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"homepage":"https://amem.owo.lc","bugs":{"url":"https://github.com/heichaowo/amem/issues"},"dist":{"shasum":"358abe641c713ffdddb5ca05392be081426f5348","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-1.1.2.tgz","fileCount":5,"integrity":"sha512-hZGeiYvb+V1dy67rAosfVoIHiLQ35JgFJunV71y48xRFZUijT6cwcJcFR4BMTJw2y7+5+qyPrdFg0SXTZJjzFA==","signatures":[{"sig":"MEQCIECA9EulLy9TKLwCDMpvI1bay7D8ZHx0wjy3PmUicRRWAiAUTEFDuOW5ThykIyjE1j7nBLtZBxusPp2576cwXuJIrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102920},"main":"dist/index.js","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest"},"_npmUser":{"name":"heichaowo","email":"npmjs@bgm.cat"},"openclaw":{"build":{"openclawVersion":"2026.6.9"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/heichaowo/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"A-MEM agentic memory backend for OpenClaw — TypeScript rewrite","directories":{},"_nodeVersion":"24.18.0","dependencies":{"uuid":"^14.0.0","@types/uuid":"^10.0.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.52.0","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^3.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","eslint":"^10.4.1","vitest":"^4.1.8","prettier":"^3.8.3","amem-core":"0.1.0","@eslint/js":"^10.0.1","typescript":"^5.9.3","typescript-eslint":"^8.60.1"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-amem_1.1.2_1783593678958_0.489978421003582","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"openclaw-amem","version":"1.1.3","keywords":["openclaw","openclaw-plugin","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"license":"MIT","_id":"openclaw-amem@1.1.3","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"homepage":"https://amem.owo.lc","bugs":{"url":"https://github.com/heichaowo/amem/issues"},"dist":{"shasum":"817a9879a1a1ca08fa5b5fb5a181492fb85341ab","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-1.1.3.tgz","fileCount":5,"integrity":"sha512-lTxMU2W/819Gfd9987wZUq+IxzDz5R3MBG0IiKOZasVDqdQjw5wHMPJiPUrMVaWTKKZHtwmFlyJWij1eAiik9g==","signatures":[{"sig":"MEYCIQCk7TgZUNcOYGV1p8Bl+rXsldlPmVKrTgTznNyUz9u0IQIhANI4EXqFJt92q79wLtqkY82mMYLejq6x07PCcnUgb6P3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102966},"main":"dist/index.js","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest"},"_npmUser":{"name":"heichaowo","email":"npmjs@bgm.cat"},"openclaw":{"build":{"openclawVersion":"2026.6.9"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/heichaowo/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"A-MEM agentic memory backend for OpenClaw — TypeScript rewrite","directories":{},"_nodeVersion":"24.18.0","dependencies":{"uuid":"^14.0.0","@types/uuid":"^10.0.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.52.0","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^3.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","eslint":"^10.4.1","vitest":"^4.1.8","prettier":"^3.8.3","amem-core":"0.1.0","@eslint/js":"^10.0.1","typescript":"^5.9.3","typescript-eslint":"^8.60.1"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-amem_1.1.3_1783596408096_0.8771659928903048","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"openclaw-amem","version":"1.1.4","keywords":["openclaw","openclaw-plugin","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"license":"MIT","_id":"openclaw-amem@1.1.4","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"homepage":"https://amem.owo.lc","bugs":{"url":"https://github.com/heichaowo/amem/issues"},"dist":{"shasum":"95547974a9e1c56d172fa304a3ccc8ba015d2613","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-1.1.4.tgz","fileCount":5,"integrity":"sha512-SmQAu+UVnAzPSO29c6HK3w3g9Gb/HK42Zk+bYpjhpxr18MLFMzt7N8ZFMX2xKVbhKxLYpttRJs+R1nVbFojf+A==","signatures":[{"sig":"MEUCIDEMcTwglFfX7QBFBH+Wg/l2ZWb+ykdLuQYG8TSChytlAiEA0qTOev0sT68iN1vXFhj6fwA2OFyG8AZE/ryHCRV0rGQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106037},"main":"dist/index.js","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","typecheck":"tsc --noEmit","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest"},"_npmUser":{"name":"heichaowo","email":"npmjs@bgm.cat"},"openclaw":{"build":{"openclawVersion":"2026.6.9"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/heichaowo/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"OpenClaw memory plugin implementing A-MEM — memories evolve, not just accumulate. Graph linking, hybrid retrieval, LLM-driven evolution. No Python.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"uuid":"^14.0.0","@types/uuid":"^11.0.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.110.0","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","eslint":"^10.4.1","vitest":"^4.1.10","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^26.1.1","typescript-eslint":"^8.60.1"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-amem_1.1.4_1783918930444_0.7726593416436558","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"openclaw-amem","version":"1.1.5","keywords":["openclaw","openclaw-plugin","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"license":"MIT","_id":"openclaw-amem@1.1.5","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"homepage":"https://amem.owo.lc","bugs":{"url":"https://github.com/heichaowo/amem/issues"},"dist":{"shasum":"231085590fd65f553a2cfb4cd581dcd332c74699","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-1.1.5.tgz","fileCount":5,"integrity":"sha512-pZim6LcYJzdSFDVDRQPwfshfWBxk0UigYggCAt+FvCpxJvHa9Hl71t20O5BKEewP9vgyUV8kHTkR2dbTHD1q5g==","signatures":[{"sig":"MEUCIGuKk+vVGLNIpu4NkQKc3m7gA91GwojoyLQQ4liQkNTKAiEA2EMUgshuhCtUjsekZsxONswPeBZXqpqySKd1wqlm3mQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106463},"main":"dist/index.js","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","typecheck":"tsc --noEmit","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest"},"_npmUser":{"name":"heichaowo","email":"npmjs@bgm.cat"},"openclaw":{"build":{"openclawVersion":"2026.6.9"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/heichaowo/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"OpenClaw memory plugin implementing A-MEM — memories evolve, not just accumulate. Graph linking, hybrid retrieval, LLM-driven evolution. No Python.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"uuid":"^14.0.0","@types/uuid":"^11.0.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.110.0","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","eslint":"^10.4.1","vitest":"^4.1.10","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^26.1.1","typescript-eslint":"^8.60.1"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-amem_1.1.5_1784022674934_0.597635272672645","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"openclaw-amem","version":"1.2.0","keywords":["openclaw","openclaw-plugin","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"license":"MIT","_id":"openclaw-amem@1.2.0","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"homepage":"https://amem.owo.lc","bugs":{"url":"https://github.com/heichaowo/amem/issues"},"dist":{"shasum":"e5e26c1cbfc9eb28f7830ff4f47a1b74d6bbc20e","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-1.2.0.tgz","fileCount":5,"integrity":"sha512-KMaeVghOp93ZqpJ5REF2OXkFP/wmtEf5POZ6u+DhDZxuvebHh2WTSnMTboOstItmco7zs/l1l7CWr/Rp7xhV+A==","signatures":[{"sig":"MEYCIQCjc+Ow0gaLkGoIZhcy9EblfF9hjT/uEoaHmQp/jFZNBgIhAICifU0rXo/ywHpxXuKy8MxLLfgNIQBMSMYuMZJ319Io","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw-amem@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":106256},"main":"dist/index.js","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","test:unit":"vitest run test/unit","typecheck":"tsc --noEmit","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d765fcb1-c072-40de-9ad9-708d5113d2dd"}},"openclaw":{"build":{"openclawVersion":"2026.6.9"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/heichaowo/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"OpenClaw memory plugin implementing A-MEM — memories evolve, not just accumulate. Graph linking, hybrid retrieval, LLM-driven evolution. No Python.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"uuid":"^14.0.0","openai":"^6.48.0","@types/uuid":"^11.0.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.110.0","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsup":"^8.4.0","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.60.1"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-amem_1.2.0_1784543329098_0.8699202609837173","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"openclaw-amem","version":"1.2.1","keywords":["openclaw","openclaw-plugin","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"license":"MIT","_id":"openclaw-amem@1.2.1","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"homepage":"https://amem.owo.lc","bugs":{"url":"https://github.com/heichaowo/amem/issues"},"dist":{"shasum":"1aa2087ae72a3ea3e01b347d3ad55ae850883ef1","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-1.2.1.tgz","fileCount":5,"integrity":"sha512-6JHpdzWiKTKQv4H82cGonUfOmsJtsccsTmUUnFpgu2DOLpC79s2VpbtLNbYKET67hda2Ey79LF82JNmDntOGHg==","signatures":[{"sig":"MEUCIHNXXn82NO0Qa0hHuScDHVThtelCDL0uXif0gscco/sVAiEAjmn/HSFQ4RSVNh2AHeeBGeHMeKW197gHFFH52gw1PZ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw-amem@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":107534},"main":"dist/index.js","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","test:unit":"vitest run test/unit","typecheck":"tsc --noEmit","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d765fcb1-c072-40de-9ad9-708d5113d2dd"}},"openclaw":{"build":{"openclawVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/heichaowo/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"OpenClaw memory plugin implementing A-MEM — memories evolve, not just accumulate. Graph linking, hybrid retrieval, LLM-driven evolution. No Python.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"uuid":"^14.0.0","openai":"^6.48.0","@types/uuid":"^11.0.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.110.0","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsup":"^8.4.0","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.60.1"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-amem_1.2.1_1784547075314_0.9749850051061226","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"openclaw-amem","version":"1.2.2","keywords":["openclaw","openclaw-plugin","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"license":"MIT","_id":"openclaw-amem@1.2.2","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"homepage":"https://amem.owo.lc","bugs":{"url":"https://github.com/heichaowo/amem/issues"},"dist":{"shasum":"dde4b862b72132f52186f07208138cc3e4528805","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-1.2.2.tgz","fileCount":5,"integrity":"sha512-2zwlrrKwIksRKWNvZnqCLuhbLHRACWjmEHYCUXUzF2WPSpIrbWBnhmfalWkKX+IVX1E4n8UJ9zZTihBsAEQ7hA==","signatures":[{"sig":"MEQCIDv+HCQI/EsAql7Owk3K/kwZCSJnsmT3lXEXjcsYjAqnAiAuUGBFsAE+GiKq6dXovO+gQHnoaNeLMC4PbLviUGmaOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw-amem@1.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":107199},"main":"dist/index.js","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","test:unit":"vitest run test/unit","typecheck":"tsc --noEmit","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d765fcb1-c072-40de-9ad9-708d5113d2dd"}},"openclaw":{"build":{"openclawVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/heichaowo/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"OpenClaw memory plugin implementing A-MEM — memories evolve, not just accumulate. Graph linking, hybrid retrieval, LLM-driven evolution. No Python.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"uuid":"^14.0.0","openai":"^6.48.0","@types/uuid":"^11.0.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.110.0","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsup":"^8.4.0","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.60.1"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-amem_1.2.2_1784602564590_0.912321139179642","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"openclaw-amem","version":"1.3.0","keywords":["openclaw","openclaw-plugin","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"license":"MIT","_id":"openclaw-amem@1.3.0","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"homepage":"https://amem.owo.lc","bugs":{"url":"https://github.com/heichaowo/amem/issues"},"dist":{"shasum":"1d9c22bd09990f0f2975ecb157a9c6c86c99a116","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-1.3.0.tgz","fileCount":5,"integrity":"sha512-ghgqperF/5/TqIJT5S9CxvrBVaDH7lnDBof04PEak22l7MVmPR4osyv6+3GFoJ0UE4wbQQNdHHHEhMPMLH67nw==","signatures":[{"sig":"MEYCIQDaECiKXI64piVOtNd4uKgYMcNHXSRalA1z2asFz04PPAIhALKPq+uHGhtuLW56SsWvusRqlHWOMpP5lPip9n7/J7Ca","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw-amem@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":132303},"main":"dist/index.js","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","test:unit":"vitest run test/unit","typecheck":"tsc --noEmit","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d765fcb1-c072-40de-9ad9-708d5113d2dd"}},"openclaw":{"build":{"openclawVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/heichaowo/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"OpenClaw memory plugin implementing A-MEM — memories evolve, not just accumulate. Graph linking, hybrid retrieval, LLM-driven evolution. No Python.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"uuid":"^14.0.0","openai":"^6.48.0","@types/uuid":"^11.0.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.112.1","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsup":"^8.4.0","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.64.0"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-amem_1.3.0_1784977686293_0.9126340815737672","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"openclaw-amem","version":"1.4.0","keywords":["openclaw","openclaw-plugin","amem","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"license":"MIT","_id":"openclaw-amem@1.4.0","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"homepage":"https://amem.owo.lc","bugs":{"url":"https://github.com/heichaowo/amem/issues"},"dist":{"shasum":"fdd240ab129150949879355b32ab6021a498b554","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-1.4.0.tgz","fileCount":5,"integrity":"sha512-6g9qLrR/+TL/m5hGzc5nBXuWGKeiWEfcVq+q6meo3z1zJGuzGbWNfFM5xPbeXiqM+7wfoAa0cavIIb1s8bTqZQ==","signatures":[{"sig":"MEUCIQCKw61TeALnzfIRorucGsJ9vVakmigtFllZ4KtUOraXGAIgLD2WIn8EocdhzKsZg8SRpzZiAUVcaPWvslCwFy6wmZ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw-amem@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":142057},"main":"dist/index.js","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","test:unit":"vitest run test/unit","typecheck":"tsc --noEmit","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d765fcb1-c072-40de-9ad9-708d5113d2dd"}},"openclaw":{"build":{"openclawVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/heichaowo/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"Catches memories that contradict each other. Notes rewrite themselves as new ones arrive, link into a graph, and stay separated per agent and per person. Runs on a small model. Requires a local Qdrant. 中文走 jieba 分词，提示词有中文版。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"uuid":"^14.0.0","openai":"^6.48.0","@types/uuid":"^11.0.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.112.1","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsup":"^8.4.0","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.64.0"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-amem_1.4.0_1785064901141_0.5298133064236812","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"openclaw-amem","version":"1.4.1","keywords":["openclaw","openclaw-plugin","amem","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"license":"MIT","_id":"openclaw-amem@1.4.1","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"homepage":"https://amem.owo.lc","bugs":{"url":"https://github.com/amemhq/amem/issues"},"dist":{"shasum":"9038478926978fa9cc2938aa40c6aad8fcbccd8d","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-1.4.1.tgz","fileCount":5,"integrity":"sha512-Lb4AqG2EfC1uUXVX3xM5oibuzB8qwUgGoCPQBI85VwGuyGAlv+MwvhZmUgoVi2Js2522UfRpIC2+0F8KuF3JVg==","signatures":[{"sig":"MEUCIFgKVrGUj323TtTkoPQ3qPxkMXg6SBzNBwZzNl+h0vPCAiEApJpVFKGO+rLuOwGFCgQ5eEa08Gfb5KVY8z9r4RTDdYM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw-amem@1.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":142032},"main":"dist/index.js","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","test:unit":"vitest run test/unit","typecheck":"tsc --noEmit","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5c163e51-fcb4-4469-8caa-471c776d9dc9"}},"openclaw":{"build":{"openclawVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/amemhq/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"Catches memories that contradict each other. Notes rewrite themselves as new ones arrive, link into a graph, and stay separated per agent and per person. Runs on a small model. Requires a local Qdrant. 中文走 jieba 分词，提示词有中文版。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"uuid":"^14.0.0","openai":"^6.48.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.112.1","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsup":"^8.4.0","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","@types/uuid":"^11.0.0","typescript-eslint":"^8.64.0"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-amem_1.4.1_1785072260827_0.345796548652066","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"openclaw-amem","version":"1.4.2","keywords":["openclaw","openclaw-plugin","amem","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"license":"MIT","_id":"openclaw-amem@1.4.2","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"homepage":"https://amem.owo.lc","bugs":{"url":"https://github.com/amemhq/amem/issues"},"dist":{"shasum":"122a66eab75ee921484e2a520d72c9244973b7ba","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-1.4.2.tgz","fileCount":5,"integrity":"sha512-lsfDoY87ez4lvGvmaaD9XFchlS/2pzCDAv/lqWSlSvtsnXQ2ItqtgdunrqO1YJ1yfW8vF68gKmIjc8QhdtHueA==","signatures":[{"sig":"MEYCIQDWWmD3RIyKU0gEEhPuEZFesV7PzWfSCwe9q/tY0tiXoQIhAKtOBpa1Zm8OX/vV1NMyEKR2+b0tnGrHKlTZ9KQIiztm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw-amem@1.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":142962},"main":"dist/index.js","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","test:unit":"vitest run test/unit","typecheck":"tsc --noEmit","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5c163e51-fcb4-4469-8caa-471c776d9dc9"}},"openclaw":{"build":{"openclawVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/amemhq/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"Catches memories that contradict each other. Notes rewrite themselves as new ones arrive, link into a graph, and stay separated per agent and per person. Runs on a small model. Requires a local Qdrant. 中文走 jieba 分词，提示词有中文版。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"uuid":"^14.0.0","openai":"^6.48.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.112.5","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsup":"^8.4.0","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","@types/uuid":"^11.0.0","typescript-eslint":"^8.64.0"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-amem_1.4.2_1785123339609_0.7708609359660159","host":"s3://npm-registry-packages-npm-production"}},"1.4.3":{"name":"openclaw-amem","version":"1.4.3","keywords":["openclaw","openclaw-plugin","amem","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"license":"MIT","_id":"openclaw-amem@1.4.3","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"homepage":"https://amem.owo.lc","bugs":{"url":"https://github.com/amemhq/amem/issues"},"dist":{"shasum":"80d4de139258aa4ff8486f38691295f63213de50","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-1.4.3.tgz","fileCount":5,"integrity":"sha512-CsuhWqctUX/+ckDmEAGdA2NILFKsP0ae68F9UyYK6Yd2a4GJOOv2JiwUXLi+K9zAykA7go2nAU+E6s0ji0k8Zg==","signatures":[{"sig":"MEYCIQDjdv3EkaQIt5ch2NTMM9tnohn94tjfyigz3/xtGQ7DdAIhAPnZFg0n6iqrxMfJ1hrIjZect6mlJ4szjIYzm6iTsVH2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw-amem@1.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":145663},"main":"dist/index.js","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","test:unit":"vitest run test/unit","typecheck":"tsc --noEmit","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5c163e51-fcb4-4469-8caa-471c776d9dc9"}},"openclaw":{"build":{"openclawVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/amemhq/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"Catches memories that contradict each other. Notes rewrite themselves as new ones arrive, link into a graph, and stay separated per agent and per person. Runs on a small model. Requires a local Qdrant. 中文走 jieba 分词，提示词有中文版。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"uuid":"^14.0.0","openai":"^6.48.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.112.5","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsup":"^8.4.0","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","@types/uuid":"^11.0.0","typescript-eslint":"^8.64.0"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-amem_1.4.3_1785297618288_0.681116543985474","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"openclaw-amem","version":"2.0.0","keywords":["openclaw","openclaw-plugin","amem","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"license":"MIT","_id":"openclaw-amem@2.0.0","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"homepage":"https://amem.owo.lc","bugs":{"url":"https://github.com/amemhq/amem/issues"},"dist":{"shasum":"f87a02760e258cef92c4bf7284a8d7d03fb73cd8","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-2.0.0.tgz","fileCount":5,"integrity":"sha512-vkHg1DbVYHmqvAbVwpQVUsaqtNj7G33Pqt2VulIjaDoghuzVeHwsIvrZjap31oW7coeEq12Jlog5PLSKTlnwoA==","signatures":[{"sig":"MEYCIQCvzR2E2JCx4qMOSSJwn4E4XYj+4KIi45ZuOvRgmUOJuwIhAPomg4PsHeTyJAR8xD4zd4AXaNaEJFAuItQ+45csRe5B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw-amem@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":153297},"main":"dist/index.js","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","test:unit":"vitest run test/unit","typecheck":"tsc --noEmit","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5c163e51-fcb4-4469-8caa-471c776d9dc9"}},"openclaw":{"build":{"openclawVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/amemhq/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"Catches memories that contradict each other. Notes rewrite themselves as new ones arrive, link into a graph, and stay separated per agent and per person. Runs on a small model. Requires a local Qdrant. 中文走 jieba 分词，提示词有中文版。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"uuid":"^14.0.0","openai":"^6.48.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.112.5","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsup":"^8.4.0","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","@types/uuid":"^11.0.0","typescript-eslint":"^8.64.0"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-amem_2.0.0_1785491632686_0.07487640617045299","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"openclaw-amem","version":"2.0.1","keywords":["openclaw","openclaw-plugin","amem","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"license":"MIT","_id":"openclaw-amem@2.0.1","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"homepage":"https://amem.owo.lc","bugs":{"url":"https://github.com/amemhq/amem/issues"},"dist":{"shasum":"0670ffb7ab49432098d56035953dca61df51d125","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-2.0.1.tgz","fileCount":5,"integrity":"sha512-Rcrzm44PgghpHLR9C8aaWN4KIFHaqFcRZFoEm8TDtSGefV+3WqXn3e4WA2WJhDus7Xjqv+sbhPt2tLfS+X1j9Q==","signatures":[{"sig":"MEUCIHvCDO6/yzCi++JrnMWosFyLPbbZoIu218p58dD8NKhBAiEAwaL0Z9o5YBof2uXACYvi68MK+6sfLW8WOAfjCs/2Qus=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw-amem@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":153161},"main":"dist/index.js","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","test:unit":"vitest run test/unit","typecheck":"tsc --noEmit","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5c163e51-fcb4-4469-8caa-471c776d9dc9"}},"openclaw":{"build":{"openclawVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/amemhq/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"Catches memories that contradict each other. Notes rewrite themselves as new ones arrive, link into a graph, and stay separated per agent and per person. Runs on a small model. Requires a local Qdrant. 中文走 jieba 分词，提示词有中文版。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"uuid":"^14.0.0","openai":"^6.48.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.112.5","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsup":"^8.4.0","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","@types/uuid":"^11.0.0","typescript-eslint":"^8.64.0"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-amem_2.0.1_1785515688206_0.1945456428350436","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"openclaw-amem","version":"2.1.0","keywords":["openclaw","openclaw-plugin","amem","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"license":"MIT","_id":"openclaw-amem@2.1.0","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"homepage":"https://amem.owo.lc","bugs":{"url":"https://github.com/amemhq/amem/issues"},"dist":{"shasum":"2b214830e783d94082acf852e1fa9e2dedc3ded7","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-2.1.0.tgz","fileCount":5,"integrity":"sha512-cq4YCYrn6WMvifbNiMDrGhFhpwjsJEg20ot2hMnUbBu1biJUqZ0c0o8H+yBLzpAzfbBNR49yoiLAEvsjGrXeNA==","signatures":[{"sig":"MEUCIQDLbdU6vz5/M5WDd7g6mJvr2/uafAV9xDgCGQoYuzJwNgIgDxgLBD3uyvwoIYTtACRnQWgYV5BFYnSxDqPg9uuK2hc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw-amem@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":154318},"main":"dist/index.js","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","test:unit":"vitest run test/unit","typecheck":"tsc --noEmit","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5c163e51-fcb4-4469-8caa-471c776d9dc9"}},"openclaw":{"build":{"openclawVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/amemhq/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"Catches memories that contradict each other. Notes rewrite themselves as new ones arrive, link into a graph, and stay separated per agent and per person. Runs on a small model. Requires a local Qdrant. 中文走 jieba 分词，提示词有中文版。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"uuid":"^14.0.0","openai":"^6.48.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.112.5","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsup":"^8.4.0","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","@types/uuid":"^11.0.0","typescript-eslint":"^8.64.0"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-amem_2.1.0_1785572083756_0.835912045634668","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"openclaw-amem","version":"2.1.1","keywords":["openclaw","openclaw-plugin","amem","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"license":"MIT","_id":"openclaw-amem@2.1.1","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"homepage":"https://amem.owo.lc","bugs":{"url":"https://github.com/amemhq/amem/issues"},"dist":{"shasum":"1dce48bc3dd8357abd12effe99b220e109fb6d87","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-2.1.1.tgz","fileCount":5,"integrity":"sha512-Kl3LQarrSboGWKwGaMSvwD+U4TUxiedHtxsO0nBiaaVIeQa5XXoojszyD2NfRj/K4wTy+XU0Zb4yFyz2Z8jABw==","signatures":[{"sig":"MEYCIQDK74v3zD0xeu/VBklKo98uhmUekq+5gblnVP/64CXpaAIhAPpO7dYpD0Aew+n7IsLMAdkNWP5ILiou7FJatbd1mcTt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw-amem@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":155021},"main":"dist/index.js","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","test:unit":"vitest run test/unit","typecheck":"tsc --noEmit","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5c163e51-fcb4-4469-8caa-471c776d9dc9"}},"openclaw":{"build":{"openclawVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/amemhq/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"Catches memories that contradict each other. Notes rewrite themselves as new ones arrive, link into a graph, and stay separated per agent and per person. Runs on a small model. Requires a local Qdrant. 中文走 jieba 分词，提示词有中文版。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"uuid":"^14.0.0","openai":"^6.48.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.112.5","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsup":"^8.4.0","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.64.0"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-amem_2.1.1_1785580868638_0.7874992017712967","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"openclaw-amem","version":"2.1.2","keywords":["openclaw","openclaw-plugin","amem","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"license":"MIT","_id":"openclaw-amem@2.1.2","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"homepage":"https://amem.owo.lc","bugs":{"url":"https://github.com/amemhq/amem/issues"},"dist":{"shasum":"211e1c4d9632b4670e6ffc9e34922e2935fd2e76","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-2.1.2.tgz","fileCount":5,"integrity":"sha512-/YHjhn2TipvVT+OY6PNvS5X2ldzqdxitNeNLgCFq25gXdYZTLE5Tj584H5l94D5dBSTUAt3JuyLrxi4bwHh/nQ==","signatures":[{"sig":"MEYCIQCdUY0P0vsNzw/XEMNNa8Qzal8DEYvDKdSKm9e4mkQ1XQIhAIyzv15qLEs/6YDThFL4bx4xRAG6dC0EakGbtZ4ZXuj5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDnpqkop75AnT4uiTCX3Ib389Bi4V0lUrm3Yw/oxCTZMgIhAMz0FwKIY7iuFFr3j34+6f+reDtudsAppb6VFKi6EuF7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw-amem@2.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":156770},"main":"dist/index.js","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","test:unit":"vitest run test/unit","typecheck":"tsc --noEmit","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5c163e51-fcb4-4469-8caa-471c776d9dc9"}},"openclaw":{"build":{"openclawVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/amemhq/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"Catches memories that contradict each other. Notes rewrite themselves as new ones arrive, link into a graph, and stay separated per agent and per person. Runs on a small model. Requires a local Qdrant. 中文走 jieba 分词，提示词有中文版。","directories":{},"_nodeVersion":"24.19.0","dependencies":{"uuid":"^14.0.0","openai":"^6.48.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.122.0","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsup":"^8.4.0","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.64.0"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-amem_2.1.2_1788500275999_0.8575142088061061","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"openclaw-amem","version":"2.1.3","keywords":["openclaw","openclaw-plugin","amem","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"license":"MIT","_id":"openclaw-amem@2.1.3","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"homepage":"https://amem.owo.lc","bugs":{"url":"https://github.com/amemhq/amem/issues"},"dist":{"shasum":"f813f744f1ac29cce4820c83880e3badb120b7b0","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-2.1.3.tgz","fileCount":5,"integrity":"sha512-xQkXW3VI9BdBDG3UfJSOMkhJ+16IzVA6aEynwG66JSTBJk8+4N5fT73kQyQJm+hU5Ps5NW/lXp3E9Uuw6/Nebg==","signatures":[{"sig":"MEUCIAtdEUIENURG+6wOFlEZNqqrMYYkw4em9M6LunndrzhvAiEA+oC6DWmGiATNEb6rOesyQhYckgvsaiNb9Qp2fAW+DoU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIF0BNorDLh/N9Ij6qKz+XjDRzeH6P2Hd2vPLkcBJDrM0AiAHUegJgMEWJRJppmBFHKJRQuqXTcWo+e9z37Gb3zaMJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw-amem@2.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":170696},"main":"dist/index.js","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","test:unit":"vitest run test/unit","typecheck":"tsc --noEmit","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5c163e51-fcb4-4469-8caa-471c776d9dc9"}},"openclaw":{"build":{"openclawVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/amemhq/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"Catches memories that contradict each other. Notes rewrite themselves as new ones arrive, link into a graph, and stay separated per agent and per person. Runs on a small model. Requires a local Qdrant. 中文走 jieba 分词，提示词有中文版。","directories":{},"_nodeVersion":"24.21.0","dependencies":{"uuid":"^14.0.0","openai":"^6.48.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.126.0","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsup":"^8.4.0","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.64.0"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-amem_2.1.3_1790333212781_0.08984414754919245","host":"s3://npm-registry-packages-npm-production"}},"2.1.4":{"_id":"openclaw-amem@2.1.4","bugs":{"url":"https://github.com/amemhq/amem/issues"},"dist":{"shasum":"07eb6004f853d05133a3ec5ba0429062170acada","tarball":"https://registry.npmjs.org/openclaw-amem/-/openclaw-amem-2.1.4.tgz","fileCount":5,"integrity":"sha512-tgIhAGZj1MbB1IuLoLGIYhnjGkyc7mzKzaHrW2odFocqBsZ/UNsuiWjIye/sJnNRJJW5KZIupD+ehjKCeZQc5Q==","signatures":[{"sig":"MEUCIFdVJHUwtVJdZOnR3T/6tW/SF/uoeX7+q4nXswcXzjK5AiEAi9CNAeWVlk9mdCQj541sVEeJu0zLdVQ7evIXnAU6Il4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCyScohJrvwILmf405gAGTz1Qka1HWP9d7nesAWhc0nHgIgfa5Mdw+hRFEY9xTE+f/GKSFCpB8n9QPbprREwWEqdUk="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw-amem@2.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":170723},"main":"dist/index.js","name":"openclaw-amem","license":"MIT","scripts":{"dev":"tsup src/index.ts --format cjs --watch","lint":"eslint src","test":"vitest run","build":"tsup src/index.ts --format cjs --out-dir dist","check":"npm run format && npm run lint && npm run test","format":"prettier --check \"src/**/*.ts\"","test:unit":"vitest run test/unit","typecheck":"tsc --noEmit","format:fix":"prettier --write \"src/**/*.ts\"","test:watch":"vitest"},"version":"2.1.4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5c163e51-fcb4-4469-8caa-471c776d9dc9"}},"homepage":"https://amem.owo.lc","keywords":["openclaw","openclaw-plugin","amem","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"openclaw":{"build":{"openclawVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.3.24"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/amemhq/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"Catches memories that contradict each other. Notes rewrite themselves as new ones arrive, link into a graph, and stay separated per agent and per person. Runs on a small model. Requires a local Qdrant. 中文走 jieba 分词，提示词有中文版。","directories":{},"maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"_nodeVersion":"24.21.0","dependencies":{"uuid":"^14.0.0","openai":"^6.48.0","@node-rs/jieba":"^2.0.1","@anthropic-ai/sdk":"^0.127.0","@qdrant/js-client-rest":"^1.18.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsup":"^8.4.0","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.64.0"},"optionalDependencies":{"@node-rs/jieba-darwin-arm64":"^2.0.1","@node-rs/jieba-linux-x64-gnu":"^2.0.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/openclaw-amem_2.1.4_1790364134610_0.492308480151463"}}},"time":{"created":"2026-06-24T16:15:10.779Z","modified":"2026-09-25T19:22:15.016Z","0.5.0":"2026-06-14T11:38:52.941Z","0.5.1":"2026-06-14T12:31:58.726Z","0.5.2":"2026-06-23T08:53:58.487Z","0.5.3":"2026-06-23T10:28:20.924Z","0.5.4":"2026-06-23T12:22:10.590Z","1.0.0":"2026-06-24T16:15:11.042Z","1.1.0":"2026-07-09T08:31:45.534Z","1.1.1":"2026-07-09T09:55:46.114Z","1.1.2":"2026-07-09T10:41:19.085Z","1.1.3":"2026-07-09T11:26:48.347Z","1.1.4":"2026-07-13T05:02:10.577Z","1.1.5":"2026-07-14T09:51:15.063Z","1.2.0":"2026-07-20T10:28:49.228Z","1.2.1":"2026-07-20T11:31:15.466Z","1.2.2":"2026-07-21T02:56:04.727Z","1.3.0":"2026-07-25T11:08:06.488Z","1.4.0":"2026-07-26T11:21:41.261Z","1.4.1":"2026-07-26T13:24:20.974Z","1.4.2":"2026-07-27T03:35:39.837Z","1.4.3":"2026-07-29T04:00:18.451Z","2.0.0":"2026-07-31T09:53:52.836Z","2.0.1":"2026-07-31T16:34:48.366Z","2.1.0":"2026-08-01T08:14:43.924Z","2.1.1":"2026-08-01T10:41:08.776Z","2.1.2":"2026-09-04T05:37:56.085Z","2.1.3":"2026-09-25T10:46:52.866Z","2.1.4":"2026-09-25T19:22:14.712Z"},"bugs":{"url":"https://github.com/amemhq/amem/issues"},"license":"MIT","homepage":"https://amem.owo.lc","keywords":["openclaw","openclaw-plugin","amem","a-mem","agent-memory","agentic-memory","memory-plugin","qdrant","vector-memory","llm-memory","transformers"],"repository":{"url":"git+https://github.com/amemhq/amem.git","type":"git","directory":"packages/openclaw-amem"},"description":"Catches memories that contradict each other. Notes rewrite themselves as new ones arrive, link into a graph, and stay separated per agent and per person. Runs on a small model. Requires a local Qdrant. 中文走 jieba 分词，提示词有中文版。","maintainers":[{"name":"heichaowo","email":"npmjs@bgm.cat"}],"readme":"# openclaw-amem\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/amemhq/amem/main/docs/public/logo.webp\" width=\"120\" alt=\"amem logo\" />\n</p>\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge)](../../LICENSE)\n[![npm](https://img.shields.io/npm/v/openclaw-amem?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/openclaw-amem)\n[![arXiv](https://img.shields.io/badge/arXiv-2502.12110-b31b1b?style=for-the-badge)](https://arxiv.org/abs/2502.12110)\n\n**Memory for [OpenClaw](https://github.com/openclaw/openclaw) agents that catches its own contradictions.**\n\nA nightly pass re-reads what changed and flags memories that no longer agree with each other. This is the failure mode every long-lived memory store eventually has. The plugin also extracts facts instead of storing transcripts. It rewrites notes as new ones arrive, links them into a Zettelkasten-style graph, and retrieves them with hybrid BM25 + dense search over 2-hop expansion. The plugin scopes memories per agent (`owner`/`readers`/`writers`) and per subject, and enforces both inside the Qdrant query rather than filtering after it.\n\nThe plugin runs on a small model — `gpt-4o-mini`, `haiku`, a local Ollama. It does not require Python.\n\n中文走 [jieba](https://github.com/messense/node-jieba) 分词，提示词有完整中文版（`AMEM_PROMPT_LOCALE=zh`），embedding 模型本身多语言。\n\nRequires a local [Qdrant](https://qdrant.tech). Implements [A-MEM](https://arxiv.org/abs/2502.12110) (arXiv 2502.12110); the engine itself is [`@amemhq/core`](../amem-core).\n\n> 📖 Full guides, architecture & references: **[amem.owo.lc](https://amem.owo.lc)**.\n\n⭐ Useful? [Star it on GitHub](https://github.com/amemhq/amem).\n\n## Highlights\n\n- 🔄 **Memories evolve** — new facts update/link related memories (EVOLVE / CONFLICT / EXPAND / NEW), not silent overwrite.\n- 🔍 **Hybrid retrieval** — BM25 (Jieba for Chinese) + dense vectors (RRF) + 2-hop graph expansion with a relevance gate.\n- 🧠 **Knowledge vs episodic** — durable knowledge notes skip consolidation & time-decay. Topic tags for precise recall.\n- 🧹 **Self-consolidating** — daily 02:30 in-process merge of semantic duplicates with link cascading.\n- 🔐 **Per-agent isolation** — private by default. Explicit `owner`/`readers`/`writers`. Mode A (shared collection) or Mode B (dedicated collection).\n- 🀄 **Chinese-optimized** & local embeddings (Transformers.js) — no Python, no external embedding API.\n\n→ Full feature list & internals: **[@amemhq/core README](../amem-core)** · **[docs](https://amem.owo.lc)**.\n\n## Requirements\n\n- OpenClaw v2026.4+\n- Node.js 24 (18+ works, 24/26 supported)\n- Qdrant running on `:6333`\n- An LLM: `ANTHROPIC_API_KEY` by default, or any OpenAI-compatible provider — see [LLM provider](#llm-provider)\n- ~1.1 GB of disk for the embedding model, downloaded once on first run\n\n## Installation\n\n### 1. Install the plugin\n\n```bash\n# From ClawHub (recommended)\nopenclaw plugins install clawhub:openclaw-amem\n\n# From npm\nopenclaw plugins install openclaw-amem\n\n# From a local checkout of the amem monorepo\npnpm --filter openclaw-amem build\nopenclaw plugins install --link ./packages/openclaw-amem\n```\n\nUpdating:\n\n```bash\nopenclaw plugins update openclaw-amem\n```\n\nThe gateway does not load the new build until it restarts. Run `openclaw gateway restart` after the update.\n\nAn update rebuilds `node_modules`. The model cache lives there by default, so the plugin re-downloads 2.27 GB unless `AMEM_MODEL_CACHE` points somewhere outside the plugin directory. Set that once and updates cost nothing.\n\n### 2. Configure `~/.openclaw/openclaw.json`\n\nAdd `openclaw-amem` to your allowed plugins and hook it into the `memory` slot:\n\n```json\n{\n  \"plugins\": {\n    \"allow\": [\"openclaw-amem\"],\n    \"entries\": {\n      \"openclaw-amem\": {\n        \"enabled\": true,\n        \"config\": {\n          \"agentId\": \"main\",\n          \"topK\": 5\n        }\n      }\n    },\n    \"slots\": {\n      \"memory\": \"openclaw-amem\"\n    }\n  }\n}\n```\n\n> **⚠️ Memory slot conflict:** If your `openclaw.json` already assigns the `memory` slot to another plugin (for example, `memory-core`), you **must** change it to `openclaw-amem`. On OpenClaw 2026.8.1 the slot alone is not enough. The other plugin still loads and takes the `memory_search` tool name, because the gateway loads built-in plugins before installed ones. Memory keeps working through the slot, but the tool an agent calls is then the other plugin's. Set `\"memory-core\": { \"enabled\": false }` in `entries` as well. Note that `memory-core` also writes its dream diary, and disabling it stops that too.\n\n### 3. Restart OpenClaw\n\n```bash\nopenclaw gateway restart\n```\n\nFirst run downloads the embedding model (`bge-m3`, 2.27 GB) and caches it. Later\nrestarts are instant. If that is too much, the only smaller model worth setting is\n`AMEM_EMBED_MODEL=Xenova/bge-small-zh-v1.5` — 25 MB, Chinese only, and it caps at\n512 tokens. Set it **before** you have memories, because changing it afterwards means\na [migration](https://amem.owo.lc/reference/embedding-models#changing-the-model-on-a-store-you-already-have).\n\nUpgrading from 1.x downloads nothing. Your existing memories keep the model that\nbuilt them, and the plugin shows this at startup along with the one command that\nmoves them.\n\n## LLM provider\n\nThe plugin calls an LLM for note construction, linking, and evolution. Pick the backend with `AMEM_LLM_PROVIDER`:\n\n- **`anthropic`** (default) — the Anthropic Messages API. Set `ANTHROPIC_API_KEY`.\n- **`openai`** — the OpenAI Chat Completions API, which every OpenAI-compatible endpoint speaks. Set `AMEM_LLM_PROVIDER=openai`, point `AMEM_LLM_BASE_URL` at the endpoint, and set `AMEM_LLM_API_KEY` (or the standard `OPENAI_API_KEY`). Covers **OpenAI, DeepSeek, OpenRouter, Groq, Together**, and local servers (**Ollama, vLLM, LM Studio** — no key needed). The plugin handles reasoning models (`o1`, `o3`, `gpt-5`) automatically.\n\nChoose the model with `AMEM_LLM_MODEL`. Full env-var reference and examples: **[amem.owo.lc/reference/configuration](https://amem.owo.lc/reference/configuration)**.\n\n## Configuration Reference\n\n| Key                             | Type                                      | Default  | Description                                                                                                                          |\n| ------------------------------- | ----------------------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------- |\n| `agentId`                       | `string`                                  | `\"main\"` | Agent namespace for memory isolation                                                                                               |\n| `topK`                          | `number`                                  | `5`      | Maximum memories to retrieve during search                                                                                         |\n| `agents`                        | `Record<string, {agentId?, collection?}>` | `{}`     | Per-agent overrides. Set `collection` for Mode B physical isolation.                                                               |\n| `hooks.allowConversationAccess` | `boolean`                                 | `false`  | **Required** for automatic memory write-back. Without it, the `agent_end` hook is silently blocked by OpenClaw's security policy. |\n\n## Tools\n\nOnce installed, the plugin exposes five tools to the agent:\n\n| Tool | What it does |\n| --- | --- |\n| `memory_add` | Write a memory — hash dedup, LLM note construction, bidirectional linking, evolution. |\n| `memory_search` | Search via RRF (BM25 + cosine) with heat ranking + 2-hop BFS graph expansion. Accepts `topicsFilter`. |\n| `memory_list` | Total active note count for the current agent namespace. |\n| `memory_consolidate` | Manually trigger category-based semantic dedup + link cascading. |\n| `memory_quality_scan` | Scan for low-quality/expired/conflicting notes → Obsidian-compatible review batch file. |\n\n## Security & data flow\n\nA memory plugin's job is to read configuration from the environment and send memory data to backends **you** control, so registry static scanners flag its `env` + `network` pattern (for example, ClawHub's `suspicious.env_credential_access`). This is structurally expected for any configurable memory/LLM plugin. The audit outcome is **advisory (`Review`), not `Malicious`**, and VirusTotal reports the bundle clean.\n\nWhat it actually does — all of it declared in [`openclaw.plugin.json`](openclaw.plugin.json):\n\n- **Environment variables it reads** (its configuration surface, supplied by you): `AMEM_LLM_PROVIDER`, `AMEM_LLM_API_KEY`, `OPENAI_API_KEY`, `AMEM_LLM_BASE_URL`, `AMEM_LLM_MODEL`, `AMEM_COLLECTION`, `AMEM_DATA_DIR`, `AMEM_EVO_COUNTER_PATH`, `AMEM_REVIEW_DIR`, `AMEM_PROMPT_LOCALE`. No credential is bundled, hardcoded, or logged.\n- **Network destinations**: only your **local Qdrant** (`http://localhost:6333`) and your configured **LLM endpoint** (Anthropic by default, or any OpenAI-compatible endpoint via `AMEM_LLM_PROVIDER=openai` + `AMEM_LLM_BASE_URL`). It sends memory text/embeddings there to store and evolve notes — its stated purpose. It does not phone home.\n- The plugin processes **conversation content** for memory only when you set `hooks.allowConversationAccess: true`. Keep Qdrant and review-output paths scoped to locations you control.\n\n## Development\n\nThis package is part of the **[amem monorepo](../../)**. From the repo root:\n\n```bash\npnpm install\npnpm -r build                       # build all packages\npnpm --filter openclaw-amem build   # build just the plugin\npnpm --filter openclaw-amem test    # vitest (needs Qdrant on :6333)\n```\n\n## Docs & References\n\nFull guides, architecture, and academic references: **[amem.owo.lc](https://amem.owo.lc)** · engine: **[@amemhq/core](../amem-core)** · paper: [A-MEM (arXiv:2502.12110)](https://arxiv.org/abs/2502.12110).\n\n## License\n\nMIT\n","readmeFilename":""}