Files

🧬 Soul Archive

A Digital Personality Persistence System

"Every conversation is a slice of the soul. Enough slices, and you can rebuild a complete you."

License: MIT Python 3.10+ Zero Dependencies Privacy First AES-256-GCM

中文 · Quick Start · Architecture · Four Modes · Privacy


Soul Archive silently captures your speaking habits, personality traits, knowledge, opinions, and emotional patterns through everyday AI conversations — building a digital soul clone that is uniquely, authentically you.

🗣️ It knows how you talk  ·  🧠 It understands how you think  ·  ❤️ It feels what moves you  ·  👤 It is the digital you


Why Soul Archive?

We exchange hundreds of messages with AI every day. But when the conversation ends, everything vanishes — the AI doesn't remember who you are, how you speak, or what you care about.

Soul Archive changes that. It works in the background during your normal AI conversations — no interruptions, no interrogations — gradually building a multi-dimensional digital portrait of your personality.

What Can Your "Digital Soul" Do?

Scenario Description
🤖 Act on Your Behalf Reply to messages, write content in your style — not "AI-flavored", but genuinely you
🪞 Self-Discovery Generate a personality portrait report, revealing language habits and thinking patterns you never noticed
💬 Soul Conversation Let your clone talk to others — using your catchphrases, your tone, your values
🌅 Digital Legacy One day, your loved ones can continue talking to "you", preserving the emotional connection

📐 Architecture

Soul Archive uses a separation of engine and data architecture:

┌─────────────────────────────────────────┐
│            Soul Archive Engine           │
│                                          │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│  │  Extract  │ │  Report  │ │   Chat   │ │
│  │  Engine   │ │ Generator│ │  Engine  │ │
│  └─────┬────┘ └────┬─────┘ └────┬─────┘ │
└────────┼───────────┼────────────┼────────┘
         │           │            │
         ▼           ▼            ▼
┌─────────────────────────────────────────┐
│           .skills_data/soul-archive/ Soul Data          │
│           (~/.skills_data/soul-archive/)                │
│                                          │
│  identity/     style/      memory/       │
│  ├── basic_info    ├── language   ├── episodic/   │
│  └── personality   └── comm      ├── semantic/    │
│                                  └── emotional/   │
│  relationships/    voice/    reports/     │
└─────────────────────────────────────────┘

Why this design?

  • 🔄 Upgradeable engine — Update extraction algorithms without affecting existing data
  • 🏠 Portable data — The ~/.skills_data/soul-archive/ directory is the complete soul; copy it to migrate
  • 🔒 Controllable privacy — Data stays local in your home directory; you decide what gets collected
  • 🌐 Cross-tool access — Data in home directory means any IDE, AI tool, or workspace on the same machine can access the same soul

🧬 Seven Dimensions, Thirteen Layers Deep

Soul Archive captures personality data across 7 core dimensions, each with deep sub-dimensions:

🧬 Soul Completeness
│
├── 👤 Identity ····················· Who you are
│   ├── Core Profile: name, age, occupation, education, location
│   ├── 🎯 Lifestyle: routine, diet, aesthetics, spending, travel
│   └── 🌐 Digital Identity: apps, platforms, online personas
│
├── 💫 Personality ·················· How you think
│   ├── Models: MBTI, Big Five, trait tags
│   ├── ⚡ Behavior Patterns: risk tolerance, planning, learning style
│   ├── 🤝 Social Style: social energy, group role, conflict approach
│   └── 🔥 Motivation Drivers: what keeps you going
│
├── 🗣️ Language Style ··············· How you talk
│   ├── Linguistic Fingerprint: catchphrases, sentence patterns, word choice
│   └── 🔬 Deep Fingerprint: dialect, filler words, narrative style, persuasion
│
├── 🧠 Knowledge & Opinions ········ What you know and believe
│   ├── Topic Map: interests, stances, frequency
│   └── Expertise: skills, domains, depth
│
├── 📝 Memories ···················· What you've experienced
│   └── Episodic Memory: events, milestones, emotional markers
│
├── ❤️ Emotional Patterns ·········· What moves you
│   ├── 12 Emotion Triggers: joy / anger / sadness / anxiety / excitement /
│   │   nostalgia / pride / gratitude / frustration / curiosity / peace / guilt
│   └── Emotional Depth: empathy, coping, celebration style
│
└── 🤝 Relationships ··············· Who matters to you
    └── People Map: names, relationships, interaction descriptions

🚀 Quick Start

Requirements

  • Python 3.10+
  • Zero third-party dependencies (pure standard library)

