前两篇关于遗忘机制和记忆生命周期的文章:
可能会想:怎么让 PowerMem 这东西在我的电脑上跑起来?

今天这篇文章,就是 PowerMem 的操作手册,不讲原理只讲步骤。从服务端部署到客户端接入,一条链路从头串到尾,每一步都有明确的命令和截图。
这个手册的目标是:你按照顺序做完(或者让你的通用 Agent 根据文章内容做完),就能拥有一套部署好的 PowerMem 服务端,以及一个已经接好记忆层的 Claude Code 或 OpenClaw 客户端。

一、Linux 服务端:安装、配置、启动
1.1 环境要求
- Python >= 3.11
- pip 或 uv(推荐 uv,更快)
1.2 安装
# 从 PyPI 安装(生产环境推荐)
uv pip install "powermem[cli,server,mcp,seekdb]"
# 或从源码安装(开发环境)
git clone https://github.com/oceanbase/powermem.git
cd powermem
uv pip install -e ".[cli,server,mcp,seekdb]"
各 extras 说明:
| extras | 作用 |
|---|---|
cli |
pmem 命令行工具 |
server |
powermem-server HTTP API 服务器 |
mcp |
MCP 协议支持 |
seekdb |
内嵌向量数据库(零配置,无需单独部署数据库) |
1.3 初始化配置
# 交互式生成 .env 配置文件
pmem config init

也可手动创建 .env 文件。以下是我的配置:
# DATABASE_PROVIDER=oceanbase
DATABASE_PROVIDER=sqlite
SQLITE_PATH=/root/data/package/powermem/powermem.db
# LLM_PROVIDER=anthropic
LLM_PROVIDER=openai
# ANTHROPIC_LLM_BASE_URL=https://token-plan-cn.xiaomimimo.com/anthropic
# LLM_API_KEY=tp-xxx
# LLM_MODEL=mimo-v2.5-pro
LLM_API_KEY=xxx
LLM_MODEL=step-3.7-flash
OPENAI_LLM_BASE_URL=https://api.stepfun.com/step_plan/v1
EMBEDDING_PROVIDER=siliconflow
EMBEDDING_API_KEY=sk-xx
EMBEDDING_MODEL=BAAI/bge-m3
# OCEANBASE_EMBEDDING_MODEL_DIMS=1024
# EMBEDDING_DIMS=1024
注意事项:
SQLITE_PATH必须是完整的数据库文件路径(如/root/data/powermem/powermem.db),不能只是文件夹路径- 使用 seekdb 时,
EMBEDDING_DIMS或OCEANBASE_EMBEDDING_MODEL_DIMS是必填项,维度要和嵌入模型匹配 - 硅基流动的嵌入模型如果不走 seekdb,可以不配
EMBEDDING_DIMS
1.4 启动服务器
powermem-server --host 0.0.0.0 --port 8848
参数说明:
| 参数 | 默认值 | 说明 |
|---|---|---|
--host |
0.0.0.0 |
监听地址 |
--port |
8848 |
监听端口 |
--workers |
4 |
工作进程数(内嵌存储自动降为 1) |
--reload |
关闭 | 开发模式,代码变更自动重载 |
--log-level |
INFO |
日志级别 |
首次启动会比较慢(60-120 秒),因为需要初始化 seekdb 和下载嵌入模型。
验证启动成功:
curl http://localhost:8848/api/v1/system/health
# 返回 {"status":"ok"} 即成功
二、Dashboard 使用

2.1 访问 Dashboard
服务器启动后,浏览器打开:
http://<服务器IP>:8848/dashboard/


2.2 Dashboard 功能
| 页面 | 路径 | 功能 |
|---|---|---|
| 总览 | /dashboard/ |
记忆总量、增长趋势、质量指标、系统健康 |
| 记忆管理 | /dashboard/memories |
浏览、搜索、查看、删除记忆 |
| 用户画像 | /dashboard/user-profile |
查看用户级别的聚合画像 |
| 设置 | /dashboard/settings |
配置 API Key(仅在服务端开启认证时需要) |
2.3 开启认证(可选)
在 .env 中添加:
POWERMEM_SERVER_AUTH_ENABLED=true
POWERMEM_SERVER_API_KEYS=your-secret-key
重启服务器后,所有 API 请求需携带 X-API-Key 头。Dashboard 的 Settings 页面可配置 Key。
2.4 API 文档
服务器自带 Swagger 文档:
http://<服务器IP>:8848/docs
三、本地 Claude Code 连接 PowerMem 服务器

以下步骤在本地 Windows/Mac 操作,服务器在远程 Linux。
3.1 在 Dashboard 获取 API Key
如果服务端开启了认证,先在 Dashboard Settings 页面拿到 API Key。

