ContextVault v0.2.1 is a Windows desktop application that saves fully loaded ChatGPT conversations as portable, integrity-checked, RAG-ready archives.
It is designed for people who want a dependable local copy of important AI conversations without manually copying messages one by one. You do not need to be a developer to use the portable Windows release.
Application version: 0.2.1 Archive schema version: 1.0 These versions describe different things. The application can receive bug fixes without changing the archive format.
ContextVault opens a separate Google Chrome window, uses the ChatGPT session that you log into manually, scans your conversation list, loads a selected conversation, and exports its content to a local folder.
A completed archive can include:
- ordered user and assistant messages;
- Markdown, HTML, and plain text;
- code blocks preserved as exact UTF-8 bytes;
- images, tables, citations, and optional attachments;
- conversation metadata and timestamps when ChatGPT exposes them reliably;
- search indexes, statistics, summaries, and RAG documents;
- SHA-256 hashes and validation logs;
- explicit warnings when a message or browser-rendered image could not be captured perfectly.
ContextVault does not ask for your ChatGPT password. Login happens directly inside the Chrome window.
Version 0.2.1 is a cumulative export-reliability hotfix. It preserves archive schema 1.0 while correcting the live failure modes discovered during long-conversation validation:
- virtualized scans recover from permanent DOM mutation churn, persistent non-semantic loaders, and no-op scroll attempts;
- stalled-image handling remains bounded without regressing the established image-scroll fast path;
- active nested scroll containers are selected instead of unrelated document fallbacks;
- transient Playwright observation failures retry in place without discarding accumulated checkpoints;
- mixed ChatGPT message-container families and nested message identity/role attributes are preserved;
- checkpoint storage failures remain fatal instead of being misclassified as degraded messages;
- failed browser workflows release their exclusive lease before terminal state publication, so immediate retry is safe;
- packaged runtime-root and shipped-defaults validation is stricter;
- Windows release builds use a deterministic low-memory Nuitka policy (
LTOdisabled, one compiler job) to prevent MSVCC1002heap exhaustion.
See v0.2.1 release notes for the complete change list.
- Windows 10 or Windows 11, 64-bit
- Google Chrome Stable
- A ChatGPT account that you can log into manually
- Enough free disk space for the exported conversation and its assets
Python is not required for the portable release.
- Windows 10 or Windows 11, 64-bit
- Python 3.12
- Google Chrome Stable
- Dependencies from
requirements.lock
ContextVault uses the installed Google Chrome channel. Do not run playwright install; the project does not use a bundled Chromium browser.
- Open the repository's Releases page.
- Download both files:
ContextVault-Windows-x64.zipContextVault-Windows-x64.zip.sha256
- Verify the checksum by following Release verification.
- Extract the complete ZIP to a normal folder such as:
C:\Apps\ContextVault - Do not run the application from inside the ZIP.
- Open the extracted folder and run:
ContextVault.exe
Keep the complete extracted folder together. Do not move only the EXE away from its runtime files.
For the safest first run:
- leave Browser Profile Root blank;
- keep Profile as
Default; - keep Verify Export enabled;
- keep Attachments disabled unless you specifically need them;
- keep Delay Mode as
Normal; - keep Message Retry Count as
5.
When Browser Profile Root is blank, ContextVault creates its own reusable Chrome profile under:
data\chrome-user-data
This is separate from your normal daily Chrome profile.
Choose Launch Chrome in ContextVault.
A separate official Google Chrome window opens. Log in to ChatGPT manually in that window. ContextVault never asks you to type your ChatGPT credentials into the application.
Use Connect only when you intentionally started Chrome with remote debugging. Most users should use Launch Chrome.
After ChatGPT has loaded:
- Return to ContextVault.
- Open the Conversations page.
- Select Scan.
- Wait for the conversation list to appear.
- Select one or more conversations.
- Choose Export Selected or Export All.
- Leave the ContextVault Chrome window open.
- Do not manually scroll the active conversation while the export is running.
- Follow progress in the application and the Logs page.
Large conversations may take time. A long runtime is not automatically a failure. ContextVault continues while it detects meaningful progress and stops only when its no-progress policy is exhausted or an unrecoverable error occurs.
Open the Archives page to:
- open the generated folder;
- open
conversation.md; - validate the archive again;
- rebuild the summary;
- delete an archive you no longer need.
A successful export ends with archive verification and publication. Warnings are preserved in the archive metadata and logs.
| Area | Setting | Default |
|---|---|---|
| Browser | Browser | Google Chrome |
| Browser | Browser Profile Root | Blank — use managed profile |
| Browser | Profile | Default |
| Browser | CDP Endpoint | http://127.0.0.1:9222 |
| Export | Default Folder | exports |
| Export | Archive Name | {title} |
| Export | Overwrite | Off |
| Export | Compress | Off |
| Export | Verify Export | On |
| Assets | Images | On |
| Assets | Code | On |
| Assets | Tables | On |
| Assets | Attachments | Off |
| Performance | Worker Threads | 4 |
| Performance | Message Retry Count | 5 |
| Performance | Delay Mode | Normal |
| Performance | Memory Mode | Balanced |
Read Configuration before changing advanced browser or performance options.
ChatGPT may display an image placeholder or spinner that never finishes rendering in the browser. ContextVault waits for a bounded period before continuing the deep scan:
| Delay mode | Image-render grace |
|---|---|
| Fast | 8 seconds |
| Normal | 20 seconds |
| Safe | 45 seconds |
| Auto | 20 seconds |
Continuing after this warning does not disable archive validation. Actual asset download and archive integrity checks remain authoritative.
Each export is a self-contained directory:
archive-name/
├── manifest.json
├── metadata.json
├── conversation.json
├── conversation.md
├── summary.json
├── search-index.json
├── statistics.json
├── assets/
│ ├── code/
│ ├── images/
│ ├── attachments/
│ ├── tables/
│ └── citations/
├── rag/
│ ├── chunks.json
│ ├── documents.json
│ ├── keywords.json
│ └── chunk-map.json
└── logs/
├── export.log
└── validation.log
The archive format is documented in Archive format.
ContextVault stores runtime data locally. Important locations include:
data\chrome-user-data\ Reusable authenticated Chrome profile
data\settings.json Application settings
data\export_history.json Export history
exports\ Default archive destination
logs\ Application logs
Treat data\chrome-user-data as sensitive. It may contain cookies and authenticated browser session state. Never commit it to Git, upload it publicly, or share it with another person.
Exported conversations may contain private information. Protect and back them up according to your own security requirements.
Read Privacy and local data.
Do not overwrite your only copy of local data.
Before replacing an older portable folder, preserve:
data\chrome-user-data\
data\settings.json
data\export_history.json
exports\
Then extract v0.2.1 into a new folder and copy back only the personal runtime data you need. See Upgrading.
Start with Common issues.
Useful rules:
- use Launch Chrome for the normal workflow;
- do not select your normal Chrome
User Datafolder; - do not close the ContextVault Chrome window during export;
- do not replace individual source files inside a portable build;
- upgrade the complete application package when a fix is released;
- keep Verify Export enabled;
- review
logs\and the archive'slogs\export.logbefore reporting a problem.
git clone https://github.com/vibtools/ContextVault.git
cd ContextVault
py -3.12 -m venv .venv
.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -r requirements.lock
python scripts/test/check_environment.py
python scripts/test/run_tests.py
python src/app.pyrun.bat is the supported repository launcher after dependencies are installed.
For release-candidate verification, use the isolated environment helper:
python scripts/release/verify_release_candidate.py --ref main --skip-chromeIt creates .venv-release, installs the exact locked dependencies, verifies metadata and source integrity, runs all tests, compiles Python files, and checks staged and unstaged diffs. It does not change the global Python environment.
For local Windows Nuitka tooling:
python scripts/release/verify_release_candidate.py `
--ref main `
--include-build-dependencies
.\.venv-release\Scripts\python.exe scripts/build/build_windows.py
.\.venv-release\Scripts\python.exe scripts/release/package_release.pyThe official tag-triggered workflow builds and verifies the Windows x64 OneDir package before publishing release assets.
- Documentation home
- Quick start
- Installation
- Usage guide
- Settings
- Troubleshooting
- FAQ
- Known limitations
- Privacy and local data
- Architecture
- Internal API
- Implementation compliance
- Requirements traceability
- Release process
- Release validation
- Versioning
The public documentation under docs/ is the source of truth for public behavior and contribution requirements.
- General support: SUPPORT.md
- Security reporting: SECURITY.md
- Contributions: CONTRIBUTING.md
- Community standards: CODE_OF_CONDUCT.md
ContextVault is released under the MIT License. See LICENSE.
