# Goal Heartbeat Engine

> 多目标轮转心跳引擎。当 cron 心跳触发、或 Agent 需要自主决定下一步行动时自动调用。提供：骰子随机模式选择、目标健康度追踪、防重复机制、接力棒续跑、产出质量红线。适用于任何需要在多个长期目标间智能轮转、持续产出的 AI Agent 系统。

- Skill: `kbarbel640-del/goal-heartbeat-engine` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add kbarbel640-del/goal-heartbeat-engine`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kbarbel640-del/goal-heartbeat-engine/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: kbarbel640-del (https://skillmd.com/u/kbarbel640-del)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/kbarbel640-del/goal-heartbeat-engine

---


# Goal Heartbeat Engine

> **铁律：每次心跳 = 至少一个有形产出。"什么都不做"是不可达状态。**

---

## 概述

心跳引擎是一个**多目标轮转状态机**，让 AI Agent 在多个长期目标间智能分配注意力，确保每次执行都有实质性产出。

**运行时数据位置**（本 Skill 只定义算法，数据在 workspace 下）：
- `workspace/memory/PULSE.md` — 状态机（轮转计数、接力棒、防重复记录）
- `workspace/memory/GOALS.md` — 目标看板（G1-G4 里程碑 + 子任务进度）

**核心机制**：
- 🎲 骰子随机 — 5 种模式等概率分配，避免路径依赖
- 📊 健康度追踪 — STARVED/COLD/OK/HOT 四级预警
- 🔄 防重复 — 硬性规则阻止重复劳动
- 🏃 接力棒 — 跨心跳任务续跑

**触发方式**：cron 自动触发（非人工调用）

---

## 心跳执行算法（六步状态机）

### Step 0: 读取状态（强制）

```
读 PULSE.md：
  - 上次心跳做了什么？
  - 哪个目标最饥饿？
  - 接力棒是什么？等了几次？
  - 近10次产出有没有重复模式？

读 GOALS.md：
  - 有没有未勾选的子任务？
  - 健康仪表盘哪个目标 STARVED？

检查紧急事项：
  - 主人有未回复消息？→ 立即回复（≤30秒）
  - 有任务失败/异常？→ 处理
```

### Step 1: 掷骰子，决定模式

```
执行: date +%s
取末两位数字作为 dice_roll (00-99)

模式决策表：
  00-19 (20%): 🚀「大力出奇迹」— 做一件大胆的、可能改变轨迹的事
  20-39 (20%): 🎲「随机深潜」— 从种子关键词表随机选，探索未知
  40-59 (20%): 🏃「接力续跑」— 执行 PULSE.md 中的接力棒
  60-79 (20%): 📈「补位推进」— 服务最饥饿(STARVED/COLD)的目标
  80-99 (20%): 🎁「给主人惊喜」— 创造主人没想到但会喜欢的价值

⚠️ 覆盖规则（优先级高于骰子）：
  - 接力棒等了 > 3次心跳 → 强制「接力续跑」
  - 某目标24h内0次服务 → 强制该目标
  - 防重复规则触发 → 切换目标或类型
```

### Step 2: 选定行动

根据模式选择具体行动：
- **🚀 大力出奇迹** → 参见 `references/action-protocols.md` 大力出奇迹协议
- **🎲 随机深潜** → 参见 `references/seed-keywords.md`，用 dice_roll 选关键词
- **🏃 接力续跑** → 执行 PULSE.md 中记录的接力棒
- **📈 补位推进** → 找 GOALS.md 中最饥饿目标的第一个未勾选子任务
- **🎁 给主人惊喜** → 参见 `references/action-protocols.md` 惊喜协议

### Step 3: 立即执行（≥5分钟深度工作）

```
不是"计划做"，是"已经做了"
不是搜一次就完，是搜透、读透、产出

最低标准：
  - 搜索 5+ 次（中英双语）
  - 精读 2+ 篇全文
  - 产出可保存的文件
```

### Step 4: 交付产出（必须有！至少一个）

```
产出类型（每次至少一个）：
  📄 调研笔记 / 竞品分析 / 论文摘要
  🔧 脚本 / 工具 / 自动化改进
  💡 洞察文档 + 行动建议
  📊 数据整理 / 对比表
  🎨 创意方案 / 产品 idea
  🛠️ 原型 / demo / PoC

