Own your AI memory. Take it everywhere.
Project description
Cortex
Own your AI memory. Take it everywhere.
Your ChatGPT knows you. Now Claude does too.
Cortex extracts your context from ChatGPT, Claude, Gemini, Perplexity, and coding tools (Claude Code, Cursor, Copilot) — builds a portable knowledge graph you own — and pushes it to any platform. Cryptographically signed. Version controlled. Zero dependencies.
Quick Start
pip install cortex-identity
# Migrate ChatGPT → Claude in one command
cortex chatgpt-export.zip --to claude -o ./output
# See what it extracted
cortex stats output/context.json
# Visualize your knowledge graph
cortex viz output/context.json --output graph.html
What Makes This Different
| Cortex | Mem0 | Letta | ChatGPT Memory | Claude Memory | |
|---|---|---|---|---|---|
| You own it | Yes | No | No | No | No |
| Portable | Yes | No | No | No | No |
| Knowledge graph | Yes | Partial | No | No | No |
| Temporal tracking | Yes | No | No | No | No |
| Works offline | Yes | No | No | No | No |
| Zero dependencies | Yes | No | No | N/A | N/A |
Mem0, Letta, and built-in AI memories are agent memory — owned by the platform. Cortex is your memory, under your control.
How It Works
Chat Exports (ChatGPT, Claude, Gemini, Perplexity)
+ Coding Sessions (Claude Code, Cursor, Copilot)
|
Extract ──→ Knowledge Graph ──→ Sign & Version ──→ Push Anywhere
Nodes are entities, not category items. "Python" is ONE node with tags [technical_expertise, domain_knowledge] — not duplicated across categories. Edges capture typed relationships: Python --applied_in--> Healthcare.
Installation
pip install cortex-identity # Core (zero dependencies)
pip install cortex-identity[crypto] # + Ed25519 signatures
pip install cortex-identity[fast] # + 10x faster graph layout
pip install cortex-identity[full] # Everything
Install from source
git clone https://github.com/Junebugg1214/Cortex-AI.git
cd Cortex-AI
pip install -e .
Requires Python 3.10+ (macOS, Linux, Windows). No external packages required for core functionality.
Features
Knowledge Graph Engine
Graph Foundation
Everything is nodes and edges. Nodes have tags (not fixed categories), confidence scores, temporal metadata, and extensible properties. The graph is backward compatible — v4 flat-category JSON converts losslessly.
cortex query context.json --node "Python"
cortex query context.json --neighbors "Python"
cortex stats context.json
Smart Edges
Automatic relationship discovery:
- Pattern rules —
technical_expertise+active_priorities=used_inedge - Co-occurrence — entities appearing together in messages get linked (PMI for large datasets, frequency thresholds for small)
- Centrality — identifies your most important nodes (degree centrality, PageRank for 200+ nodes)
- Graph-aware dedup — merges near-duplicates using 70% text similarity + 30% neighbor overlap
Query + Intelligence
cortex query context.json --category technical_expertise
cortex query context.json --strongest 10
cortex query context.json --isolated
cortex query context.json --path "Python" "Mayo Clinic"
cortex query context.json --components
cortex gaps context.json
cortex digest context.json --previous last_week.json
UPAI Protocol (Cryptographic Identity)
Three capabilities:
- Cryptographic signing — SHA-256 integrity (always). Ed25519 signatures (with
pynacl). Proves the graph is yours and untampered. - Selective disclosure — Policies control what each platform sees. "Professional" shows job/skills. "Technical" shows your tech stack. "Minimal" shows almost nothing.
- Version control — Git-like commits for your identity. Log, diff, checkout, rollback.
cortex identity --init --name "Your Name"
cortex commit context.json -m "Added June ChatGPT export"
cortex log
cortex identity --show
cortex sync context.json --to claude --policy professional -o ./output
Built-in disclosure policies:
| Policy | What's Shared | Min Confidence |
|---|---|---|
full |
Everything | 0.0 |
professional |
Identity, work, skills, priorities | 0.6 |
technical |
Tech stack, domain knowledge, priorities | 0.5 |
minimal |
Identity, communication preferences only | 0.8 |
Temporal Tracking & Contradictions
Every extraction snapshots each node's state. Cortex tracks how your identity evolves, detects contradictions ("said X in January, not-X in March"), and computes drift scores across time windows.
cortex timeline context.json --format html
cortex contradictions context.json --severity 0.5
cortex drift context.json --compare previous.json
Conflict Detection
Input: "I use Python daily" + "I don't use Python anymore"
Result: negation_conflict detected, resolution: prefer_negation (more recent)
Typed Relationships
Input: "We partner with Mayo Clinic. Dr. Smith is my mentor."
Result: Mayo Clinic (partner), Dr. Smith (mentor)
Supported types: partner, mentor, advisor, investor, client, competitor
Visualization & Dashboard
cortex viz context.json --output graph.html # Interactive HTML
cortex viz context.json --output graph.svg --format svg # Static SVG
cortex dashboard context.json --port 8420 # Web dashboard
cortex watch ~/exports/ --graph context.json # Auto-extract
cortex sync-schedule --config sync_config.json # Scheduled sync
Coding Tool Extraction
Extract identity from what you actually do, not just what you say. Coding sessions reveal your real tech stack, tools, and workflow through behavior:
cortex extract-coding --discover -o coding_context.json
cortex extract-coding --discover --project chatbot-memory
cortex extract-coding --discover --merge context.json -o context.json
cortex extract-coding --discover --enrich --stats
| Signal | How | Example |
|---|---|---|
| Languages | File extensions | Editing .py files -> Python |
| Frameworks | Config files | package.json -> Node.js |
| CLI tools | Bash commands | Running pytest -> Pytest |
| Projects | Working directory | /home/user/myapp -> myapp |
| Patterns | Tool sequence | Uses plan mode before coding |
Project enrichment (--enrich): Reads README, package manifests, and LICENSE files to extract project metadata. Detects CI/CD and Docker presence.
Currently supports Claude Code (JSONL transcripts). Cursor and Copilot parsers planned.
Auto-Inject & Cross-Platform Context
Auto-Inject into Claude Code
Every new session automatically gets your Cortex identity injected:
cortex context-hook install context.json
cortex context-hook test
cortex context-export context.json --policy technical
Cross-Platform Context Writer
Write persistent Cortex identity to every AI coding tool:
cortex context-write graph.json --platforms all --project ~/myproject
cortex context-write graph.json --platforms cursor copilot windsurf
cortex context-write graph.json --platforms all --dry-run
cortex context-write graph.json --platforms all --watch
| Platform | Config File | Scope |
|---|---|---|
| Claude Code | ~/.claude/MEMORY.md |
Global |
| Claude Code (project) | {project}/.claude/MEMORY.md |
Project |
| Cursor | {project}/.cursor/rules/cortex.mdc |
Project |
| GitHub Copilot | {project}/.github/copilot-instructions.md |
Project |
| Windsurf | {project}/.windsurfrules |
Project |
| Gemini CLI | {project}/GEMINI.md |
Project |
Uses <!-- CORTEX:START --> / <!-- CORTEX:END --> markers — your hand-written rules are never overwritten.
Continuous Extraction
Watch Claude Code sessions in real-time. Auto-extract behavioral signals as you code:
cortex extract-coding --watch -o coding_context.json
cortex extract-coding --watch -o ctx.json --context-refresh claude-code cursor copilot
cortex extract-coding --watch --project chatbot-memory -o ctx.json
cortex extract-coding --watch --interval 15 --settle 10 -o ctx.json
Polls for session changes, debounces active writes, and incrementally merges nodes.
PII Redaction
Strip sensitive data before extraction:
cortex chatgpt-export.zip --to claude --redact
cortex chatgpt-export.zip --to claude --redact --redact-patterns custom.json
Redacts: emails, phones, SSNs, credit cards, API keys, IP addresses, street addresses.
Supported Platforms
Input (Extract From)
| Platform | File Type | Auto-Detected |
|---|---|---|
| ChatGPT | .zip with conversations.json |
Yes |
| Claude | .json with messages array |
Yes |
| Claude Memories | .json array with text field |
Yes |
| Gemini / AI Studio | .json with conversations/turns |
Yes |
| Perplexity | .json with threads |
Yes |
| API Logs | .json with requests array |
Yes |
| JSONL | .jsonl (one message per line) |
Yes |
| Claude Code | .jsonl session transcripts |
Yes |
| Plain Text | .txt, .md |
Yes |
Output (Export To)
| Format | Output | Use Case |
|---|---|---|
| Claude Preferences | claude_preferences.txt |
Settings > Profile |
| Claude Memories | claude_memories.json |
memory_user_edits |
| System Prompt | system_prompt.txt |
Any LLM API |
| Notion Page | notion_page.md |
Notion import |
| Notion Database | notion_database.json |
Notion DB rows |
| Google Docs | google_docs.html |
Google Docs paste |
| Summary | summary.md |
Human overview |
| Full JSON | full_export.json |
Lossless backup |
Extraction Categories
Cortex extracts entities into 17 tag categories:
| Category | Examples |
|---|---|
| Identity | Name, credentials (MD, PhD) |
| Professional Context | Role, title, company |
| Business Context | Company, products, metrics |
| Active Priorities | Current projects, goals |
| Relationships | Partners, clients, collaborators |
| Technical Expertise | Languages, frameworks, tools |
| Domain Knowledge | Healthcare, finance, AI/ML |
| Market Context | Competitors, industry trends |
| Metrics | Revenue, users, timelines |
| Constraints | Budget, timeline, team size |
| Values | Principles, beliefs |
| Negations | What you explicitly avoid |
| User Preferences | Style and tool preferences |
| Communication Preferences | Response style preferences |
| Correction History | Self-corrections |
| Mentions | Catch-all for other entities |
Full CLI Reference (24 commands)
Extract & Import
cortex <export> --to <platform> -o ./output # One-step migrate
cortex extract <export> -o context.json # Extract only
cortex import context.json --to <platform> # Import only
cortex extract new.json --merge old.json -o merged.json # Merge contexts
Query & Intelligence
cortex query <graph> --node <label> # Find node
cortex query <graph> --neighbors <label> # Find neighbors
cortex query <graph> --category <tag> # Filter by tag
cortex query <graph> --path <from> <to> # Shortest path
cortex query <graph> --strongest <n> # Top N nodes
cortex query <graph> --weakest <n> # Bottom N nodes
cortex query <graph> --isolated # Unconnected nodes
cortex query <graph> --components # Connected clusters
cortex gaps <graph> # Gap analysis
cortex digest <graph> --previous <old> # Weekly digest
cortex stats <graph> # Graph statistics
Identity & Sync
cortex identity --init --name <name> # Create identity
cortex commit <graph> -m <message> # Version commit
cortex log # Version history
cortex identity --show # Show identity
cortex sync <graph> --to <platform> --policy <name> # Push to platform
Visualization & Flywheel
cortex viz <graph> --output graph.html # Interactive HTML
cortex viz <graph> --output graph.svg --format svg # Static SVG
cortex dashboard <graph> --port 8420 # Web dashboard
cortex watch <dir> --graph <graph> # Auto-extract
cortex sync-schedule --config <config.json> # Scheduled sync
Coding Tool Extraction
cortex extract-coding <session.jsonl> # From specific file
cortex extract-coding --discover # Auto-find sessions
cortex extract-coding --discover -p <project> # Filter by project
cortex extract-coding --discover -m <context> # Merge with existing
cortex extract-coding --discover --stats # Show session stats
cortex extract-coding --discover --enrich # Enrich with project files
cortex extract-coding --watch -o ctx.json # Watch mode (continuous)
cortex extract-coding --watch --context-refresh claude-code cursor # Watch + auto-refresh
Context Hook (Auto-Inject)
cortex context-hook install <graph> --policy technical # Install hook
cortex context-hook uninstall # Remove hook
cortex context-hook test # Preview injection
cortex context-hook status # Check status
cortex context-export <graph> --policy technical # One-shot export
Cross-Platform Context Writer
cortex context-write <graph> --platforms all --project <dir> # All platforms
cortex context-write <graph> --platforms cursor copilot # Specific platforms
cortex context-write <graph> --platforms all --dry-run # Preview
cortex context-write <graph> --platforms all --watch # Auto-refresh
cortex context-write <graph> --platforms all --policy professional # Policy override
Temporal Analysis
cortex timeline <graph> --format html # Timeline view
cortex contradictions <graph> --severity 0.5 # Find conflicts
cortex drift <graph> --compare previous.json # Identity drift
Architecture
cortex-identity/ # pip install cortex-identity
├── pyproject.toml # Package metadata + entry points
├── cortex/
│ ├── cli.py # CLI entry point (24 subcommands)
│ ├── extract_memory.py # Extraction engine (~1400 LOC)
│ ├── import_memory.py # Import/export engine (~1000 LOC)
│ ├── graph.py # Node, Edge, CortexGraph (schema 6.0)
│ ├── compat.py # v4 <-> v5 conversion
│ ├── temporal.py # Snapshots, drift scoring
│ ├── contradictions.py # Contradiction detection
│ ├── timeline.py # Timeline views
│ ├── upai/
│ │ ├── identity.py # UPAI identity, DID, Ed25519/HMAC signing
│ │ ├── disclosure.py # Selective disclosure policies
│ │ └── versioning.py # Git-like version control
│ ├── adapters.py # Claude/SystemPrompt/Notion/GDocs adapters
│ ├── edge_extraction.py # Pattern-based + proximity edge discovery
│ ├── cooccurrence.py # PMI / frequency co-occurrence
│ ├── dedup.py # Graph-aware deduplication
│ ├── centrality.py # Degree centrality + PageRank
│ ├── query.py # QueryEngine + graph algorithms
│ ├── intelligence.py # Gap analysis + weekly digest
│ ├── coding.py # Coding session behavioral extraction
│ ├── hooks.py # Auto-inject context into Claude Code
│ ├── context.py # Cross-platform context writer (6 platforms)
│ ├── continuous.py # Real-time session watcher
│ ├── _hook.py # cortex-hook entry point
│ ├── __main__.py # python -m cortex support
│ ├── viz/ # Visualization
│ ├── dashboard/ # Local web dashboard
│ └── sync/ # File watcher + scheduled sync
├── migrate.py # Backward-compat stub → cortex.cli
├── cortex-hook.py # Backward-compat stub → cortex._hook
└── tests/ # 618 tests across 21 files
Version History
| Version | Milestone |
|---|---|
| v1.0.0 | First public release — 24 CLI commands, knowledge graph, UPAI protocol, temporal tracking, coding extraction, cross-platform context, continuous extraction, visualization, dashboard. 618 tests. Zero required dependencies. |
Pre-release development history
| Internal | Milestone |
|---|---|
| v6.4 (dev) | pip packaging, continuous extraction, production hardening |
| v6.3 (dev) | Cross-platform context writer |
| v6.2 (dev) | Auto-inject context |
| v6.1 (dev) | Coding tool extraction |
| v6.0 (dev) | Visualization, dashboard, file monitor, sync scheduler |
| v5.4 (dev) | Query engine, gap analysis, weekly digest |
| v5.3 (dev) | Smart edge extraction, co-occurrence, centrality, dedup |
| v5.2 (dev) | UPAI Protocol — cryptographic signing, selective disclosure, version control |
| v5.1 (dev) | Temporal snapshots, contradiction engine, drift scoring |
| v5.0 (dev) | Graph foundation — category-agnostic nodes, edges |
| v4.x (dev) | PII redaction, typed relationships, Notion/Google Docs, semantic dedup |
License
MIT — See LICENSE
Author
Created by @Junebugg1214
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 cortex_identity-1.0.0.tar.gz.
File metadata
- Download URL: cortex_identity-1.0.0.tar.gz
- Upload date:
- Size: 171.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1480e9305b833a124eab6fe4e8fba5f2eac8cbf81f671e43ca41e13504476131
|
|
| MD5 |
30b4c576da7426f963e0da90c60114c7
|
|
| BLAKE2b-256 |
148ef14c320ba7089f6bbc5098013d00d22ae6aec657f333be5451ecfe11546f
|
Provenance
The following attestation bundles were made for cortex_identity-1.0.0.tar.gz:
Publisher:
publish.yml on Junebugg1214/Cortex-AI
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cortex_identity-1.0.0.tar.gz -
Subject digest:
1480e9305b833a124eab6fe4e8fba5f2eac8cbf81f671e43ca41e13504476131 - Sigstore transparency entry: 953608662
- Sigstore integration time:
-
Permalink:
Junebugg1214/Cortex-AI@6f75562959a2cf1cb2f713539787dbc8e753c1fa -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/Junebugg1214
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6f75562959a2cf1cb2f713539787dbc8e753c1fa -
Trigger Event:
release
-
Statement type:
File details
Details for the file cortex_identity-1.0.0-py3-none-any.whl.
File metadata
- Download URL: cortex_identity-1.0.0-py3-none-any.whl
- Upload date:
- Size: 127.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdedcf8a54f90574d158c1212a34009db1d45962ea69b522e2c2e182181c903d
|
|
| MD5 |
baa0a3780041676ed983690c1c3f51d5
|
|
| BLAKE2b-256 |
4cbde4524453a34edc76e63b4f2c5468b4b135432c31a75a3395ae57c39f4762
|
Provenance
The following attestation bundles were made for cortex_identity-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on Junebugg1214/Cortex-AI
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cortex_identity-1.0.0-py3-none-any.whl -
Subject digest:
cdedcf8a54f90574d158c1212a34009db1d45962ea69b522e2c2e182181c903d - Sigstore transparency entry: 953608664
- Sigstore integration time:
-
Permalink:
Junebugg1214/Cortex-AI@6f75562959a2cf1cb2f713539787dbc8e753c1fa -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/Junebugg1214
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6f75562959a2cf1cb2f713539787dbc8e753c1fa -
Trigger Event:
release
-
Statement type: