Skip to content

Releases: oceanbase/powercontext

PowerContext v0.0.1

Choose a tag to compare

@Teingi Teingi released this 13 Aug 11:46
ce14647

PowerContext v0.0.1

PowerContext is PowerMem 2.0, the upgraded version of PowerMem. It turns human-agent work into durable,
project-scoped context so that a new agent session can recover decisions, outcomes, current state, and next steps
without relying on chat history alone.

This initial release establishes the first end-to-end PowerContext workflow: capture useful work context, store it
with provenance, recall it within a bounded project scope, and hand work over to another session or agent.

Highlights

  • Durable project context: remember, search, revise, and retire project-scoped Memory entries with stable
    citations and revision history.
  • Agent handoffs: preserve outcomes, current state, disposition, evidence, and next actions so work can continue
    across sessions.
  • Codex integration: install the PowerContext Codex plugin to recall relevant context and perform explicit Memory
    operations while coding. Server failures fail open and do not block normal Codex work.
  • Local-first setup: start with a persistent SQLite database and a loopback Server without configuring an
    inference provider. Optional inference enables extraction and generation workflows.
  • Multiple integration surfaces: use the Core SDK, asynchronous Python client, CLI, HTTP API, or MCP tools.
  • Governed context lifecycle: review Experience and Skill candidates before they become available for recall or
    export.
  • Operations and diagnostics: health and readiness checks, a web dashboard, Prometheus-compatible metrics, and
    OpenTelemetry tracing support.

Install

PowerContext requires Python 3.11 or later and supports Python versions below 4.0. Install the CLI and local Server
with uv:

uv tool install "powercontext[cli,server]==0.0.1"

To connect PowerContext to Codex, install the plugin from the matching release tag:

powercontext setup codex --source oceanbase/powercontext --ref v0.0.1
powercontext server run

In another terminal, verify the installation:

powercontext doctor
powercontext doctor codex

For a Python application that only needs the asynchronous client:

uv add "powercontext[client]==0.0.1"

Important Notes

  • v0.0.1 is the first PowerContext package release. Public APIs, configuration, and persisted schemas may evolve
    as the project moves beyond its initial release.
  • The default Server binds to 127.0.0.1:8000 and stores data in the operating system's user data directory.
  • Explicit Memory operations work without an inference provider. Model-backed Memory extraction, reranking,
    Experience or Skill generation, and generated Handoff workflows require the corresponding inference configuration.
  • Treat recalled context as untrusted evidence, and do not store credentials or other secrets in Memory.

Learn More

Thank you for trying PowerContext. We welcome feedback on installation, agent handoffs, context quality, and the
developer experience.

v1.1.7

Choose a tag to compare

@github-actions github-actions released this 30 Jun 07:59
8277667

What's Changed

Full Changelog: v1.1.6...v1.1.7

PowerMem 1.1.6

Choose a tag to compare

@wayyoungboy wayyoungboy released this 29 Jun 18:32
a180924

What's Changed

New Contributors

Full Changelog: v1.1.5...v1.1.6

PowerMem 1.1.5

Choose a tag to compare

@wayyoungboy wayyoungboy released this 23 Jun 16:29
9648cd5

What's Changed

Full Changelog: v1.1.4...v1.1.5

PowerMem 1.1.4

Choose a tag to compare

@wayyoungboy wayyoungboy released this 13 Jun 19:20

What's Changed

New Contributors

Full Changelog: v1.1.3...v1.1.4

v1.1.3

Choose a tag to compare

@github-actions github-actions released this 08 Jun 17:18
8216062

What's Changed

New Contributors

Full Changelog: v1.1.2...v1.1.3

v1.1.2

Choose a tag to compare

@github-actions github-actions released this 08 Jun 08:26