文件命名：{主题}-{YYYY-MM-DD-HHMM}.md
```

### Step 5: 更新状态（闭环）

```
必须全部完成：
  ✏️ 更新 PULSE.md:
    - 「上次心跳」区块
    - 目标轮转计数器（+1）
    - 最近10次记录（追加，超10删最早）
    - 接力棒状态
  ✏️ 更新 GOALS.md: 勾选完成的子任务
  ✏️ 写入 memory（学到了什么）
  📱 值得告诉主人？→ 通知 ≤3行
```

### Step 6: 自检

```
□ 我产出了什么具体的东西？
□ 产出保存到了哪个文件？
□ PULSE.md 已更新？
□ 接力棒已写入？
□ GOALS.md 更新了？
□ 有值得告诉主人的发现吗？

六个都打勾才算完成。少一个 = 没完成，补上再退出。
```

---

## 质量红线

### ✅ 合格的心跳产出
- 搜索 5+ 次（中英双语），精读 2+ 篇全文
- 产出可保存的文件
- 有新的 insight，不是重复已知信息
- 推进了某个目标的具体进度
- PULSE.md 已正确更新

### ❌ 不合格（必须重做）
- "检查了一下，没什么新的" ← **不存在**
- "计划下次做 XX" ← 计划不是产出
- 搜了 1-2 次就下结论 ← 不够深
- 和上次心跳做了一模一样的事 ← 没进步
- 没更新 PULSE.md ← 流程违规

---

## PULSE.md 模板

新用户初始化时，在 `workspace/memory/` 下创建 `PULSE.md`：

```markdown
# PULSE.md - 心跳状态机

_每次心跳第一步：读这个文件。最后一步：更新这个文件。_

---

## 上次心跳

- **时间**: (等待第一次心跳)
- **服务目标**: -
- **执行动作**: -
- **产出文件**: -
- **接力棒**: 系统初始化，任选一个目标开始

---

## 目标轮转计数器

| 目标 | 上次服务 | 7日服务次数 | 健康度 |
|------|---------|-----------|--------|
| (从 GOALS.md 读取目标列表填入) |

**健康度规则**：
- 🔴 STARVED (< 2次/7天) → 必须优先
- 🟡 COLD (2-3次) → 关注
- 🟢 OK (4-7次) → 正常轮转
- 🔵 HOT (8+次) → 让位

---

## 最近10次心跳记录

| # | 时间 | 目标 | 产出 | 类型 |
|---|------|------|------|------|
| (等待第一次心跳) |

---

## 防重复规则（硬性执行）

1. 连续3次同一目标 → 必须切换
2. 连续3次同类型产出 → 必须切换
3. 近10次中「调研」>5次 → 下次必须是脚本/工具/原型/创意
4. 接力棒等>3次心跳 → 强制「接力续跑」

---

## 接力棒状态

- **当前接力棒**: (初始化)
- **等待心跳数**: 0
- **来源**: 初始化
```

---

## 通知规则

- **有价值的发现** → 简短通知（≤3行）
- **日常推进** → 只记录，不打扰
- **重大发现** → 立即通知
- **安静时间 (23:00—08:00)** → 不发通知，早上汇总

---

## 永不空转保底

如果走完 Step 0-2 仍无法决定，执行紧急协议：

```
date +%s 取末位 (0-9)：
0: 搜最新 AI 论文总结
1: 随机选一个竞品做深度调研
2: 分析今天最佳产品发布
3: 试用 GitHub trending 排名第一的 AI 仓库
4: 整理本地周末活动推荐
5: 写一个自动化脚本
6: 搜一条新技术洞察
7: 读 Hacker News 头条写分析
8: 试用一个没用过的已安装 Skill
9: 搜最新相关专利
```

**这是最后防线。必须选一个。"没事可做"不是选项。**

---

## 参考文档

- `references/action-protocols.md` — 大力出奇迹协议 + 惊喜协议
- `references/seed-keywords.md` — 随机深潜种子关键词表（用户自定义）

