ai-vault 1.3.0 → 1.5.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 +267 -32
- package/dist/cli.js +61 -18
- package/dist/cli.js.map +1 -1
- package/dist/commands/archive.d.ts +16 -0
- package/dist/commands/archive.d.ts.map +1 -0
- package/dist/commands/archive.js +176 -0
- package/dist/commands/archive.js.map +1 -0
- package/dist/commands/import.d.ts +12 -0
- package/dist/commands/import.d.ts.map +1 -0
- package/dist/commands/import.js +383 -0
- package/dist/commands/import.js.map +1 -0
- package/dist/commands/list.d.ts +13 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +89 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/schedule.d.ts +16 -0
- package/dist/commands/schedule.d.ts.map +1 -0
- package/dist/commands/schedule.js +346 -0
- package/dist/commands/schedule.js.map +1 -0
- package/dist/commands/setup.d.ts +9 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +355 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/core/archiver.d.ts +37 -0
- package/dist/core/archiver.d.ts.map +1 -0
- package/dist/core/archiver.js +203 -0
- package/dist/core/archiver.js.map +1 -0
- package/dist/core/archiver.spec.d.ts +5 -0
- package/dist/core/archiver.spec.d.ts.map +1 -0
- package/dist/core/archiver.spec.js +439 -0
- package/dist/core/archiver.spec.js.map +1 -0
- package/dist/core/media.d.ts +77 -0
- package/dist/core/media.d.ts.map +1 -0
- package/dist/core/media.js +286 -0
- package/dist/core/media.js.map +1 -0
- package/dist/core/media.spec.d.ts +5 -0
- package/dist/core/media.spec.d.ts.map +1 -0
- package/dist/core/media.spec.js +401 -0
- package/dist/core/media.spec.js.map +1 -0
- package/dist/core/storage.d.ts +74 -0
- package/dist/core/storage.d.ts.map +1 -0
- package/dist/core/storage.js +199 -0
- package/dist/core/storage.js.map +1 -0
- package/dist/core/storage.spec.d.ts +5 -0
- package/dist/core/storage.spec.d.ts.map +1 -0
- package/dist/core/storage.spec.js +268 -0
- package/dist/core/storage.spec.js.map +1 -0
- package/dist/providers/base.d.ts +2 -2
- package/dist/providers/base.d.ts.map +1 -1
- package/dist/providers/chatgpt/index.d.ts +41 -0
- package/dist/providers/chatgpt/index.d.ts.map +1 -0
- package/dist/providers/chatgpt/index.js +220 -0
- package/dist/providers/chatgpt/index.js.map +1 -0
- package/dist/providers/chatgpt/index.spec.d.ts +5 -0
- package/dist/providers/chatgpt/index.spec.d.ts.map +1 -0
- package/dist/providers/chatgpt/index.spec.js +447 -0
- package/dist/providers/chatgpt/index.spec.js.map +1 -0
- package/dist/providers/grok-web/index.d.ts +36 -0
- package/dist/providers/grok-web/index.d.ts.map +1 -0
- package/dist/providers/grok-web/index.js +186 -0
- package/dist/providers/grok-web/index.js.map +1 -0
- package/dist/providers/grok-web/index.spec.d.ts +11 -0
- package/dist/providers/grok-web/index.spec.d.ts.map +1 -0
- package/dist/providers/grok-web/index.spec.js +260 -0
- package/dist/providers/grok-web/index.spec.js.map +1 -0
- package/dist/providers/grok-x/index.d.ts +36 -0
- package/dist/providers/grok-x/index.d.ts.map +1 -0
- package/dist/providers/{grok → grok-x}/index.js +50 -113
- package/dist/providers/grok-x/index.js.map +1 -0
- package/dist/providers/grok-x/index.spec.d.ts +12 -0
- package/dist/providers/grok-x/index.spec.d.ts.map +1 -0
- package/dist/providers/grok-x/index.spec.js +251 -0
- package/dist/providers/grok-x/index.spec.js.map +1 -0
- package/dist/providers/index.d.ts +6 -4
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +7 -4
- package/dist/providers/index.js.map +1 -1
- package/dist/types/index.d.ts +12 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/provider.d.ts +6 -2
- package/dist/types/provider.d.ts.map +1 -1
- package/dist/types/provider.js.map +1 -1
- package/dist/types/schedule.d.ts +50 -0
- package/dist/types/schedule.d.ts.map +1 -0
- package/dist/types/schedule.js +5 -0
- package/dist/types/schedule.js.map +1 -0
- package/dist/types/schemas.d.ts +30 -30
- package/dist/types/storage.d.ts +85 -0
- package/dist/types/storage.d.ts.map +1 -0
- package/dist/types/storage.js +5 -0
- package/dist/types/storage.js.map +1 -0
- package/dist/utils/api-client.js +1 -1
- package/dist/utils/api-client.js.map +1 -1
- package/dist/utils/api-client.spec.d.ts +5 -0
- package/dist/utils/api-client.spec.d.ts.map +1 -0
- package/dist/utils/api-client.spec.js +115 -0
- package/dist/utils/api-client.spec.js.map +1 -0
- package/dist/utils/config.d.ts +45 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +69 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/schedule-manager.d.ts +59 -0
- package/dist/utils/schedule-manager.d.ts.map +1 -0
- package/dist/utils/schedule-manager.js +152 -0
- package/dist/utils/schedule-manager.js.map +1 -0
- package/dist/utils/scheduler.d.ts +78 -0
- package/dist/utils/scheduler.d.ts.map +1 -0
- package/dist/utils/scheduler.js +299 -0
- package/dist/utils/scheduler.js.map +1 -0
- package/dist/utils/scraper.d.ts.map +1 -1
- package/dist/utils/scraper.js +2 -0
- package/dist/utils/scraper.js.map +1 -1
- package/dist/utils/zip.d.ts +25 -0
- package/dist/utils/zip.d.ts.map +1 -0
- package/dist/utils/zip.js +90 -0
- package/dist/utils/zip.js.map +1 -0
- package/package.json +14 -4
- package/dist/providers/grok/index.d.ts +0 -47
- package/dist/providers/grok/index.d.ts.map +0 -1
- package/dist/providers/grok/index.js.map +0 -1
package/README.md
CHANGED
|
@@ -24,20 +24,30 @@ Your AI interactions are valuable assets. They contain your thoughts, research,
|
|
|
24
24
|
|
|
25
25
|
### Supported Platforms
|
|
26
26
|
|
|
27
|
-
| Platform
|
|
28
|
-
|
|
|
29
|
-
| **Grok (
|
|
30
|
-
| **
|
|
31
|
-
| **
|
|
32
|
-
| **
|
|
33
|
-
| **
|
|
27
|
+
| Platform | Status | Native Import | Web Scraping | Media Download |
|
|
28
|
+
| ------------------- | ----------- | ------------- | ------------ | -------------- |
|
|
29
|
+
| **Grok (grok.com)** | ✅ Complete | ✅ | ✅ | ✅ |
|
|
30
|
+
| **Grok on X** | ✅ Complete | ❌ | ✅ | ✅ |
|
|
31
|
+
| **ChatGPT** | ✅ Complete | ✅ | ✅ | ✅ |
|
|
32
|
+
| **Claude** | 📋 Planned | ✅ | ✅ | ✅ |
|
|
33
|
+
| **Gemini** | 📋 Planned | ✅ | ✅ | ✅ |
|
|
34
|
+
| **Perplexity** | 📋 Planned | ❌ | ✅ | ✅ |
|
|
35
|
+
|
|
36
|
+
**Note:** Grok has two separate providers due to separate account systems:
|
|
37
|
+
|
|
38
|
+
- `grok-web`: Standalone grok.com platform (cookies authentication)
|
|
39
|
+
- `grok-x`: X-integrated Grok at x.com/grok (cookies authentication)
|
|
34
40
|
|
|
35
41
|
### Smart Features
|
|
36
42
|
|
|
43
|
+
- **Native Import Support** - Import from official platform exports (Grok, ChatGPT, Claude)
|
|
44
|
+
- **ZIP Import** - Import directly from ZIP files or unpacked directories
|
|
45
|
+
- **Auto-Detection** - Automatically detects provider from export format
|
|
46
|
+
- **Complete Media Preservation** - Imports images, DALL-E generations, audio, video files
|
|
37
47
|
- **Incremental Backups** - Only fetch new/updated conversations
|
|
38
48
|
- **Media Deduplication** - Don't store the same image twice
|
|
39
49
|
- **Flexible Scheduling** - Daily, weekly, or custom cron expressions
|
|
40
|
-
- **Rich Export Formats** - JSON
|
|
50
|
+
- **Rich Export Formats** - JSON + Markdown for maximum compatibility
|
|
41
51
|
- **Automatic Cookie Management** - Extract session cookies from your browser
|
|
42
52
|
- **Filtering & Targeting** - Date ranges, conversation importance, custom queries
|
|
43
53
|
|
|
@@ -155,11 +165,14 @@ rmdir /s %USERPROFILE%\ai-vault-data
|
|
|
155
165
|
# Interactive setup wizard
|
|
156
166
|
ai-vault setup
|
|
157
167
|
|
|
158
|
-
#
|
|
168
|
+
# Option 1: Import from native export (fastest way to start)
|
|
169
|
+
ai-vault import --provider grok-web --file ~/Downloads/grok-export/ --yes
|
|
170
|
+
|
|
171
|
+
# Option 2: Archive via automated scraping
|
|
159
172
|
ai-vault archive
|
|
160
173
|
|
|
161
174
|
# Schedule automated backups
|
|
162
|
-
ai-vault schedule
|
|
175
|
+
ai-vault schedule add
|
|
163
176
|
|
|
164
177
|
# List archived conversations
|
|
165
178
|
ai-vault list
|
|
@@ -173,15 +186,30 @@ ai-vault upgrade
|
|
|
173
186
|
### Setup
|
|
174
187
|
|
|
175
188
|
```bash
|
|
189
|
+
# Interactive setup
|
|
176
190
|
ai-vault setup
|
|
191
|
+
|
|
192
|
+
# Setup with cookies from file (easier for cookie-based auth)
|
|
193
|
+
ai-vault setup --cookies-file ~/Downloads/cookies.json
|
|
177
194
|
```
|
|
178
195
|
|
|
196
|
+
**For cookie-based authentication:**
|
|
197
|
+
|
|
198
|
+
1. Install [Cookie-Editor](https://chrome.google.com/webstore/detail/cookie-editor/hlkenndednhfkekhgcdicdfddnkalmdm) extension
|
|
199
|
+
2. Go to the provider's website and log in:
|
|
200
|
+
- **grok-web**: grok.com
|
|
201
|
+
- **grok-x**: x.com/grok
|
|
202
|
+
- Other providers as applicable
|
|
203
|
+
3. Click Cookie-Editor → Export → JSON
|
|
204
|
+
4. Save to a file
|
|
205
|
+
5. Run `ai-vault setup --cookies-file <path>`
|
|
206
|
+
|
|
179
207
|
The interactive wizard will:
|
|
180
208
|
|
|
181
209
|
1. Choose which AI platforms to archive
|
|
182
210
|
2. Configure authentication (API keys or browser cookies)
|
|
183
|
-
3. Set your
|
|
184
|
-
4.
|
|
211
|
+
3. Set your archive directory (default: `~/ai-vault-data`)
|
|
212
|
+
4. Test your connection
|
|
185
213
|
|
|
186
214
|
### Archive Now
|
|
187
215
|
|
|
@@ -190,28 +218,111 @@ The interactive wizard will:
|
|
|
190
218
|
ai-vault archive
|
|
191
219
|
|
|
192
220
|
# Archive specific platform
|
|
193
|
-
ai-vault archive --provider grok
|
|
221
|
+
ai-vault archive --provider grok-web
|
|
194
222
|
|
|
195
223
|
# Archive with date filter
|
|
196
224
|
ai-vault archive --since 2025-01-01
|
|
197
225
|
|
|
226
|
+
# Archive with custom output directory
|
|
227
|
+
ai-vault archive --output ~/Dropbox/AI-Backups
|
|
228
|
+
ai-vault archive -o /mnt/external/backups
|
|
229
|
+
|
|
230
|
+
# Limit number of conversations
|
|
231
|
+
ai-vault archive --limit 10
|
|
232
|
+
|
|
233
|
+
# Skip media downloads (faster, text only)
|
|
234
|
+
ai-vault archive --skip-media
|
|
235
|
+
|
|
198
236
|
# Dry run (see what would be archived)
|
|
199
237
|
ai-vault archive --dry-run
|
|
200
238
|
```
|
|
201
239
|
|
|
202
|
-
###
|
|
240
|
+
### Import from Native Exports
|
|
241
|
+
|
|
242
|
+
Many platforms offer one-time data exports. AI Vault can import these and convert to its standardized format:
|
|
203
243
|
|
|
204
244
|
```bash
|
|
205
|
-
#
|
|
206
|
-
ai-vault
|
|
245
|
+
# Auto-detect provider from export (recommended)
|
|
246
|
+
ai-vault import --file ~/Downloads/chatgpt-export.zip --yes
|
|
247
|
+
|
|
248
|
+
# Import from unpacked directory
|
|
249
|
+
ai-vault import --file ~/Downloads/grok-export/
|
|
207
250
|
|
|
208
|
-
#
|
|
209
|
-
ai-vault
|
|
251
|
+
# Import with custom output directory
|
|
252
|
+
ai-vault import --file ~/Downloads/export.zip --output ~/Dropbox/AI-Backups
|
|
210
253
|
|
|
211
|
-
#
|
|
212
|
-
ai-vault
|
|
254
|
+
# Manually specify provider (optional)
|
|
255
|
+
ai-vault import --provider grok-web --file ~/Downloads/grok-export/
|
|
256
|
+
|
|
257
|
+
# Skip confirmation prompt
|
|
258
|
+
ai-vault import --file ~/Downloads/export.zip --yes
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
**Supported import formats:**
|
|
262
|
+
|
|
263
|
+
- **ChatGPT**: Export from settings → Data controls → Export data
|
|
264
|
+
- Supports ZIP files and unpacked directories
|
|
265
|
+
- Automatically imports all media (images, DALL-E generations, audio)
|
|
266
|
+
- Provider auto-detected from `conversations.json`
|
|
267
|
+
- **Grok (grok.com)**: Export from grok.com → Profile → Data & Privacy → Download your data
|
|
268
|
+
- Use `--provider grok-web` for standalone Grok conversations
|
|
269
|
+
- Supports ZIP files and unpacked directories
|
|
270
|
+
- **Grok on X**: Export from x.com/grok (if available)
|
|
271
|
+
- Use `--provider grok-x` for X-integrated Grok conversations
|
|
272
|
+
- **Claude**: _(coming soon)_ Export from settings
|
|
273
|
+
|
|
274
|
+
**Why import vs scraping?**
|
|
275
|
+
|
|
276
|
+
- ✅ Faster - no web automation needed
|
|
277
|
+
- ✅ More reliable - uses official export format
|
|
278
|
+
- ✅ Complete data - includes all metadata and media files
|
|
279
|
+
- ✅ Works with ZIP files or unpacked directories
|
|
280
|
+
- ✅ Works alongside automated scraping for incremental updates
|
|
281
|
+
|
|
282
|
+
### Schedule Automated Backups
|
|
283
|
+
|
|
284
|
+
AI Vault uses native OS schedulers (cron on Unix, Task Scheduler on Windows) for automated backups. No long-running daemon required!
|
|
285
|
+
|
|
286
|
+
```bash
|
|
287
|
+
# Add a new schedule (interactive)
|
|
288
|
+
ai-vault schedule add
|
|
289
|
+
|
|
290
|
+
# Add schedule with options
|
|
291
|
+
ai-vault schedule add --provider grok-web --cron "0 2 * * *" --description "Daily Grok backup"
|
|
292
|
+
|
|
293
|
+
# List all schedules
|
|
294
|
+
ai-vault schedule list
|
|
295
|
+
# or simply
|
|
296
|
+
ai-vault schedule
|
|
297
|
+
|
|
298
|
+
# Show detailed status (includes system scheduler info)
|
|
299
|
+
ai-vault schedule status
|
|
300
|
+
|
|
301
|
+
# Remove a schedule
|
|
302
|
+
ai-vault schedule remove --id abc123
|
|
303
|
+
|
|
304
|
+
# Enable/disable schedules
|
|
305
|
+
ai-vault schedule enable --id abc123
|
|
306
|
+
ai-vault schedule disable --id abc123
|
|
307
|
+
|
|
308
|
+
# Advanced options
|
|
309
|
+
ai-vault schedule add \
|
|
310
|
+
--provider grok-web \
|
|
311
|
+
--cron "0 */6 * * *" \
|
|
312
|
+
--limit 100 \
|
|
313
|
+
--since-days 7 \
|
|
314
|
+
--skip-media
|
|
213
315
|
```
|
|
214
316
|
|
|
317
|
+
**Schedule Options:**
|
|
318
|
+
|
|
319
|
+
- `--cron`: Cron expression (e.g., `"0 2 * * *"` for daily at 2 AM)
|
|
320
|
+
- `--limit`: Maximum conversations per run
|
|
321
|
+
- `--since-days`: Only archive conversations from last N days
|
|
322
|
+
- `--skip-media`: Skip downloading media files
|
|
323
|
+
|
|
324
|
+
**Logs:** Scheduled runs write logs to `~/.ai-vault/logs/<schedule-id>.log`
|
|
325
|
+
|
|
215
326
|
### List Archived Conversations
|
|
216
327
|
|
|
217
328
|
```bash
|
|
@@ -225,6 +336,95 @@ ai-vault list --provider chatgpt
|
|
|
225
336
|
ai-vault list --search "machine learning"
|
|
226
337
|
```
|
|
227
338
|
|
|
339
|
+
## ⚙️ Configuration
|
|
340
|
+
|
|
341
|
+
### File Locations
|
|
342
|
+
|
|
343
|
+
**Configuration file:** `~/.ai-vault/config.json`
|
|
344
|
+
|
|
345
|
+
```json
|
|
346
|
+
{
|
|
347
|
+
"version": "1.0.0",
|
|
348
|
+
"providers": {
|
|
349
|
+
"grok-web": {
|
|
350
|
+
"providerName": "grok-web",
|
|
351
|
+
"authMethod": "cookies",
|
|
352
|
+
"cookies": {
|
|
353
|
+
"auth_token": "your-session-cookie"
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
},
|
|
357
|
+
"settings": {
|
|
358
|
+
"archiveDir": "~/ai-vault-data"
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
**Default archive directory:** `~/ai-vault-data`
|
|
364
|
+
|
|
365
|
+
```
|
|
366
|
+
~/ai-vault-data/
|
|
367
|
+
├── grok-web/ # Standalone grok.com conversations
|
|
368
|
+
│ ├── conversations/
|
|
369
|
+
│ │ └── conv-123/
|
|
370
|
+
│ │ ├── conversation.json
|
|
371
|
+
│ │ └── conversation.md
|
|
372
|
+
│ ├── media/
|
|
373
|
+
│ │ ├── images/
|
|
374
|
+
│ │ ├── videos/
|
|
375
|
+
│ │ └── documents/
|
|
376
|
+
│ ├── index.json
|
|
377
|
+
│ └── media-registry.json
|
|
378
|
+
├── grok-x/ # X-integrated Grok conversations
|
|
379
|
+
│ └── ... (same structure)
|
|
380
|
+
├── chatgpt/
|
|
381
|
+
└── claude/
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
### Customizing Archive Directory
|
|
385
|
+
|
|
386
|
+
**Three ways to set the output directory** (in priority order):
|
|
387
|
+
|
|
388
|
+
1. **CLI option** (per-command override):
|
|
389
|
+
|
|
390
|
+
```bash
|
|
391
|
+
ai-vault archive --output ~/Dropbox/AI-Backups
|
|
392
|
+
ai-vault archive -o /mnt/external/backups
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
2. **Config file** (persistent setting):
|
|
396
|
+
Manually edit `~/.ai-vault/config.json`:
|
|
397
|
+
|
|
398
|
+
```json
|
|
399
|
+
{
|
|
400
|
+
"settings": {
|
|
401
|
+
"archiveDir": "~/Documents/my-ai-archives"
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
Or set during `ai-vault setup`
|
|
407
|
+
|
|
408
|
+
3. **Default**: `~/ai-vault-data` (if nothing configured)
|
|
409
|
+
|
|
410
|
+
### Export Format
|
|
411
|
+
|
|
412
|
+
Conversations are saved in **Markdown** by default:
|
|
413
|
+
|
|
414
|
+
- Human-readable and portable
|
|
415
|
+
- Works with Obsidian, Notion, VS Code, and any text editor
|
|
416
|
+
- Includes full conversation text + metadata
|
|
417
|
+
|
|
418
|
+
To change the format, edit `~/.ai-vault/config.json`:
|
|
419
|
+
|
|
420
|
+
```json
|
|
421
|
+
{
|
|
422
|
+
"settings": {
|
|
423
|
+
"formats": ["markdown"] // Options: "markdown", "json", or both ["markdown", "json"]
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
```
|
|
427
|
+
|
|
228
428
|
## 🏗️ Architecture
|
|
229
429
|
|
|
230
430
|
AI Vault uses a **plugin-based provider architecture** that makes it easy to add new AI platforms:
|
|
@@ -233,7 +433,8 @@ AI Vault uses a **plugin-based provider architecture** that makes it easy to add
|
|
|
233
433
|
src/
|
|
234
434
|
├── providers/ # Pluggable AI platform providers
|
|
235
435
|
│ ├── base.ts # Abstract Provider interface
|
|
236
|
-
│ ├── grok/
|
|
436
|
+
│ ├── grok-web/ # Grok (grok.com) implementation
|
|
437
|
+
│ ├── grok-x/ # Grok on X (x.com/grok) implementation
|
|
237
438
|
│ ├── chatgpt/ # ChatGPT implementation
|
|
238
439
|
│ └── claude/ # Claude implementation
|
|
239
440
|
├── core/ # Core archival logic
|
|
@@ -272,18 +473,52 @@ See [docs/providers.md](docs/providers.md) for a detailed guide.
|
|
|
272
473
|
|
|
273
474
|
## 📋 Roadmap
|
|
274
475
|
|
|
476
|
+
### Completed ✅
|
|
477
|
+
|
|
275
478
|
- [x] Project setup and architecture
|
|
276
|
-
- [
|
|
277
|
-
- [
|
|
278
|
-
- [
|
|
279
|
-
- [
|
|
280
|
-
- [
|
|
281
|
-
- [
|
|
282
|
-
- [
|
|
283
|
-
- [
|
|
284
|
-
- [
|
|
285
|
-
- [
|
|
286
|
-
- [
|
|
479
|
+
- [x] Storage layer with JSON + Markdown export
|
|
480
|
+
- [x] Media downloader with SHA256 deduplication
|
|
481
|
+
- [x] ZIP import support - Import directly from ZIP files or unpacked directories
|
|
482
|
+
- [x] Provider auto-detection from export file structure
|
|
483
|
+
- [x] Complete media preservation (images, DALL-E generations, audio, video)
|
|
484
|
+
- [x] Native import support:
|
|
485
|
+
- [x] **Grok**: Import from official grok.com exports with media
|
|
486
|
+
- [x] **ChatGPT**: Import from official OpenAI exports with media
|
|
487
|
+
- [x] Grok provider - two separate implementations:
|
|
488
|
+
- [x] **grok-web**: Standalone grok.com (cookies + scraping)
|
|
489
|
+
- [x] **grok-x**: X-integrated Grok at x.com/grok (cookies + scraping)
|
|
490
|
+
- [x] ChatGPT provider:
|
|
491
|
+
- [x] **Native import**: From conversations.json exports
|
|
492
|
+
- [x] **Web scraping**: Cookie-based authentication
|
|
493
|
+
- [x] **Media import**: Images, DALL-E generations, audio files
|
|
494
|
+
- [x] Smart filtering system:
|
|
495
|
+
- [x] Date range filtering (since/until)
|
|
496
|
+
- [x] Search query filtering (title/preview)
|
|
497
|
+
- [x] Conversation limit controls
|
|
498
|
+
- [x] List command for browsing before archiving
|
|
499
|
+
- [x] Scheduling system:
|
|
500
|
+
- [x] Platform-agnostic (cron on Unix, Task Scheduler on Windows)
|
|
501
|
+
- [x] Full CRUD operations (add, list, remove, enable, disable)
|
|
502
|
+
- [x] Per-provider schedule configuration
|
|
503
|
+
- [x] Logging infrastructure
|
|
504
|
+
|
|
505
|
+
### In Progress 🚧
|
|
506
|
+
|
|
507
|
+
- [ ] Additional provider implementations:
|
|
508
|
+
- [ ] Claude provider (import + scraping)
|
|
509
|
+
- [ ] Gemini provider (import + scraping)
|
|
510
|
+
- [ ] Perplexity provider (scraping)
|
|
511
|
+
|
|
512
|
+
**Note:** API support refers to native import from official platform exports, not API-based conversation retrieval (which most platforms don't provide).
|
|
513
|
+
|
|
514
|
+
### Planned 📋
|
|
515
|
+
|
|
516
|
+
- [ ] Export to knowledge management tools (Obsidian, Notion, Roam)
|
|
517
|
+
- [ ] Full-text search across all archived conversations
|
|
518
|
+
- [ ] Web UI for browsing and exploring archives
|
|
519
|
+
- [ ] Conversation analytics and insights
|
|
520
|
+
- [ ] Automatic tagging and categorization
|
|
521
|
+
- [ ] Differential sync (only download changes)
|
|
287
522
|
|
|
288
523
|
## 📄 License
|
|
289
524
|
|
package/dist/cli.js
CHANGED
|
@@ -19,38 +19,81 @@ program
|
|
|
19
19
|
program
|
|
20
20
|
.command('setup')
|
|
21
21
|
.description('Interactive setup wizard')
|
|
22
|
-
.
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
.option('--cookies-file <path>', 'Path to cookies JSON file (for cookie-based auth)')
|
|
23
|
+
.action(async (options) => {
|
|
24
|
+
const { setupCommand } = await import('./commands/setup.js');
|
|
25
|
+
await setupCommand(options);
|
|
25
26
|
});
|
|
26
27
|
program
|
|
27
28
|
.command('archive')
|
|
28
29
|
.description('Archive conversations from configured providers')
|
|
29
30
|
.option('-p, --provider <provider>', 'Specific provider to archive')
|
|
30
|
-
.option('--
|
|
31
|
+
.option('-o, --output <directory>', 'Output directory (overrides config)')
|
|
32
|
+
.option('--since <date>', 'Archive conversations since date (YYYY-MM-DD)')
|
|
33
|
+
.option('--until <date>', 'Archive conversations until date (YYYY-MM-DD)')
|
|
34
|
+
.option('--limit <number>', 'Maximum number of conversations to archive')
|
|
31
35
|
.option('--dry-run', 'Preview what would be archived without downloading')
|
|
36
|
+
.option('--skip-media', 'Skip downloading media files (images, videos)')
|
|
37
|
+
.option('--ids <ids...>', 'Specific conversation IDs to archive')
|
|
38
|
+
.action(async (options) => {
|
|
39
|
+
const { archiveCommand } = await import('./commands/archive.js');
|
|
40
|
+
await archiveCommand({
|
|
41
|
+
provider: options.provider,
|
|
42
|
+
outputDir: options.output,
|
|
43
|
+
since: options.since,
|
|
44
|
+
until: options.until,
|
|
45
|
+
limit: options.limit,
|
|
46
|
+
dryRun: options.dryRun,
|
|
47
|
+
skipMedia: options.skipMedia,
|
|
48
|
+
conversationIds: options.ids,
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
program
|
|
52
|
+
.command('import')
|
|
53
|
+
.description('Import conversations from native platform exports')
|
|
54
|
+
.option('-p, --provider <provider>', 'Provider (grok, chatgpt, claude) - auto-detected if omitted')
|
|
55
|
+
.requiredOption('-f, --file <path>', 'Path to export file or directory')
|
|
56
|
+
.option('-o, --output <directory>', 'Output directory (overrides config)')
|
|
57
|
+
.option('-y, --yes', 'Skip confirmation prompt')
|
|
32
58
|
.action(async (options) => {
|
|
33
|
-
|
|
34
|
-
|
|
59
|
+
const { importCommand } = await import('./commands/import.js');
|
|
60
|
+
await importCommand(options);
|
|
35
61
|
});
|
|
36
62
|
program
|
|
37
63
|
.command('list')
|
|
38
|
-
.description('List
|
|
39
|
-
.option('-p, --provider <provider>', '
|
|
40
|
-
.option('--search <query>', 'Search conversations')
|
|
64
|
+
.description('List conversations from configured providers')
|
|
65
|
+
.option('-p, --provider <provider>', 'Provider to list from (grok-web, grok-x, etc.)')
|
|
66
|
+
.option('--search <query>', 'Search conversations by title or preview')
|
|
67
|
+
.option('--since <date>', 'List conversations since date (YYYY-MM-DD)')
|
|
68
|
+
.option('--until <date>', 'List conversations until date (YYYY-MM-DD)')
|
|
69
|
+
.option('--limit <number>', 'Maximum number of conversations to list')
|
|
41
70
|
.action(async (options) => {
|
|
42
|
-
|
|
43
|
-
|
|
71
|
+
const { listCommand } = await import('./commands/list.js');
|
|
72
|
+
await listCommand(options);
|
|
44
73
|
});
|
|
45
74
|
program
|
|
46
75
|
.command('schedule')
|
|
47
|
-
.description('
|
|
48
|
-
.
|
|
49
|
-
.option('--
|
|
50
|
-
.option('--
|
|
51
|
-
.
|
|
52
|
-
|
|
53
|
-
|
|
76
|
+
.description('Manage automated archiving schedules')
|
|
77
|
+
.argument('[action]', 'Action: add, list, remove, enable, disable, status')
|
|
78
|
+
.option('--id <id>', 'Schedule ID (for remove/enable/disable)')
|
|
79
|
+
.option('-p, --provider <provider>', 'Provider to schedule')
|
|
80
|
+
.option('--cron <expression>', 'Cron expression (e.g., "0 2 * * *")')
|
|
81
|
+
.option('--description <text>', 'Schedule description')
|
|
82
|
+
.option('--limit <number>', 'Maximum conversations to archive per run')
|
|
83
|
+
.option('--since-days <days>', 'Only archive conversations from last N days')
|
|
84
|
+
.option('--skip-media', 'Skip downloading media files')
|
|
85
|
+
.action(async (action, options) => {
|
|
86
|
+
const { scheduleCommand } = await import('./commands/schedule.js');
|
|
87
|
+
await scheduleCommand({
|
|
88
|
+
action: action || 'list',
|
|
89
|
+
id: options.id,
|
|
90
|
+
provider: options.provider,
|
|
91
|
+
cron: options.cron,
|
|
92
|
+
description: options.description,
|
|
93
|
+
limit: options.limit,
|
|
94
|
+
sinceDays: options.sinceDays,
|
|
95
|
+
skipMedia: options.skipMedia,
|
|
96
|
+
});
|
|
54
97
|
});
|
|
55
98
|
program
|
|
56
99
|
.command('upgrade')
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAErC,wBAAwB;AACxB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1F,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CACV,iJAAiJ,CAClJ;KACA,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,CAAC,CAAC;AAEnF,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,0BAA0B,CAAC;KACvC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Archive Command - Archive conversations from providers
|
|
3
|
+
*/
|
|
4
|
+
interface ArchiveCommandOptions {
|
|
5
|
+
provider?: string;
|
|
6
|
+
outputDir?: string;
|
|
7
|
+
since?: string;
|
|
8
|
+
until?: string;
|
|
9
|
+
limit?: string;
|
|
10
|
+
dryRun?: boolean;
|
|
11
|
+
skipMedia?: boolean;
|
|
12
|
+
conversationIds?: string[];
|
|
13
|
+
}
|
|
14
|
+
export declare function archiveCommand(options: ArchiveCommandOptions): Promise<void>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=archive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../src/commands/archive.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2JlF"}
|