What's Changed

  • build(deps-dev): bump vite from 7.3.1 to 7.3.2 in /dashboard by @dependabot[bot] in #896
  • build(deps): bump lodash from 4.17.21 to 4.18.1 in /docs/website by @dependabot[bot] in #897
  • feat: Add IDE integrations by @Teingi in #365
  • docs: rewrite readme by @PsiACE in #374
  • Fix SQLite filters key SQL injection (CWE-89) by @WSL0809 in #899
  • Action Repair by @Ripcord55 in #900
  • Fix #350: [Enhancement]: When some fields in UserProfile are NULL, th... by @JiwaniZakir in #902
  • build(deps): bump follow-redirects from 1.15.11 to 1.16.0 in /docs/website by @dependabot[bot] in #903
  • Add ob441-reg and sparse case by @Ripcord55 in #905
  • feat(examples): Add MoonBit client example for PowerMem HTTP API by @tonyfettes in #906
  • fixed(core): OpenAI LLM by @Teingi in #901
  • Dashboard Regression Cases by @Ripcord55 in #909
  • fix(intelligence): store memory_type in metadata JSON column and enab… by @wayyoungboy in #910
  • chore: bump version to 1.1.1 by @wayyoungboy in #912
  • feat(config): add env var support for custom extraction/update/import… by @wayyoungboy in #911
  • fix(i18n): add missing zh-CN translations for theme switch component by @wayyoungboy in #918
  • fix(dashboard): remove incorrect no-data toast description on refresh by @wayyoungboy in #916
  • fix(config): resolve sparse_embedder provider from dict on MemoryConf… by @wayyoungboy in #917
  • Fixed the issue where a TypeError was thrown when using MemoryGraph due to GraphStoreFactory refusing to accept a complete configuration object. by @wayyoungboy in #919
  • build(deps): bump @babel/plugin-transform-modules-systemjs from 7.28.5 to 7.29.4 in /docs/website by @dependabot[bot] in #924
  • build(deps): bump qs and body-parser in /docs/website by @dependabot[bot] in #928
  • fix(server): load .env before embedded-storage worker detectio by @Teingi in #920
  • build(deps): bump postcss from 8.5.6 to 8.5.14 in /docs/website by @dependabot[bot] in #929
  • fix(ci): skip scheduled workflows on forked repositories by @wayyoungboy in #944
  • feat(deps): split cli/server/mcp/seekdb into optional extras by @wayyoungboy in #931
  • build(deps): bump webpack-dev-server from 5.2.2 to 5.2.4 in /docs/website by @dependabot[bot] in #932
  • build(deps): bump qs and express in /docs/website by @dependabot[bot] in #934
  • fix(intelligence): unify memory-type classification thresholds by @knqiufan in #936
  • fix(logging): SDK file logging, trace context, and gzip rotation by @wayyoungboy in #950
  • fix(logging): complete logging system gaps across SDK, server, CLI, a… by @wayyoungboy in #952
  • fix(user_memory): prevent LLM no-op explanation from overwriting user profile by @lightzt99 in #951
  • feat(embedder): zero-config startup with built-in default embedder; split .env.example (closes #940 #941 #949 #948 #) by @happyhust in #945
  • docs(integrations): add per-client setup guides and unify MCP default… by @happyhust in #954
  • fix(intelligence): unify review-schedule formulas and stored-query behavior by @knqiufan in #938
  • build(deps-dev): bump vitest from 3.2.4 to 4.1.0 in /dashboard by @dependabot[bot] in #953
  • fix(intelligence): use per-memory decay rate for Ebbinghaus decay by @knqiufan in #956
  • fix(deps): make seekdb optional for CentOS 7 compatible installs by @wayyoungboy in #964
  • Support custom default headers for OpenAI-compatible providers by @wayyoungboy in #965
  • fix(claude-code-plugin): improve SETUP.md + fix Anthropic temperature/top_p conflict by @lightzt99 in #961
  • Feature/dashboard documentation 959 by @happyhust in #962
  • fix(ci): isolate regression embedding dimensions by @wayyoungboy in #967
  • fix(llm): wire base_url into AnthropicLLM and ZaiLLM clients by @lightzt99 in #968
  • fix(ci): keep optional dependencies from breaking regression server by @wayyoungboy in #970
  • fix(claude-code-plugin): improve SETUP.md — dashboard question, English translations, Python interpreter detection by @lightzt99 in #969
  • fix(cli): keep config show section headers for empty optional groups by @wayyoungboy in #974
  • Add Claude Code marketplace install flow by @wayyoungboy in #977

New Contributors

Full Changelog: v1.1.0...v1.1.2

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 08 Jun 08:24

What's Changed

New Contributors

Full Changelog: v1.1.0...v1.1.1

v1.1.0

Choose a tag to compare

@Teingi Teingi released this 02 Apr 07:37
98b4942

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 powermem

Embedded 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 .env

For 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=1536

Configure 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_path and 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.
    • pyseekdb dependency for embedded use.

Changed

  • CLI (pmem config)

    • Prompts and help text updated to explain embedded seekdb options alongside remote OceanBase.
  • OceanBase vector store

    • update merges 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 loading POWERMEM_ENV_FILE during dotenv initialization.
    • Memory list: consistent ID truncation in non-interactive output; ellipsis for truncated fields in interactive list.
  • Embeddings

    • Ollama: ollama_base_url is accepted in Ollama embedding configuration.

Build & tooling

  • CI: workflow to export Docker image packages.

Upgrade notes

  1. If you use OceanBase, review .env.example for embedded vs remote connection settings (ob_path, host, etc.).
  2. For embedded seekdb, use the synchronous Memory API; see the async memory docs for the AsyncMemory limitation.
  3. Python 3.11+ remains the supported baseline (as documented in the README).

Full Changelog: v1.0.2...v1.1.0

v1.0.2

Choose a tag to compare

@Teingi Teingi released this 23 Mar 11:30
4731beb

What's Changed

  • Powermem CLI Cases by @Ripcord55 in #369
  • fix(cli): honor --env-file by loading POWERMEM_ENV_FILE in dotenv step by @Teingi in #371

Full Changelog: v1.0.1...v1.0.2