Smart Memory v3.1 Skill
Smart Memory v3.1 is a local transcript-first cognitive memory runtime with revision-aware derivation, pinned context lanes, entity-aware retrieval, and bounded prompt composition.
Core runtime:
- Node adapter:
smart-memory/index.js
- Local API:
server.py
- System facade:
cognitive_memory_system.py
- Canonical store:
storage/sqlite_memory_store.py plus transcripts/
Core Capabilities
- transcript-first ingest and per-message transcript logging
- typed long-term memory including
preference, identity, and task_state
- evidence-backed revision lifecycle decisions and supersession chains
- explicit core and working memory lanes
- entity-aware retrieval with lightweight relationship hints
- deterministic rebuild from transcript history
- hot-memory compatibility projection for working context
- strict token-bounded prompt composition with trace metadata
- inspection endpoints for transcripts, evidence, history, lanes, and eval runs
OpenClaw Integration
Use the native wrapper package in skills/smart-memory-openclaw/.
Primary exports:
createSmartMemorySkill(options)
createOpenClawHooks({ skill, agentIdentity, summarizeWithLLM })
The wrapper remains stable while the backend is now transcript-first under the hood.
Tool Interface
memory_search
- purpose: query relevant memory through
/retrieve
- supports
query, type, limit, min_relevance, and optional conversation_history
- health-checks the backend before execution
memory_commit
- purpose: persist important facts, decisions, beliefs, goals, or session summaries
- health-checks the backend before execution
- serializes commits to protect local embedding throughput
- queues failed commits in
.memory_retry_queue.json
memory_insights
- purpose: surface pending background insights
- health-checks the backend before execution
- calls
/insights/pending
API Endpoints
Core endpoints:
GET /health
POST /ingest
POST /retrieve
POST /compose
POST /run_background
GET /memories
GET /memory/{memory_id}
GET /insights/pending
Transcript and inspection endpoints:
POST /transcripts/message
GET /transcripts/{session_id}
GET /transcript/message/{message_id}
GET /memory/{memory_id}/evidence
POST /revise
GET /memory/{memory_id}/history
GET /memory/{memory_id}/active
GET /memory/{memory_id}/chain
GET /lanes/{lane_name}
POST /lanes/{lane_name}/{memory_id}
DELETE /lanes/{lane_name}/{memory_id}
POST /rebuild
POST /rebuild/{session_id}
GET /eval/suite/{suite_name}
GET /eval/case/{case_id}
Operating guidance
- query memory before speaking when continuity matters
- do not claim prior context unless retrieval actually supports it
- transcripts are canonical, memories are derived
- treat SQLite as canonical runtime storage
- treat JSON as offline export or backup only
- keep CPU-only PyTorch policy intact
Deprecated
Legacy vector-memory CLI artifacts remain deprecated and should not be revived.
1---2name: smart-memory3description: Persistent local transcript-first memory for OpenClaw via a Node adapter and FastAPI engine.4---56# Smart Memory v3.1 Skill78Smart Memory v3.1 is a local transcript-first cognitive memory runtime with revision-aware derivation, pinned context lanes, entity-aware retrieval, and bounded prompt composition.910Core runtime:11- Node adapter: `smart-memory/index.js`12- Local API: `server.py`13- System facade: `cognitive_memory_system.py`14- Canonical store: `storage/sqlite_memory_store.py` plus `transcripts/`1516## Core Capabilities1718- transcript-first ingest and per-message transcript logging19- typed long-term memory including `preference`, `identity`, and `task_state`20- evidence-backed revision lifecycle decisions and supersession chains21- explicit core and working memory lanes22- entity-aware retrieval with lightweight relationship hints23- deterministic rebuild from transcript history24- hot-memory compatibility projection for working context25- strict token-bounded prompt composition with trace metadata26- inspection endpoints for transcripts, evidence, history, lanes, and eval runs2728## OpenClaw Integration2930Use the native wrapper package in `skills/smart-memory-openclaw/`.3132Primary exports:33- `createSmartMemorySkill(options)`34- `createOpenClawHooks({ skill, agentIdentity, summarizeWithLLM })`3536The wrapper remains stable while the backend is now transcript-first under the hood.3738### Tool Interface39401. `memory_search`41- purpose: query relevant memory through `/retrieve`42- supports `query`, `type`, `limit`, `min_relevance`, and optional `conversation_history`43- health-checks the backend before execution44452. `memory_commit`46- purpose: persist important facts, decisions, beliefs, goals, or session summaries47- health-checks the backend before execution48- serializes commits to protect local embedding throughput49- queues failed commits in `.memory_retry_queue.json`50513. `memory_insights`52- purpose: surface pending background insights53- health-checks the backend before execution54- calls `/insights/pending`5556## API Endpoints5758Core endpoints:59- `GET /health`60- `POST /ingest`61- `POST /retrieve`62- `POST /compose`63- `POST /run_background`64- `GET /memories`65- `GET /memory/{memory_id}`66- `GET /insights/pending`6768Transcript and inspection endpoints:69- `POST /transcripts/message`70- `GET /transcripts/{session_id}`71- `GET /transcript/message/{message_id}`72- `GET /memory/{memory_id}/evidence`73- `POST /revise`74- `GET /memory/{memory_id}/history`75- `GET /memory/{memory_id}/active`76- `GET /memory/{memory_id}/chain`77- `GET /lanes/{lane_name}`78- `POST /lanes/{lane_name}/{memory_id}`79- `DELETE /lanes/{lane_name}/{memory_id}`80- `POST /rebuild`81- `POST /rebuild/{session_id}`82- `GET /eval/suite/{suite_name}`83- `GET /eval/case/{case_id}`8485## Operating guidance8687- query memory before speaking when continuity matters88- do not claim prior context unless retrieval actually supports it89- transcripts are canonical, memories are derived90- treat SQLite as canonical runtime storage91- treat JSON as offline export or backup only92- keep CPU-only PyTorch policy intact9394## Deprecated9596Legacy vector-memory CLI artifacts remain deprecated and should not be revived.