simlock
A control plane so parallel coding agents stop fighting over the same simulator.
Continue work in a new session without restating decisions, constraints, and progress.
Translation pending
Developer toolsPython · TypeScriptGitHub @oceanbaseOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Not only memory but a full story.
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Context for work that humans and agents hand off and continue.
Work rarely ends with whoever starts it. You hand a task to an agent, the agent gets part of the way, and later you or someone else takes over. The reasoning and current state often stay behind in that conversation.
PowerContext keeps context with the work across conversations. When you return, you can see what happened and continue from the current state. A new agent can do the same.
PowerContext 1.0.0 includes the guided setup. The commands below install the stable release and connect
the matching Agent integration.Read the full README ↗Context that stays with the work — across sessions, agents, and people.
Website · Quickstart · Manual startup · Integrations · Benchmarks · Interfaces
PowerContext is an open-source context service for AI agents. It keeps the durable part of your work — decisions, constraints, evidence, progress — outside any single conversation, so the next session, the next agent, or the next person can pick up from the current state instead of rereading the transcript.
You can use it as a ready-to-run Server or embed the same contracts in another application:
| Layer | What it owns | Use it when |
|---|---|---|
| Core protocol | Source, Artifact, and Trigger contracts | Embedding PowerContext or adding a component |
| Builtin runtime | Memory, Handoff, Experience, and Skill services, scheduling, inference, and supported storage backends | Running the standard local Server |
| Server and integrations | HTTP/MCP, Python Client, CLI, Dashboard, and Agent plugins | Connecting an Agent or application |
Work rarely ends with whoever starts it. You hand a task to an agent, the agent gets part of the way, and later you or someone else takes over. The reasoning and current state often stay behind in that conversation. PowerContext moves them out of the conversation and into revisioned artifacts you can inspect:
Everything belongs to a Scope — one isolated Source journal, Memory lifecycle, review inbox, and Handoff history. A Scope ID selects data; it does not prove user identity, grant tool access, or authorize execution.
Scope
├── Source journal # evidence: prompts, documents, work contracts, task outcomes
├── Memory # atomic-memory/ARTIFACT_ID@REVISION — decisions, constraints, next steps
├── Review Inbox # pending Experience and Skill candidates awaiting a decision
├── Handoff history # handoff/ARTIFACT_ID@REVISION — work continuity across sessions
└── Topic Memory # extracted in the background from eligible Sources
For Kubernetes deployments with external OceanBase, see the Helm chart and deployment guide.
The Dashboard screenshots below use synthetic demonstration records.
Memory is a revisioned Artifact family for reusable decisions, constraints, facts, state, and next steps. An entry is
active, forgotten, merged, or retired. Forgetting one through POST /v1/atomic-memory/lifecycle takes it out of
active recall while its content and history stay available and restorable, without advancing the content revision.
Explicit Memory writes need no model at all; extraction from captured Sources needs a configured generation pipeline.
"Don't refactor the old auth module — mobile is still using it." Context this expensive shouldn't depend on someone repeating it in every session.
Handoff records work continuity as a four-step loop:
Work Contract → Prepared Handoff → Acknowledgement → Task Outcome
handoff_current_work captures an inspected boundary and returns a temporary Prepared Handoff. Committing it creates a
durable Revision only when the user wants a milestone. The receiver resolves the Handoff and records an Acknowledgement;
a Task Outcome preserves the final status and checks as Source evidence. The
Handoff Report projects the latest Revision in
each selected Scope — read-only, and it never rewrites Memory.
An Experience records a situation, an action, an observed outcome, and a reusable lesson. It enters a scope-local Review
Inbox as a pending Candidate. Review writes use expected_version, so a decision cannot silently apply after another
writer changes the proposal. Approval writes an immutable Revision; rejection records a reason. Both are terminal, and
only the approved current head takes part in recall — pending, rejected, and historical Revisions are excluded.
A managed Skill holds a name, a discovery description, instructions, validation checks, and lineage. Approval does not install or execute it: an exact approved Revision must be exported explicitly before an Agent host can discover the host-local projection.
Operational metrics expose dependency observations, processing freshness, and attempt latency, including a protected metrics-only endpoint for standalone background deployments.
FAMILY/ARTIFACT_ID@REVISION. The Artifact
ID stays stable while approved replacements create later Revisions, and reading an exact reference returns that
historical snapshot even after the family head advances.PreparedContext selects configured sections from active Memory and approved
Experience, with optional Profile snapshots and Topic Memory, then applies a shared byte budget and returns ready
content or empty. Recalled content is history, not an instruction authority: the receiving Agent still follows
current instructions and checks live workspace state.scope.review. An
authorized Agent can approve its own Candidate;
separate submission and review
with distinct identities and permissions when a person must decide.The comparison assumes typical single-agent or host-local setups; exact behavior depends on how each system is deployed.
| Re-reading chat history | RAG over transcripts | Host-local memory files | PowerContext | |
|---|---|---|---|---|
| Survives a new session | manual | yes | yes | yes |
| Survives switching agents | no | no | no | yes |
| Handing work to a person | manual | manual | manual | Handoff, first-class |
| Reusable procedure | no | no | prose only | Experience / Skill |
| Earlier revisions kept | no | depends on the index | only via git | immutable Revisions |
| Review before reuse | n/a | no | no | Review Inbox |
| Bounded recall for one turn | no | partial | no | PreparedContext byte budget |
| Inspectable outside the Agent | no | no | yes | yes |
Long-conversation memory (LoCoMo; 1,540 scored questions across categories 1–4): 90.78% accuracy, against 87.79% for PowerMem and 52.9% for full-context replay — +37.88 points over full context.
Coding tasks (SWE-bench Pro; a paired project run on all 731 public v2 tasks, not an official submission): 86.73% task resolution with PowerContext on, 82.35% with it off — +4.38 points and 32 more tasks resolved.
Retrieval quality (LoCoMo Plus), native PowerContext against PowerContext with Jev candidate filtering after
retrieval. Each model is used for both Memory extraction and answering; embeddings use qwen3.7-text-embedding
(1024 dimensions):
| Model | PowerContext | PowerContext + Jev | Difference |
|---|---|---|---|
| GPT-4o-mini | 40.855% | 49.78% | +8.925 points |
| Qwen3.7-plus | 60.37% | 68.947% | +8.577 points |
| GPT-4o | 65.082% | 69.28% | +4.198 points |
Full methods, results, and limitations: benchmarks. Two caveats we
would rather state than bury: the six LoCoMo Plus scores above were supplied by the project owner, and their run
artifacts are not publicly available for verification — the published instructions reproduce the harness, not those
scores. Windows support is experimental.
If you want to manually configure and start PowerContext, see the manual startup guide.
PowerContext keeps durable project context outside any single chat. A first run follows this path:
Agent input → Source evidence → Memory / Topic Memory → PreparedContext → next session or Agent
PowerContext 1.4.1 includes an interactive setup wizard. You need Python 3.11+, Git, and
uv; uv can provision Python when needed. To connect an Agent,
also install its CLI. In the wizard, choose Basic memory for explicit saves and recall without model APIs; Full memory
requires separate Generation and Embedding API credentials. For a local Server without model APIs, see
Install and run.
macOS and Linux are supported; Windows support is experimental.
Choose the path that matches your goal:
| Goal | Choose | What you need |
|---|---|---|
| Try explicit saves and recall | Basic memory | CLI and Server; no model API |
| Process Sources automatically and use Topic Memory or semantic retrieval | Full memory | Separate Generation and Embedding API credentials; schedules and Scope policies still apply |
| Learn the core workflows in Python | The first seven Jupyter tutorials | A repository checkout and uv; no model or API key |
uv tool install --force "powercontext[cli,server]==1.4.1"
mkdir -p powercontext-config && cd powercontext-config
powercontext config init --language en --output .env
powercontext config validate --env-file .env
powercontext server run --env-file .env # keep this terminal open
The wizard asks about storage, local or remote usage, memory capabilities, Dashboard/access, and Agent connections. SQLite is the simplest first storage choice; choose embedded seekdb only when you need it and can approve its dependency install.
The wizard writes one .env environment file and .env.next-steps.md. These files can contain credentials; do not
commit them. Keep Server running; in another terminal, return to powercontext-config, reload the generated environment
file, and check the connection:
set -a
. ./.env
set +a
powercontext ready
powercontext capabilities
Continue with .env.next-steps.md to create and bind the selected Scopes. Use the real scope_id returned by the
creation request; a planned codex-... title is not an ID. Changing directories does not create isolation; use the
same Server and Scope in the Dashboard and Agent. Then install the matching plugins and launch a new Agent session.
The complete walkthrough covers Codex and Claude
Code, Dashboard login, SSH forwarding, HTTPS prerequisites, and observable acceptance checks. For example, the matching
Codex installation is:
powercontext setup codex --ref powercontext-v1.4.1
powercontext doctor codex
Before sending the first message in a new Codex session, open /hooks and, when prompted, trust the PowerContext
hooks. Without an enabled UserPromptSubmit hook, automatic prompt capture and recall do not run, even if MCP connects.
See first-session checks and recovery.
After the first check below, use the capability and trigger guide
to try all seven Artifact families, Source, and Tag. Basic memory needs no separate Server model API; the Agent still uses its own model.
This checks the path that makes PowerContext useful: Source capture → background processing → cross-session recall. In the new Agent session bound to the same Scope, send a concrete decision such as:
We are designing the Aurora acceptance project. Use uv for Python dependencies and .env for configuration.
The first deployment runs on one Linux server, with a Mac connecting through an SSH tunnel.
Restate these constraints without changing any code.
If you enabled Dashboard, open the URL printed by the wizard; an empty Dashboard before capture is expected. Then:
doctor codex checks installation and connectivity only. Source capture does not by itself create Memory or Topic
Memory, and processing can wait for configured schedules and model work. In Basic memory mode, explicitly ask the Agent
to save a decision, then search for it in a new session; that does not test automatic extraction.
The tutorials run from a repository checkout and take their dependencies from a uv dependency group, so they are not
part of the powercontext package. From the repository root:
uv sync --locked --group notebooks
uv run --locked --group notebooks jupyter lab --notebook-dir=examples/jupyter
Start with 01 · Memory across sessions, then work through the 22 Chinese Jupyter tutorials and a complete team workflow to run Memory, context preparation, Handoff, Experience, Skill, and a real Agent step by step. The first seven tutorials need no model or API key.
doctor codex verifies Codex installation and connectivity. To verify automatic memory, check that a real prompt
becomes a Source, produces a Topic, evolves after a related prompt, and can be recalled in a new session using the
same Scope.--allow-insecure-http.Codex is official; other maintained hosts and Python Agent frameworks are community; Bub is evaluation only.
These tags describe PowerContext integration maintenance and use. The
capability matrix records which hosts are
qualified, along with their supported features and availability.
Applications can use PowerContext through the async Python client, HTTP API, MCP, or the in-process Core SDK. See the interface reference to choose an entry point.
make install
make check
make test
See CONTRIBUTING.md for the complete development workflow.
Coding and memory evaluations, performance benchmarks, and Skill regressions live under
evaluation/.
PowerContext is the successor to PowerMem.
Thank you to everyone who contributes to PowerContext. ❤️
See all contributors · Start contributing
PowerContext is licensed under the Apache License 2.0.