{"_id":"@awareness.market/openclaw-memory","_rev":"2-fe67ae75b36cba6a8efa090e56a20dbf","name":"@awareness.market/openclaw-memory","dist-tags":{"latest":"0.6.18"},"versions":{"0.6.17":{"name":"@awareness.market/openclaw-memory","version":"0.6.17","author":{"name":"Edwin Hao"},"license":"Apache-2.0","_id":"@awareness.market/openclaw-memory@0.6.17","maintainers":[{"name":"everestan","email":"everest9812@gmail.com"}],"homepage":"https://awareness.market","bugs":{"url":"https://github.com/edwinhao/Awareness/issues"},"dist":{"shasum":"302884204fe60e9242a772fd2187a6ca688fe520","tarball":"https://registry.npmjs.org/@awareness.market/openclaw-memory/-/openclaw-memory-0.6.17.tgz","fileCount":9,"integrity":"sha512-MzjmzrdCJkl30YaIch+u/ElnF2rWc9sFU6boE5zMOPiMCSxoIe3VH6VqzFgkM71s59XsqqHkiqDxMlXSAw/DiA==","signatures":[{"sig":"MEYCIQCgr8JZMnzApENa8JtrVb8tHhKUs6UYy0fiUXXHOXkZswIhAK0Lw9uLhkjy1lIalrF6XTzHMv6wF3NTZKSlQNvMCG8g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":283689},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"d6e55aeefbb99a53b26392bddcde49cae9f79e77","scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --clean --watch","lint":"tsc --noEmit","test":"vitest run --exclude src/e2e.test.ts","build":"tsup src/index.ts --format esm,cjs --dts --clean","test:e2e":"vitest run src/e2e.test.ts","test:watch":"vitest --exclude src/e2e.test.ts"},"_npmUser":{"name":"everestan","email":"everest9812@gmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/edwinhao/Awareness.git","type":"git","directory":"sdks/openclaw"},"_npmVersion":"11.6.2","description":"OpenClaw plugin for Awareness memory — cross-session recall and learnings","directories":{},"_nodeVersion":"24.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^4.0.0","typescript":"^5.0.0","@types/node":"^22.0.0","@modelcontextprotocol/sdk":"^1.27.0"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.27.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-memory_0.6.17_1783841604210_0.2801684432522007","host":"s3://npm-registry-packages-npm-production"}},"0.6.18":{"name":"@awareness.market/openclaw-memory","version":"0.6.18","description":"OpenClaw plugin for Awareness memory — cross-session recall and learnings","author":{"name":"Edwin Hao"},"license":"Apache-2.0","homepage":"https://awareness.market","repository":{"type":"git","url":"git+https://github.com/everest-an/Awareness.git","directory":"sdks/openclaw"},"type":"module","main":"dist/index.js","types":"dist/index.d.ts","openclaw":{"extensions":["./dist/index.js"]},"scripts":{"build":"tsup src/index.ts --format esm,cjs --dts --clean","dev":"tsup src/index.ts --format esm,cjs --dts --clean --watch","test":"vitest run --exclude src/e2e.test.ts","test:watch":"vitest --exclude src/e2e.test.ts","test:e2e":"vitest run src/e2e.test.ts","lint":"tsc --noEmit"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.27.0"},"devDependencies":{"@modelcontextprotocol/sdk":"^1.27.0","@types/node":"^22.0.0","tsup":"^8.0.0","typescript":"^5.0.0","vitest":"^4.0.0"},"publishConfig":{"access":"public"},"gitHead":"9ed785ec77e00f4c9d1f5deb55a76fe1e7f96db9","_id":"@awareness.market/openclaw-memory@0.6.18","bugs":{"url":"https://github.com/everest-an/Awareness/issues"},"_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-YuTXx/nuuKlVMyfAGYwJ4LPvj70WGfjOk+D4o7zra1C7Euy4PlPJfiqjwLsYG7vY4kL2h8z2Rt26e0BZSqfA+g==","shasum":"5942c5f03dbde9174246bb3b831d2f0cb4092f56","tarball":"https://registry.npmjs.org/@awareness.market/openclaw-memory/-/openclaw-memory-0.6.18.tgz","fileCount":9,"unpackedSize":284316,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIF7etU1M70A5xxULxOoT0t4Fhx5JyoZdSDcJRnQ3UdhZAiEAyGPPYVQIsl1Z4DpORDC4OPAJgMxpK65ylOCaWXEymFA="}]},"_npmUser":{"name":"everestan","email":"everest9812@gmail.com"},"directories":{},"maintainers":[{"name":"everestan","email":"everest9812@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/openclaw-memory_0.6.18_1785525788639_0.4852257625856222"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-12T07:33:24.094Z","modified":"2026-07-31T19:23:08.932Z","0.6.17":"2026-07-12T07:33:24.375Z","0.6.18":"2026-07-31T19:23:08.786Z"},"bugs":{"url":"https://github.com/everest-an/Awareness/issues"},"author":{"name":"Edwin Hao"},"license":"Apache-2.0","homepage":"https://awareness.market","repository":{"type":"git","url":"git+https://github.com/everest-an/Awareness.git","directory":"sdks/openclaw"},"description":"OpenClaw plugin for Awareness memory — cross-session recall and learnings","maintainers":[{"name":"everestan","email":"everest9812@gmail.com"}],"readme":"# @awareness.market/openclaw-memory\n\n[![npm](https://img.shields.io/npm/v/@awareness.market/openclaw-memory?color=7b68ee)](https://www.npmjs.com/package/@awareness.market/openclaw-memory) [![LongMemEval R@5](https://img.shields.io/badge/LongMemEval_R%405-95.6%25-brightgreen)](https://arxiv.org/abs/2410.10813) [![Discord](https://img.shields.io/discord/1354000000000000000?color=5865F2&logo=discord&logoColor=white&label=Discord)](https://discord.com/invite/nMDrT538Qa)\n\nOpenClaw memory plugin backed by Awareness Memory Cloud.\n\nOnline docs: <https://awareness.market/docs?doc=openclaw>\n\n## Benchmark: LongMemEval (ICLR 2025)\n\nAwareness Memory achieves **95.6% Recall@5** on [LongMemEval](https://arxiv.org/abs/2410.10813) (ICLR 2025) — 500 human-curated questions, zero LLM calls, hybrid BM25+Vector retrieval. [Full results →](https://github.com/everest-an/Awareness/tree/main/benchmarks/longmemeval)\n\n```\n╔══════════════════════════════════════════════════════════════╗\n║   Awareness Memory — LongMemEval Benchmark Results           ║\n║                                                              ║\n║   Recall@1    77.6%       Recall@5    95.6%  ◀ PRIMARY       ║\n║   Recall@3    91.8%       Recall@10   97.4%                  ║\n║                                                              ║\n║   Method:     Hybrid RRF (BM25 + Vector)                     ║\n║   LLM Calls:  0       Hardware:  M1 8GB, 14 min             ║\n╚══════════════════════════════════════════════════════════════╝\n```\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│          Long-Term Memory Retrieval — R@5 Leaderboard       │\n├─────────────────────────────────┬───────────┬───────────────┤\n│  System                         │  R@5      │  Note         │\n├─────────────────────────────────┼───────────┼───────────────┤\n│  MemPalace (ChromaDB raw)       │  96.6%    │  R@5 only *   │\n│  ★ Awareness Memory (Hybrid)    │  95.6%    │  Hybrid RRF   │\n│  OMEGA                          │  95.4%    │  QA Accuracy  │\n│  Supermemory                    │  81.6%    │  QA Accuracy  │\n│  Zep / Graphiti                 │  71.2%    │  QA Accuracy  │\n│  GPT-4o (full context)          │  60.6%    │  QA Accuracy  │\n├─────────────────────────────────┴───────────┴───────────────┤\n│  * MemPalace 96.6% is R@5 only, not QA Accuracy.           │\n└─────────────────────────────────────────────────────────────┘\n```\n\n---\n\n## Installation\n\n**Plugin (full integration):**\n\n```bash\nopenclaw plugins install @awareness.market/openclaw-memory\n```\n\n**Or Skill (via ClawHub):**\n\n```bash\nnpx clawhub@latest install awareness-memory\n```\n\nFor local development:\n\n```bash\nopenclaw plugins install -l ./openclaw\n```\n\n## Configuration\n\nEdit `~/.openclaw/openclaw.json`:\n\n```json\n{\n  \"plugins\": {\n    \"slots\": {\n      \"memory\": \"openclaw-memory\"\n    },\n    \"entries\": {\n      \"openclaw-memory\": {\n        \"enabled\": true,\n        \"config\": {\n          \"apiKey\": \"aw_your-api-key\",\n          \"baseUrl\": \"https://awareness.market/api/v1\",\n          \"memoryId\": \"your-memory-id\",\n          \"agentRole\": \"builder_agent\",\n          \"autoRecall\": true,\n          \"autoCapture\": true,\n          \"recallLimit\": 8\n        }\n      }\n    }\n  }\n}\n```\n\nFor cloud or bot deployments, you can skip device-auth and config file edits by pre-setting environment variables on the server:\n\n```bash\nexport AWARENESS_API_KEY=\"aw_your-api-key\"\nexport AWARENESS_MEMORY_ID=\"your-memory-id\"\nexport AWARENESS_BASE_URL=\"https://awareness.market/api/v1\"\n```\n\nWhen these variables are present, the plugin will use them as the highest-priority cloud configuration.\n\n## Available Tools\n\n| Tool | Description |\n|------|-------------|\n| `__awareness_workflow__` | Workflow reference that stays visible in the tool list |\n| `awareness_init` | Load cross-session project memory and context |\n| `awareness_get_agent_prompt` | Fetch full activation prompt for a specific agent role (sub-agent spawning) |\n| `awareness_recall` | Semantic + keyword hybrid recall from persistent memory |\n| `awareness_lookup` | Structured data: tasks, knowledge, risks, timeline |\n| `awareness_record` | Write events, batch save, ingest, update tasks |\n\n## Auto Features\n\n### Auto Recall\n\nWhen `autoRecall` is enabled, the plugin loads context and relevant recall results before the agent starts.\n\n### Auto Capture\n\nWhen `autoCapture` is enabled, the plugin stores a concise run summary after the agent finishes.\n\n## Config Options\n\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| `apiKey` | string | required | Awareness API key |\n| `memoryId` | string | required | Target memory UUID |\n| `baseUrl` | string | `https://awareness.market/api/v1` | Awareness API base URL |\n| `agentRole` | string | `builder_agent` | Agent role for scoped recall |\n| `autoRecall` | boolean | `true` | Auto-load memory context before each run |\n| `autoCapture` | boolean | `true` | Auto-store a conversation summary after each run |\n| `recallLimit` | integer | `8` | Max results for auto-recall |\n\n## Perception (Record-Time Signals)\n\nWhen the skill's `awareness_record` tool writes to memory, the response may include a `perception` array -- automatic signals the system surfaces without you asking. These are computed from pure DB queries (no LLM calls), adding less than 50ms of latency.\n\n**Signal types:**\n\n| Type | Description |\n|------|-------------|\n| `contradiction` | New content conflicts with an existing knowledge card |\n| `resonance` | Similar past experience found in memory |\n| `pattern` | Recurring theme detected (e.g., same category appearing often) |\n| `staleness` | A related knowledge card hasn't been updated in a long time |\n| `related_decision` | A past decision is relevant to what you just recorded |\n\n```typescript\n// Inside the skill's record.js script:\nconst result = await awareness_record({\n  content: \"Decided to use RS256 for JWT signing\",\n  insights: {\n    knowledge_cards: [{ title: \"JWT signing\", category: \"decision\", summary: \"Use RS256\" }]\n  }\n});\nif (result.perception) {\n  result.perception.forEach(s => console.log(`[${s.type}] ${s.message}`));\n  // [pattern] This is the 4th 'decision' card -- recurring theme\n  // [resonance] Similar past experience: \"JWT auth migration\"\n}\n```\n\n## Verification\n\n```bash\nopenclaw plugins list   # if installed as plugin\nopenclaw skills list    # if installed as skill\n```\n\nYou should see `openclaw-memory` or `awareness-memory` loaded.\n\n## What makes Awareness different\n\nMost memory systems pick one extraction strategy. Awareness combines them:\n\n- **Hybrid retrieval by default** — BM25 full-text + vector cosine + knowledge-graph 1-hop expansion, fused with Reciprocal Rank Fusion. 95.6% R@5 on LongMemEval, zero LLM calls on the retrieval side.\n- **Salience-aware extraction** (v0.6.12+) — the agent's LLM self-scores every card on `novelty` / `durability` / `specificity`; cards below 0.4 on novelty or durability are dropped server-side. Framework metadata (`Sender (untrusted metadata)`, `turn_brief`, `[Operational context ...]`) is filtered before extraction runs, so raw log turns never leak into your knowledge base.\n- **Project isolation** — `X-Awareness-Project-Dir` header scopes memory per project. Agents working on different projects from the same OpenClaw instance don't cross-contaminate.\n- **Learning over time** — Ebbinghaus-style card decay, skill crystallization from repeated patterns (F-032 / F-034), workspace graph self-prune to keep `index.db` bounded.\n- **Zero-LLM backend** — all extraction runs on the agent's LLM. The backend is a coordinator + storage layer; no inference costs pass through to you.\n- **One memory, many clients** — same daemon reachable via Claude Code skills, OpenClaw plugin, npm / pip / ClawHub, and a plain MCP server. Install any one surface and the rest just work against the same memory.\n\nSee [`docs/analysis/MEMPALACE_COMPARISON_2026-04-17.md`](https://github.com/everest-an/Awareness/blob/main/docs/analysis/MEMPALACE_COMPARISON_2026-04-17.md) for the honest side-by-side against MemPalace (96.6% R@5 via raw verbatim storage) — what we'd adopt from their approach and what we keep from ours.\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}