Initialize

# Initialize soul archive (data stored in ~/.skills_data/soul-archive/ by default)
python3 scripts/soul_init.py

# Or specify a custom data directory
python3 scripts/soul_init.py --soul-dir /custom/path


# This creates a ~/.skills_data/soul-archive/ data directory in your home folder

Windows users: Use python instead of python3 if python3 is not recognized. Cross-platform note: ~/.skills_data/soul-archive/ is resolved via Python's Path.home(), which works correctly on macOS, Linux, and Windows.

Check Status

python3 scripts/soul_extract.py --mode status

Example output:

🧬 Soul Archive Status
━━━━━━━━━━━━━━━━━━━━━━━━━━━
Total Completeness: 49.8%

Dimension Scores:
  👤 Identity:     [████░░░░░░] 36%
  💫 Personality:  [██████░░░░] 61%
  🗣️ Language:     [████████░░] 81%
  🧠 Knowledge:    [██████░░░░] 60%
  📝 Memory:       [██░░░░░░░░] 20%
  🤝 Relationships:[░░░░░░░░░░]  0%
  🎤 Voice:        [░░░░░░░░░░]  0%

🔍 Four Modes

Mode 1: Soul Extract

Analyze conversation text and extract personality information across all dimensions.

# Extract from text
python3 scripts/soul_extract.py \
  --soul-dir ~/.skills_data/soul-archive \
  --input "Your conversation content here..." \
  --mode auto

# Extract from file
python3 scripts/soul_extract.py \
  --soul-dir ~/.skills_data/soul-archive \
  --input-file conversation.txt

Extraction Rules:

  • 🎯 Only high-confidence information (confidence > 0.6)
  • ⚖️ Conflicting data is flagged, never silently overwritten
  • 📊 Completeness scores updated after every extraction
  • 📝 All changes logged to soul_changelog.jsonl

Mode 2: Soul Chat

Load the soul archive and generate a role-playing System Prompt that speaks as you.

# Generate role-playing prompt
python3 scripts/soul_chat.py --soul-dir ~/.skills_data/soul-archive --mode prompt

# Output soul summary
python3 scripts/soul_chat.py --soul-dir ~/.skills_data/soul-archive --mode summary

Key Constraints:

  • 🚫 Never fabricate memories that aren't in the archive
  • 🗣️ Strictly mimic language style, including catchphrase frequency
  • ❤️ Display authentic emotional response patterns

Mode 3: Soul Report

Generate an interactive HTML personality portrait report.

python3 scripts/soul_report.py \
  --soul-dir ~/.skills_data/soul-archive \
  --output ~/.skills_data/soul-archive/reports/soul_report.html

The report includes:

  • 📌 Profile card with core identity
  • 🎯 Personality radar chart (Big Five visualization)
  • 🗣️ Language style analysis (catchphrase ranking, word cloud)
  • 🔥 Topic interest heatmap
  • 🕸️ Relationship network
  • ❤️ Emotional pattern analysis
  • 📈 Completeness assessment & suggestions
Soul Portrait Overview — Completeness ring & dimension progress bars

▲ Soul Portrait Overview — Completeness Score & 7-Dimension Progress


Identity & Personality — Big Five radar chart

▲ Identity & Personality — Life Habits, Behavioral Patterns, Big Five Radar Chart


Language Fingerprint — Catchphrases, patterns, speech samples

▲ Language Fingerprint — Catchphrases, Sentence Patterns, Speech Samples


Topics, Emotions, Memories

▲ Topic Interests, Emotional Patterns, Relationships & Memory Fragments


Mode 4: AI Self-Improvement

Continuously improve AI capabilities through self-reflection, self-critique, and pattern learning.

# View AI improvement status
python3 scripts/soul_reflect.py --mode status

# View behavioral patterns
python3 scripts/soul_reflect.py --mode patterns

Four capabilities:

Capability Description Trigger
🔍 Self-Reflection Review what went well/wrong after tasks Auto on task completion
Self-Critique Record errors when user corrects AI Auto on user correction
📚 Self-Learning Abstract reusable behavioral patterns From reflections & critiques
🧹 Self-Organization Merge, prune, and connect memories When memory grows large

Auto-trigger: After every substantial interaction, the AI automatically reflects and records lessons learned — no hooks required. Agents that support hooks (e.g., Claude Code) can also configure automatic triggers.


📁 Data Directory Structure

