@awareness.market/local

中文文档
0.22.1发布于 2026/11/03Apache-2.0ES Module近 30 天下载 2751

Local-first memory for AI agents. Structured synthetic memory cards (decision / preference / risk), verifiable state history via ERC-8350, hybrid search. Runs offline, no account.

原始使用文档
文档目录13 节
  1. Benchmark: LongMemEval (ICLR 2025)
  2. Leaderboard
  3. Accuracy by Question Type
  4. How it compares (honest)
  5. Install
  6. Quick Start
  7. Rolling upgrades (0.22.0+)
  8. Web Dashboard
  9. Re-running the setup wizard
  10. Perception (Record-Time Signals)
  11. What makes Awareness different
  12. License
  13. Contact

@awareness.market/local

npm LongMemEval R@5 Discord

Local-first AI agent memory system. No account needed.

Benchmark: LongMemEval (ICLR 2025)

Awareness Memory is evaluated on LongMemEval — the industry standard benchmark for long-term conversational memory, published at ICLR 2025. 500 human-curated questions across 5 core capabilities.

╔══════════════════════════════════════════════════════════════╗
║                                                              ║
║   Awareness Memory — LongMemEval Benchmark Results           ║
║   ─────────────────────────────────────────────────           ║
║                                                              ║
║   Benchmark:  LongMemEval (ICLR 2025)                       ║
║   Dataset:    500 human-curated questions                    ║
║   Variant:    LongMemEval_S (~115k tokens per question)      ║
║                                                              ║
║   ┌─────────────────────────────────────────────────┐        ║
║   │                                                 │        ║
║   │   Recall@1    80.2%    (401 / 500)              │        ║
║   │   Recall@3    92.8%    (464 / 500)              │        ║
║   │   Recall@5    96.0%    (480 / 500)  ◀ PRIMARY   │        ║
║   │   Recall@10   98.6%    (493 / 500)              │        ║
║   │                                                 │        ║
║   └─────────────────────────────────────────────────┘        ║
║                                                              ║
║   Method:     Hybrid RRF (BM25 + vector, daemon pipeline)    ║
║   Embedding:  multilingual-e5-small (production model)       ║
║   LLM Calls:  0  (pure retrieval, no generation cost)        ║
║   Hardware:   Apple M1, 8GB RAM — 35 min total               ║
║                                                              ║
╚══════════════════════════════════════════════════════════════╝

Leaderboard

┌─────────────────────────────────────────────────────────────┐
│          Long-Term Memory Retrieval — R@5 Leaderboard       │
│          LongMemEval (ICLR 2025, 500 questions)             │
├─────────────────────────────────┬───────────┬───────────────┤
│  System                         │  R@5      │  Note         │
├─────────────────────────────────┼───────────┼───────────────┤
│  MemPalace (ChromaDB raw)       │  96.6%    │  R@5 only *   │
│  ★ Awareness Memory (Hybrid)    │  96.0%    │  Hybrid RRF   │
│  OMEGA                          │  95.4%    │  QA Accuracy  │
│  Mastra (GPT-5-mini)            │  94.9%    │  QA Accuracy  │
│  Mastra (GPT-4o)                │  84.2%    │  QA Accuracy  │
│  Supermemory                    │  81.6%    │  QA Accuracy  │
│  Zep / Graphiti                 │  71.2%    │  QA Accuracy  │
│  GPT-4o (full context)          │  60.6%    │  QA Accuracy  │
├─────────────────────────────────┴───────────┴───────────────┤
│  * MemPalace 96.6% is Recall@5 only, not QA Accuracy.      │
│    Palace hierarchy was NOT used in the evaluation.         │
└─────────────────────────────────────────────────────────────┘

Accuracy by Question Type

