This skill folder includes supplementary docs:
<relevant-memories> block into context.Recommended order (TO C): (1) OpenClaw installed and default model + provider auth configured. (2) Python 3.10+ verified ( python3 --version) before venv / pip install. (3) pip install powermem and pmem available to the gateway (PATH or pmemPath). (4) Install the memory-powermem plugin. No powermem.env is required for the default path.
The curl install.sh deploys the plugin and OpenClaw entries; with -y it may still create ~/.openclaw/powermem/powermem.env as an optional template—it does not run pip install powermem. That file is not required if the user relies on OpenClaw-injected LLM + default SQLite.
Check OpenClaw
openclaw --version. If missing: npm install -g openclaw, openclaw onboard.
Ensure agents.defaults.model is set (e.g. openai/gpt-4o-mini) and the corresponding provider / API key works for normal chat—the plugin reuses that for PowerMem when useOpenClawModel is true (default).
Check Python (required before venv / pip)
PowerMem needs Python 3.10 or newer. Run python3 --version first; the minor version must be ≥ 10 (e.g. 3.10.x, 3.12.x). Optional strict check:
bash
python3 -c "import sys; assert sys.version_info >= (3, 10), 'Need Python 3.10+'; print(sys.version.split()[0], 'OK')"
If it fails: upgrade Python or use a specific binary (e.g. python3.12) for all commands below instead of python3.
Install PowerMem (CLI — default)
python3 -m venv ~/.openclaw/powermem/.venv && source ~/.openclaw/powermem/.venv/bin/activate.pip install powermem.<OpenClaw stateDir>/powermem/data/powermem.db and LLM + embedding env vars derived from OpenClaw. Typical stateDir is ~/.openclaw unless the user uses another instance ( OPENCLAW_STATE_DIR, --workdir).envFile: Path to a PowerMem .env for extra tuning. If the file exists, pmem loads it; OpenClaw-derived vars still override the same keys when useOpenClawModel is true.useOpenClawModel: false: Disables injection; user must supply a complete PowerMem config via .env and/or environment variables.pmem --version. If the gateway does not inherit the venv, set pmemPath to the absolute path of pmem.HTTP path (enterprise / shared server)
pip install powermem, .env in server working directory, powermem-server --host 0.0.0.0 --port 8000.curl -s http://localhost:8000/api/v1/system/health.Install the plugin
openclaw plugins install /path/to/memory-powermem, or install.sh from INSTALL.md.
Configure OpenClaw
CLI — minimal (recommended, matches plugin defaults):
Do not set envFile unless you need a file. Example:
bash
openclaw config set plugins.enabled true
openclaw config set plugins.slots.memory memory-powermem
openclaw config set plugins.entries.memory-powermem.config.mode cli
openclaw config set plugins.entries.memory-powermem.config.pmemPath pmem
openclaw config set plugins.entries.memory-powermem.config.useOpenClawModel true --json
openclaw config set plugins.entries.memory-powermem.config.autoCapture true --json
openclaw config set plugins.entries.memory-powermem.config.autoRecall true --json
openclaw config set plugins.entries.memory-powermem.config.inferOnAdd true --json
CLI — optional .env override file:
bash
openclaw config set plugins.entries.memory-powermem.config.envFile "$HOME/.openclaw/powermem/powermem.env"
(Only matters if that path exists; OpenClaw can still override LLM keys when useOpenClawModel is true.)
HTTP: bash
openclaw config set plugins.entries.memory-powermem.config.mode http
openclaw config set plugins.entries.memory-powermem.config.baseUrl http://localhost:8000
Optional: apiKey if the server uses auth.
Verify
Restart gateway, then in another terminal: bash
openclaw plugins list
Confirm memory-powermem is listed and its status is loaded. If it is missing or not loaded, fix install/slot config and restart the gateway before running LTM checks. bash
openclaw ltm health
openclaw ltm add "I prefer coffee in the morning"
openclaw ltm search "coffee"
ToolDescriptionmemory_recallSearch long-term memories. Params: query, optional limit, scoreThreshold.memory_storeSave text; optional infer. Params: text, optional importance.memory_forgetDelete by memoryId or by query search.
FieldDefaultDescriptionmode``cli``cli or http.baseUrl—Required for HTTP; if mode omitted and baseUrl set → HTTP.apiKey—HTTP server auth.envFile—Optional CLI .env (used only if file exists).pmemPath``pmemCLI binary path.useOpenClawModel``trueInject LLM/embedding from OpenClaw + default SQLite under state dir.recallLimit``5Max memories per recall.recallScoreThreshold``0Min score 0–1.autoCapture / autoRecall / inferOnAdd``trueAuto memory pipeline and infer on add.
bash
openclaw gateway
openclaw ltm health
openclaw ltm add "Some fact to remember"
openclaw ltm search "query"
openclaw config set plugins.slots.memory none
openclaw config set plugins.slots.memory memory-powermem
Restart the gateway after slot or plugin config changes.
SymptomFixPython < 3.10Run step 2 first; upgrade Python or use python3.11 / python3.12 for venv and pip install. Do not skip the version check.pip install powermem failsConfirm Python 3.10+, clean venv. See PowerMem issues.pmem not foundActivate venv or set pmemPath to the full binary.openclaw ltm health unhealthy (CLI)Confirm agents.defaults.model and provider keys in OpenClaw; gateway version should expose plugin config + runtime.modelAuth. Or set useOpenClawModel: false and a full envFile.Health OK but add/search errorsEmbedding/LLM mismatch for your provider—see gateway logs; try optional PowerMem .env from .env.example.Wrong SQLite file / instanceData is under that OpenClaw instance’s stateDir ( OPENCLAW_STATE_DIR / --workdir).HTTP modeServer running, baseUrl correct, apiKey if enabled.openclaw plugins list: no memory-powermem, or status is not loadedRe-run plugin install; set plugins.enabled true and plugins.slots.memory = memory-powermem; restart gateway; run openclaw plugins list again until memory-powermem shows loaded.