Repository navigation
PowerContext v1.5.1
Not only memory, but a full story.
English
PowerContext v1.5.1 makes Memory evidence easier to inspect and deployments easier to operate. This release adds versioned Source authority declarations, precise citation positions, an optional monitoring stack, and expanded Desktop observations. It also improves Memory processing and code-context reuse, strengthens the alpha Gateway, adds subscription-backed generation, and simplifies installation and Agent integration.
Trace Memory back to its evidence
- Retain Source authority and verification declarations alongside exact Atomic Memory revisions. Trusted adapters and deployment configuration can supply these declarations; model output and Source text cannot assign themselves trust. Evidence remains inspectable after restarts, registration changes, and projection rebuilds.
- Preserve neutral
untrusted/unknownvalues for historical records without accepted declarations. The declarations do not change retrieval scores or grant access, and upgrading does not retroactively attest old evidence. - Add optional citation locators for Source journal positions or exact text line ranges, with an optional heading path. Preserve them through Artifact lineage, Handoffs, HTTP/MCP reads, and portable export/restore. Existing references without locators remain valid; historical locations are not guessed or backfilled.
See Sources and capture.
Operate with connected metrics, logs, and traces
- Add an opt-in Docker Compose monitoring stack with Prometheus, Grafana, Loki, Tempo, OpenTelemetry Collector, and Phoenix, including dashboards, alerts, retention settings, and runbooks.
- Manage it with
powercontext observability up,status,check, anddown, or useconnectto prepare integration with an existing platform. Start the Server with--observabilityto load the selected telemetry configuration. - Inspect service health, Scope activity, processing progress, and provider calls, with links to related logs and traces when available. Preserve Worker failure evidence through policy blocks, and expose clearer Topic Memory failure stages, reasons, and budget diagnostics.
The managed stack requires Docker Compose and the tracing-otlp extra. Monitoring is optional; operational telemetry excludes prompts, evidence bodies, model responses, and credentials. See the monitoring guide and processing diagnostics.
Less repeated processing, more faithful Memory
- With built-in prompts, compare earlier candidates from the same Source window only when they meet the related-memory threshold. Candidates with no related evidence can skip reconciliation; vector profiles incur additional embedding work for this selection.
- Reject automatic revisions that repeat the existing kind and text, and recover from exhausted correction attempts for that specific rejection without indefinitely blocking later Sources. Preserve supported explicit effective dates and event times during extraction and reconciliation, including dates adjacent to Chinese text.
- Reuse prepared code evidence with per-file validation. Editing an unrelated file does not invalidate reuse; changing or removing a cited file requires fresh context. Gateway users can opt in with
PC_GATEWAY_INJECTION_CODE=on, with at most one refresh per request when a replayed context becomes stale. - Use native minimum-term filtering on supported OceanBase backends to reduce query construction and filtering overhead. Retain complete-word coverage on unsupported engines and queries that require the compatibility path. Read Task Outcome receipts by exact reference instead of scanning unrelated results.
See reconciliation changes, temporal evidence, code reuse, and OceanBase retrieval. Performance gains depend on the workload and retrieval path.
Desktop: guided first use and clearer observations
- Guide users from Overview through connection setup, explicit activation, exact Scope selection, and the Memory workspace. Keep recovery actions and operation availability visible throughout the flow.
- Add an Observation area for Runtime state, current-Scope inventory and usage, and this session's requests and actions. Show bounded diagnostics with explicit refresh, reset, and safe preview/copy controls.
- Separate lightweight connection identity checks from explicit readiness probes. Users with Scope permissions can keep using authorized Memory operations when they lack Server observation permission; routine connection checks do not probe models.
- Add versioned candidate assembly and a separate publication workflow that binds installers, Server resources, compatibility records, and checksums to platform qualification evidence.
Desktop remains a preview. Signed distribution and installed-platform qualification are separate from these workflow changes. The first-use guide connects to an independently prepared Server; in-app installation, repair, and service management remain unavailable. See Desktop.
PowerContext Gateway: protocol compatibility and operating limits
- Preserve supported native Chat fields and developer messages, accept Responses string input, and replay tool-argument, reasoning-summary, and citation events after release checks.
- Require
PC_GATEWAY_API_KEYfor non-loopback listeners and authenticate model requests before reading their bodies. Server authentication also rejects unauthenticated requests before body consumption. - Check the final rendered request against Core's advertised capacity and the current 1 MiB ceiling. Cap buffered provider responses at 1 MiB; oversized responses are withheld without automatic resend.
- Export bounded, content-free JSONL call evidence to stdout, with operational tracing on stderr. Distinguish provider attempts, reported usage, release authorization, and HTTP-framework observations; retain unknown usage when it cannot be established.
Gateway remains alpha and buffers complete responses before replaying them to clients. It does not provide live token streaming. The shared lifecycle records deadline and cancellation intent; automatic end-to-end deadline enforcement and disconnect cancellation remain separate work. Gateway JSONL also needs its own collector configuration. See the Gateway guide and call evidence.
Reuse existing Codex and GitHub Copilot subscriptions
- Configure
openai-codex:<model>with an existing file-backed Codex CLI login, orgithub-copilot:<model>with an existing OAuth token and a Chat Completions model. - Use these providers for Memory, Experience, and Profile generation. Codex credential renewal stays with the CLI; Server and Workers read its latest credentials for each request without consuming refresh tokens or modifying the login file.
Topic Memory, Dream, and built-in inference protection are not supported with these subscription providers. Credentials must be available to the Server; a client-side login is not transferred automatically. See provider setup and limits.
Broader Agent integration and capture controls
- Add MiniMax Code native plugin installation, configuration, upgrades, and diagnostics through the existing CLI workflow.
- Update the Bub integration to
bub[app]>=0.6.1,<0.7.0and its native message types. Addpowercontext-dshnpm packaging and release automation, and support DSH Desktop's V4 message-source contract. After npm publication, DSH users can install the package by name without building it locally. - Let Codex and OpenCode disable prompt-time recall independently of prompt capture, so Gateway-owned injection can coexist with plugin tools and capture. Automatic recall remains enabled by default.
- Preserve explicit Memory kinds, report Scope-resolution failures more clearly, and share standard Skills across native hosts. Remove redundant adapter trust notices from several prompt paths while retaining Server-provided trust guidance and context markers.
See MiniMax Code, DSH delivery, and the recall switches for Codex and OpenCode.
Simpler installation and safer administration
- Add Bash and PowerShell installers that reuse or provision Python and uv, install the latest stable or an exact release, select local/client dependencies, and set up selected Agent integrations at the matching release tag. Windows support remains experimental.
- Add explicit ownership migration for deployments moving from disabled Access control to enforcement. Administrators can preview missing ownership, assign it without changing Artifact revisions, and check background-Principal permissions before switching.
- Improve SQLite connection-worker cleanup, reject blank Scope IDs at HTTP boundaries, and reject Source collection Runtimes on unsupported non-Linux platforms. Improve website discovery and Markdown exports, with new bilingual integration and evaluation articles.
See installation and ownership migration.
Install and upgrade
After the package is published:
uv tool install --force "powercontext[cli,server]==1.5.1"Retain the extras your deployment uses, such as code, seekdb, or tracing-otlp. Upgrade Server, Python SDK, CLI, MCP, and Agent integrations together, then reopen Agent sessions.
Compatibility changes:
- Existing managed databases require explicit migration through
v1_5_0_004. Revisionsv1_5_0_002–v1_5_0_004add retained Source evidence, its rebuildable Atomic Memory projection, and citation locators. They preserve existing identities and history without backfilling trust or positions; locator metadata does not require re-embedding Atomic Memory. Schema revision identifiers are independent of the package version. - Older binaries reject portable archives containing the new
artifact_source_locatorrecord kind. Source plugins addingLocatedTextEvidencemust increment their Definition version; existingTextEvidenceschemas remain supported. - Review Gateway listeners, request/response sizes, and log collectors for the key requirement, 1 MiB model-body limits, and JSONL stdout output. For Gateway-owned injection, set
POWERCONTEXT_CODEX_PROMPT_RECALL=falseorPOWERCONTEXT_OPENCODE_PROMPT_RECALL=falsein the corresponding plugin environment; capture is configured separately. - Bub 0.4 and 0.5 are no longer supported by the updated plugin. SDK callers injecting HTTP clients for MiniMax embeddings or Jev reranking must use
httpx2.AsyncClientafter the Pydantic AI upgrade.
Stop writers, back up the complete database and configuration, inspect the migration plan, and restart only after full Server verification succeeds. The automatic installed-release acceptance matrix still covers twelve 1.3.0 source/backend/configuration combinations; intermediate releases are not automatically certified, and the registered 1.4.0 bridge remains outside that matrix. Follow the database migration guide for the exact installed version and backend.
Database upgrade support is limited to source-version, target-artifact, backend and configuration combinations that pass full Server acceptance.
中文
PowerContext v1.5.1 让记忆证据更容易核查,让部署运行更容易观察和维护。本次新增版本化的 Source 权威性声明、精确引用位置、可选监控栈和更完整的 Desktop 运行视图,同时改进记忆处理与代码上下文复用,增强 alpha Gateway,支持复用已有订阅进行生成,并简化安装和 Agent 接入。
从 Memory 追溯到原始证据
- 随精确的 Atomic Memory 版本保留 Source 权威性与验证状态声明。声明由可信适配器或部署配置提供,模型输出和 Source 正文不能为自己赋予信任。服务重启、注册配置变化或投影重建后,仍可查看当时接受的证据。
- 没有已接受声明的历史记录保持中性的
untrusted/unknown状态。声明不改变检索评分,不授予访问权限,升级也不会追溯性地为旧证据背书。 - 引用可携带 Source 日志序号或精确文本行范围,并可附带标题路径。这些位置会保留在 Artifact 血缘、Handoff、HTTP/MCP 读取和可移植归档中。没有位置的既有引用继续有效,不猜测或回填历史位置。
参见 Source 与采集。
用关联的指标、日志与链路观察运行状态
- 新增可选的 Docker Compose 监控栈,包含 Prometheus、Grafana、Loki、Tempo、OpenTelemetry Collector 和 Phoenix,并提供仪表盘、告警、保留策略与运维手册。
- 通过
powercontext observability up、status、check、down管理,或用connect准备接入已有监控平台。Server 启动时加入--observability,加载选定的遥测配置。 - 查看服务健康、Scope 活动、处理进度和模型调用,在数据可用时跳转到关联日志与链路。Worker 经历策略阻塞后仍保留此前的失败证据;Topic Memory 提供更明确的失败阶段、原因与预算诊断。
受管监控栈需要 Docker Compose 和 tracing-otlp 扩展,按需启用。运行遥测不采集 Prompt、证据正文、模型响应和凭据。参见监控指南与处理失败诊断。
减少重复处理,更完整地保留记忆事实
- 使用内置 Prompt 时,同一 Source 窗口中较早的候选记忆也需满足相关性阈值才参与比较。没有相关证据的候选可跳过协调;向量配置会为这一步筛选增加 Embedding 工作。
- 拒绝种类和正文均未变化的自动修订;针对这一特定错误,在纠正次数耗尽后进行恢复,避免长期阻塞后续 Source。提取与协调保留受支持的明确生效日期和事件时间,包括紧邻中文正文的日期。
- 代码上下文可携带复用证明,并逐文件重新验证。无关文件的修改不使复用失效;被引用文件发生变化或被删除时,需要重新准备上下文。Gateway 可通过
PC_GATEWAY_INJECTION_CODE=on显式启用,每个请求遇到过期回放时最多重新准备一次。 - 在支持的 OceanBase 后端使用原生最小词项匹配过滤,减少查询构造和过滤开销。不支持的引擎及需走兼容路径的查询继续使用完整词项覆盖检查。Task Outcome 回执按精确引用读取,减少无关结果扫描。
参见协调优化、时间证据、代码复用和 OceanBase 检索。性能收益取决于工作负载和检索路径。
Desktop:首次使用引导与更清楚的运行视图
- 从 Overview 引导用户完成连接配置、显式激活、精确 Scope 选择,再进入记忆工作区。各步骤展示恢复入口与当前可用操作。
- 新增 Observation 区域,集中查看 Runtime 状态、当前 Scope 的存量与用量,以及本次会话的请求和操作。诊断记录有明确容量限制,支持手动刷新、重置和安全摘要预览、复制。
- 将轻量连接身份检查与显式就绪探测分开。用户缺少 Server 观察权限时,仍可使用其 Scope 权限允许的记忆操作;普通连接检查不探测模型。
- 新增版本化候选产物组装与独立发布流程,将安装包、Server 资源、兼容性记录和校验值绑定到各平台的验收证据。
Desktop 仍为预览。 签名分发与安装平台验收需独立完成。首次使用引导连接的是单独准备好的 Server;应用内安装、修复与服务管理尚未开放。参见 Desktop。
PowerContext Gateway:协议兼容与运行限制
- 保留受支持的原生 Chat 字段和 developer 消息,接受 Responses 字符串输入,在放行检查后回放工具参数、推理摘要与引用事件。
- 非回环地址监听必须配置
PC_GATEWAY_API_KEY,模型请求在读取正文前完成认证。Server 同样在消费请求正文前拒绝未认证请求。 - 按 Core 声明的容量和当前 1 MiB 上限检查最终渲染请求。模型响应缓冲上限为 1 MiB;超过限制时不交付响应正文,也不自动重发。
- 向 stdout 输出有界、无正文的 JSONL 调用证据,运行日志使用 stderr。分别记录模型尝试、已报告用量、放行授权和 HTTP 框架观察;无法确认的用量保持未知。
Gateway 仍为 alpha,完整缓冲响应后再向客户端回放,不提供实时逐 Token 输出。 共享生命周期记录截止时间和取消意图;端到端超时强制执行及断连取消仍属后续工作。Gateway JSONL 也需单独配置采集。参见 Gateway 指南与调用证据。
复用已有 Codex 与 GitHub Copilot 订阅
- 使用
openai-codex:<model>接入保存在文件中的 Codex CLI 登录凭据,或使用github-copilot:<model>接入已有 OAuth Token 和支持 Chat Completions 的模型。 - 可用于 Memory、Experience 和 Profile 生成。Codex 凭据仍由 CLI 续期;Server 与 Worker 每次请求读取最新凭据,不消耗刷新令牌,也不修改登录文件。
这些订阅提供方暂不支持 Topic Memory、Dream 和内置推理保护。凭据必须对 Server 可用,客户端登录不会自动传到服务端。参见提供方配置与限制。
扩展 Agent 接入与采集控制
- 通过既有 CLI 工作流安装、配置、升级和诊断 MiniMax Code 原生插件。
- Bub 集成升级到
bub[app]>=0.6.1,<0.7.0,适配其原生消息类型。新增powercontext-dshnpm 打包与发布自动化,适配 DSH Desktop 的 V4 消息来源协议;完成 npm 发布后,用户可直接通过包名安装,无需本地构建。 - Codex 和 OpenCode 可独立关闭提示词阶段的自动召回,保留插件工具及按配置启用的采集,让 Gateway 负责上下文注入。自动召回默认仍开启。
- 保留显式指定的 Memory 种类,更清楚地报告 Scope 解析失败,并在原生 Host 间共享标准 Skill。移除多个适配器重复注入的信任提示,同时保留 Server 返回的信任说明和上下文标记。
参见 MiniMax Code、DSH 交付,以及 Codex 和 OpenCode 的召回开关。
简化安装,完善管理操作
- 新增 Bash 与 PowerShell 安装脚本,复用或安装 Python 和 uv,选择最新稳定版或指定版本,区分本地与客户端依赖,并按对应 Release 标签安装选定的 Agent 集成。Windows 支持仍为试验性。
- 为从关闭 Access 控制切换到强制执行的部署提供显式所有权迁移。管理员可预览缺失的归属,在不改变 Artifact 版本的前提下补齐所有权,并提前检查后台 Principal 的权限。
- 改进 SQLite 连接工作线程清理,在 HTTP 边界拒绝空白 Scope ID,并在不支持的非 Linux 平台明确拒绝 Source 采集 Runtime。完善网站搜索可发现性和 Markdown 导出,新增双语集成与评测文章。
安装与升级
包发布后执行:
uv tool install --force "powercontext[cli,server]==1.5.1"保留当前部署使用的 code、seekdb、tracing-otlp 等扩展,一起升级 Server、Python SDK、CLI、MCP 与 Agent 集成,然后重新打开 Agent 会话。
兼容性变化:
- 已有受管数据库需显式迁移至
v1_5_0_004。v1_5_0_002–v1_5_0_004增加保留的 Source 证据、可重建的 Atomic Memory 证据投影和引用位置。迁移保留既有身份与历史,不回填信任或位置;引用位置元数据不要求重新生成 Atomic Memory 向量。Schema 修订标识与软件包版本相互独立。 - 旧二进制程序会拒绝包含新
artifact_source_locator记录类型的可移植归档。Source 插件采用LocatedTextEvidence时需提升 Definition 版本;既有TextEvidenceSchema 继续受支持。 - 检查 Gateway 监听配置、请求与响应大小、日志采集配置,适配密钥要求、1 MiB 模型正文限制和 JSONL stdout 输出。由 Gateway 负责注入时,在对应插件环境中设置
POWERCONTEXT_CODEX_PROMPT_RECALL=false或POWERCONTEXT_OPENCODE_PROMPT_RECALL=false;采集独立配置。 - 更新后的 Bub 插件不再支持 Bub 0.4 和 0.5。Pydantic AI 升级后,通过 SDK 为 MiniMax Embedding 或 Jev 重排注入 HTTP 客户端时,需使用
httpx2.AsyncClient。
迁移前停止写入,完整备份数据库与配置,检查迁移计划;整体 Server 验证通过后再重启。自动真实安装包升级验收矩阵仍覆盖从 1.3.0 出发的十二个来源、后端与配置组合,不自动认证所有中间发行版;已登记的 1.4.0 桥接仍在该矩阵之外。请按实际安装版本和后端遵循数据库迁移指南。
What's Changed
- fix(integrations): report a coded 404 as an invalid response in WorkBuddy and OpenCode by @Fengzdadi in #2322
- test(dsh): supplement runtime-context recall coverage and docs by @knqiufan in #2387
- perf(work): read outcome receipts by exact reference by @PsiACE in #2401
- fix(integrations): preserve explicit Memory kinds by @hireview001 in #2349
- docs: update README benchmark comparison by @hidb4ai in #2450
- build(deps): bump Swatinem/rust-cache from 2.9.2 to 2.9.3 by @dependabot[bot] in #2381
- build(deps): bump actions/setup-python from 7.0.0 to 7.1.0 by @dependabot[bot] in #2382
- build(deps): bump actions/upload-artifact from 7.0.1 to 7.0.2 by @dependabot[bot] in #2383
- feat(desktop): add This session diagnostics view by @sunlight798 in #2344
- feat(desktop):add Linux disgnostics integration by @CX33071 in #2343
- docs(blog): add a post on scoring memory systems fairly by @Fengzdadi in #2434
- fix(access): support ownership migration when enabling enforcement by @happy-v587 in #2304
- feat(memory): persist versioned Source evidence and neutral Atomic Memory projection by @MaoMengww in #2004
- feat(website): improve SEO, Markdown exports, and community links by @PsiACE in #2454
- feat(opencode): add a setting that turns prompt-time recall off by @Fengzdadi in #2455
- feat(desktop): visualize current-Scope inventory and usage by @WuShang-d in #2220
- fix(ci): preserve recovered macOS DMG diagnostics by @DongYao0 in #2393
- feat(codex): add a setting that turns prompt-time recall off by @Fengzdadi in #2453
- ci(seekdb): distribute native migrations across three shards by @AlexStocks in #2458
- fix(sqlite): drain failed connection workers by @AlexStocks in #2468
- ci(oceanbase): allow full-server cases five minutes by @frf12 in #2484
- refactor(plugins): share standard Skills across native hosts by @PsiACE in #2380
- feat(desktop): add Runtime state observations by @knqiufan in #2474
- fix(source): reject collect Runtimes on non-Linux platforms by @ctxloop in #2480
- feat(observability): add managed monitoring stack and diagnostics by @happy-v587 in #2388
- test(sqlite): require a captured shutdown waiter by @AlexStocks in #2496
- feat(gateway): establish shared managed-call lifecycle by @MaoMengww in #2499
- fix(server): reject blank Dream scope IDs at the HTTP boundary by @ctxloop in #2494
- fix(kimi-code): drop the adapter trust notice from prompt context by @Fengzdadi in #2476
- build(desktop): assemble versioned release candidates by @knqiufan in #2475
- test: remove redundant tests and implementation detail checks by @PsiACE in #2397
- fix(gateway): restore the license header on the managed-call lifecycle module by @jasondeng1997 in #2504
- feat(bub): target Bub 0.6.1 by @Fengzdadi in #2492
- build(desktop): publish and verify qualified releases (09-B) by @knqiufan in #2477
- feat(minimax): add native plugin setup and verification by @Lkx-JY in #2205
- docs(blog): add Magpie PowerContext integration article by @Tsukikage7 in #2469
- fix(zcode): drop the adapter trust notice from prompt context by @Fengzdadi in #2511
- feat(gateway): align model check capacity limits by @beatenevo in #2513
- feat(desktop): make readiness explicit and verify connection identity by @jackie-cqz in #2361
- fix(dsh): drop the adapter trust notice from prompt context by @Fengzdadi in #2507
- fix(openclaw): drop the adapter trust notice from prompt context by @Fengzdadi in #2508
- fix(opencode): drop the adapter trust notice from prompt context by @Fengzdadi in #2509
- feat(install): add release-aware Bash and PowerShell installers by @PsiACE in #1892
- feat(context): reuse code evidence with per-file revalidation by @jasper-yl in #2425
- ci: route Linux validation to internal runners by @frf12 in #2519
- feat(dsh): publish npm bundles and support Desktop v4 by @frf12 in #2501
- docs(blog): explain PowerContext E2E evaluation with Harbor by @PsiACE in #2500
- fix(pi): drop the adapter trust notice from prompt context by @Fengzdadi in #2510
- perf(atomic-memory): compare earlier window candidates under the related threshold by @Fengzdadi in #2489
- docs(integrations): clarify host data flows and capture controls by @DongYao0 in #2446
- feat(processing): classify Topic Memory processing failures with safe diagnostics (#2126) by @guamiao in #2396
- fix(memory): retain selected temporal evidence by @hireview001 in #2359
- fix(memory): reject redundant automatic revisions by @hireview001 in #2358
- test(hermes): guard withheld data and qualify real-host conformance by @Doar999 in #2452
- fix(server): reject blank scope IDs on tag and state routes by @HaoooLee in #2502
- feat(gateway): export bounded body-free call evidence by @beatenevo in #2506
- fix(ci): require Twine with metadata 2.5 support by @knqiufan in #2535
- fix(website): reduce production build memory in CI by @knqiufan in #2536
- fix(gateway): require keys for external listeners by @MaoMengww in #2523
- feat(sources): preserve citation position locators by @Tech-Circle-48 in #2296
- fix(integrations): report Scope resolution failures from prompt hooks by @Fengzdadi in #2317
- refactor(integrations): generate the shared Python plugin helpers from one source by @Fengzdadi in #2318
- fix(cli): update default Anthropic model to claude-sonnet-5-5 by @pcbeingused333 in #2430
- fix(gateway): preserve native protocol behavior by @PsiACE in #2470
- fix(tests): scope candidate replay interruption to migration connections by @lizining1231 in #2483
- fix(inference): treat a Responses root's settings as metadata, not opaque content by @jasper-yl in #2486
- feat(desktop): guide first use from the Overview by @knqiufan in #2490
- fix(langchain): own context-service span semantics in middleware by @kic635 in #2517
- docs(rfc): design DSH plugin UI and cross-agent handoff by @knqiufan in #2528
- fix(server): authenticate requests before reading their bodies by @ctxloop in #2512
- perf(oceanbase): use native minimum_should_match filtering by @hidb4ai in #2498
- feat(inference): reuse Codex and Copilot subscriptions by @PsiACE in #2432
- ci: adapt internal runners for preflight, website and E2E jobs by @frf12 in #2525
- test(oceanbase): complete scoring connection double by @hidb4ai in #2552
- feat(capture): declare bounded projection coverage by @Lkx-JY in #2451
- build(deps): bump actions/setup-go from 6.5.0 to 7.0.0 by @dependabot[bot] in #2554
- fix(gateway): honor all inference protection modes by @frf12 in #2457
- chore(release): prepare PowerContext v1.5.1 by @hidb4ai in #2558
New Contributors
- @ctxloop made their first contribution in #2480
- @pcbeingused333 made their first contribution in #2430
Full Changelog: powercontext-v1.5.0...powercontext-v1.5.1