3.2 通过 Marketplace 安装插件
在 Claude Code 中依次执行:
/plugin marketplace add oceanbase/powermem
/plugin install memory-powermem@powermem
/reload-plugins
如果网络不通,也可以从源码安装:
claude --plugin-dir /path/to/powermem/apps/claude-code-plugin
3.3 初始化插件
/memory-powermem:init
这会自动创建插件本地虚拟环境、安装 powermem 后端、启动管理服务器。
3.4 Windows 用户:修复 hooks 命令
init 生成的 hooks.json 默认使用 sh,Windows 需要改为 PowerShell。

hooks 文件位置:
C:\Users\<你的用户名>\.claude\plugins\cache\powermem\memory-powermem\0.1.0\hooks\hooks.json
将所有 sh "${CLAUDE_PLUGIN_ROOT}/hooks/run-hook.sh" 替换为:
"command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"${CLAUDE_PLUGIN_ROOT}/hooks/run-hook.ps1\""
完整示例:
json
{
"hooks": {
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"${CLAUDE_PLUGIN_ROOT}/hooks/run-hook.ps1\"",
"timeout": 120
}
]
}
],
"SessionEnd": [
{
"hooks": [
{
"type": "command",
"command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"${CLAUDE_PLUGIN_ROOT}/hooks/run-hook.ps1\""
}
]
}
],
"PostCompact": [
{
"matcher": "auto|manual",
"hooks": [
{
"type": "command",
"command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"${CLAUDE_PLUGIN_ROOT}/hooks/run-hook.ps1\""
}
]
}
]
}
}
3.5 配置连接远程服务器
如果 powermem-server 不在本机(比如在远程 Linux),需要配置环境变量。
方式一:在 Claude Code 的 settings.json 中配置(推荐):
编辑 ~/.claude/settings.json,添加:
json
{
"env": {
"POWERMEM_BASE_URL": "http://<服务器IP>:8848",
"POWERMEM_API_KEY": "your-secret-key"
}
}

方式二:在启动 Claude Code 前设置环境变量:
export POWERMEM_BASE_URL=http://<服务器IP>:8848
export POWERMEM_API_KEY=your-secret-key
3.6 重启 Claude Code
重新启动 Claude Code 即可生效。
3.7 验证
记忆落库时机:
- 用户发送消息时:自动检索相关记忆,注入到上下文中(默认开启)
- 执行 /compact 时:将压缩摘要保存为记忆
- 退出会话时:将完整会话记录保存为记忆
验证方法:结束一个会话后,在 Dashboard 的 Memories 页面查看是否有新记忆写入。
四、OpenClaw 安装 PowerMem 并连接落库

4.1 安装插件
直接跟 OpenClaw 说:
通过 memory-powermem 帮我安装一下 powermem 记忆引擎插件
或手动执行:
openclaw plugins install memory-powermem
4.2 配置嵌入模型
阿里云百炼的 coding plan 没有嵌入模型,需要手动编辑 powermem 环境文件:
找到插件数据目录下的 powermem.env(通常在 ~/.openclaw/ 下),添加/修改嵌入模型相关配置:
EMBEDDING_PROVIDER=siliconflow
EMBEDDING_API_KEY=sk-xxx
EMBEDDING_MODEL=BAAI/bge-m3
EMBEDDING_DIMS=1024

根据实际使用的嵌入服务调整 provider、model 和维度。


4.3 连接远程服务器(可选)
默认 CLI 模式使用本地 pmem 存储,无需额外服务器。
如果需要共享团队的 PowerMem 后端,在 OpenClaw 中配置 requestConfig.memory_db 指向服务器地址:
http://<服务器IP>:8848
4.4 验证
- 让 OpenClaw 记住一句话:
帮我记住测试探针:dragonfruit-zx9 - 新开对话,让 OpenClaw 回忆:
dragonfruit-zx9 是什么 - 能正确召回即表示工作正常

PowerMem 记忆如何"自进化"?
PowerMem 不止是一个存储桶------它是一个持续进化的记忆层。每条记忆从捕获到落库再到被检索,经历一个完整的生命周期:
- 捕获(Capture) :用户每次发消息,PowerMem 自动检索相关记忆注入上下文;执行
/compact时,压缩摘要自动落为记忆;会话结束时,完整会话记录被保存 - 存储(Store):文本经过 Embedding 向量化,与元数据一同落入 SQLite / OceanBase 数据库,被持久化保存
- 检索(Retrieve):用户提问时,语义向量检索找到最相关的 Top-K 条记忆,注入到上下文中增强 Agent 回答质量
- 进化(Evolve):重复记忆被去重合并,用户画像持续更新,过期记忆淘汰、新记忆增强
这个四步循环让 Agent 越用越聪明,越用越懂你。
常用命令速查

| 操作 | 命令 |
|---|---|
| 安装 | uv pip install "powermem[cli,server,mcp,seekdb]" |
| 初始化配置 | pmem config init |
| 启动服务器 | powermem-server --host 0.0.0.0 --port 8848 |
| 健康检查 | curl http://localhost:8848/api/v1/system/health |
| Dashboard | http://localhost:8848/dashboard/ |
| API 文档 | http://localhost:8848/docs |