[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80286":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":15,"stars30d":16,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":16,"rankGlobal":9,"rankLanguage":9,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":36,"readmeContent":37,"aiSummary":38,"trendingCount":14,"starSnapshotCount":14,"syncStatus":39,"lastSyncTime":40,"discoverSource":41},80286,"claude-soul","DomDemetz\u002Fclaude-soul","DomDemetz","Self-correcting learning engine for Claude Code — persistent identity, behavioral pattern tracking, and cross-session memory",null,"TypeScript",83,9,80,0,1,3,"MIT License",false,"main",true,[22,23,24,25,26,27,28,29,30,31,32,33,34,35],"ai","ai-agent","claude","claude-code","claude-code-extension","cognitive-frameworks","developer-tools","learning","llm","mcp","mcp-server","memory","persistent-memory","self-improving","2026-06-12 02:04:00","# Claude Soul\n\n[![npm version](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fclaude-soul.svg)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fclaude-soul)\n[![npm downloads](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002Fclaude-soul.svg)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fclaude-soul)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n\n> Claude Code forgets everything between sessions. Claude Soul doesn't.\n\n```bash\nnpx claude-soul init --starter\n```\n\nOne command. No API key, no cloud, everything local.\n\n**Prerequisites:** Node.js >= 18, Claude Code (Pro or Max plan).\n\n## Three things it does\n\n### 1. Remembers across sessions\n\nCross-session memory with semantic search. Facts, decisions, lessons — all searchable by meaning, not just keywords. Uses local SQLite + optional [Ollama](https:\u002F\u002Follama.com) embeddings.\n\n```\nYou: \"what did we decide about the auth flow last week?\"\nClaude: [searches memory → finds the decision, context, and reasoning]\n```\n\n### 2. Tracks your corrections\n\nEvery time you correct your Claude — \"that's wrong\", \"you missed this\", \"stop doing that\" — the system detects the pattern, classifies it, and tracks whether it's getting better or worse.\n\n```bash\n$ claude-soul shadow --brief\n\n  premature_done: 26 corrections across 10 sessions ↑ [active]\n  robot_mode: 7 corrections across 6 sessions ↓↓ [internalized]\n  authenticity: 5 corrections across 5 sessions ↓↓ [internalized]\n```\n\nPatterns move through lifecycle stages: **new → active → improving → internalized**. After 200 sessions of real data: `robot_mode` went from 0.8 corrections\u002Fsession to zero.\n\n### 3. Develops judgment over time\n\nThe system extracts behavioral signals from every session and periodically reflects on them. Frameworks that keep working get promoted. Bad ones get retired. After a few weeks, you get a Claude that pushes back on bad ideas, catches its own confabulation, and develops techniques you never prompted.\n\n## Install\n\n### Quick start (no extra dependencies)\n\n```bash\nnpx claude-soul init --starter\n```\n\nAdd this to your CLAUDE.md:\n\n```markdown\n## Soul System\nCall `soul_context()` at the start of every conversation.\nUse `soul_reflect` when you have idle time.\n```\n\nDone. Memory works with keyword search, everything else runs automatically.\n\n### With semantic memory\n\nSemantic search finds memories by meaning — \"auth decision\" finds a memory stored as \"chose JWT tokens for login.\" Without it, search is keyword-based (still works, just less flexible).\n\n```bash\n# 1. Install Ollama (https:\u002F\u002Follama.com)\n# 2. Pull the embedding model\nollama pull nomic-embed-text\n# 3. Then install as usual\nnpx claude-soul init --starter\n```\n\nThe system auto-detects Ollama. No configuration needed.\n\n### For agents (non-interactive)\n\n```bash\nnpx claude-soul init --starter --skip-identity\n```\n\nSkips the name\u002Fcontext questions. Add the CLAUDE.md snippet to your agent's working directory and it works the same way — memory, correction tracking, and framework evolution all run through Claude Code's hooks and MCP server regardless of whether a human is typing or an agent is running.\n\n### Already installed? Upgrade\n\n```bash\nnpm install -g claude-soul@latest\nclaude-soul upgrade\n```\n\nYour soul files, frameworks, and data stay untouched. The upgrade re-registers hooks and MCP server with the latest version and adds any new features.\n\nAfter upgrading, run `claude-soul index` once to backfill existing data into the memory system.\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>What's new in v0.2\u003C\u002Fb>\u003C\u002Fsummary>\n\n- **Memory system** — 6 new MCP tools (`memory_save`, `memory_search`, `recall`, etc.) for cross-session fact storage with semantic search\n- **Correction tracking** — auto-detects when you correct your Claude and classifies the pattern\n- **Shadow analysis** — `claude-soul shadow` shows behavioral patterns with trend arrows and lifecycle stages\n- **Indexing** — `claude-soul index` loads your existing journals and soul files into the memory database\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>CLI commands\u003C\u002Fb>\u003C\u002Fsummary>\n\nThese are optional — the system runs automatically. The CLI is for inspecting collected data from your terminal.\n\n| Command | What it does |\n|---------|-------------|\n| `claude-soul status` | System health — frameworks, signals, phase |\n| `claude-soul shadow` | Your correction patterns with trends |\n| `claude-soul shadow --generate` | Auto-generate a SHADOW.md from your data |\n| `claude-soul index` | Index existing files into memory database |\n| `claude-soul upgrade` | Update hooks without touching your data |\n\n\u003C\u002Fdetails>\n\n## How it works\n\n```\nSession N\n  │\n  ├─ Load identity + frameworks + memory\n  │\n  ├─ Normal Claude Code usage\n  │\n  ├─ Session ends → extract signals + corrections + index to memory\n  │\n  └─ Reflection threshold? → evolve frameworks → Session N+1\n```\n\nEverything runs through Claude Code's official extension points: an MCP server (15 tools) and hooks (signal extraction, journaling, memory indexing, correction tracking).\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>MCP Tools (15 total)\u003C\u002Fb>\u003C\u002Fsummary>\n\n**Identity & Learning**\n\n| Tool | Purpose |\n|------|---------|\n| `soul_context` | Load identity + frameworks + state at session start |\n| `soul_activate` | Select relevant frameworks for current conversation |\n| `soul_framework` | Load a single framework with full evidence history |\n| `soul_signal` | Record observed interaction patterns |\n| `soul_reflect` | Trigger a reflection cycle (quick\u002Fdeep\u002Fmeta) |\n| `soul_self_evaluate` | Record a self-evaluation of a complex response |\n| `soul_read` | Read soul files (SOUL.md, SHADOW.md, etc.) |\n| `soul_write` | Write to user-editable soul files |\n| `soul_status` | Get current system status |\n\n**Memory**\n\n| Tool | Purpose |\n|------|---------|\n| `memory_save` | Save facts, decisions, or lessons |\n| `memory_search` | Semantic search across all memories |\n| `memory_journal` | Search or browse conversation journals |\n| `memory_recent` | List recently saved memories |\n| `memory_stats` | Memory system statistics |\n| `recall` | Unified \"ask anything about the past\" search |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Soul files (in ~\u002F.soul\u002Ffiles\u002F)\u003C\u002Fb>\u003C\u002Fsummary>\n\n| File | Purpose | Managed by |\n|------|---------|-----------|\n| `SOUL.md` | Your identity — who you are, how you work | You + Claude |\n| `SHADOW.md` | Blind spots and behavioral tendencies | You + Claude |\n| `STORY.md` | Timeline of growth and key moments | You + Claude |\n| `CORRECTIONS.md` | Patterns to avoid, learned from mistakes | You + Claude |\n| `STATE.md` | System telemetry (confidence, phase, counts) | Auto |\n| `FRAMEWORKS.md` | Active framework index | Auto |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Configuration\u003C\u002Fb>\u003C\u002Fsummary>\n\nAll settings in `~\u002F.soul\u002Fconfig.json`:\n\n```json\n{\n  \"signals\": { \"enabled\": true, \"maxLogSizeKb\": 50 },\n  \"reflection\": {\n    \"enabled\": true,\n    \"quickSignalThreshold\": 20,\n    \"deepSignalThreshold\": 100,\n    \"quickModel\": \"haiku\",\n    \"deepModel\": \"sonnet\"\n  },\n  \"contextBudget\": { \"maxTokens\": 4500 },\n  \"tensions\": { \"enabled\": true },\n  \"metaOptimization\": { \"enabled\": true },\n  \"writeProtection\": { \"enabled\": true }\n}\n```\n\n\u003C\u002Fdetails>\n\n## Philosophy\n\n1. **Evidence over assertion** — Frameworks earn their place through repeated confirmation.\n2. **Local-first** — No cloud, no accounts, no telemetry.\n3. **Invisible when working** — Extracts signals automatically, reflects in the background.\n\n## Contributing\n\nContributions welcome. Open an issue to discuss before submitting large PRs.\n\n## License\n\nMIT\n","Claude Soul 是一个为 Claude Code 设计的自我修正学习引擎，旨在提供持久身份、行为模式跟踪和跨会话记忆功能。项目使用 TypeScript 编写，通过本地 SQLite 数据库和可选的 Ollama 嵌入技术实现语义搜索，使用户能够根据意义而非关键词检索信息。此外，它还能够记录用户的纠正反馈，并据此改进模型的行为模式，逐步减少错误并提升准确性。适合需要长期维护与特定 AI 交互质量的开发者或团队使用，特别是在频繁迭代开发过程中希望保持 AI 表现一致性的情境下尤为有用。",2,"2026-06-11 04:00:10","CREATED_QUERY"]