PowerMem 1.1.0
Release date: April 2, 2026
Overview
This minor release focuses on embedded seekdb support for OceanBase-backed deployments, so you can run PowerMem against a local embedded database without a separate database server. It also includes CLI and embedding configuration fixes.
Quick start: from install to embedded seekdb
A minimal runnable path: no Docker, no separate database service—only Python, .env, and your app or CLI.
1. Install
pip install powermemEmbedded seekdb depends on pyseekdb, which is pulled in with powermem; you do not need an extra pip install for it.
2. Configure .env (embedded mode)
Copy the template and edit as needed:
cp .env.example .envFor OceanBase storage with embedded seekdb, the essentials are: do not configure a remote host, and point at a local data directory:
# OceanBase vector storage
DATABASE_PROVIDER=oceanbase
# Embedded mode: leave remote host empty (or unset)
OCEANBASE_HOST=
# Local data directory — same idea as ob_path in config
OCEANBASE_PATH=./seekdb_data
OCEANBASE_PORT=2881
OCEANBASE_USER=root@sys
OCEANBASE_PASSWORD=your_password
OCEANBASE_DATABASE=powermem
OCEANBASE_COLLECTION=memories
# Vector dimension must match your embedding model (example is a common size; adjust for your embedder)
OCEANBASE_EMBEDDING_MODEL_DIMS=1536Configure LLM and embedding per the README (for example LLM_PROVIDER, LLM_API_KEY, EMBEDDER_*). The embedder output dimension and OCEANBASE_EMBEDDING_MODEL_DIMS must match. You can also run pmem config init for an interactive wizard that explains embedded seekdb vs remote OceanBase.
Added
- Embedded seekdb (OceanBase)
- Configure a local data directory via
ob_pathand use embedded mode when no remote host is required. - Automatic handling to ensure the target database exists before connecting.
- Safer defaults for small embedded datasets (e.g. HNSW index behavior where IVF-family indexes are unsuitable).
- Synchronous update/delete paths for embedded storage to avoid stability issues from concurrent access.
pyseekdbdependency for embedded use.
- Configure a local data directory via
Changed
-
CLI (
pmem config)- Prompts and help text updated to explain embedded seekdb options alongside remote OceanBase.
-
OceanBase vector store
updatemerges payloads with existing rows more reliably and reduces accidental loss of fields (including sparse embedding-related data).
Fixed
-
CLI
--env-file: respects custom env files by loadingPOWERMEM_ENV_FILEduring dotenv initialization.- Memory list: consistent ID truncation in non-interactive output; ellipsis for truncated fields in interactive list.
-
Embeddings
- Ollama:
ollama_base_urlis accepted in Ollama embedding configuration.
- Ollama:
Build & tooling
- CI: workflow to export Docker image packages.
Upgrade notes
- If you use OceanBase, review
.env.examplefor embedded vs remote connection settings (ob_path, host, etc.). - For embedded seekdb, use the synchronous
MemoryAPI; see the async memory docs for theAsyncMemorylimitation. - Python 3.11+ remains the supported baseline (as documented in the README).
Full Changelog: v1.0.2...v1.1.0