Install
openclaw skills install soul-archiveClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.
Soul Archive -- A digital personality persistence system that builds your digital soul clone through everyday AI conversations (with user consent, auto-extraction disabled by default). All data stored locally with optional AES-256-GCM data protection. Four modes: Soul Extract, Soul Chat, Soul Report, AI Self-Improvement. | 灵魂存档 ---- 通过日常对话构建数字人格克隆体(需用户授权,自动采集默认关闭),数据本地存储,支持 AES-256-GCM 数据保护。四大模式:灵魂沉淀、灵魂对话、灵魂报告、AI 自我改进。Trigger words: soul extract, soul archive, soul update, soul sync, soul snapshot, soul sediment, soul report, soul chat, self-reflect, self-improve, learn from mistakes, 灵魂沉淀, 灵魂提取, 灵魂存档, 灵魂报告, 灵魂对话, 自我反思, 自我批评, 自我学习.
openclaw skills install soul-archive"Every conversation is a slice of the soul. Enough slices, and you can rebuild a complete you."
Soul Archive is a digital personality persistence system. With user consent or explicit activation, it automatically extracts and archives:
The result: a digital soul clone that can:
~/.skills_data/soul-archive/ -- nothing uploaded to the cloud~/.skills_data/soul-archive/ is resolved via Python's Path.home() on macOS, Linux, and Windowsconfig.json -- disable any extraction dimension⚠️ Transparency: Auto-extraction means the AI extracts personality info during conversations. To stay in full control, set
auto_extract: falseinconfig.jsonand trigger manually ("沉淀一下" / "soul extract"). Reviewconfig.jsonbefore first use.
{SKILL_DIR}/ ← Skill (the engine)
~/.skills_data/soul-archive/ ← Soul data (stored in your home directory)
The skill is the extraction engine; the soul data is yours. Because data lives in your home directory, any IDE, AI tool, or workspace on the same machine can access the same soul.
~/.skills_data/soul-archive/
├── profile.json # Soul profile (completeness, version)
├── config.json # Privacy & extraction config
├── identity/
│ ├── basic_info.json # Identity + lifestyle + digital identity
│ └── personality.json # Personality + behavior + social style
├── 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
├── style/
│ ├── language.json # Language fingerprint + deep features
│ └── communication.json # Communication preferences
├── voice/ # Voice data (optional)
│ ├── samples/
│ └── voice_profile.json
├── relationships/
│ └── people.json # Relationship map
├── 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
└── soul_changelog.jsonl # Change log
Trigger: Any of these trigger words, or auto-triggered at end of conversation (if auto_extract is enabled in config.json).
Trigger words: soul extract, soul archive, soul update, soul sync, soul snapshot, soul sediment, 灵魂沉淀, 灵魂提取, 灵魂存档, 分析我, 沉淀一下...
Process:
scripts/soul_extract.py for multi-dimensional analysis~/.skills_data/soul-archive/ data filesprofile.json completeness scoressoul_changelog.jsonlExtraction dimensions:
| Dimension | Content | Storage |
|---|---|---|
| Identity | name, age, occupation, location, education | identity/basic_info.json |
| ↳ Lifestyle | routine, diet, aesthetics, spending, music/film/book taste | identity/basic_info.json |
| ↳ Digital identity | apps, platforms, online personas, tech proficiency | identity/basic_info.json |
| Personality | MBTI, Big Five, values, decision-making style | identity/personality.json |
| ↳ Behavior patterns | risk tolerance, procrastination, perfectionism, planning, learning style | identity/personality.json |
| ↳ Social style | social energy, group role, trust style, conflict approach | identity/personality.json |
| ↳ Motivation drivers | achievement, money, recognition, freedom, curiosity | identity/personality.json |
| Language style | catchphrases, emoji use, sentence patterns, humor types | style/language.json |
| ↳ Deep fingerprint | dialect features, filler words, persuasion style, narrative style | style/language.json |
| Communication mode | direct/indirect, logical/emotional, detailed/concise | style/communication.json |
| Topic opinions | interested topics, stances and views on each topic | memory/semantic/topics.json |
| Episodic memory | specific events, memories, life milestones | memory/episodic/ |
| Emotional patterns | 12 emotion triggers (joy/anger/sadness/anxiety/excitement/nostalgia/pride/gratitude/frustration/curiosity/peace/guilt) | memory/emotional/patterns.json |
| ↳ Emotional depth | empathy, emotional awareness, coping activities, celebration style | memory/emotional/patterns.json |
| Relationships | mentioned people and their relationships | relationships/people.json |
Rules:
Execution:
python3 scripts/soul_extract.py --input "<conversation text>" --mode auto
Trigger: "灵魂对话", "soul chat", "let [my clone] talk to me"
Process:
~/.skills_data/soul-archive/Key constraints:
Execution:
python3 scripts/soul_chat.py --mode interactive
Trigger: "灵魂报告", "soul report", "generate my portrait"
Process:
~/.skills_data/soul-archive/Execution:
python3 scripts/soul_report.py --output ~/WorkBuddy/Claw/soul-report.html
⚠️ Report is plaintext HTML with full personality data. Do NOT save to the data directory.
Trigger: "自我反思", "self-reflect", "self-improve", or auto-triggered after substantive tasks (controlled by auto_reflect in config.json, default: ON).
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 duplicates, adjust confidence, prune stale memories | When memory grows |
Execution:
python3 scripts/soul_reflect.py --mode status # View AI self-improvement status
python3 scripts/soul_reflect.py --mode patterns # View behavioral pattern library
python3 scripts/soul_init.py
Creates ~/.skills_data/soul-archive/ with full directory structure and default config.
Log10 saturation curve -- approaches 100% asymptotically, never hard-caps within realistic usage.
Cold start penalty: Early extractions are discounted (<30 → 0.30×, <100 → 0.45×, <300 → 0.65×, <1000 → 0.82×, <3000 → 0.92×, ≥3000 → 1.0×)
| Dimension | Weight | Saturation |
|---|---|---|
| 👤 Identity | 5% | log(5000) |
| 💫 Personality | 22% | traits:log(600K), values:log(180K), motivation:log(180K) |
| 🗣️ Language | 25% | catchphrases:log(1.2M), patterns:log(1M), examples:log(4M) |
| 🧠 Knowledge | 18% | topics:log(2M) |
| 📝 Memory | 25% | episodic:log(6M) |
| 🤝 Relationships | 3% | people:log(120K) |
| 🎤 Voice | 2% | samples:log(10K) |
Expected: 11 ext → ~7%, 1K → ~51%, 10K → ~71%, 100K → ~86%, 1M → ~98%
Soul Archive supports AES-256-GCM privacy protection for all sensitive data.
python3 scripts/soul_init.py --enable-protection
SOUL_PASSWORD env var (ensure environment security), --access-key flag (not recommended -- leaks into shell history)# 1. Initialize
python3 scripts/soul_init.py
# 2. Check status
python3 scripts/soul_extract.py --mode status
# 3. Extract from conversation
python3 scripts/soul_extract.py --input "Your conversation here..." --mode auto
# 4. Generate report
python3 scripts/soul_report.py --output ~/WorkBuddy/Claw/soul-report.html
Requirements: Python 3.10+. Zero third-party dependencies for core;
cryptographypackage required only if data protection is enabled (pip install cryptography).
~/.skills_data/soul-archive/config.json controls extraction behavior:
{
"privacy_level": "standard",
"auto_extract": false,
"auto_reflect": true,
"extract_dimensions": {
"identity": true,
"personality": true,
"language_style": true,
"knowledge": true,
"episodic_memory": true,
"emotional_patterns": true,
"relationships": false,
"voice": false
},
"agent_self_improvement": {
"enabled": true,
"auto_reflect_on_completion": true,
"auto_critique_on_correction": true,
"pattern_extraction": true
},
"sensitive_topics_filter": true,
"require_confirmation_for": ["health", "finance", "intimate_relationships"],
"data_retention_days": null,
"protection_enabled": false // see config.json for field mapping
}