[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81497":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":46,"readmeContent":47,"aiSummary":48,"trendingCount":16,"starSnapshotCount":16,"syncStatus":14,"lastSyncTime":49,"discoverSource":50},81497,"atomicmemory","atomicstrata\u002Fatomicmemory","atomicstrata","Portable semantic memory for AI agents: core engine, TypeScript SDK, framework adapters, MCP server, CLI, and host plugins.","https:\u002F\u002Fdocs.atomicstrata.ai",null,"TypeScript",146,21,2,4,0,1,7,119,5,59.53,"Other",false,"main",[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],"agent-infrastructure","agent-memory","ai-agents","ai-memory","cli","context-engineering","developer-tools","llm","local-first","mcp","memory-layer","model-context-protocol","open-source","pgvector","postgres","retrieval","sdk","self-hosted","semantic-memory","typescript","2026-06-12 04:01:34","# AtomicMemory\n\n[![CI](https:\u002F\u002Fgithub.com\u002Fatomicstrata\u002Fatomicmemory\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fatomicstrata\u002Fatomicmemory\u002Factions\u002Fworkflows\u002Fci.yml)\n[![Core npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F%40atomicmemory%2Fcore?label=core)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@atomicmemory\u002Fcore)\n[![SDK npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F%40atomicmemory%2Fsdk?label=sdk)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@atomicmemory\u002Fsdk)\n[![CLI npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F%40atomicmemory%2Fcli?label=cli)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@atomicmemory\u002Fcli)\n[![Docker](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocker-GHCR-2496ED?logo=docker&logoColor=white)](packages\u002Fcore\u002FDockerfile)\n[![Docs](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-docs.atomicstrata.ai-blue)](https:\u002F\u002Fdocs.atomicstrata.ai)\n[![License: Apache 2.0](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache--2.0-blue.svg)](LICENSE)\n\n**Inspectable, portable semantic memory for agents and applications.**\n\nAtomicMemory is a memory layer you embed where your AI code already runs. Capture\ncontext, ground generations in prior interactions, and carry knowledge across\nsessions — from a direct SDK call, a CLI, an MCP server, a framework adapter, or\na host plugin. Local-first where supported, hosted where convenient, and\ndesigned so the choice can change later without rewriting your application.\n\nMost memory products ask you to trust a hosted black box with the layer that\ndecides what an AI believes about your users. AtomicMemory takes the opposite\nposition: the interface should be portable, the engine should be inspectable,\nand the memory system should be able to revise itself when facts change.\n\nThis repository is the public source of truth for the AtomicMemory JavaScript \u002F\nTypeScript packages, framework adapters, host plugins, and public smoke tests.\n\n**Docs:** [docs.atomicstrata.ai](https:\u002F\u002Fdocs.atomicstrata.ai)\n\n**Field note:** [The AI Memory Industry Has A Black Box Problem](https:\u002F\u002Fwww.atomicstrata.ai\u002Fblog\u002Fthe-ai-memory-industry-has-a-black-box-problem)\n\n## Headline Results\n\nAtomicMemory v66 is leading performance\u002Fcost on BEAM-100K, BEAM-1M, and LoCoMo10 under\nmatched methodology against published competitors. On BEAM-10M it matches the\nstrongest published Mem0-new result while leaving Hindsight-scale temporal\nretrieval as the known open frontier.\n\n| Benchmark | AtomicMemory v66 | Position | Cost\u002FQ | Sample |\n|---|---:|---|---:|---:|\n| **BEAM-100K lenient** | **0.7375** | Parity with Hindsight at 0.75 | $1.26 | n=80 |\n| **BEAM-1M lenient** | **0.6625** | Leading Performance\u002FCost; +0.022 vs Mem0 paper | $0.083 | n=80 |\n| **BEAM-10M lenient** | **0.4875** | Parity with Mem0-new at 0.486 | $0.081 | n=80 |\n| **LoCoMo10 GPT-4o-mini binary** | **0.8396** | Leading Performance\u002FCost; +0.171 vs Mem0 paper | $0.066 | n=1540 |\n\nThese results put AtomicMemory at or near the published ceiling in each\nreported category while preserving the lower-cost operating profile that\nmatters for real applications. Reproducibility artifacts and harness details\nwill be published with the benchmark materials.\n\n## Why AtomicMemory\n\n- **Portable**: a single memory protocol consumed by direct SDK calls, CLIs,\n  the MCP server, framework adapters, and host plugins. The same memory store\n  serves a LangGraph agent, a Claude Code session, and a custom Vercel AI\n  application without re-implementing capture or retrieval semantics.\n- **SDK-agnostic**: every adapter is built on the same SDK. Adapters are\n  conveniences, not gatekeepers. You can drop down to the SDK at any time and\n  keep the same data, indexes, and retrieval behavior.\n- **Inspectable**: Core is open source, self-hostable, and built around\n  explicit mutation decisions rather than an opaque hosted opinion.\n- **Correction-aware**: memory is not just append and recall. Real products\n  need supersession, clarification, deletion, no-op decisions, lineage, and\n  trust-sensitive revision when users change their mind.\n- **Model-surface portable**: the SDK lets applications swap memory backends;\n  Core separates embeddings, extraction, mutation, reranking, retrieval\n  packaging, and evaluation so the memory engine is not frozen to one model\n  vintage.\n- **Local or hosted, your choice**: the core engine runs locally for\n  privacy-sensitive workloads. The hosted profile is available where it makes\n  sense and is marked clearly in the package matrix below. There is no\n  capability cliff between the two.\n- **No lock-in**: package APIs are stable and semver-disciplined. Migrating\n  between direct SDK use, adapters, and host plugins is documented and does not\n  require re-ingesting your data. You own your memory store.\n\n## What This Repository Provides\n\n- **Core** — Docker-deployable memory backend with durable context, semantic\n  retrieval, memory mutation, and Postgres\u002Fpgvector storage.\n- **SDK** — backend-agnostic TypeScript client surface with provider interfaces,\n  storage helpers, local embeddings, and semantic search primitives.\n- **CLI and MCP** — command-line and MCP surfaces for setup, diagnostics,\n  capture, retrieval, and context packaging.\n- **Framework adapters** — integration packages for Vercel AI SDK, OpenAI\n  Agents SDK, LangChain, LangGraph, and Mastra.\n- **Host plugins** — package and manifest surfaces for agent hosts such as\n  Claude Code, OpenClaw, Hermes, Codex, and Cursor.\n- **Public validation** — package metadata checks, smoke contracts, and\n  contributor-safe CI gates that keep install paths, docs, and package status in\n  sync.\n\nThe SDK is the portability contract: applications depend on a typed interface\nand provider boundary instead of one memory vendor. Core is the engine that can\nearn that slot: self-hosted, auditable, and designed around revision rather than\nappend-only recall.\n\n## What This Is Not\n\n- Not the hosted AtomicMemory service infrastructure.\n- Not the release orchestration or marketplace operations system.\n- Not the Python SDK; the Python package remains in its own repository and PyPI\n  metadata for now.\n- Not the benchmark research repo. Reproducible benchmark suites and raw eval\n  harnesses live outside this public monorepo until they are ready to publish as\n  public artifacts.\n- Not a replacement for package-level READMEs. Package-specific setup still\n  lives under `packages\u002F`, `adapters\u002F`, and `plugins\u002F`.\n\n## Performance posture\n\nWe make supportable performance claims, not marketing ones. The headline\nresults above are benchmark scores under matched methodology; latency,\nrecall@k, and scale-envelope claims should only be quoted when paired with the\nlinked benchmark, hardware, dataset, and date used to produce them.\n\nUntil latency benchmarks are linked from the docs, treat the engine as\n\"designed for single-digit-ms local retrieval on a developer laptop at typical\nagent corpus sizes\" — a design target, not a guarantee.\n\n## Quickstart\n\nFor the full walkthrough, see the\n[AtomicMemory quickstart](https:\u002F\u002Fdocs.atomicstrata.ai\u002Fquickstart).\n\nThese commands use currently-published packages. Host plugin surfaces that are\nnot yet public are listed in the package matrix below and are not part of the\nmain install path.\n\n```bash\n# direct SDK\nnpm install @atomicmemory\u002Fsdk\n\n# CLI\nnpm install -g @atomicmemory\u002Fcli\n\n# framework adapter (example: Vercel AI SDK)\nnpm install @atomicmemory\u002Fvercel-ai @atomicmemory\u002Fsdk\n```\n\nMinimal SDK shape:\n\n```ts\nimport { MemoryClient } from '@atomicmemory\u002Fsdk';\n\nconst memory = new MemoryClient({\n  providers: {\n    atomicmemory: { apiUrl: 'http:\u002F\u002Flocalhost:17350' },\n  },\n});\n\nawait memory.initialize();\nawait memory.ingest({\n  mode: 'messages',\n  messages: [{ role: 'user', content: 'I prefer aisle seats.' }],\n  scope: { user: 'demo-user' },\n});\n\nconst results = await memory.search({\n  query: 'seat preference',\n  scope: { user: 'demo-user' },\n});\n```\n\nThe minimal example, environment setup, and the full list of supported hosts\nand frameworks live in the docs site linked below. Adapter and plugin install\ncontracts (install type, local-core requirement, hosted-mode status) appear at\nthe top of each integration page.\n\n## Package matrix\n\nStatus labels follow the docs contract:\n\n- **published** — available on the npm registry and supported.\n- **implemented, publish pending** — code lives in this repo and works locally,\n  but the first monorepo-era release has not been cut yet. Do not put these in\n  install commands until the row flips to `published`.\n- **coming soon** — public source is present, but the host install path is not\n  supported yet. Do not use these in install commands until the row flips to\n  `published`.\n- **unsupported** \u002F **planned** — reserved for future entries.\n\n### Packages\n\n| Package | Path | Status |\n| --- | --- | --- |\n| `@atomicmemory\u002Fcore` | `packages\u002Fcore` | published |\n| `@atomicmemory\u002Fsdk` | `packages\u002Fsdk` | published |\n| `@atomicmemory\u002Fcli` | `packages\u002Fcli` | published |\n| `@atomicmemory\u002Fmcp-server` | `packages\u002Fmcp-server` | published |\n\n### Framework adapters\n\n| Package | Path | Status |\n| --- | --- | --- |\n| `@atomicmemory\u002Fvercel-ai` | `adapters\u002Fvercel-ai` | published |\n| `@atomicmemory\u002Fopenai-agents` | `adapters\u002Fopenai-agents` | published |\n| `@atomicmemory\u002Flangchain` | `adapters\u002Flangchain` | published |\n| `@atomicmemory\u002Flanggraph` | `adapters\u002Flanggraph` | published |\n| `@atomicmemory\u002Fmastra` | `adapters\u002Fmastra` | published |\n\n### Host plugins\n\n| Package | Path | Status |\n| --- | --- | --- |\n| `@atomicmemory\u002Fclaude-code-plugin` | `plugins\u002Fclaude-code` | published |\n| `@atomicmemory\u002Fopenclaw-plugin` | `plugins\u002Fopenclaw` | published |\n| `@atomicmemory\u002Fhermes-plugin` | `plugins\u002Fhermes` | published |\n| `@atomicmemory\u002Fcodex-plugin` | `plugins\u002Fcodex` | coming soon |\n| `@atomicmemory\u002Fcursor-plugin` | `plugins\u002Fcursor` | coming soon |\n\nCodex and Cursor plugin source is present, but the public host install path is\ncoming soon until each host marketplace manifest format is validated end to end.\n\n### Other surfaces\n\n| Surface | Location | Status |\n| --- | --- | --- |\n| Python SDK (`atomicmemory` on PyPI) | separate repository | published; not part of this monorepo |\n\n## Local development\n\nThe skeleton uses pnpm workspaces with Turborepo as the task graph and cache\nlayer. pnpm owns dependency resolution, workspace linking, and packing. Turbo\nowns task ordering, caching, and affected-task selection.\n\n```bash\n# install (uses the pinned pnpm@9.15.4 from packageManager)\npnpm install\n\n# build \u002F typecheck \u002F test\npnpm run build\npnpm run typecheck\npnpm run test       # self-contained packages\npnpm run test:core  # requires core test services\npnpm run lint\n\n# release \u002F hygiene gates (not cached; always re-run)\npnpm run pack-dry-run\npnpm run package-metadata\npnpm run docs-contract\npnpm run public-integration-smoke\npnpm run repo-hygiene\npnpm run security-compliance\n```\n\nPackage versions are intentionally scoped by release family instead of one\nglobal monorepo version. `@atomicmemory\u002Fcore` and `@atomicmemory\u002Fsdk` move\nindependently. Host plugins move together, framework adapters move together,\nand the CLI\u002FMCP-server tool pair moves together:\n\n```bash\npnpm check:version-families        # CI guard for drift\n```\n\nRelease bumping, public sync, and registry publish preparation are owned by the\nops repo. Keep this source repo focused on package metadata and version-family\nconsistency checks.\n\nBuild, test, lint, and docs-contract run through Turborepo's task graph.\nTypecheck declares no cache outputs because package scripts use `tsc --noEmit`.\nThe side-effecting checks (`pack-dry-run`, `public-integration-smoke`,\n`repo-hygiene`, `code-health`, and `security-compliance`) always re-run through\n`cache: false` tasks or direct root node scripts. `package-metadata` is a\ndirect root check so it always reads the current package manifests.\n\nCI lanes use thin aliases over the same Turbo tasks:\n\n```bash\npnpm run ci:affected         # build \u002F typecheck \u002F lint for affected packages; tests for self-contained packages\npnpm run ci:code-health      # fallow\u002Fcode-health coverage\npnpm run ci:pack-dry-run     # pack-dry-run, affected-only\npnpm run ci:docs-contract    # docs-contract\npnpm run ci:public-smoke     # public-integration-smoke\n```\n\n`ci:affected` and `ci:pack-dry-run` use Turbo's `--affected` filter for normal\nPRs; full release-green validation runs the unprefixed scripts so the required\nsurface is never narrowed by affected detection. The core package's DB-backed\ntest suite requires service provisioning and is intentionally outside the\ngeneric affected lane; build, typecheck, lint, metadata, and pack validation\nstill cover `@atomicmemory\u002Fcore` in public CI.\n\nPer-package commands (`pnpm --filter @atomicmemory\u002Fsdk run build`, etc.) work\nfor packages in `packages\u002F`, `adapters\u002F`, and `plugins\u002F`.\n\n## Release Notes\n\nPer-package changelogs live next to each package. Cross-package and monorepo\nrollup changes are recorded in [`CHANGELOG.md`](CHANGELOG.md).\n\n## Repository layout\n\n```text\npackages\u002F      core, sdk, cli, mcp-server\nadapters\u002F      framework integrations (Vercel AI, OpenAI Agents, LangChain,\n               LangGraph, Mastra)\nplugins\u002F       host integrations (Claude Code, OpenClaw, Hermes, Codex, Cursor)\nexamples\u002F      reserved for phase 2+; only added with owners and CI coverage\ntests\u002Fsmoke\u002F   public, contributor-safe smoke tests\n```\n\nRelease orchestration, marketplace operations, sensitive service configuration,\nand local machine paths are deliberately not part of this repository.\n\n## Contributing\n\nSee [`CONTRIBUTING.md`](CONTRIBUTING.md) for the workflow, branch protection\nrules, and the public CI lanes a pull request runs through.\n\nAI coding agents should also read [`AGENTS.md`](AGENTS.md). `CLAUDE.md` and\n`GEMINI.md` point their respective CLIs at the same public instructions.\n\n## Security\n\nSecurity policy, supported versions, and the confidential reporting channel are\ndocumented in [`SECURITY.md`](SECURITY.md). Please report suspected\nvulnerabilities confidentially rather than opening a public issue.\n\n## License\n\nApache License 2.0 — see [`LICENSE`](LICENSE).\n","AtomicMemory 是一个为AI代理和应用程序设计的可移植语义记忆层。它支持通过SDK、CLI、MCP服务器、框架适配器或主机插件等多种方式嵌入到现有代码中，实现上下文捕获、基于先前交互生成内容以及跨会话传递知识等功能。该项目采用TypeScript编写，强调本地优先但同时支持托管部署，并且在架构上允许后期灵活切换存储方式而不需重写应用。其核心优势在于提供了一个可审查的记忆引擎和开放式的接口设计，使得记忆系统能够随着事实的变化自我更新。适用于需要构建透明且可控的人工智能记忆系统的场景，如聊天机器人、虚拟助手等。","2026-06-11 04:05:17","CREATED_QUERY"]