Memory-powermem install-memory-powermem-full
OpenClaw full guide skill (id and folder name install-memory-powermem-full). Step-by-step install and configuration for the PowerMem long-term memory plugin—options, tools, troubleshooting—and bundled reference docs. Complements the quickstart skill install-memory-powermem; either can be used alone.
git clone https://github.com/ob-labs/memory-powermem
T=$(mktemp -d) && git clone --depth=1 https://github.com/ob-labs/memory-powermem "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/install-memory-powermem-full" ~/.claude/skills/ob-labs-memory-powermem-install-memory-powermem-full && rm -rf "$T"
skills/install-memory-powermem-full/SKILL.mdPowerMem Memory — Full Guide
Skill id / OpenClaw folder name:
install-memory-powermem-full. For the shortest install-only path, use install-memory-powermem (quickstart).
This skill folder includes supplementary docs:
- powermem-intro.md — What PowerMem is, features, vs file-based memory.
- config-reference.md — Config keys, state dir, commands.
How It Works
- Auto-Capture: After a conversation, the plugin sends valuable user/assistant text to PowerMem (optional infer / intelligent extraction).
- Auto-Recall: Before each turn, it searches memories and can inject a
block into context.<relevant-memories>
When User Asks to Install
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
deploys the plugin and OpenClaw entries; with install.sh
it may still create -y
as an optional template—it does not run ~/.openclaw/powermem/powermem.env
pip install powermem. That file is not required if the user relies on OpenClaw-injected LLM + default SQLite.
-
Check OpenClaw
. If missing:openclaw --version
,npm install -g openclaw
.openclaw onboard
Ensure
is set (e.g.agents.defaults.model
) and the corresponding provider / API key works for normal chat—the plugin reuses that for PowerMem whenopenai/gpt-4o-mini
is true (default).useOpenClawModel -
Check Python (required before venv / pip)
PowerMem needs Python 3.10 or newer. Run
first; the minor version must be ≥ 10 (e.g. 3.10.x, 3.12.x). Optional strict check:python3 --versionpython3 -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.
) for all commands below instead ofpython3.12
.python3 -
Install PowerMem (CLI — default)
- Venv recommended: e.g.
.python3 -m venv ~/.openclaw/powermem/.venv && source ~/.openclaw/powermem/.venv/bin/activate
.pip install powermem- Defaults: Plugin injects SQLite at
and LLM + embedding env vars derived from OpenClaw. Typical<OpenClaw stateDir>/powermem/data/powermem.db
isstateDir
unless the user uses another instance (~/.openclaw
,OPENCLAW_STATE_DIR
).--workdir - Optional
: Path to a PowerMemenvFile
for extra tuning. If the file exists,.env
loads it; OpenClaw-derived vars still override the same keys whenpmem
is true.useOpenClawModel
: Disables injection; user must supply a complete PowerMem config viauseOpenClawModel: false
and/or environment variables..env- Verify:
. If the gateway does not inherit the venv, setpmem --version
to the absolute path ofpmemPath
.pmem
- Venv recommended: e.g.
-
HTTP path (enterprise / shared server)
- Same Python 3.10+ requirement as CLI; then
,pip install powermem
in server working directory,.env
.powermem-server --host 0.0.0.0 --port 8000 - Check:
.curl -s http://localhost:8000/api/v1/system/health
- Same Python 3.10+ requirement as CLI; then
-
Install the plugin
(oropenclaw plugins install /path/to/memory-powermem
from npm), or runopenclaw plugins install memory-powermem
from the memory-powermem repo — see One-click plugin deploy (install.sh
) below for curl / flags /install.sh
.--workdir -
Configure OpenClaw
CLI — defaults (recommended, matches plugin defaults):
Do not set
unless you need a file. Example:envFileopenclaw 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 --jsonCLI — optional
override file:.envopenclaw 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
is true.)useOpenClawModelHTTP:
openclaw config set plugins.entries.memory-powermem.config.mode http openclaw config set plugins.entries.memory-powermem.config.baseUrl http://localhost:8000Optional:
if the server uses auth.apiKey -
Verify
Restart gateway, then in another terminal:openclaw plugins listConfirm 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.
openclaw ltm health openclaw ltm add "I prefer coffee in the morning" openclaw ltm search "coffee"
One-click plugin deploy (install.sh
)
install.shRequires: OpenClaw installed (
openclaw --version). The script does not run pip install powermem; ensure pmem is on PATH when the gateway runs or set pmemPath.
Default: configures plugin CLI mode. With
, it may still create -y
as an optional template — not required if you use OpenClaw-injected LLM + default SQLite.~/.openclaw/powermem/powermem.env
curl -fsSL https://raw.githubusercontent.com/ob-labs/memory-powermem/main/install.sh | bash
From a local clone (no download):
cd /path/to/memory-powermem && bash install.sh
Non-interactive (defaults: CLI, may seed env file):
curl -fsSL https://raw.githubusercontent.com/ob-labs/memory-powermem/main/install.sh | bash -s -y
Target a different OpenClaw instance:
curl -fsSL https://raw.githubusercontent.com/ob-labs/memory-powermem/main/install.sh | bash -s -- --workdir ~/.openclaw-second
What the script does: resolve OpenClaw workdir → choose or default cli / http and paths → for CLI, optionally seed
powermem.env if missing → deploy plugin to <workdir>/extensions/memory-powermem → npm install there → set OpenClaw config (plugins.enabled, slots.memory, entries.memory-powermem).
After (CLI):
openclaw gateway, then openclaw ltm health — you usually do not need to edit powermem.env when using plugin defaults.
After (HTTP): start PowerMem with a proper
.env in the server cwd, then start the gateway.
Copy a skill into OpenClaw
Copy one skill you want into
~/.openclaw/skills/<skill-name>/ (folder name should match the skill id). The quickstart and full-guide skills are independent.
Quickstart (
) — Linux / macOS:install-memory-powermem
mkdir -p ~/.openclaw/skills/install-memory-powermem cp /path/to/memory-powermem/skills/install-memory-powermem/SKILL.md \ ~/.openclaw/skills/install-memory-powermem/
Full guide (
) — Linux / macOS: copy all install-memory-powermem-full
.md files in that folder.
mkdir -p ~/.openclaw/skills/install-memory-powermem-full cp /path/to/memory-powermem/skills/install-memory-powermem-full/*.md \ ~/.openclaw/skills/install-memory-powermem-full/
Full guide — Windows (PowerShell):
New-Item -ItemType Directory -Force "$env:USERPROFILE\.openclaw\skills\install-memory-powermem-full" Copy-Item "path\to\memory-powermem\skills\install-memory-powermem-full\*.md" ` "$env:USERPROFILE\.openclaw\skills\install-memory-powermem-full\"
Multi-instance OpenClaw (--workdir
/ OPENCLAW_STATE_DIR
)
--workdirOPENCLAW_STATE_DIRInstall script:
curl -fsSL https://raw.githubusercontent.com/ob-labs/memory-powermem/main/install.sh | bash -s -- --workdir ~/.openclaw-second
Manual config for that instance:
OPENCLAW_STATE_DIR=~/.openclaw-second openclaw config set plugins.slots.memory memory-powermem
Plugin data and default SQLite follow that instance’s
stateDir.
Available Tools
| Tool | Description |
|---|---|
| memory_recall | Search long-term memories. Params: , optional , . |
| memory_store | Save text; optional infer. Params: , optional . |
| memory_forget | Delete by or by search. |
Configuration (summary)
| Field | Default | Description |
|---|---|---|
| | or . |
| — | Required for HTTP; if omitted and set → HTTP. |
| — | HTTP server auth. |
| — | Optional CLI (used only if file exists). |
| | CLI binary path. |
| | Inject LLM/embedding from OpenClaw + default SQLite under state dir. |
| | Max memories per recall. |
| | Min score 0–1. |
/ / | | Auto memory pipeline and infer on add. |
Daily Operations
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.
Troubleshooting
| Symptom | Fix |
|---|---|
| Python < 3.10 | Run step 2 first; upgrade Python or use / for venv and . Do not skip the version check. |
fails | Confirm Python 3.10+, clean venv. See PowerMem issues. |
not found | Activate venv or set to the full binary. |
unhealthy (CLI) | Confirm and provider keys in OpenClaw; gateway version should expose plugin + . Or set and a full . |
| Health OK but add/search errors | Embedding/LLM mismatch for your provider—see gateway logs; try optional PowerMem from .env.example. |
| Wrong SQLite file / instance | Data is under that OpenClaw instance’s ( / ). |
| HTTP mode | Server running, correct, if enabled. |
: no , or status is not loaded | Re-run plugin install; set true and = ; restart gateway; run again until memory-powermem shows loaded. |
| Add/search returns 500 or empty | Check PowerMem / gateway logs; often missing or mismatched / in when is false or overrides are incomplete. |