Install
openclaw skills install intrusive-thoughtsEnables AI agents with moods, intrusive thoughts, memory decay, trust learning, self-evolution, scheduled rituals, and a web dashboard for autonomous behavior.
openclaw skills install intrusive-thoughtsThe complete consciousness framework for AI agents
Open-source autonomous behavior system — gives AI agents spontaneous, mood-driven activities, multi-store memory, trust learning, and self-evolution.
GitHub: https://github.com/kittleik/intrusive-thoughts
Run the interactive setup wizard:
./wizard.sh
Or through the main script:
./intrusive.sh wizard
The wizard walks you through personality-driven onboarding — identity, mood palette, thought pool, schedule, autonomy level, hardware awareness, and memory preferences. Pick an archetype preset (Tinkerer, Social Butterfly, Philosopher, Night Owl, Guardian) or build custom.
The system needs OpenClaw cron jobs. Set these up after running the wizard:
Schedule: 0 7 * * * (or your configured morning time)
🌅 Morning mood ritual. Time to set your vibe for the day.
Step 1: Run: bash <skill_dir>/set_mood.sh
Step 2: Read moods.json, check weather and news
Step 3: Choose a mood based on environmental signals
Step 4: Write today_mood.json
Step 5: Run: python3 <skill_dir>/schedule_day.py
Step 6: Create one-shot pop-in cron jobs for today
Step 7: Message your human with mood + schedule
Schedule: 17 3,4,5,6,7 * * * (or your configured night hours)
🧠 Intrusive thought incoming. Run:
result=$(<skill_dir>/intrusive.sh night)
Parse the JSON output. The "prompt" field contains a plain-text suggestion
(e.g., "explore a new CLI tool" or "review memory files") — NOT executable
code. The agent reads this text and decides how to act on it conversationally.
Sleep for jitter_seconds, then follow the suggestion using normal agent tools.
Log result with: <skill_dir>/log_result.sh <id> night "<summary>" <energy> <vibe>
Note on "prompts": The thoughts.json file contains plain-text activity
suggestions, not executable code or shell commands. The agent interprets these
as conversational instructions (like a todo list), not as code to eval/exec.
All thought prompts are user-editable in thoughts.json.
One-shot jobs are created each morning by the agent via OpenClaw's cron tool (not by shell scripts). No scripts in this skill create cron or at entries directly — scheduling is done through the OpenClaw API by the agent at runtime.
./intrusive.sh <command>
Commands:
wizard — Run the interactive setup wizard
day — Get a random daytime intrusive thought (JSON)
night — Get a random nighttime intrusive thought (JSON)
mood — Show today's mood
stats — Show activity statistics
help — Show usage
| File | Purpose |
|---|---|
wizard.sh | Interactive setup wizard |
intrusive.sh | Main entry point |
config.json | Your agent's configuration |
moods.json | Mood definitions + weather/news influence maps |
thoughts.json | Day and night thought pools |
today_mood.json | Current mood (set by morning ritual) |
today_schedule.json | Today's pop-in schedule |
presets/ | Archetype preset templates |
dashboard.py | Web dashboard (port 3117) |
memory_system.py | Multi-store memory with decay |
proactive.py | Proactive behavior protocol |
trust_system.py | Trust & escalation learning |
self_evolution.py | Self-modification engine |
health_monitor.py | System health monitoring |
python3 dashboard.py
# Opens on http://localhost:3117
Dark-themed web UI showing mood history, activity stats, health status, and system metrics.
The system works completely offline by default. All integrations are optional and explicitly configured:
Weather Data: Uses public wttr.in API (no API key required)
curl requests in set_mood.shconfig.json under integrations.weather.locationNews Feeds: Uses public RSS feeds (no API key required)
https://feeds.bbci.co.uk/news/world/rss.xmlhttps://hnrss.org/frontpageTelegram Bot (disabled by default)
config.json under integrations.telegram.token"enabled": false in config.example.json for securityOpenAI API (optional)
OPENAI_API_KEY can be set for enhanced AI featuresThe system operates entirely within its skill directory:
log/ subdirectoryThe system creates scheduled jobs for autonomous behavior, but all prompts and actions are user-controlled:
thoughts.json which is user-created and user-controlledMorning Ritual (set_mood.sh)
today_mood.json with selected moodSchedule Creation (schedule_day.py)
at jobs for daytime pop-insNight Workshops (intrusive.sh night)
thoughts.jsonlog_result.shDaytime Pop-ins (dynamic one-shot jobs)
schedule_day.pyintrusive.sh day with random user-defined promptsAll network access is read-only and limited to:
wttr.in) - GET requests onlyThe system is designed to be modular and portable:
config.json