{"_id":"@eight-atulya/atulya-openclaw","_rev":"8-b3ba28636ef0690ca804e32cb0e0339c","name":"@eight-atulya/atulya-openclaw","dist-tags":{"latest":"0.8.7"},"versions":{"0.8.0":{"name":"@eight-atulya/atulya-openclaw","version":"0.8.0","keywords":["openclaw","memory","ai","agent","atulya","long-term-memory"],"author":{"name":"Anurag Atulya","email":"support@eightengine.com"},"license":"MIT","_id":"@eight-atulya/atulya-openclaw@0.8.0","maintainers":[{"name":"eight-atulya","email":"eight.atulya@gmail.com"}],"homepage":"https://github.com/eight-atulya/atulya#readme","bugs":{"url":"https://github.com/eight-atulya/atulya/issues"},"dist":{"shasum":"5303df27ef19a4e116a8e0068c5ae25a66e94b00","tarball":"https://registry.npmjs.org/@eight-atulya/atulya-openclaw/-/atulya-openclaw-0.8.0.tgz","fileCount":13,"integrity":"sha512-S9Uw7q8NRe+WXO9ug3cqUjVe2L6eCfc9tXZrpvRR5SMIXJQuMt8G0YyrH3yC9G5tiri09D1D9JF1Iies4HKKZQ==","signatures":[{"sig":"MEQCIGddDiL03tnnl4XBM2ve/r5Vpbtxb5qAANpAOwqSlj2+AiAIByjFprYEq+9vauCH7r6oPNSEZYK0Ke/0AYrU+Lp5kw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103406},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"7eccc0b04b1ddf31ea1b5cadb4d462fde14f1132","scripts":{"dev":"tsc --watch","test":"vitest run src","build":"tsc","clean":"rm -rf dist","test:watch":"vitest src","prepublishOnly":"npm run clean && npm run build","test:integration":"vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"eight-atulya","email":"eight.atulya@gmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"overrides":{"rollup":"^4.59.0"},"repository":{"url":"git+https://github.com/eight-atulya/atulya.git","type":"git","directory":"atulya-integrations/openclaw"},"_npmVersion":"10.9.4","description":"Atulya memory plugin for OpenClaw - biomimetic long-term memory with fact extraction","directories":{},"_nodeVersion":"22.22.1","dependencies":{"node-fetch":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/atulya-openclaw_0.8.0_1774709799576_0.3875383511948203","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@eight-atulya/atulya-openclaw","version":"0.8.1","keywords":["openclaw","memory","ai","agent","atulya","long-term-memory"],"author":{"name":"Anurag Atulya","email":"support@eightengine.com"},"license":"MIT","_id":"@eight-atulya/atulya-openclaw@0.8.1","maintainers":[{"name":"eight-atulya","email":"eight.atulya@gmail.com"}],"homepage":"https://github.com/eight-atulya/atulya#readme","bugs":{"url":"https://github.com/eight-atulya/atulya/issues"},"dist":{"shasum":"b72689b3c23ac85084490768c9f842416144b453","tarball":"https://registry.npmjs.org/@eight-atulya/atulya-openclaw/-/atulya-openclaw-0.8.1.tgz","fileCount":13,"integrity":"sha512-vsZXCzwZJEIZBIrwzMsq9e/G+zshKCMQELhHJYQ+IJfX5c8ESmIvMyijnJTRNta/KbujPnmJUNsFp53EZ7s7ww==","signatures":[{"sig":"MEYCIQDXS/uxR7Oo/EhkBPMzzNX2BRT8L1TEbl00GLJlDTp9kAIhANOIrKLZijY7hlGCRZgz88f6TECftyIdkTmE1pVC9g6U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103406},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"f7196382b237fddb75464f7efe992228037c93b9","scripts":{"dev":"tsc --watch","test":"vitest run src","build":"tsc","clean":"rm -rf dist","test:watch":"vitest src","prepublishOnly":"npm run clean && npm run build","test:integration":"vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"eight-atulya","email":"eight.atulya@gmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"overrides":{"rollup":"^4.59.0"},"repository":{"url":"git+https://github.com/eight-atulya/atulya.git","type":"git","directory":"atulya-integrations/openclaw"},"_npmVersion":"10.9.7","description":"Atulya memory plugin for OpenClaw - biomimetic long-term memory with fact extraction","directories":{},"_nodeVersion":"22.22.2","dependencies":{"node-fetch":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/atulya-openclaw_0.8.1_1776142846351_0.5510982762834247","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@eight-atulya/atulya-openclaw","version":"0.8.2","keywords":["openclaw","memory","ai","agent","atulya","long-term-memory"],"author":{"name":"Anurag Atulya","email":"support@eightengine.com"},"license":"MIT","_id":"@eight-atulya/atulya-openclaw@0.8.2","maintainers":[{"name":"eight-atulya","email":"eight.atulya@gmail.com"}],"homepage":"https://github.com/eight-atulya/atulya#readme","bugs":{"url":"https://github.com/eight-atulya/atulya/issues"},"dist":{"shasum":"32d15ed0d2820fdcb862d1263aa417b635cbe787","tarball":"https://registry.npmjs.org/@eight-atulya/atulya-openclaw/-/atulya-openclaw-0.8.2.tgz","fileCount":13,"integrity":"sha512-olcrltZkjPCJ8X4tzrBChMwEUXa/vKr/VKyPc+qj037dNkl/JMsXtwwN397wIXut78OyCOxxTaWEAa+vSjHTIg==","signatures":[{"sig":"MEUCIClGIRPMLgJpQV84FJCRZjf6Zq0VdBNTjslPYrbF+mjrAiEA4BVE1rjb+WaGI3jVjLbpuiH7BksyjxQZVvSXsplt2KA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103406},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"cebb5e9bbdc9cc312c555b104b90d23b671794da","scripts":{"dev":"tsc --watch","test":"vitest run src","build":"tsc","clean":"rm -rf dist","test:watch":"vitest src","prepublishOnly":"npm run clean && npm run build","test:integration":"vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"eight-atulya","email":"eight.atulya@gmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"overrides":{"rollup":"^4.59.0"},"repository":{"url":"git+https://github.com/eight-atulya/atulya.git","type":"git","directory":"atulya-integrations/openclaw"},"_npmVersion":"10.9.7","description":"Atulya memory plugin for OpenClaw - biomimetic long-term memory with fact extraction","directories":{},"_nodeVersion":"22.22.2","dependencies":{"node-fetch":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/atulya-openclaw_0.8.2_1776159003045_0.9341149400082842","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@eight-atulya/atulya-openclaw","version":"0.8.3","keywords":["openclaw","memory","ai","agent","atulya","long-term-memory"],"author":{"name":"Anurag Atulya","email":"support@eightengine.com"},"license":"MIT","_id":"@eight-atulya/atulya-openclaw@0.8.3","maintainers":[{"name":"eight-atulya","email":"eight.atulya@gmail.com"}],"homepage":"https://github.com/eight-atulya/atulya#readme","bugs":{"url":"https://github.com/eight-atulya/atulya/issues"},"dist":{"shasum":"b38c902987f9a07ee68656898a3c18f61e9c836d","tarball":"https://registry.npmjs.org/@eight-atulya/atulya-openclaw/-/atulya-openclaw-0.8.3.tgz","fileCount":13,"integrity":"sha512-TSbFBF4bdL4yhU0Dx/3nQijPPU4XAYlDfozW6eMQ9ISeHdsMh4D4fX/OS2AXKbrJVLVhk/91Sgxm7Ts28zey5A==","signatures":[{"sig":"MEUCIB1lnC7qobiS3HPaADgwNVkEkDBIq00TnlYricWrBsjgAiEAwFWQl0dWk8PY2J0MUcO2W8PJeBx5avdA+nvsuGwNrHU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103406},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"cc6c39561d57c605d149d6473d40eb65910c3b04","scripts":{"dev":"tsc --watch","test":"vitest run src","build":"tsc","clean":"rm -rf dist","test:watch":"vitest src","prepublishOnly":"npm run clean && npm run build","test:integration":"vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"eight-atulya","email":"eight.atulya@gmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"overrides":{"rollup":"^4.59.0"},"repository":{"url":"git+https://github.com/eight-atulya/atulya.git","type":"git","directory":"atulya-integrations/openclaw"},"_npmVersion":"10.9.7","description":"Atulya memory plugin for OpenClaw - biomimetic long-term memory with fact extraction","directories":{},"_nodeVersion":"22.22.2","dependencies":{"node-fetch":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/atulya-openclaw_0.8.3_1776164149012_0.9457487887604508","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"@eight-atulya/atulya-openclaw","version":"0.8.4","keywords":["openclaw","memory","ai","agent","atulya","long-term-memory"],"author":{"name":"Anurag Atulya","email":"support@eightengine.com"},"license":"MIT","_id":"@eight-atulya/atulya-openclaw@0.8.4","maintainers":[{"name":"eight-atulya","email":"eight.atulya@gmail.com"}],"homepage":"https://github.com/eight-atulya/atulya#readme","bugs":{"url":"https://github.com/eight-atulya/atulya/issues"},"dist":{"shasum":"8877ef0994996582b3f4dff3003f7488fd3eaa21","tarball":"https://registry.npmjs.org/@eight-atulya/atulya-openclaw/-/atulya-openclaw-0.8.4.tgz","fileCount":13,"integrity":"sha512-uxT8sKvc/ErgMfoqKQ0K5bVbdnoTjlf/7I62pgd1pCLz7gf3Qaj8sW8AIfxEkPXMHi9F0E2WM1VM1NFBu/7ZZw==","signatures":[{"sig":"MEUCIQD6QEOnjock0Pk1xBq0RyJWet3sTKTOAmHyAZqmXliHOwIgUm/THAukkRiS4e7h+hYJxWV3MYDU1CSCaEXsB1b2v6Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103406},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"397f89ca6911c9d7550e9af4c27dc65e04146fdb","scripts":{"dev":"tsc --watch","test":"vitest run src","build":"tsc","clean":"rm -rf dist","test:watch":"vitest src","prepublishOnly":"npm run clean && npm run build","test:integration":"vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"eight-atulya","email":"eight.atulya@gmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"overrides":{"rollup":"^4.59.0"},"repository":{"url":"git+https://github.com/eight-atulya/atulya.git","type":"git","directory":"atulya-integrations/openclaw"},"_npmVersion":"10.9.7","description":"Atulya memory plugin for OpenClaw - biomimetic long-term memory with fact extraction","directories":{},"_nodeVersion":"22.22.2","dependencies":{"node-fetch":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/atulya-openclaw_0.8.4_1777463012546_0.012670556430278035","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"@eight-atulya/atulya-openclaw","version":"0.8.5","keywords":["openclaw","memory","ai","agent","atulya","long-term-memory"],"author":{"name":"Anurag Atulya","email":"support@eightengine.com"},"license":"MIT","_id":"@eight-atulya/atulya-openclaw@0.8.5","maintainers":[{"name":"eight-atulya","email":"eight.atulya@gmail.com"}],"homepage":"https://github.com/eight-atulya/atulya#readme","bugs":{"url":"https://github.com/eight-atulya/atulya/issues"},"dist":{"shasum":"345d428d5c390d9fc2c2f6d56e1760aaa006ad7f","tarball":"https://registry.npmjs.org/@eight-atulya/atulya-openclaw/-/atulya-openclaw-0.8.5.tgz","fileCount":13,"integrity":"sha512-ndPHxwLyUpRUaFDlRC33EAzq0DtRtOmqwv+rbvhNeMoOb0WzPE2sI7Rs3S7QRUwGgGPYR8NYMTFabQG1RsPrPw==","signatures":[{"sig":"MEUCIHudVk37e9/Lb/NdCRygkH87cmjbA7jWrBTvzi1/Z1P4AiEA776V6Qs+ipGzkj7McTtRwVoaNmWxRmcJwRlwZWGf4Tk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103406},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"3b0a94837dbcea7593ab792c38c75bf0ce01aae9","scripts":{"dev":"tsc --watch","test":"vitest run src","build":"tsc","clean":"rm -rf dist","test:watch":"vitest src","prepublishOnly":"npm run clean && npm run build","test:integration":"vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"eight-atulya","email":"eight.atulya@gmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"overrides":{"rollup":"^4.59.0"},"repository":{"url":"git+https://github.com/eight-atulya/atulya.git","type":"git","directory":"atulya-integrations/openclaw"},"_npmVersion":"10.9.7","description":"Atulya memory plugin for OpenClaw - biomimetic long-term memory with fact extraction","directories":{},"_nodeVersion":"22.22.2","dependencies":{"node-fetch":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/atulya-openclaw_0.8.5_1777476418363_0.6306598845541682","host":"s3://npm-registry-packages-npm-production"}},"0.8.6":{"name":"@eight-atulya/atulya-openclaw","version":"0.8.6","keywords":["openclaw","memory","ai","agent","atulya","long-term-memory"],"author":{"name":"Anurag Atulya","email":"support@eightengine.com"},"license":"MIT","_id":"@eight-atulya/atulya-openclaw@0.8.6","maintainers":[{"name":"eight-atulya","email":"eight.atulya@gmail.com"}],"homepage":"https://github.com/eight-atulya/atulya#readme","bugs":{"url":"https://github.com/eight-atulya/atulya/issues"},"dist":{"shasum":"c29f7c343757e927a8ace0d69cd0c294d8769b84","tarball":"https://registry.npmjs.org/@eight-atulya/atulya-openclaw/-/atulya-openclaw-0.8.6.tgz","fileCount":13,"integrity":"sha512-106cL6DgjC6zgReEfuAXt9FZ+UzHHV0BTrvvpq90SCKdzreCIPj+QxZNNshIWfAaf6QtViUBr/wkkck1VHhfIg==","signatures":[{"sig":"MEYCIQD6fuQZQZPsl1v74CakW65wkya2Pp9hWduT/+vfim9JlQIhAN8Ze700LbxHFEWhTKB/x2Vv25R+JozAgIRu85uYLruA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103406},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"0013d9831a4718fc2e98685fe27f3a30af6cf02c","scripts":{"dev":"tsc --watch","test":"vitest run src","build":"tsc","clean":"rm -rf dist","test:watch":"vitest src","prepublishOnly":"npm run clean && npm run build","test:integration":"vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"eight-atulya","email":"eight.atulya@gmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"overrides":{"rollup":"^4.59.0"},"repository":{"url":"git+https://github.com/eight-atulya/atulya.git","type":"git","directory":"atulya-integrations/openclaw"},"_npmVersion":"10.9.7","description":"Atulya memory plugin for OpenClaw - biomimetic long-term memory with fact extraction","directories":{},"_nodeVersion":"22.22.2","dependencies":{"node-fetch":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/atulya-openclaw_0.8.6_1777973284868_0.9498442613564","host":"s3://npm-registry-packages-npm-production"}},"0.8.7":{"name":"@eight-atulya/atulya-openclaw","version":"0.8.7","description":"Atulya memory plugin for OpenClaw - biomimetic long-term memory with fact extraction","main":"dist/index.js","types":"dist/index.d.ts","type":"module","openclaw":{"extensions":["./dist/index.js"]},"keywords":["openclaw","memory","ai","agent","atulya","long-term-memory"],"author":{"name":"Anurag Atulya","email":"support@eightengine.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/eight-atulya/atulya.git","directory":"atulya-integrations/openclaw"},"scripts":{"build":"tsc","dev":"tsc --watch","clean":"rm -rf dist","test":"vitest run src","test:watch":"vitest src","test:integration":"vitest run --config vitest.integration.config.ts","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"node-fetch":"^3.3.2"},"devDependencies":{"@types/node":"^20.0.0","@vitest/ui":"^4.0.18","typescript":"^5.3.0","vitest":"^4.0.18"},"engines":{"node":">=22"},"overrides":{"rollup":"^4.59.0"},"_id":"@eight-atulya/atulya-openclaw@0.8.7","gitHead":"a895eb6de7d884ea3d02f28e64f73fd3602e2235","bugs":{"url":"https://github.com/eight-atulya/atulya/issues"},"homepage":"https://github.com/eight-atulya/atulya#readme","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-x8E+ZjmUH2isX/xAS96LmvKneWl5fBupAqUeSS40UWPeonj4rMqffHS/eZkAGMsu0up2N/hYQECgpM20J6jXAA==","shasum":"4495937005271eecc7347ba1cd9f826392abf635","tarball":"https://registry.npmjs.org/@eight-atulya/atulya-openclaw/-/atulya-openclaw-0.8.7.tgz","fileCount":13,"unpackedSize":103406,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDpkKWQvMF9O5cbMtF9mFvXHnr7NTzOkjmxUnCED6caiAiBc/poGTi7GAxbnGj5FxmEVrW9piSZVfT388wmkXbaN6A=="}]},"_npmUser":{"name":"eight-atulya","email":"eight.atulya@gmail.com"},"directories":{},"maintainers":[{"name":"eight-atulya","email":"eight.atulya@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/atulya-openclaw_0.8.7_1782300841808_0.011377366787336252"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-28T14:56:39.430Z","modified":"2026-06-24T11:34:02.051Z","0.8.0":"2026-03-28T14:56:39.725Z","0.8.1":"2026-04-14T05:00:46.496Z","0.8.2":"2026-04-14T09:30:03.245Z","0.8.3":"2026-04-14T10:55:49.141Z","0.8.4":"2026-04-29T11:43:32.685Z","0.8.5":"2026-04-29T15:26:58.575Z","0.8.6":"2026-05-05T09:28:05.024Z","0.8.7":"2026-06-24T11:34:01.949Z"},"bugs":{"url":"https://github.com/eight-atulya/atulya/issues"},"author":{"name":"Anurag Atulya","email":"support@eightengine.com"},"license":"MIT","homepage":"https://github.com/eight-atulya/atulya#readme","keywords":["openclaw","memory","ai","agent","atulya","long-term-memory"],"repository":{"type":"git","url":"git+https://github.com/eight-atulya/atulya.git","directory":"atulya-integrations/openclaw"},"description":"Atulya memory plugin for OpenClaw - biomimetic long-term memory with fact extraction","maintainers":[{"name":"eight-atulya","email":"eight.atulya@gmail.com"}],"readme":"# Atulya Memory Plugin for OpenClaw\n\nBiomimetic long-term memory for [OpenClaw](https://openclaw.ai) using [Atulya](https://github.com/eight-atulya/atulya). Automatically captures conversations and intelligently recalls relevant context.\n\n## Quick Start\n\n```bash\n# 1. Configure your LLM provider for memory extraction\n# Option A: OpenAI\nexport OPENAI_API_KEY=\"sk-your-key\"\n\n# Option B: Claude Code (no API key needed)\nexport ATULYA_API_LLM_PROVIDER=claude-code\n\n# Option C: OpenAI Codex (no API key needed)\nexport ATULYA_API_LLM_PROVIDER=openai-codex\n\n# 2. Install and enable the plugin\nopenclaw plugins install @eight-atulya/atulya-openclaw\n\n# 3. Start OpenClaw\nopenclaw gateway\n```\n\nThat's it! The plugin will automatically start capturing and recalling memories.\n\n## Features\n\n- **Auto-capture** and **auto-recall** of memories each turn\n- **Memory isolation** — configurable per agent, channel, user, or provider via `dynamicBankGranularity`\n- **Retention controls** — choose which message roles to retain and toggle auto-retain on/off\n\n## Configuration\n\nOptional settings in `~/.openclaw/openclaw.json` under `plugins.entries.atulya-openclaw.config`:\n\n| Option | Default | Description |\n|--------|---------|-------------|\n| `apiPort` | `9077` | Port for the local Atulya daemon |\n| `daemonIdleTimeout` | `0` | Seconds before daemon shuts down from inactivity (0 = never) |\n| `embedPort` | `0` | Port for `atulya-embed` server (`0` = auto-assign) |\n| `embedVersion` | `\"latest\"` | atulya-embed version |\n| `embedPackagePath` | — | Local path to `atulya-embed` package for development |\n| `bankMission` | — | Agent identity/purpose stored on the memory bank. Helps the engine understand context for better fact extraction. Set once per bank — not a recall prompt. |\n| `llmProvider` | auto-detect | LLM provider override for memory extraction (`openai`, `anthropic`, `gemini`, `groq`, `ollama`, `openai-codex`, `claude-code`) |\n| `llmModel` | provider default | LLM model override used with `llmProvider` |\n| `llmApiKeyEnv` | provider standard env var | Custom env var name for the provider API key |\n| `dynamicBankId` | `true` | Enable per-context memory banks |\n| `bankIdPrefix` | — | Prefix for bank IDs (e.g. `\"prod\"`) |\n| `dynamicBankGranularity` | `[\"agent\", \"channel\", \"user\"]` | Fields used to derive bank ID. Options: `agent`, `channel`, `user`, `provider` |\n| `excludeProviders` | `[]` | Message providers to skip for recall/retain (e.g. `slack`, `telegram`, `discord`) |\n| `autoRecall` | `true` | Auto-inject memories before each turn. Set to `false` when the agent has its own recall tool. |\n| `autoRetain` | `true` | Auto-retain conversations after each turn |\n| `retainRoles` | `[\"user\", \"assistant\"]` | Which message roles to retain. Options: `user`, `assistant`, `system`, `tool` |\n| `retainEveryNTurns` | `1` | Retain every Nth turn. `1` = every turn (default). Values > 1 enable chunked retention with a sliding window. |\n| `retainOverlapTurns` | `0` | Extra prior turns included when chunked retention fires. Window = `retainEveryNTurns + retainOverlapTurns`. Only applies when `retainEveryNTurns > 1`. |\n| `recallBudget` | `\"mid\"` | Recall effort: `low`, `mid`, or `high`. Higher budgets use more retrieval strategies. |\n| `recallMaxTokens` | `1024` | Max tokens for recall response. Controls how much memory context is injected per turn. |\n| `recallTypes` | `[\"world\", \"experience\"]` | Memory types to recall. Options: `world`, `experience`, `observation`. Excludes verbose `observation` entries by default. |\n| `recallRoles` | `[\"user\", \"assistant\"]` | Roles included when building prior context for recall query composition. Options: `user`, `assistant`, `system`, `tool`. |\n| `recallTopK` | — | Max number of memories to inject per turn. Applied after API response as a hard cap. |\n| `recallContextTurns` | `1` | Number of user turns to include when composing recall query context. `1` keeps latest-message-only behavior. |\n| `recallMaxQueryChars` | `800` | Maximum character length for the composed recall query before calling recall. |\n| `recallPromptPreamble` | built-in string | Prompt text placed above recalled memories in the injected `<atulya_memories>` block. |\n| `atulyaApiUrl` | — | External Atulya API URL (skips local daemon) |\n| `atulyaApiToken` | — | Auth token for external API |\n\n## Documentation\n\nFor full documentation, configuration options, troubleshooting, and development guide, see:\n\n**[OpenClaw Integration Documentation](https://github.com/eight-atulya/atulya/blob/main/atulya-docs/docs/sdks/integrations/openclaw.md)**\n\n## Development\n\nTo test local changes to the Atulya package before publishing:\n\n1. Add `embedPackagePath` to your plugin config in `~/.openclaw/openclaw.json`:\n```json\n{\n  \"plugins\": {\n    \"entries\": {\n      \"atulya-openclaw\": {\n        \"enabled\": true,\n        \"config\": {\n          \"embedPackagePath\": \"/path/to/atulya-wt3/atulya-embed\"\n        }\n      }\n    }\n  }\n}\n```\n\n2. The plugin will use `uv run --directory <path> atulya-embed` instead of `uvx atulya-embed@latest`\n\n3. To use a specific profile for testing:\n```bash\n# Check daemon status\nuvx atulya-embed@latest -p openclaw daemon status\n\n# View logs\ntail -f ~/.atulya/profiles/openclaw.log\n\n# List profiles\nuvx atulya-embed@latest profile list\n```\n\n## Links\n\n- [Atulya Documentation](https://github.com/eight-atulya/atulya/tree/main/atulya-docs)\n- [OpenClaw Documentation](https://openclaw.ai)\n- [GitHub Repository](https://github.com/eight-atulya/atulya)\n\n## License\n\nMIT\n","readmeFilename":"README.md"}