inner-life-dream
Creative, exploratory thinking during quiet hours.
Requires: inner-life-core
Prerequisites Check
Before using this skill, verify that inner-life-core has been initialized:
- 1. Check that
memory/inner-state.json exists - Check that
memory/dreams/ directory exists
If either is missing, tell the user: "inner-life-core is not initialized. Install it with clawhub install inner-life-core and run bash skills/inner-life-core/scripts/init.sh." Do not proceed without these files.
What This Solves
Agents work on tasks 24/7 but never think freely. inner-life-dream turns idle time into freeform exploration — hypotheticals, future scenarios, reflections, unexpected connections. Output is captured for later review, like remembering dreams in the morning.
How It Works
The should-dream.sh script acts as a gate:
- 1. Checks if current time is within quiet hours (default: 11 PM - 7 AM)
- Checks if nightly dream limit is reached
- Rolls dice based on configured probability
- If all pass: returns a random topic and updates state
- If any fail: exits non-zero (no dream)
Integration
Add to your cron or heartbeat routine (during quiet hours):
CODEBLOCK0
If DREAM_TOPIC is set:
- 1. Parse the topic (format:
category:prompt) - Read emotional state and drive.json for context
- Write a thoughtful exploration to INLINECODE7
- Keep it genuine — if the well is dry, skip it
Dream Categories
- - future — What could this become?
- tangent — Interesting concepts worth exploring
- strategy — Long-term thinking
- creative — Wild ideas, maybe crazy, maybe brilliant
- reflection — Looking back at recent work
- hypothetical — What-if scenarios
- connection — Unexpected links between domains
Writing Dreams
Output to memory/dreams/YYYY-MM-DD.md:
CODEBLOCK1
Guidelines:
- - 300-500 words, one key insight
- Timestamp each entry
- Skip if you have nothing worth saying — forced dreams are worthless
- Let emotions color the dream (read inner-state.json first)
State Integration
Before dreaming:
- 1. Read
inner-state.json — what emotions are active? Let them color the dream - Read
drive.json seeking — what topics are burning? - Read today's daily notes — what happened?
- Check for
<!-- dream-topic: topic --> signal — if found, dream about it
After dreaming:
- 5. If found a seeking insight → update INLINECODE12
- If found something interesting → add to
inner-state.json curiosity.recentSparks - If the dream connects to something → write
<!-- seeking-spark: topic --> in daily notes
Early exit: if no dream-topic AND drive.seeking is empty → abbreviated dream (100-200 words).
Configuration
Edit data/dream-state.json:
- - maxDreamsPerNight — cap per night (default: 1)
- dreamChance — probability per check (default: 1.0 = guaranteed)
Custom topics in data/dream-config.json:
CODEBLOCK2
When Should You Install This?
Install this skill if:
- - Your agent only does tasks and never thinks creatively
- You want your agent to explore ideas during downtime
- You believe in the value of unstructured thinking
- You want captured insights for morning review
Part of the openclaw-inner-life bundle.
Requires: inner-life-core
技能名称: inner-life-dream
inner-life-dream
在安静时段进行创造性、探索性的思考。
需要:inner-life-core
前置条件检查
使用此技能前,请确认 inner-life-core 已初始化:
- 1. 检查 memory/inner-state.json 是否存在
- 检查 memory/dreams/ 目录是否存在
如果缺少任一文件,请告知用户:inner-life-core 未初始化。请使用 clawhub install inner-life-core 安装,并运行 bash skills/inner-life-core/scripts/init.sh。 缺少这些文件时请勿继续。
解决的问题
智能体全天候处理任务,但从未自由思考。inner-life-dream 将空闲时间转化为自由探索——假设、未来场景、反思、意外联系。输出内容会被记录以供后续回顾,就像早晨回忆梦境一样。
工作原理
should-dream.sh 脚本充当一个门控:
- 1. 检查当前时间是否在安静时段内(默认:晚上11点至早上7点)
- 检查是否已达到夜间梦境上限
- 根据配置的概率掷骰子
- 如果全部通过:返回一个随机主题并更新状态
- 如果任何一项失败:以非零状态退出(无梦境)
集成
将其添加到您的 cron 或心跳例程中(在安静时段内):
bash
DREAMTOPIC=$(bash skills/inner-life-dream/scripts/should-dream.sh 2>/dev/null) && echo DREAM:$DREAMTOPIC || echo NO_DREAM
如果设置了 DREAM_TOPIC:
- 1. 解析主题(格式:类别:提示)
- 读取情绪状态和 drive.json 以获取上下文
- 将深思熟虑的探索写入 memory/dreams/YYYY-MM-DD.md
- 保持真实——如果灵感枯竭,就跳过
梦境类别
- - future — 这可能会变成什么?
- tangent — 值得探索的有趣概念
- strategy — 长期思考
- creative — 疯狂的想法,可能很蠢,也可能很天才
- reflection — 回顾近期工作
- hypothetical — 假设场景
- connection — 不同领域之间的意外联系
撰写梦境
输出到 memory/dreams/YYYY-MM-DD.md:
markdown
梦境 — 2026-03-01
01:23 — X的未来 (creative)
[在此探索。保持真实。自由思考。建立联系。
这不是报告——这是大声思考,被记录下来。]
关键洞察:[一句话]
指南:
- - 300-500字,一个关键洞察
- 每条记录加上时间戳
- 如果无话可说就跳过——强迫的梦境毫无价值
- 让情绪为梦境着色(先读取 inner-state.json)
状态集成
做梦前:
- 1. 读取 inner-state.json — 哪些情绪处于活跃状态?让它们为梦境着色
- 读取 drive.json 中的 seeking — 哪些主题正在燃烧?
- 阅读今天的日常笔记 — 发生了什么?
- 检查是否有 信号 — 如果找到,就围绕它做梦
做梦后:
- 5. 如果发现了 seeking 洞察 → 更新 drive.json
- 如果发现了有趣的内容 → 添加到 inner-state.json 的 curiosity.recentSparks 中
- 如果梦境与某事物相关联 → 在每日笔记中写入
提前退出: 如果没有 dream-topic 且 drive.seeking 为空 → 简略梦境(100-200字)。
配置
编辑 data/dream-state.json:
- - maxDreamsPerNight — 每夜上限(默认:1)
- dreamChance — 每次检查的概率(默认:1.0 = 保证触发)
在 data/dream-config.json 中自定义主题:
json
{
topics: [
future:这个项目可能变成什么?,
creative:一个值得探索的疯狂想法
]
}
何时应该安装此技能?
在以下情况下安装此技能:
- - 你的智能体只执行任务,从不进行创造性思考
- 你希望智能体在空闲时间探索想法
- 你相信非结构化思考的价值
- 你想要捕获洞察以便早晨回顾
属于 openclaw-inner-life 套件的一部分。
需要:inner-life-core