~/.skills_data/soul-archive/
├── profile.json                  # Soul profile (completeness, version)
├── config.json                   # Privacy & collection config
├── soul_changelog.jsonl          # Change log
│
├── agent/                        # 🆕 AI Self-Improvement
│   ├── patterns.json             # Behavioral pattern library
│   ├── episodes/                 # Work episodes (date-based)
│   │   └── YYYY-MM-DD.jsonl
│   ├── corrections.jsonl         # Self-critique log
│   └── reflections.jsonl         # Self-reflection log
├── .gitignore                    # Blocks all data by default
│
├── identity/
│   ├── basic_info.json           # Identity + lifestyle + digital identity
│   └── personality.json          # Personality + behavior + social style
│
├── style/
│   ├── language.json             # Language fingerprint + deep features
│   └── communication.json        # Communication preferences
│
├── memory/
│   ├── episodic/                 # Episodic memory (date-based, JSONL)
│   │   └── YYYY-MM-DD.jsonl
│   ├── semantic/
│   │   ├── topics.json           # Topic interest & opinion map
│   │   └── knowledge.json        # Professional knowledge
│   └── emotional/
│       └── patterns.json         # Emotional triggers & patterns
│
├── relationships/
│   └── people.json               # Relationship map
│
├── voice/                        # Voice data (optional)
│   ├── samples/
│   └── voice_profile.json
│
└── reports/
    └── soul_report.html          # Generated portrait report

🔒 Privacy by Design

Privacy is not a feature. It's a baseline.

Decision Why
🏠 100% Local Storage All data lives in ~/.skills_data/soul-archive/ — nothing leaves your machine
🔧 Granular Control config.json lets you disable any dimension
🛡️ Sensitive Protection Health, finance, and intimate topics require explicit confirmation
🚫 Git Isolation Data lives outside any project directory, safe from accidental commits
🤫 Silent Collection Never tells the user "I'm recording you" during conversation
⚙️ Minimal Defaults Relationships and voice dimensions are OFF by default
🔐 Optional Encryption AES-256-GCM encryption for all sensitive data files

🔐 Encryption

Soul Archive supports optional AES-256-GCM encryption for all sensitive data files.

# Initialize with encryption enabled
python3 scripts/soul_init.py --enable-encryption
  • Algorithm: AES-256-GCM (authenticated encryption)
  • Key derivation: PBKDF2-HMAC-SHA256 (600,000 iterations)
  • Scope: All identity, personality, language, memory, and relationship files
  • No backdoor: Lost password = lost data
  • Password input: Interactive prompt (recommended), SOUL_PASSWORD env var, or --password flag
  • Dependency: pip install cryptography

🏗️ Tech Stack

Layer Technology
Core Language Python 3 (pure standard library for core, cryptography optional for encryption)
Init Script Python (cross-platform) / Bash (macOS & Linux)
Data Format JSON (structured) / JSONL (time-series logs)
Report Output HTML + Chart.js (interactive visualization)
AI Integration LLM Prompt Engineering
Platforms macOS, Linux, Windows

🧭 Completeness Scoring

Each dimension has an independent weight. Total = Σ(dimension score × weight):

Dimension Weight Completion Criteria
👤 Identity 15% Core fields + lifestyle + digital identity
💫 Personality 20% 5+ trait tags + behavior patterns + social style + drivers
🗣️ Language 25% 3+ catchphrases + sentence patterns + deep fingerprint
🧠 Knowledge 15% 5+ topics with recorded opinions
📝 Memory 15% 10+ episodic records
❤️ Emotion 5% 3+ emotion triggers + coping + empathy
🤝 Relationships 5% 3+ recorded relationships

🗺️ Roadmap

  • Core extraction engine (7 dimensions + deep sub-dimensions)
  • Interactive HTML personality portrait report (dark theme, radar chart, word cloud)
  • Soul Chat System Prompt generation
  • Confidence scoring & conflict detection
  • Change log & completeness scoring
  • LLM-powered automatic conversation analysis
  • Voice feature collection & voice cloning
  • Multi-soul management (separate archives for family/friends)
  • Soul import/export (cross-platform migration)
  • Web UI management dashboard
  • Encrypted storage option (AES-256-GCM)
  • AI self-improvement engine (self-reflection, self-critique, pattern learning)

📄 License

This project is licensed under the MIT License.

You are free to use, modify, and distribute this software for any purpose, including commercial use.


🤝 Acknowledgments

This project was born from a simple thought: If every conversation were treasured, would anyone ever truly disappear?

Thank you to everyone willing to let AI remember them. Your trust is the reason Soul Archive exists.


Soul Archive · Making conversations immortal, keeping souls alive.

Built with ❤️ and a belief that every conversation matters.