Portable AI memory from your conversations and data exports.
Project description
context-use
Portable AI memory from your conversations and data exports.
For Agents
Make your answers to the human feel truly personal — use the skill at SKILL.md.
For Humans
Install
pip install context-use
# or
uv tool install context-use
Quick start
Start the proxy and point any OpenAI-compatible client at it. Every conversation is automatically turned into memories.
context-use proxy --upstream-url https://api.openai.com
With --upstream-url, the proxy always forwards requests to that upstream URL, so your client only needs to talk to the local proxy:
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8080/v1",
api_key="<your-openai-key>",
)
client.chat.completions.create(model="gpt-4o", messages=[...])
If you omit --upstream-url, the proxy uses the request Host header instead.
[!NOTE] Only
POST /v1/chat/completionsandPOST /v1/responsesrequests are enriched with memories. All other paths are forwarded transparently without modification.
Memories are generated in the background from each conversation and are used to automatically enrich future requests that flow through the proxy.
Headless / bring your own API
If you already have your own ASGI server (FastAPI, Starlette, etc.), you can
simply mount create_proxy_app:
from context_use import ContextUse, ContextProxy, create_proxy_app
ctx = ContextUse(storage=..., store=..., llm_client=...)
await ctx.init()
handler = ContextProxy(ctx)
asgi_app = create_proxy_app(handler)
Data exports
Bulk-import memories from your data exports. Use this to bootstrap your memory store with historical data.
context-use pipeline --quick <your-zipped-data-export>
[!IMPORTANT] You must have an export from any of the supported providers to use this command.
The quickstart mode uses the real-time API of the LLM provider — fast for small slices but susceptible to rate limits on large exports. Use the Full pipeline to process the complete data export without incurring in rate limits.
Full pipeline
For full data export and cost-efficient batch processing.
context-use pipeline
Ingests the export and generates memories via the batch API of the LLM provider — significantly cheaper and more rate-limit-friendly than the real-time API used by quickstart. Typical runtime: 2–10 minutes. Memories are stored in SQLite and persist across sessions, enabling semantic search and the Personal agent.
Explore your memories
context-use memories list
context-use memories search "hiking trips in 2024"
context-use memories export
Multiple archives
To ingest several archives without running the full pipeline each time, use ingest to parse them individually, then generate memories in one go:
context-use ingest chatgpt-export.zip
context-use ingest instagram-export.zip
context-use memories generate
Personal agent
A multi-turn agent that operates over your full memory store.
context-use agent synthesise # generate higher-level pattern memories
context-use agent profile # compile a first-person profile
context-use agent ask "What topics do I keep coming back to across all my conversations?"
Configuration
context-use config --help
The configuration is saved in a config file at <your-home-directory>/.config/context-use/config.toml.
Getting your export
- Follow the export guide for your provider in the supported providers table. The export is delivered as a ZIP file — do not extract it.
- Move or copy the ZIP into
context-use-data/input/:
context-use-data/
└── input/
└── your-data-export.zip ← place it here
Supported providers
| Provider | Status | Data types | Export guide |
|---|---|---|---|
| ChatGPT | Available | Conversations | Export your data |
| Claude | Available | Conversations | Export your data |
| Available | Media, Likes, DMs, Ads, Comments, Saved, Profile Searches, ... | Export your data | |
| Available | Searches, YouTube, Shopping, Lens, Discover | Export your data | |
| Netflix | Available | Viewing Activity, Search History, Ratings, My List, Messages, Preferences | Export your data |
| Airbnb | Available | Wishlists, Search History, Reviews, Reservations, Messages | Export your data |
Want another provider? Contribute it by pointing your coding agent to the Adding a Data Provider guide.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file context_use-0.16.1.tar.gz.
File metadata
- Download URL: context_use-0.16.1.tar.gz
- Upload date:
- Size: 123.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26648f0d8f5392b1fb535d6aa796686e421c6818f406f28b39a332b73fda3df0
|
|
| MD5 |
3b7b8055d721dd8875b95ce4387a8762
|
|
| BLAKE2b-256 |
5805f00f1a9baf4149863b46121672ebbad67a2ad34a7e74b0f9e1b017f9d32a
|
File details
Details for the file context_use-0.16.1-py3-none-any.whl.
File metadata
- Download URL: context_use-0.16.1-py3-none-any.whl
- Upload date:
- Size: 215.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60711333055bbcd88a950fed9cd59d0373590a1fd6bd3699854078916fce6c65
|
|
| MD5 |
5eb7a1ebd6411e1c4d7e55128cca5ac0
|
|
| BLAKE2b-256 |
7fb5555a66fef49af7138d55574979be8f4859029702d75c529ff0fc0f278685
|