{"_id":"@airouter.ch/ltm-claw","_rev":"3-01209df163ee98b37bf2540bfb754fb8","name":"@airouter.ch/ltm-claw","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@airouter.ch/ltm-claw","version":"1.0.0","keywords":["openclaw","openclaw-plugin","session-search","context-management","retrieval","llm"],"author":{"name":"Neo","email":"neo@airouter.ch"},"license":"MIT","_id":"@airouter.ch/ltm-claw@1.0.0","maintainers":[{"name":"neo23","email":"neo@airouter.ch"}],"homepage":"https://github.com/neo-airotuer/ltm-claw#readme","bugs":{"url":"https://github.com/neo-airotuer/ltm-claw/issues"},"dist":{"shasum":"07dab9841a606022764dcb49ae0ce251ad09d82b","tarball":"https://registry.npmjs.org/@airouter.ch/ltm-claw/-/ltm-claw-1.0.0.tgz","fileCount":10,"integrity":"sha512-due/JdexFrTPoiNWmFr2FxgClwGB7Zr2dpPawYMiK4o7eONI+D8i6NY6IA4v7n4tehDsVcKoYR0YjiD+Mq89Ew==","signatures":[{"sig":"MEUCIQC66HqaeALMEM2qRtW33UIVOI45nljkCnLGR3c7qlh0dwIgGFTVDs4OLmy5ZkhqIh3tHSBqpVVz0u9GPUMFBexz+sQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1493772},"main":"index.ts","type":"module","gitHead":"069ab3649bad91323661a91458d90cfdaa0f735c","scripts":{"typecheck":"tsc --noEmit"},"_npmUser":{"name":"neo23","email":"neo@airouter.ch"},"openclaw":{"extensions":["./index.ts"]},"repository":{"url":"git+https://github.com/neo-airotuer/ltm-claw.git","type":"git"},"_npmVersion":"11.8.0","description":"Long-term memory (LTM) access for OpenClaw without bloating session context (using subagents). v1: session grep search. v2+: typed memories, hybrid search, knowledge graph.","directories":{},"_nodeVersion":"25.6.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3"},"peerDependencies":{"openclaw":"*"},"_npmOperationalInternal":{"tmp":"tmp/ltm-claw_1.0.0_1774390969388_0.6320876146145564","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@airouter.ch/ltm-claw","version":"1.0.1","keywords":["openclaw","openclaw-plugin","session-search","context-management","retrieval","llm"],"author":{"name":"Neo","email":"neo@airouter.ch"},"license":"MIT","_id":"@airouter.ch/ltm-claw@1.0.1","maintainers":[{"name":"neo23","email":"neo@airouter.ch"}],"homepage":"https://github.com/neo-airouter/ltm-claw#readme","bugs":{"url":"https://github.com/neo-airouter/ltm-claw/issues"},"dist":{"shasum":"605dfa7b0de4fc7a523ab956cc94534ef6746835","tarball":"https://registry.npmjs.org/@airouter.ch/ltm-claw/-/ltm-claw-1.0.1.tgz","fileCount":10,"integrity":"sha512-nsOWbB51LieodBet04tffEhz3MqYndlyUW3zItjUO2ve/OjzjQN5MoFOzYXKtZh9doadutlcPRNj2NcdjQQvmQ==","signatures":[{"sig":"MEQCIHxSyWR1HMc3ifREjqLSbWLiTudBjcU/XpMNuGolZID8AiAjuLXYT6FJgTc1Tqg/7HO3QxNMI4QrRLZEJox3imRiNg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1494826},"main":"index.ts","type":"module","gitHead":"563d7b7081e02874142ed02399f175ddcbcff590","scripts":{"typecheck":"tsc --noEmit"},"_npmUser":{"name":"neo23","email":"neo@airouter.ch"},"openclaw":{"extensions":["./index.ts"]},"repository":{"url":"git+https://github.com/neo-airouter/ltm-claw.git","type":"git"},"_npmVersion":"11.8.0","description":"Long-term memory (LTM) access for OpenClaw without bloating session context (using subagents). v1: session grep search. v2+: typed memories, hybrid search, knowledge graph.","directories":{},"_nodeVersion":"25.6.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3"},"peerDependencies":{"openclaw":"*"},"_npmOperationalInternal":{"tmp":"tmp/ltm-claw_1.0.1_1774393163245_0.19212976936792425","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@airouter.ch/ltm-claw","version":"1.0.2","description":"Long-term memory (LTM) access for OpenClaw without bloating session context (using subagents). v1: session grep search. v2+: typed memories, hybrid search, knowledge graph.","type":"module","main":"index.ts","license":"MIT","author":{"name":"Neo","email":"neo@airouter.ch"},"keywords":["openclaw","openclaw-plugin","session-search","context-management","retrieval","llm"],"scripts":{"typecheck":"tsc --noEmit"},"peerDependencies":{"openclaw":"*"},"openclaw":{"extensions":["./index.ts"]},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/neo-airouter/ltm-claw.git"},"homepage":"https://github.com/neo-airouter/ltm-claw#readme","bugs":{"url":"https://github.com/neo-airouter/ltm-claw/issues"},"devDependencies":{"typescript":"^5.9.3"},"gitHead":"657668a69e24544d6f292eaefd4f070775ac425e","_id":"@airouter.ch/ltm-claw@1.0.2","_nodeVersion":"25.6.0","_npmVersion":"11.8.0","dist":{"integrity":"sha512-d5BiX1j6p+KMaXN6ZNAmZZulU+Z9vffXqlTwlCCGI81MfSsRV2+uejuZOn8vwO2wafOTmbQ/UAPdvZ4k3czH0A==","shasum":"51e456047e1d0a5b80aeb48f82ca9f5084b1d38c","tarball":"https://registry.npmjs.org/@airouter.ch/ltm-claw/-/ltm-claw-1.0.2.tgz","fileCount":10,"unpackedSize":1494940,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHol7t7FFNdXDvwIZbFThVmQwRU3dGj2ILbwMa5MrTIrAiBETS6dvNC86bnDAy1IxWuyHt1OxsPAOjWY/xd6JoAkLw=="}]},"_npmUser":{"name":"neo23","email":"neo@airouter.ch"},"directories":{},"maintainers":[{"name":"neo23","email":"neo@airouter.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ltm-claw_1.0.2_1774450652637_0.7614268633294297"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-24T22:22:49.328Z","modified":"2026-03-25T14:57:33.070Z","1.0.0":"2026-03-24T22:22:49.586Z","1.0.1":"2026-03-24T22:59:23.445Z","1.0.2":"2026-03-25T14:57:32.941Z"},"bugs":{"url":"https://github.com/neo-airouter/ltm-claw/issues"},"author":{"name":"Neo","email":"neo@airouter.ch"},"license":"MIT","homepage":"https://github.com/neo-airouter/ltm-claw#readme","keywords":["openclaw","openclaw-plugin","session-search","context-management","retrieval","llm"],"repository":{"type":"git","url":"git+https://github.com/neo-airouter/ltm-claw.git"},"description":"Long-term memory (LTM) access for OpenClaw without bloating session context (using subagents). v1: session grep search. v2+: typed memories, hybrid search, knowledge graph.","maintainers":[{"name":"neo23","email":"neo@airouter.ch"}],"readme":"<div align=\"center\">\n\n# ltm-claw\n\n<img src=\"sidecar.png\" alt=\"ltm-claw\" width=\"400\">\n\n<br/>\n\nLong-term memory (LTM) access for OpenClaw without bloating session context using subagents (sidecar).\n\n<br/>\n\n<a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/License-MIT-green?style=flat&labelColor=555\" alt=\"License MIT\"></a>\n<img src=\"https://img.shields.io/badge/v1-GA-yellow?style=flat&labelColor=555\" alt=\"v1 GA\">\n<img src=\"https://img.shields.io/badge/v2-In%20Progress-blue?style=flat&labelColor=555\" alt=\"v2 In Progress\">\n<img src=\"https://img.shields.io/badge/Zero%20Dependencies-v1Cyan?style=flat&labelColor=555\" alt=\"Zero Dependencies v1\">\n<img src=\"https://img.shields.io/badge/Local%20Only-purple?style=flat&labelColor=555\" alt=\"Local Only\">\n\n</div>\n\n---\n\n## Overview\n\nltm-claw gives your OpenClaw agent persistent, queryable memory across sessions. It is installed as an OpenClaw plugin and exposes tools for storing and retrieving memories.\n\n**v1 (current):** grep-based session history search via subagent — no external dependencies.\n\n**v2 (coming):** Typed memories + hybrid BM25/vector search using a local llama-server embedding endpoint.\n\n**v3:** Graph traversal + reflection.\n\n**v4:** Self-evolution + memory hygiene.\n\nSee [ROADMAP.md](ROADMAP.md) for full milestones.\n\n---\n\n## Installation\n\nv1 has no external dependencies (no SQLite, no embeddings). Just the subagent grep pipeline.\n\n**Host requirements:** `python3` and `jq` must be available in PATH.\n\n```bash\nopenclaw plugins install @airouter.ch/ltm-claw\n```\n\n## Configuration\n\nDefaults are set during installation in `~/.openclaw/openclaw.json`:\n\n```json\n{\n  \"plugins\": {\n    \"entries\": {\n      \"ltm-claw\": {\n        \"enabled\": true,\n        \"config\": {\n          \"retrievalTimeoutSeconds\": 60,\n          \"workspaceDir\": \"/tmp/ltm-claw\"\n        }\n      }\n    }\n  }\n}\n```\n\n---\n\n## Tools\n\n### `ltm_search`\nSearch session history via grep + subagent.\n\n---\n\n## Usage\n\n`ltm_search` is triggered automatically when you ask about past conversations, prior work, or anything that would require context from earlier sessions. Examples:\n\n**\"Hey, didn't we talk about Rickrolling someone last week?\"**\n\n```\n## a3f9c812 (2026-03-18)\n\nNever gonna give you up — the session discussed deploying a Never Gonna Give You Up\nautoresponder as a mitigation for a specific trigger phrase. The decision was to flag\nit as low-priority幽默 rather than implement it as a production rule.\n```\n\n**\"What did we decide on the Ultimate Answer again?\"**\n\n```\n## 7b2d1e45 (2026-03-21)\n\n42. The session confirmed 42 as the agreed-upon answer, contingent on the universe\nnot changing its numbering system. Further research into alternative numbering systems\nwas deemed out of scope but noted for v3 graph traversal.\n```\n\n---\n\n## Project docs\n\n| File | Purpose |\n|------|---------|\n| [README.md](README.md) | This file — overview, install, tools |\n| [ROADMAP.md](ROADMAP.md) | Version milestones |\n\n---\n\n## 💜 Sponsors\n\n[AI Router Switzerland](https://airouter.ch) — unlimited API access with flatrate pricing.\nMain sponsor of the infrastructure and research behind ltm-claw.\n\n---\n\n## 📄 License\n\nThis project is licensed under the [MIT License](LICENSE).\n","readmeFilename":"README.md"}