自进化的 Agent 记忆层 —— PowerMem 简易操作手册

前两篇关于遗忘机制和记忆生命周期的文章:

可能会想:怎么让 PowerMem 这东西在我的电脑上跑起来?

image_02

今天这篇文章,就是 PowerMem 的操作手册,不讲原理只讲步骤。从服务端部署到客户端接入,一条链路从头串到尾,每一步都有明确的命令和截图。

这个手册的目标是:你按照顺序做完(或者让你的通用 Agent 根据文章内容做完),就能拥有一套部署好的 PowerMem 服务端,以及一个已经接好记忆层的 Claude Code 或 OpenClaw 客户端。

image-20260625173557136

一、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

image-20260625173636344

也可手动创建 .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_DIMSOCEANBASE_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 使用

image-20260625173654324

2.1 访问 Dashboard

服务器启动后,浏览器打开:

http://<服务器IP>:8848/dashboard/

image-20260625173716814

image-20260625173732210

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 服务器

image-20260625173749317

以下步骤在本地 Windows/Mac 操作,服务器在远程 Linux。

3.1 在 Dashboard 获取 API Key

如果服务端开启了认证,先在 Dashboard Settings 页面拿到 API Key。

image-20260625173804081

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。

image-20260625173821996

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\""

完整示例:

{
  "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,添加:

{
  "env": {
    "POWERMEM_BASE_URL": "http://<服务器IP>:8848",
    "POWERMEM_API_KEY": "your-secret-key"
  }
}

image-20260625173849753

方式二:在启动 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 并连接落库

image-20260625173904484

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

image-20260625174004822

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

image-20260625174035786

image-20260625174048186

4.3 连接远程服务器(可选)

默认 CLI 模式使用本地 pmem 存储,无需额外服务器。

如果需要共享团队的 PowerMem 后端,在 OpenClaw 中配置 requestConfig.memory_db 指向服务器地址:

http://<服务器IP>:8848

4.4 验证

  1. 让 OpenClaw 记住一句话:帮我记住测试探针:dragonfruit-zx9
  2. 新开对话,让 OpenClaw 回忆:dragonfruit-zx9 是什么
  3. 能正确召回即表示工作正常

image-20260625174104972

PowerMem 记忆如何"自进化"?

PowerMem 不止是一个存储桶——它是一个持续进化的记忆层。每条记忆从捕获到落库再到被检索,经历一个完整的生命周期:

  1. 捕获(Capture):用户每次发消息,PowerMem 自动检索相关记忆注入上下文;执行 /compact 时,压缩摘要自动落为记忆;会话结束时,完整会话记录被保存
  2. 存储(Store):文本经过 Embedding 向量化,与元数据一同落入 SQLite / OceanBase 数据库,被持久化保存
  3. 检索(Retrieve):用户提问时,语义向量检索找到最相关的 Top-K 条记忆,注入到上下文中增强 Agent 回答质量
  4. 进化(Evolve):重复记忆被去重合并,用户画像持续更新,过期记忆淘汰、新记忆增强

这个四步循环让 Agent 越用越聪明,越用越懂你。

常用命令速查

image-20260625174119836

操作 命令
安装 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

posted @ 2026-06-25 17:51  knqiufan  阅读(48)  评论(1)    收藏  举报