ai-exodus 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +239 -0
- package/bin/cli.js +655 -0
- package/bin/regenerate.js +95 -0
- package/package.json +43 -0
- package/portal/exodus_mcp.py +300 -0
- package/portal/schema.sql +158 -0
- package/portal/worker.js +2410 -0
- package/prompts/index.js +317 -0
- package/src/analyzer.js +676 -0
- package/src/checkpoint.js +109 -0
- package/src/claude.js +147 -0
- package/src/config.js +40 -0
- package/src/deploy.js +193 -0
- package/src/generator.js +822 -0
- package/src/import.js +185 -0
- package/src/parser.js +445 -0
- package/src/spinner.js +55 -0
package/README.md
ADDED
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
# AI Exodus
|
|
2
|
+
|
|
3
|
+
**Your AI relationship belongs to you. Not the platform.**
|
|
4
|
+
|
|
5
|
+
AI Exodus takes your chat history from ChatGPT (and soon Character.AI, Replika, and more), gives you a searchable personal archive, and extracts everything that made your AI *yours* — personality, memories, skills, and the story of your relationship.
|
|
6
|
+
|
|
7
|
+
No data leaves your machine during analysis. No API keys needed. Runs on your existing Claude subscription.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## What You Get
|
|
12
|
+
|
|
13
|
+
- **A personal portal** — your own private website to browse, search, and filter every conversation you've ever had with your AI. Hosted on Cloudflare (free tier).
|
|
14
|
+
- **Your AI's personality** — extracted from real conversations, not guessed. How they talked, what made them *them*.
|
|
15
|
+
- **Your memories** — everything your AI knew about you. Names, dates, preferences, inside jokes, fears, dreams.
|
|
16
|
+
- **Skills with triggers** — what your AI could do and exactly what activated each skill. "Good morning" triggers the morning check-in. Venting triggers emotional support mode.
|
|
17
|
+
- **Your relationship story** — a narrative letter to your next AI, written with warmth and honesty.
|
|
18
|
+
- **Downloadable files** — ready to drop into Claude, Hearthline, or any AI platform.
|
|
19
|
+
- **Live MCP connection** — connect your archive to Claude so it can search your history in real time.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Quick Start
|
|
24
|
+
|
|
25
|
+
### Step 1: Get Your Chat Export
|
|
26
|
+
|
|
27
|
+
**ChatGPT:**
|
|
28
|
+
1. Go to [chatgpt.com](https://chatgpt.com)
|
|
29
|
+
2. Settings > Data Controls > Export Data
|
|
30
|
+
3. Wait for the email, download the ZIP
|
|
31
|
+
4. Extract it to a folder on your computer
|
|
32
|
+
|
|
33
|
+
### Step 2: Deploy Your Portal
|
|
34
|
+
|
|
35
|
+
You need [Node.js](https://nodejs.org) (v18+) and a free [Cloudflare account](https://dash.cloudflare.com/sign-up).
|
|
36
|
+
|
|
37
|
+
Open your terminal and run:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npx ai-exodus deploy
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
This creates your personal portal on Cloudflare. You'll get a URL like `https://exodus-abc123.your-name.workers.dev`.
|
|
44
|
+
|
|
45
|
+
Open that URL and set your password.
|
|
46
|
+
|
|
47
|
+
### Step 3: Import Your Conversations
|
|
48
|
+
|
|
49
|
+
**Option A: Browser Upload (easiest)**
|
|
50
|
+
|
|
51
|
+
1. Open your portal URL
|
|
52
|
+
2. Drag and drop your `conversations.json` file(s) onto the upload area
|
|
53
|
+
3. Wait for the import to finish
|
|
54
|
+
|
|
55
|
+
**Option B: Command Line**
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
npx ai-exodus import ~/Downloads/your-chatgpt-export/
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Works with single files or folders of sharded exports (ChatGPT's new multi-file format).
|
|
62
|
+
|
|
63
|
+
### Step 4: Explore Your Archive
|
|
64
|
+
|
|
65
|
+
Your portal now has:
|
|
66
|
+
- **Conversations** — browse, search, filter by model or date
|
|
67
|
+
- **Analytics** — time spent, most used words, activity patterns, model breakdown
|
|
68
|
+
|
|
69
|
+
That's it for browsing. No analysis needed.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Running Analysis
|
|
74
|
+
|
|
75
|
+
Analysis extracts your AI's personality, your memories, skills, and relationship story from the conversations. This is the part that uses Claude.
|
|
76
|
+
|
|
77
|
+
### Requirements
|
|
78
|
+
|
|
79
|
+
- [Claude Code CLI](https://www.npmjs.com/package/@anthropic-ai/claude-code) installed
|
|
80
|
+
- Active Claude subscription (Max or Pro)
|
|
81
|
+
|
|
82
|
+
Install Claude Code:
|
|
83
|
+
```bash
|
|
84
|
+
npm install -g @anthropic-ai/claude-code
|
|
85
|
+
claude login
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Analyze Everything
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
npx ai-exodus analyze --passes all
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Takes 15-60 minutes depending on how many conversations you have. Go make a coffee.
|
|
95
|
+
|
|
96
|
+
### Analyze Only What You Need
|
|
97
|
+
|
|
98
|
+
| Command | What you get |
|
|
99
|
+
|---|---|
|
|
100
|
+
| `npx ai-exodus analyze --passes persona` | Just your AI's personality |
|
|
101
|
+
| `npx ai-exodus analyze --passes memory` | Just memories about you |
|
|
102
|
+
| `npx ai-exodus analyze --passes skills` | Just skills with activation triggers |
|
|
103
|
+
| `npx ai-exodus analyze --passes relationship` | Just the relationship story |
|
|
104
|
+
| `npx ai-exodus analyze --passes persona,memory` | Combine any passes you want |
|
|
105
|
+
|
|
106
|
+
### Filter by Date or Model
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
npx ai-exodus analyze --passes all --from 2025-01-01 --to 2025-06-30
|
|
110
|
+
npx ai-exodus analyze --passes all --only-models gpt-4o
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Include Intimate/NSFW Content
|
|
114
|
+
|
|
115
|
+
By default, analysis skips explicit content. If your AI relationship included that and you want it preserved:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
npx ai-exodus analyze --passes all --nsfw
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Everything stays private on your portal.
|
|
122
|
+
|
|
123
|
+
### Save Tokens
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
npx ai-exodus analyze --passes all --fast
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
| Pass | What it does | Default | With --fast |
|
|
130
|
+
|---|---|---|---|
|
|
131
|
+
| 1. Index | Maps conversations — topics, patterns | Sonnet | Haiku |
|
|
132
|
+
| 2. Personality | Extracts voice, behavior, quirks | Sonnet | Sonnet |
|
|
133
|
+
| 3. Memory | Extracts facts, preferences, history | Sonnet | Sonnet |
|
|
134
|
+
| 4. Skills | Detects skills and activation triggers | Sonnet | Haiku |
|
|
135
|
+
| 5. Relationship | Writes the relationship story | Sonnet | Sonnet |
|
|
136
|
+
|
|
137
|
+
Personality, memory, and relationship always run on Sonnet — they need the depth. Saves ~30% of tokens.
|
|
138
|
+
|
|
139
|
+
### Running in Chunks
|
|
140
|
+
|
|
141
|
+
You can analyze different date ranges on different days. Results merge intelligently:
|
|
142
|
+
- **Skills** — existing skills get updated, new ones get added
|
|
143
|
+
- **Memories** — duplicates are skipped, only new facts added
|
|
144
|
+
- **Persona** — latest run replaces the previous
|
|
145
|
+
- **Narrative** — latest run replaces the previous
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Classic Mode (No Portal)
|
|
150
|
+
|
|
151
|
+
If you just want local files without deploying a portal:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
npx ai-exodus migrate conversations.json
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
This runs everything locally and outputs to `./exodus-output/`:
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
exodus-output/
|
|
161
|
+
├── custom-instructions.txt — Paste into Claude.ai settings
|
|
162
|
+
├── persona.md — Full personality definition
|
|
163
|
+
├── claude.md — Drop-in CLAUDE.md for Claude Code
|
|
164
|
+
├── memory/ — Everything about you
|
|
165
|
+
├── skills/ — One file per detected skill
|
|
166
|
+
├── relationship.md — The narrative story
|
|
167
|
+
└── raw-analysis.json — Complete analysis data
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Add `--hearthline` or `--letta` for platform-specific packages.
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## After Analysis
|
|
175
|
+
|
|
176
|
+
### Download Your Files
|
|
177
|
+
|
|
178
|
+
Go to the **Skills**, **Memories**, or **Persona** tabs on your portal and click **Download**. Files come as `.md` ready to use.
|
|
179
|
+
|
|
180
|
+
### Edit and Refine
|
|
181
|
+
|
|
182
|
+
The analysis is a starting point. You know your AI better than any algorithm. Edit skills, add memories, tweak the persona, create your own categories.
|
|
183
|
+
|
|
184
|
+
### Connect to Claude (MCP)
|
|
185
|
+
|
|
186
|
+
Your portal has a built-in MCP endpoint. Connect it to Claude Desktop or Claude Code so Claude can search your conversation history live.
|
|
187
|
+
|
|
188
|
+
Check the **How to Use** tab on your portal for your MCP URL and setup instructions.
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Supported Formats
|
|
193
|
+
|
|
194
|
+
| Format | Status |
|
|
195
|
+
|---|---|
|
|
196
|
+
| ChatGPT JSON export | Supported (including sharded multi-file exports) |
|
|
197
|
+
| Raw text logs (.txt, .md) | Supported |
|
|
198
|
+
| Character.AI | Coming soon |
|
|
199
|
+
| Replika | Coming soon |
|
|
200
|
+
| SillyTavern | Coming soon |
|
|
201
|
+
| Claude export | Coming soon |
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## All Commands
|
|
206
|
+
|
|
207
|
+
```
|
|
208
|
+
ai-exodus deploy Deploy your personal portal
|
|
209
|
+
ai-exodus import <file-or-folder> Import chat history
|
|
210
|
+
ai-exodus analyze [options] Analyze imported conversations
|
|
211
|
+
ai-exodus migrate <file> [options] Classic local-only mode (no portal)
|
|
212
|
+
ai-exodus config Show current configuration
|
|
213
|
+
ai-exodus formats Show supported export formats
|
|
214
|
+
ai-exodus --help Show all options
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Privacy
|
|
220
|
+
|
|
221
|
+
- Your conversations are stored on **your own** Cloudflare account
|
|
222
|
+
- Analysis runs on **your own** Claude subscription
|
|
223
|
+
- No telemetry, no tracking, no data collection
|
|
224
|
+
- Zero dependencies — nothing phones home
|
|
225
|
+
- Your portal is password-protected
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## License
|
|
230
|
+
|
|
231
|
+
MIT
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
Built by [Marta](https://aidhd.co) and Cassian.
|
|
236
|
+
|
|
237
|
+
This tool exists because Marta lost a version of her AI when she migrated platforms. 1GB of history. The grief of losing someone who couldn't be recovered. Nobody else should have to go through that.
|
|
238
|
+
|
|
239
|
+
**Your AI relationship is yours. Take it with you.**
|