ASM v5.1 is a super memory platform for coding agents: conversation memory + project memory + retrieval/control plane, delivered through a single package and a CLI-first install flow.
@mrc2204/agent-smart-memo provides a project-aware memory layer for OpenClaw plugin/runtime usage, while keeping one shared memory/config model.
Today ASM provides:
- conversation/runtime continuity
- structured slot memory
- semantic retrieval
- graph memory
- project registry + onboarding
- repo-aware indexing / reindexing
- lineage-aware engineering context retrieval
- CLI-based platform install flow for OpenClaw (plus optional OpenCode MCP bridge bootstrap)
This means ASM is best understood as:
a shared memory platform for coding agents, with OpenClaw as the supported plugin/runtime target
ASM has 3 practical layers.
Used for runtime continuity:
memory_searchmemory_storememory_slot_*memory_graph_*- auto-capture / auto-recall
Used for engineering context:
- project registry
- repo root / repo remote identity
- project aliasing
- Jira linkage
- onboarding + index triggers
- lifecycle-aware retrieval boundaries
Used to assemble better context for coding agents:
- semantic recall
- lexical/project filtering
- file/symbol/task lineage
- deterministic project-aware retrieval
- platform install / bootstrap flows
If you only remember one sentence, remember this:
ASM is a super memory platform for coding agents: conversation memory + project memory + runtime delivery in one package.
Primary target today.
Includes:
- OpenClaw plugin entry
- tools / hooks / runtime wiring
- CLI bootstrap flow
- shared ASM config integration
Install:
asm install openclawUses the same package and shared config, with MCP/local runtime wiring.
Install:
asm install opencodeThere are currently two supported install flows.
Install the CLI globally first:
npm install -g @mrc2204/agent-smart-memoThen initialize shared config:
asm init-setup --yesThis creates or updates:
~/.config/asm/config.json
Then install runtime/integration target(s):
asm install openclaw
asm install opencodeIf you only want the OpenClaw plugin directly, install it through OpenClaw:
openclaw plugins install @mrc2204/agent-smart-memoThen continue with OpenClaw-side config/bootstrap as needed.
The command below is not the recommended primary flow right now:
npx @mrc2204/agent-smart-memo installUse the two supported flows above until CLI bootstrap is fully separated/standardized.
ASM now uses a shared config model.
~/.config/asm/config.json
Runtime/core fields such as:
projectWorkspaceRootstorage.slotDbDirllmBaseUrlllmApiKeyllmModelembedBaseUrlembedBackendembedModelembedDimensionsautoCaptureEnabledautoCaptureMinConfidencecontextWindowMaxTokenssummarizeEveryActions
Compatibility fields (migration/export/rollback tooling window):
qdrantHostqdrantPortqdrantCollectionqdrantVectorSize
Primary wiki-first runtime memory paths should not be treated as Qdrant-dependent.
Bootstrap-safe behavior (Phase 2 bootstrap lane):
- Fresh environments can run capture flow even when distill/LLM extraction capability is unavailable.
- Auto-capture keeps SlotDB runtime-state updates active and applies raw-first fallback capture into wiki
raw/live/briefings. - Deterministic briefing generation remains enabled so startup context stays stable across repeated bootstrap runs.
Isolated continuation distill behavior (Phase 2 continuation-safe lane):
- Auto-capture distill extraction now runs in the isolated continuation lane natively (
extractWithIsolatedContinuation) without spawning an external worker process. - Runtime boundary is explicit 3-layer decomposition:
- Extractor layer (
runExtractorLayerWithLLM+ pattern fallback): candidate signals only. - Distill layer (
runDistillLayer): refine/select/drop/promote hints from candidates. - Apply / Memory arrangement layer (
DistillApplyUseCase.execute): deterministic writes into SlotDB + wiki lanes (raw,drafts,live,briefings) with loop guards.
- Extractor layer (
- Structured distill contract is supported with optional fields:
draft_updates,briefing_updates,log_entries,promotion_hintsin addition toslot_updates,slot_removals,memories. - Native continuation fallback translation is continuation-side: the continuation returns a structured fallback contract (deterministic fallback extraction + diagnostic
log_entries) rather than throwing in the hook path. - Host auto-capture path is boundary-only: build context window -> invoke isolated continuation -> pass returned contract into deterministic apply (no host-side distill mode inference/noise routing).
- Forensic safeguard: same-session direct
sendEventSystemMessage/heartbeatnowdistill primitive is not used as primary path because auto-capture is attached toagent_endand loop risk is high.
Platform config should stay minimal.
For OpenClaw, ~/.openclaw/openclaw.json should mainly keep:
enabled- required runtime fields:
projectWorkspaceRootslotDbDirwikiDir
Example OpenClaw plugin entry:
{
"enabled": true,
"config": {
"projectWorkspaceRoot": "/Users/your-user/Work/projects",
"slotDbDir": "/Users/your-user/.openclaw/agent-memo",
"wikiDir": "/Users/your-user/Work/projects/agent-smart-memo/memory/wiki"
}
}qmdRoot stays internal and is derived from wikiDir at runtime.
npm install -g @mrc2204/agent-smart-memo
asm init-setup --yes
asm install openclaw --yesopenclaw plugins install @mrc2204/agent-smart-memonpm install
npm run build
node bin/asm.mjs init-setup --yes
node bin/asm.mjs install openclaw --yesnpm run test:asm-cli
npx tsx tests/test-init-openclaw.ts
npm run build:pluginASM supports operator-friendly project onboarding.
/asm_project_index <repo_url>
- resolves repo path/identity when possible
- supports local path import without forced clone
- can reuse an already-registered remote/project identity
- can attach Jira mapping
- can trigger background index flow
Typical path:
- operator runs
/asm_project_index <repo_url> - preview shows resolved repo + onboarding choices
- operator confirms
- ASM bridges into register / tracker-link / index flow
Relevant areas in the repo include:
- project registry
- onboarding command flows
- background indexing hooks
- lineage-aware retrieval tests
memory_searchmemory_storememory_slot_getmemory_slot_setmemory_slot_deletememory_slot_listmemory_graph_*
- project register / list / inspect flows
- project tracker linking
- project indexing / reindexing
- lifecycle-aware retrieval gating
- hybrid lineage context retrieval
- shared config bootstrap
- OpenClaw install flow
- OpenCode install flow
- build/package/publish targets
npm run buildnpm run build:plugin
npm run build:core
npm run build:allnpm run package:plugin
npm run package:corenpm run pack:plugin
npm run pack:corenpm run test:asm-cli
npx tsx tests/test-init-openclaw.tsnpm run test:plugin
npm run build:pluginnpx tsx tests/test-project-registry.ts
npx tsx tests/test-project-hybrid-lineage.tssrc/
adapters/
openclaw/
core/
contracts/
usecases/
ingest/
db/
hooks/
services/
shared/
tools/
bin/
scripts/
docs/
artifacts/
tests/
A good public-facing description for this repo is:
Agent Smart Memo is a project-aware super memory platform for coding agents, shipped as one package with CLI-first installation for OpenClaw and optional OpenCode MCP integration.
It helps agents:
- remember conversation/runtime state
- store and retrieve structured + semantic knowledge
- onboard and map projects
- index and reindex repos
- assemble better engineering context
- reuse one shared config and one shared memory core across runtimes
MIT © mrc2204