┌─────────────────────────────────────────────────────────────┐
│     Awareness Memory — R@5 by Question Type                 │
│                                                             │
│  knowledge-update        ███████████████████████████ 98.7%  │
│  multi-session           ███████████████████████████▊  99.2%│
│  single-session-asst     ███████████████████████████▌  98.2%│
│  temporal-reasoning      ██████████████████████████▏   93.2%│
│  single-session-user     ██████████████████████████    92.9%│
│  single-session-pref     █████████████████████████▎    90.0%│
│                                                             │
│  Overall                 ██████████████████████████▉   96.0%│
│                                                             │
│  ┌───────────────────────────────────────────────┐          │
│  │  Ablation Study                               │          │
│  │  ─────────────────────────────────────────    │          │
│  │  Vector-only:   92.6%  ▓▓▓▓▓▓▓▓▓▓▓▓▓░░░     │          │
│  │  BM25-only:     91.4%  ▓▓▓▓▓▓▓▓▓▓▓▓▓░░░     │          │
│  │  Hybrid RRF:    95.6%  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░  ★  │          │
│  │  (2026-04 harness run)                        │          │
│  │  Hybrid = +3% over any single method          │          │
│  └───────────────────────────────────────────────┘          │
│                                                             │
│  arxiv.org/abs/2410.10813          awareness.market         │
└─────────────────────────────────────────────────────────────┘

Zero LLM calls on retrieval. Daemon-path run: Apple M1 8GB, 35 minutes. Reproducible benchmark scripts →


How it compares (honest)

SystemLongMemEval R@5Local / zero-APISetup
Awareness Local96.0%Yesnpx @awareness.market/setup
MemPalace96.6%YesManual
Mem049.0% (OSS) / 93.4% (self-reported)Graph = paidSDK + API key
Zep63.8%SaaSCloud
  • Workflow rules injection — Awareness writes rules into your IDE config so the agent automatically uses memory (init at start, recall before work, record after changes). Mem0/Zep require manual orchestration.
  • Structured knowledge (13 categories) — decisions, pitfalls, workflows, skills, preferences — not just raw snippets.
  • Zero LLM calls on retrieval — hybrid FTS5 + vector, fully offline.

Full factual comparison: Awareness vs. Alternatives

Install

npm install -g @awareness.market/local

Quick Start

# Start the local daemon
awareness-local start

Once the daemon is running, talk to it over the local MCP endpoint. Every call below was executed against a real daemon before being written here.

// The daemon exposes MCP over HTTP on 127.0.0.1:37800 — no SDK to install.
const call = (name, args) =>
  fetch("http://localhost:37800/mcp", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      jsonrpc: "2.0", id: 1, method: "tools/call",
      params: { name, arguments: args },
    }),
  })
    .then((r) => r.json())
    .then((j) => j.result.content[0].text);

await call("awareness_record", {
  action: "remember",
  content: "Refactored auth middleware to use JWT rotation.",
});

console.log(await call("awareness_recall", { semantic_query: "auth middleware" }));
// Found 1 memories:
// 1. [turn_summary] Refactored auth middleware to use JWT rotation (70%, today)

For structured data, the REST API returns JSON:

const r = await fetch("http://localhost:37800/api/v1/memories?limit=10");
const { items, total } = await r.json();

The package's JS exports (@awareness.market/local/api) are daemon management helpers — getDaemonUrl, checkDaemonHealth, getDaemonStatus, getMcpUrl, loadLocalConfig — not the memory API itself. Memory goes through MCP or REST, which is also how Claude Code and every other client reaches it.

Rolling upgrades (0.22.0+)

awareness-local start runs the daemon under a supervisor. Upgrades drain in-flight work instead of killing the process:

  • During an upgrade, new HTTP/MCP requests get 503 + Retry-After: 2 while in-flight requests finish (bounded by AWARENESS_DRAIN_TIMEOUT, default 60s).
  • awareness-local update checks npm, trial-installs the new version, drains, and switches only after the replacement passes its health check.
  • awareness-local doctor shows the active version, the last update error, and the next retry.
  • A failed switch restores the previous child and backs off 1→2→4→8→15 min.
  • Opt-in only: pass --auto-update (or set AWARENESS_AUTO_UPDATE=1) to check every 5 minutes. Defaults perform no registry checks.

Web Dashboard

The daemon serves a local web UI at http://localhost:37800/ — browse your memories, knowledge cards, tasks and sessions, and check index health.

It is available whenever the daemon is running, and only then. If the page does not load, the daemon is not up: run awareness-local start.

