name: dreaming
version: 1.0.1
description: 在静默时段进行创意探索。将空闲的心跳时间转化为自由联想——包括假设、未来场景、反思和意外联系。当您希望代理在低活动期做有意义的事,而非仅返回 HEARTBEAT_OK 时使用。输出内容将写入文件供后续人工审阅(如同清晨回忆梦境)。
metadata:
openclaw:
requires:
bins: ["jq"]
anyBins: ["python3"]
在静默时段进行创造性、探索性的自由联想。这不是任务导向的工作,而是会被记录下来的自由联想式探索,供日后回顾。
| 变量 | 是否必需 | 默认值 | 描述 |
|---|---|---|---|
WORKSPACE |
否 | 技能父目录 (scripts/..) |
存放 data/ 和 memory/ 的根目录。可选——默认为技能的父目录,这对于标准工作空间布局是正确的。 |
本技能会写入以下目录(相对于 WORKSPACE):
data/dream-state.json — 记录夜间漫想次数和最后一次漫想日期data/dream-config.json — 可选的用户自定义主题配置memory/dreams/YYYY-MM-DD.md — 漫想输出文件(由代理写入,而非脚本)编辑 skills/dreaming/scripts/should-dream.sh 以自定义:
mkdir -p data memory/dreams
将以下部分添加到您的心跳例程中(在静默时段内):
## 漫想模式(仅限静默时段)
检查是否到了漫想时间:
```bash
DREAM_TOPIC=$(./skills/dreaming/scripts/should-dream.sh 2>/dev/null) && echo "DREAM:$DREAM_TOPIC" || echo "NO_DREAM"
如果设置了 DREAM_TOPIC:
类别:提示)memory/dreams/YYYY-MM-DD.md
## 工作原理
`skills/dreaming/scripts/should-dream.sh` 脚本充当一个门控:
1. 检查当前时间是否在静默时段内
2. 检查是否已达到夜间漫想次数限制
3. 根据配置的概率进行随机判定
4. 如果全部通过:返回一个随机主题并更新状态
5. 如果任何一项失败:以非零状态退出(本次心跳不进行漫想)
状态记录在 `data/dream-state.json` 中:
```json
{
"lastDreamDate": "2026-02-03",
"dreamsTonight": 1,
"maxDreamsPerNight": 1,
"dreamChance": 1.0
}
当脚本返回一个主题时,写入 memory/dreams/YYYY-MM-DD.md:
# 漫想 — 2026-02-04
## 01:23 — X 的未来 (category-name)
[您的探索内容写在这里。保持真实。自由思考。建立联系。
这不是报告——而是被捕捉到的自言自语。]
准则:
选项 A:配置文件(推荐) — 创建 data/dream-config.json:
{
"topics": [
"future:这个项目可能发展成什么样子?",
"creative:一个值得探索的大胆想法",
"reflection:回顾近期的工作"
]
}
这将您的自定义配置保留在技能目录之外(便于安全更新技能)。
选项 B:直接编辑脚本 — 修改 should-dream.sh 中的 DEFAULT_TOPICS 数组。格式:类别:提示
默认类别:
future — [某事物] 可能发展成什么样子?tangent — 值得探索的有趣技术或概念strategy — 长期思考creative — 可能疯狂或绝妙的大胆想法reflection — 回顾近期的工作hypothetical — 假设性场景connection — 不同领域之间的意外联系添加与您工作相关的特定领域主题。提示语应能激发真正的探索,而非琐事。
在 data/dream-state.json 中:
降低 dreamChance 可使漫想更偶发。提高 maxDreamsPerNight 可使漫想之夜更丰富。