# openclaw-soul

> Soul — Give Your AI Assistant Its Own Inner Life. Autonomous thinking, memory, and self-improvement plugin for OpenClaw

- **URL**: https://www.freshcrate.ai/projects/openclaw-soul
- **Author**: tommyguolin
- **Category**: AI Agents
- **Latest version**: `v2.5.0` (2026-05-16)
- **License**: MIT
- **Source**: https://github.com/tommyguolin/openclaw-soul
- **Homepage**: https://clawhub.ai/plugins/openclaw-soul-plugin
- **Language**: TypeScript
- **GitHub**: 8 stars, 3 forks
- **Registry**: github (`tommyguolin/openclaw-soul`)
- **Tags**: `ai-agent`, `autonomous-agent`, `chatbot`, `chatbot-plugin`, `emotional-ai`, `feishu`, `llm`, `memory-system`, `typescript`

## Description

Soul — Give Your AI Assistant Its Own Inner Life. Autonomous thinking, memory, and self-improvement plugin for OpenClaw

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `v2.5.0` | 2026-05-16 | High | ### Changes  - **Expand proactive thought topics**: Added adjacent-topic generation for proactive research, content pushes, web search, learning, and message drafting so Soul can broaden from known user interests instead of repeating literal keywords. - **Add explicit topic focus handling**: Soul now uses remembered topic preferences to prioritize active interests and deprioritize topics the user no longer wants, improving follow-up relevance. - **Improve repeat detection by topic angle**: Repe |
| `v2.4.0` | 2026-04-19 | High | ## Changes  - **Don't compete with agent for LLM resources**: When a user sends a message, Soul no longer ticks immediately or makes LLM calls right away. The thought cycle waits for the regular interval (default 60s), and fact/preference extraction is delayed by 2 minutes, giving the agent time to respond first - **Skip idle thought cycle**: When there are no conversations, problems, or user interests to think about, Soul now skips the thought cycle entirely instead of generating a generic exis |
| `v2.3.3` | 2026-04-19 | High | ## Fixes  - **Fix repeat topic detection mismatch**: `recentThoughtTopics` stored only the first 5 significant words, but `isRepeatTopic` compared against ALL words in new content. This made the overlap ratio too low (e.g. 5/15 = 33% < 40% threshold) and identical generic thoughts like "Nothing particular on my mind right now..." passed the dedup check every 5 minutes. Now both sides use the same first-5-word truncation |
| `v2.3.2` | 2026-04-19 | High | ## Fixes  - **Fix auto-learned proactive target not reaching ThoughtService**: `message_received` hook correctly learned the target from the first inbound message but only stored it in the plugin closure, not in ThoughtService itself. Now calls `thoughtService.updateProactiveTarget()` so `send-message` and `report-findings` can use it |
| `v2.3.1` | 2026-04-19 | High | ## Fixes  - **Fix tools.alsoAllow config command**: Updated README to use correct array syntax `'["message"]'` instead of bare `message` |
| `v2.3.0` | 2026-04-19 | High | ## Changes  - **Strengthened report-findings quality gate**: Soul no longer reports self-modifications (config changes, keyword additions, bug fixes) as user-facing findings. Self-improvement tasks are filtered out at both prompt and regex levels, so users only see genuinely useful external findings - **Broadened self-referential message filter**: Extended filter patterns to catch "Soul 为什么", "Soul 没执行", self-configuration changes, and time-sensitive mode modifications that previously leaked thr |
| `v2.2.1` | 2026-04-18 | High | ### Changes  - **Simplified install config**: Reduced configSchema from 9 fields to 3 user-facing options (`enabled`, `autonomousActions`, `thoughtFrequency`). Advanced options (checkIntervalMs, proactiveChannel, proactiveTarget, workspaceFiles, llm) still work via raw config but are hidden from the install UI - **enabledByDefault**: Soul activates immediately after install with zero configuration. LLM, messaging channel, and target are all auto-detected from OpenClaw config - **Deduplicate plu |
| `v2.2.0` | 2026-04-18 | High | ### Changes  - **Context-aware LLM priority re-ranking**: Soul now uses an LLM call to dynamically re-rank thought action priorities based on conversation context, time of day, and recent action history. Instead of always picking the highest static-priority action, Soul considers what is most valuable right now (e.g., boost proactive-research when user mentions travel, boost observe-and-improve during debugging, avoid repeating the same action type) - **File-based sub-agent result capture**: ob |
| `v2.1.0` | 2026-04-17 | High | ## What's New  ### `thoughtFrequency` config option  New multiplier that scales all thought generation intervals and action cooldowns. Lower values = more frequent thinking and messaging.  ```yaml # In openclaw.yaml under plugins.entries.soul.config: thoughtFrequency: 1.0  # Default. Lower = more frequent (e.g. 0.2 for testing) ```  Examples: - `0.2` — testing: thoughts every ~1 min, messages every ~1 min - `0.5` — chatty: 2x more frequent than default - `1.0` — default: balanced (8-12 min activ |
| `v2.0.1` | 2026-04-12 | Medium | ## Fixes  - **Cap bond-deepen priority at 85**: `bond-deepen` priority grew unbounded after hours of silence, eclipsing `observe-and-improve` (P=90/95). Now capped at 85 so self-modification always wins - **Fix bond-deepen routing hijack**: Bond-deepen thoughts were incorrectly routed to `run-agent-task` when stale completed tasks existed. The `bond-deepen → none` guard now runs before global task routing - **Strip assistant-like prefixes from report-findings**: Enhanced regex strips full prefix |

## Citation

- HTML: https://www.freshcrate.ai/projects/openclaw-soul
- Markdown: https://www.freshcrate.ai/projects/openclaw-soul.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/openclaw-soul/deps

_Generated by freshcrate.ai. Indexes github releases for AI-agent ecosystem packages._
