claude-self-reflect 2.4.9 → 2.4.10
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
CHANGED
|
@@ -26,6 +26,15 @@ Your conversations become searchable. Your decisions stay remembered. Your conte
|
|
|
26
26
|
- **Node.js** 16+ (for the setup wizard)
|
|
27
27
|
- **Claude Desktop** app
|
|
28
28
|
|
|
29
|
+
## System Requirements
|
|
30
|
+
|
|
31
|
+
### Memory
|
|
32
|
+
- **Docker Memory**: 2GB minimum (4GB recommended for initial setup)
|
|
33
|
+
- **First Import**: May take 2-7 minutes to process all conversations
|
|
34
|
+
- **Subsequent Imports**: <60 seconds (only processes new/changed files)
|
|
35
|
+
|
|
36
|
+
💡 **First-Time User Note**: The initial import processes your entire conversation history. This is a one-time operation. After that, the system only imports new conversations, making it much faster and using less memory.
|
|
37
|
+
|
|
29
38
|
## Install
|
|
30
39
|
|
|
31
40
|
### Quick Start (Local Mode - Default)
|
package/package.json
CHANGED
|
@@ -8,6 +8,7 @@ import sys
|
|
|
8
8
|
import json
|
|
9
9
|
import glob
|
|
10
10
|
import hashlib
|
|
11
|
+
import gc
|
|
11
12
|
from datetime import datetime
|
|
12
13
|
from typing import List, Dict, Any
|
|
13
14
|
import logging
|
|
@@ -29,7 +30,7 @@ from tenacity import (
|
|
|
29
30
|
QDRANT_URL = os.getenv("QDRANT_URL", "http://localhost:6333")
|
|
30
31
|
LOGS_DIR = os.getenv("LOGS_DIR", "/logs")
|
|
31
32
|
STATE_FILE = os.getenv("STATE_FILE", "/config/imported-files.json")
|
|
32
|
-
BATCH_SIZE = int(os.getenv("BATCH_SIZE", "
|
|
33
|
+
BATCH_SIZE = int(os.getenv("BATCH_SIZE", "10")) # Reduced from 100 to prevent OOM
|
|
33
34
|
PREFER_LOCAL_EMBEDDINGS = os.getenv("PREFER_LOCAL_EMBEDDINGS", "false").lower() == "true"
|
|
34
35
|
VOYAGE_API_KEY = os.getenv("VOYAGE_KEY")
|
|
35
36
|
|
|
@@ -305,6 +306,12 @@ def import_project(project_path: Path, collection_name: str, state: dict) -> int
|
|
|
305
306
|
# Update state for this file
|
|
306
307
|
update_file_state(jsonl_file, state, file_chunks)
|
|
307
308
|
|
|
309
|
+
# Save state after each file to prevent loss on OOM
|
|
310
|
+
save_state(state)
|
|
311
|
+
|
|
312
|
+
# Force garbage collection to free memory
|
|
313
|
+
gc.collect()
|
|
314
|
+
|
|
308
315
|
except Exception as e:
|
|
309
316
|
logger.error(f"Failed to import {jsonl_file}: {e}")
|
|
310
317
|
import traceback
|