10 KiB
Harvest Export Manual — All Marko's AI Accounts
Purpose: Step-by-step guide to export conversation data from every AI platform for harvest into Waggle.
Time estimate: ~30-45 minutes total across all platforms.
Output: One folder per platform in D:\Projects\waggle-os\harvest-imports\
Prep: Create the import folder
mkdir D:\Projects\waggle-os\harvest-imports
mkdir D:\Projects\waggle-os\harvest-imports\chatgpt
mkdir D:\Projects\waggle-os\harvest-imports\claude-web
mkdir D:\Projects\waggle-os\harvest-imports\claude-desktop
mkdir D:\Projects\waggle-os\harvest-imports\claude-code
mkdir D:\Projects\waggle-os\harvest-imports\gemini
mkdir D:\Projects\waggle-os\harvest-imports\perplexity
mkdir D:\Projects\waggle-os\harvest-imports\cursor
1. ChatGPT (chatgpt.com)
Adapter: chatgpt-adapter.ts (shipped, production-tested)
Format: JSON (conversations + memories + custom instructions)
Steps:
- Go to https://chatgpt.com
- Click your profile icon (bottom-left) → Settings
- Click Data controls
- Click Export data → Export
- You'll get an email (usually within 5-30 minutes) with a download link
- Download the ZIP file
- Extract it — you'll get a folder with:
conversations.json(this is the main file)user.json(account info)model_comparisons.json(optional)message_feedback.json(optional)chat.html(visual backup, not needed)
- Copy
conversations.jsontoD:\Projects\waggle-os\harvest-imports\chatgpt\
What gets harvested: All conversations, custom instructions, memories, message content with timestamps.
2. Claude Web (claude.ai) — marolinik@gmail.com account
Adapter: claude-adapter.ts (shipped, production-tested)
Format: JSON
Steps:
- Go to https://claude.ai
- Log in with marolinik@gmail.com
- Click your profile icon (bottom-left) → Settings
- Scroll to Account section
- Click Export Data
- Confirm the export
- You'll get an email with a download link (usually 5-15 minutes)
- Download the ZIP
- Extract — look for
conversations.jsonor similar JSON files - Copy all JSON files to
D:\Projects\waggle-os\harvest-imports\claude-web\gmail\
Repeat for marko.markovic@egzakta.com account:
- Log out of claude.ai
- Log in with marko.markovic@egzakta.com
- Same steps 3-9 above
- Copy to
D:\Projects\waggle-os\harvest-imports\claude-web\egzakta\
3. Claude Desktop App
Adapter: claude-adapter.ts (same as web — uses same export format)
Location: Desktop app stores conversations locally
Steps:
- Open Claude Desktop app
- Menu → File → Export conversations (or Settings → Export)
- If no export button: the desktop app syncs with claude.ai — your web export (step 2) already includes desktop conversations
- If there's a separate local database:
- Check
%APPDATA%\Claude\on Windows - Look for
.dbor.jsonfiles - Copy any conversation data to
D:\Projects\waggle-os\harvest-imports\claude-desktop\
- Check
Note: Claude Desktop and claude.ai share the same conversation history. If you already exported from claude.ai, you likely have the desktop conversations too. Check for any offline-only conversations.
4. Claude Code — ALL sessions, ALL projects, BOTH accounts
Adapter: claude-code-adapter.ts (shipped, 156 frames already harvested)
Format: JSONL session transcripts
Where Claude Code stores sessions:
Sessions are stored per-project in:
C:\Users\MarkoMarkovic\.claude\projects\<project-dir-encoded>\*.jsonl
Steps:
A. Gather ALL session files across ALL projects:
- Open a terminal and run:
# List all projects with session files
find "C:/Users/MarkoMarkovic/.claude/projects" -name "*.jsonl" -type f > D:/Projects/waggle-os/harvest-imports/claude-code/session-list.txt
# Count total sessions
wc -l D:/Projects/waggle-os/harvest-imports/claude-code/session-list.txt
- Copy all JSONL files (organized by project):
# This copies every session transcript, preserving project structure
cd "C:/Users/MarkoMarkovic/.claude/projects"
for dir in */; do
if ls "$dir"*.jsonl 1>/dev/null 2>&1; then
mkdir -p "D:/Projects/waggle-os/harvest-imports/claude-code/$dir"
cp "$dir"*.jsonl "D:/Projects/waggle-os/harvest-imports/claude-code/$dir"
fi
done
B. Key projects to verify are included:
| Project dir | What it is |
|---|---|
D--Projects-waggle-os |
Waggle OS (main project — dozens of sessions) |
D--Projects-SocialPresence |
Social presence work |
D--Projects-HiveMind |
HiveMind project |
D--Projects-MS-Claw* |
MS Claw projects |
D--Projects-eF |
eF project |
D--Projects-ReFarm |
ReFarm project |
D--Projects-TCG |
TCG project |
D--Projects-Dubai* |
Dubai offering |
D--Projects-Egzakta* |
Egzakta investor pitch |
C--Users-MarkoMarkovic* |
Various personal projects |
C. Also grab the memory files (per-project learned context):
# Copy all memory directories too
cd "C:/Users/MarkoMarkovic/.claude/projects"
for dir in */; do
if [ -d "${dir}memory" ]; then
mkdir -p "D:/Projects/waggle-os/harvest-imports/claude-code/${dir}memory"
cp -r "${dir}memory/"* "D:/Projects/waggle-os/harvest-imports/claude-code/${dir}memory/"
fi
done
D. Both accounts:
Claude Code sessions are stored locally regardless of which account you're logged in with. All sessions from both marolinik@gmail.com and marko.markovic@egzakta.com are in the same .claude/projects/ directory. The copy above captures both.
5. Gemini (gemini.google.com)
Adapter: gemini-adapter.ts (shipped, needs real-data verification)
Format: JSON (via Google Takeout)
Steps:
- Go to https://takeout.google.com
- Click Deselect all (top of page)
- Scroll down and check ONLY "Gemini Apps" (formerly Bard)
- Click Next step
- Choose:
- Delivery: Send download link via email
- Frequency: Export once
- File type: ZIP
- File size: 2 GB (default is fine)
- Click Create export
- Wait for email (can take minutes to hours depending on volume)
- Download the ZIP
- Extract — navigate to
Takeout/Gemini Apps/ - You'll find conversation JSON files
- Copy all files to
D:\Projects\waggle-os\harvest-imports\gemini\
6. Perplexity (perplexity.ai)
Adapter: perplexity-adapter.ts (shipped in S3, production-tested)
Format: JSON (threads with citations)
Steps:
- Go to https://perplexity.ai
- Click your profile icon → Settings
- Scroll to Account section
- Look for Export data or Download your data
- If no export button available:
- Go to https://perplexity.ai/settings/account
- Look for a data export option
- If still not available: Perplexity may not have a bulk export yet
- Alternative: Use the Perplexity API to fetch your thread history:
- Check if you have API access at https://perplexity.ai/settings/api
- Threads can be fetched programmatically
- Copy any exported JSON to
D:\Projects\waggle-os\harvest-imports\perplexity\
Note: If Perplexity doesn't offer bulk export, we can build a browser-based scraper or use the API. Let me know and I'll build it.
7. Cursor (cursor.sh)
Adapter: NOT BUILT YET (I'll build it when you're ready) Format: SQLite database + workspace logs
Steps:
- Cursor stores conversations locally in:
- Windows:
%APPDATA%\Cursor\User\ - Look for:
workspaceStorage/,globalStorage/, orstate.vscdb
- Windows:
- Navigate to
C:\Users\MarkoMarkovic\AppData\Roaming\Cursor\User\ - Look for:
- Any
.sqliteor.dbfiles workspaceStorage\*\state.vscdb(per-workspace state)globalStorage\*\directories with conversation data
- Any
- Copy the entire relevant folder:
mkdir -p "D:/Projects/waggle-os/harvest-imports/cursor"
cp -r "C:/Users/MarkoMarkovic/AppData/Roaming/Cursor/User/workspaceStorage" "D:/Projects/waggle-os/harvest-imports/cursor/"
cp -r "C:/Users/MarkoMarkovic/AppData/Roaming/Cursor/User/globalStorage" "D:/Projects/waggle-os/harvest-imports/cursor/"
Note: I'll reverse-engineer the format and build the adapter once you've copied the data.
8. Microsoft Graph (email + calendar + files) — FUTURE
Connector: NOT BUILT YET (OAuth2 + REST API needed) What it covers: Outlook email, Calendar events, OneDrive/SharePoint files
Prep (for when I build the connector):
- Go to https://portal.azure.com
- Navigate to App registrations → New registration
- Name: "Waggle OS Local"
- Redirect URI:
http://localhost:3333/api/oauth/callback - Supported account types: "Accounts in this organizational directory only"
- After creation, note:
- Application (client) ID
- Directory (tenant) ID
- Go to Certificates & secrets → New client secret → copy the value
- Go to API permissions → Add:
Mail.ReadCalendars.ReadFiles.Read.AllUser.Read
- Admin consent if required by your Egzakta tenant
I'll build the full OAuth flow + Graph API connector. Just prep the app registration.
Checklist
| # | Platform | Export method | Where to put it | Done? |
|---|---|---|---|---|
| 1 | ChatGPT | Settings → Export | harvest-imports/chatgpt/ |
[ ] |
| 2 | Claude Web (gmail) | Settings → Export | harvest-imports/claude-web/gmail/ |
[ ] |
| 3 | Claude Web (egzakta) | Settings → Export | harvest-imports/claude-web/egzakta/ |
[ ] |
| 4 | Claude Desktop | Check if separate from web | harvest-imports/claude-desktop/ |
[ ] |
| 5 | Claude Code (ALL) | Copy ~/.claude/projects/*.jsonl | harvest-imports/claude-code/ |
[ ] |
| 6 | Gemini | Google Takeout → Gemini Apps | harvest-imports/gemini/ |
[ ] |
| 7 | Perplexity | Settings → Export | harvest-imports/perplexity/ |
[ ] |
| 8 | Cursor | Copy AppData/Cursor/ | harvest-imports/cursor/ |
[ ] |
| 9 | MS Graph | Azure App Registration | (prep only — connector not built) | [ ] |
Keys to add to Waggle vault
| Key | For | How to get |
|---|---|---|
OPENAI_API_KEY |
GPT-5 judge | https://platform.openai.com/api-keys |
GOOGLE_API_KEY |
Gemini 2.5 Pro judge | https://aistudio.google.com/apikey |
When you're done
Drop me a message with:
- "Exports ready" — I'll start the harvest pipeline on everything
- Which API keys you've added to vault
- Budget confirmation for the full $2-3K test
I'll continue building while you prep:
- Wire persona denylist (Phase 0)
- Build Cursor adapter
- Fix remaining review majors
- Prep the harvest pipeline for bulk ingest