Skip to main content

Intelligent Memory System - Persistent memory layer for LLM applications

Project description

PowerMem

Persistent memory for AI agents and applications.

PyPI version PyPI downloads Python 3.11+ License Apache 2.0 GitHub Discord

English · 中文 · 日本語

PowerMem combines vector, full-text, and graph retrieval with LLM-driven memory extraction and Ebbinghaus-style time decay. It supports multi-agent isolation, user profiles, and multimodal signals (text, image, audio).

Use the Python SDK, CLI (pmem), or the HTTP API Server (with Dashboard at /dashboard/). An MCP server is also available. All share one .env. See .env.example and the configuration guide.

OpenClaw integration

OpenClaw can use PowerMem as long-term memory via the memory-powermem plugin.

openclaw plugins install memory-powermem

Requires the OpenClaw CLI to be installed.

PowerMem with OpenClaw

Quick start

Prerequisites: Copy .env.example to .env and set LLM and embedding credentials (the default database is SQLite; OceanBase can use embedded SeekDB — see .env.example). Alternatively, after installing PowerMem, run pmem config init to create .env interactively. See Getting started.

Install

pip install powermem

SDK example

Run from a directory that contains your configured .env:

from powermem import Memory, auto_config

config = auto_config()
memory = Memory(config=config)

memory.add("User likes coffee", user_id="user123")

results = memory.search("user preferences", user_id="user123")
for result in results.get("results", []):
    print(f"- {result.get('memory')}")

More patterns: Getting Started.

CLI (pmem, 1.0+)

pmem memory add "User prefers dark mode" --user-id user123
pmem memory search "preferences" --user-id user123

Interactive REPL (run separately; exits with exit or Ctrl+D):

pmem shell

Full reference: CLI usage.

HTTP API Server and Dashboard

Uses the same .env as the SDK. Dashboard is served under /dashboard/.

powermem-server --host 0.0.0.0 --port 8000

Use Docker or Compose as needed — see API Server and Docker & deployment.

Entry points

Mode Typical commands Docs
CLI pmem memory add / pmem memory search; pmem shell CLI usage
HTTP + Dashboard powermem-server --host 0.0.0.0 --port 8000; image oceanbase/powermem-server:latest; from repo root: docker-compose -f docker/docker-compose.yml up -d API Server
MCP Server (optional)

Requires uv and a configured .env in the working directory (see MCP Server).

uvx powermem-mcp sse

Also supports stdio and streamable-http.

Benchmark (LOCOMO)

PowerMem LOCOMO Benchmark Metrics

Compared to stuffing full conversation context on LOCOMO:

Dimension Result
Accuracy 78.70% vs. 52.9%
Retrieval p95 latency 1.44s vs. 17.12s
Tokens ~0.9k vs. ~26k

Capabilities

Interfaces and toolingPython integration; CLI (pmem); HTTP API / Dashboard; MCP (optional); IDE apps (VS Code / Cursor, Claude Code, and more).

Memory pipeline and retrievalSmart extraction and updates; Ebbinghaus-style decay; Hybrid retrieval (vector / full-text / graph); Sub stores and routing.

Profiles and multi-agentUser profile; Shared / isolated memory and scopes.

MultimodalText, image, audio.

Docs

  • Getting started — install, .env, and first Memory usage
  • Configuration — settings model, storage backends, environment variables
  • Architecture — major components, storage layout, and retrieval flow
  • API & services — REST, MCP, HTTP server, and Python-facing APIs
  • CLIpmem commands, interactive shell, backup and migration
  • Multi-agent — scopes, isolation, and cross-agent sharing
  • Integrations — LangChain and other framework wiring
  • Docker & deployment — images, Compose, and running the API server
  • Development — local setup, tests, and contributing

More topics: Sub stores, guides index.

Examples

  • Scenarios & notebooks — walkthroughs by use case (basic usage, multimodal, forgetting curve, and more)
  • LangChain sample — medical support chatbot (LangChain + PowerMem + OceanBase)
  • LangGraph sample — customer service bot (LangGraph + PowerMem + OceanBase)
  • IDE apps — VS Code extension and Claude Code plugin (link PowerMem to Cursor, Copilot, etc.)

Release highlights

Version Date Notes
1.1.0 2026-04-02 Embedded SeekDB for OceanBase storage without a separate database service; IDE integrations (VS Code extension, Claude Code plugin)
1.0.0 2026-03-16 CLI (pmem): memory ops, config, backup/restore/migrate, interactive shell, completions; Web Dashboard
0.5.0 2026-02-06 Unified SDK/API config (pydantic-settings); OceanBase native hybrid search; memory query + list sorting; user-profile language customization
0.4.0 2026-01-20 Sparse vectors for hybrid retrieval; profile-based query rewriting; schema upgrade & migration tools
0.3.0 2026-01-09 Production HTTP API Server; Docker
0.2.0 2025-12-16 Advanced profiles; multimodal (text/image/audio)
0.1.0 2025-11-14 Core memory + hybrid retrieval; LLM extraction; forgetting curve; multi-agent; OceanBase/PostgreSQL/SQLite; graph search

Support

License

Apache License 2.0 — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

powermem-1.1.1.tar.gz (661.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

powermem-1.1.1-py3-none-any.whl (773.7 kB view details)

Uploaded Python 3

File details

Details for the file powermem-1.1.1.tar.gz.

File metadata

  • Download URL: powermem-1.1.1.tar.gz
  • Upload date:
  • Size: 661.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for powermem-1.1.1.tar.gz
Algorithm Hash digest
SHA256 7b1fa00fba9798efa60d9cf836d79ebe711bf8597f292b6c2083d206bb265d4c
MD5 3a3f79cc47604355eae3962d45f9a401
BLAKE2b-256 230c885bf54e8b3c4fa0478020f5379d6525249207e32d6868804a4abd25da01

See more details on using hashes here.

Provenance

The following attestation bundles were made for powermem-1.1.1.tar.gz:

Publisher: publish.yml on oceanbase/powermem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file powermem-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: powermem-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 773.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for powermem-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 576b7246b4cc7162ade8dc55ce6d67b31187597c1b5ad3912aaad73f8946ec18
MD5 3d666c79f67f45fc6a4cecd541fc8319
BLAKE2b-256 1300b08f041d10c74c5a808f5b97edb7274105fa2574afc2b8ed9b7051721d9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for powermem-1.1.1-py3-none-any.whl:

Publisher: publish.yml on oceanbase/powermem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page