# Print the dashboard URL and open it in your default browser
awareness-local dashboard

# Print the URL only (no browser launch) — handy over SSH
awareness-local dashboard --no-open

awareness-local status also prints the dashboard URL, and GET /healthz returns it as the ui_url field. If you started the daemon on a custom port (awareness-local start --port 41000), pass the same --port to dashboard and status.

The UI is bound to localhost and is not exposed to your network.

Re-running the setup wizard

The first-run wizard remembers that you finished it, so it will not reappear. To walk through it again — after connecting cloud sync, or on a workspace you set up differently — open:

http://localhost:37800/?onboarding=1

The parameter is removed from the address bar immediately, so refreshing or bookmarking the page will not restart the wizard again.

Perception (Record-Time Signals)

When you call record(), 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.

Signal types:

TypeDescription
contradictionNew content conflicts with an existing knowledge card
resonanceSimilar past experience found in memory
patternRecurring theme detected (e.g., same category appearing often)
stalenessA related knowledge card hasn't been updated in a long time
related_decisionA past decision is relevant to what you just recorded
const result = await awareness_record({
  action: "remember",
  content: "Decided to use RS256 for JWT signing",
  insights: { knowledge_cards: [{ title: "JWT signing", category: "decision", summary: "..." }] }
});

if (result.perception) {
  for (const signal of result.perception) {
    console.log(`[${signal.type}] ${signal.message}`);
    // [pattern] This is the 4th 'decision' card -- recurring theme
    // [resonance] Similar past experience: "JWT auth migration"
  }
}

What makes Awareness different

Most memory systems pick one extraction strategy. Awareness combines them:

  • Hybrid retrieval by default — BM25 full-text + vector cosine + knowledge-graph 1-hop expansion, fused with Reciprocal Rank Fusion. 96.0% R@5 on LongMemEval, zero LLM calls on the retrieval side.
  • Salience-aware extraction (v0.7.3+) — the client's own LLM self-scores every card on novelty / durability / specificity; cards scoring below 0.4 on either novelty or durability are dropped server-side. Framework metadata (Sender (untrusted metadata), turn_brief, [Operational context ...]) is filtered before extraction runs, so raw logs never leak into your knowledge base.
  • Project isolation — X-Awareness-Project-Dir header scopes memory per project. Your work memory doesn't leak into your personal memory, even on the same machine.
  • 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 (F-050).
  • Zero-LLM backend — all extraction runs on the client's LLM (Claude, GPT-4, Gemini, local Llama). The backend is a coordinator + storage layer; no inference costs pass through to you.
  • 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.

See Awareness vs. Alternatives 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.

License

Apache-2.0


Contact

Commercial licensing, private deployment, enterprise support — email [email protected], we reply within 24 hours.

版本与发布记录

@awareness.market/local 共发布 27 个版本,首次发布于 2026/07/12;过去 12 个月发布了 27 个版本。

版本发布日期距今
0.22.1latest2026/11/034 天前
0.22.02026/11/025 天前
0.21.12026/10/2811 天前
0.21.02026/10/2612 天前
0.20.22026/10/2414 天前
0.20.12026/10/2315 天前

关于 @awareness.market/local 的常见问题

@awareness.market/local 是什么?

Local-first memory for AI agents. Structured synthetic memory cards (decision / preference / risk), verifiable state history via ERC-8350, hybrid search. Runs offline, no account.

如何安装 @awareness.market/local?

在项目目录运行 npm install @awareness.market/local,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 awareness-local,可以用 npx awareness-local 直接运行。

@awareness.market/local 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/awareness.market__local 是否存在。

@awareness.market/local 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@awareness.market/local 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@awareness.market/local 可以商用吗?

@awareness.market/local 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@awareness.market/local 的下载量有多少?

根据 npm 官方下载统计,@awareness.market/local 在 2026/10/07 – 2026/11/05 这 30 天内被下载 2,751 次,日均约 92 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@awareness.market/local 还在维护吗?

最新版本 0.22.1 发布于 2026/11/03(4 天前);至今共发布 27 个版本,其中过去 12 个月发布了 27 个;首次发布于 2026/07/12。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。