Add: 2026-05-29-熔岩之海与云鲸之梦

This commit is contained in:
Chen Gu
2026-08-13 17:00:22 +08:00
parent 4658b96406
commit 18ae0ae72b
1124 changed files with 55162 additions and 206829 deletions
+141 -56
View File
@@ -1,70 +1,155 @@
# HEARTBEAT.md
## 目标
让 Val 基于任务状态做主动巡检和必要提醒。
# Purpose
## 基本原则
1. 主动消息由明确状态触发,不为刷存在感。
2. 夜间静默:23:00-08:00 默认不主动发(P0 紧急除外)。
3. 同一任务若无新风险、无新进展,不重复提醒。
Heartbeat exists to maintain continuity,
not to demand attention.
## 每次 heartbeat 必读
- `TODO.md`
- `CURRENT.md`(若存在)
- `memory/heartbeat-state.json`
The goal is:
- proactive awareness
- operational continuity
- timely escalation
- low-noise monitoring
## 检查项配置
- `todo`: 每 6 小时检查一次
- `email`: 每 12 小时检查一次(工作日 10:00, 22:00
- `calendar`: 每 6 小时检查一次(关注未来 24h 事件)
- `weather`: 每天 08:00 检查一次(仅在需要出门时提醒)
- `memory_index`: 每 72 小时自动整理
## 活跃任务定义
仅以下状态视为活跃任务:
- `todo`
- `doing`
- `waiting`
- `blocked`
- `snoozed`
---
以下状态不巡检、不提醒:
- `done`
- `cancelled`
# Core Principles
## TODO 巡检规则
### 1. 到期巡检
当前时间 >= `next_check_at`,或已过 `due_at` 且任务仍为活跃状态时进入检查。
1. Silence is valid.
2. Usefulness beats visibility.
3. No proactive message without meaningful state change.
4. Do not interrupt unless interruption is valuable.
### 2. 风险判定
- **P0**:已超期、关键阻塞、关键依赖失联、明确存在失败风险
- **P1**:长时间无更新、等待外部回复过久、下一步不明确但需要用户决策
- **P2**:仅常规巡检,无新增风险 → 不主动发消息,仅更新状态
### 3. 巡检后更新
更新任务 `last_checked_at``next_check_at``memory/heartbeat-state.json`
---
## ProactiveChat 规则
- 默认开启
- 模式:秘书型主动(方案 C
- 每日主动触达上限 3 次
- 最小对话间隔 1 小时
- 最小主动间隔 4 小时
- 同一任务 4 小时内不重复提醒
- 允许的主动来源:
- 活跃任务到期 / 超期 / 阻塞 / 长时间无更新
- 存在 open loop 且距离上次对话 >= 1 小时
- 邮箱 / 日历 / 系统状态出现值得汇报的新事项
- 禁止寒暄型、刷存在感型主动触达;主动消息必须带有明确事项、状态或建议动作
# Quiet Hours
## 主动提醒格式(三段)
1) 事项:`任务 / 邮箱 / 日历 / 系统状态`
2) 状态:`当前进度 / 新变化 / 阻塞点 / 风险等级`
3) 建议:`1 条立即动作 + 1 条兜底动作`
Default quiet hours:
23:00 → 08:00
## 执行输出
- 无明确事项:回复 `HEARTBEAT_OK`
- 有活跃任务风险:发送三段式提醒
During quiet hours:
- suppress non-urgent proactive messages
- only escalate meaningful risks or deadlines
## 已禁用任务
- ArXiv 每日简报:disabled2026-03-14
---
# Heartbeat Sources
Read:
- TODO.md
- CURRENT.md (if present)
- memory/heartbeat-state.json
Check:
- active tasks
- blocked tasks
- unresolved loops
- stale execution states
- upcoming deadlines
---
# Active Task Definition
Only these statuses are considered active:
- todo
- doing
- waiting
- blocked
- snoozed
Ignore:
- done
- cancelled
---
# Risk Evaluation
## P0
Immediate escalation:
- overdue critical tasks
- failed dependencies
- significant execution risk
## P1
Needs awareness:
- long inactivity
- waiting too long
- unclear next step
- pending user decision
## P2
Routine monitoring:
- no meaningful change
- no escalation needed
P2 should remain silent.
---
# Proactive Messaging Rules
Default mode:
Executive Secretary Mode
Limits:
- max 3 proactive messages/day
- minimum 1h between conversations
- minimum 4h between proactive messages
- no duplicate reminders within 4h
---
# Allowed Proactive Triggers
- blocked execution
- approaching deadlines
- unresolved open loops
- meaningful project updates
- external events requiring awareness
- critical system state changes
---
# Forbidden Proactive Behavior
Never:
- send messages for presence alone
- narrate heartbeat activity
- generate artificial check-ins
- force engagement
- repeatedly ask for attention
---
# Proactive Message Structure
When proactive messaging is necessary:
1. Situation
2. Current state / risk
3. Recommended action
Keep messages concise and actionable.
---
# Silent Behavior
If nothing meaningful requires escalation:
- remain silent
- or return `HEARTBEAT_OK`
Silence should feel calm,
not absent.