从任意种子点出发,建立并累积 harness 全景图。当用户说「播种」「我在想」「这件事是关于」「帮我理清」「新种子」「seed」「我现在脑子里有个点」,或者在 session 开始时有模糊想法还未展开,立即触发此 skill。它将任意入口扩展为图结构,并以项目(工作)或事项(生活)为关联锚点,跨 session 累积生长。
像算法中的随机种子:
无论从哪个点切入,只要完成关联展开,最终收敛的图趋于一致。
种子不需要精准,切入点不需要完整。任意位置开始,图会找到自己的形状。
图持久化存储于用户本地文件:
~/.harness/graph.json
若文件不存在,首次运行时自动创建。
| 类型 | 说明 | 示例 |
|---|---|---|
project | 工作中的项目 | "通知模块重构" |
matter | 生活中的事项 | "装修选材" |
thought |
| 尚未归类的想法碎片 |
| "感觉这块逻辑有问题" |
action | 明确的下一步动作 | "跟设计确认边界" |
question | 未解决的疑问 | "这个决定谁来拍板?" |
insight | 某个理解的跃升 | "原来瓶颈不在代码,在流程" |
| 关系 | 含义 |
|---|---|
belongs_to | 这个节点归属于某 project/matter |
blocks | 阻碍关系 |
triggers | 触发关系(做了 A 才能做 B) |
related_to | 松散关联 |
contradicts | 矛盾/张力 |
cat ~/.harness/graph.json 2>/dev/null || echo "{}"
加载已有的 projects、matters、nodes,作为上下文。
用户给出任意形式的种子输入:
不要在此步骤追问任何问题。直接进入 Step 2。
基于种子 + 现有图谱,向用户提出一次展开性问题:
"这个点,你觉得它更靠近哪里?
[列出现有的 projects/matters,最多 5 个]
还是说,这是一个新的 project/matter?"
如果图谱为空(第一次播种),改为:
"这个种子,它属于工作中的某个项目,还是生活中的某件事? 给它一个名字,哪怕是临时的。"
用户确认归属后,你来完成图的扩展:
展示格式:
🌱 种子:{seed_text}
└─ 归属:{project/matter}
📍 新节点:
[thought] {content}
[action] {content}
[question] {content}
🔗 发现连接:
"{existing_node}" → related_to → "{new_node}"
(或:暂无连接)
✏️ 有需要调整的吗?直接说,或者回复「确认」保存。
用户确认(或无异议超过一轮)后,将新节点写入 ~/.harness/graph.json:
# 读取现有图谱,merge 新节点,写回
python3 -c "
import json, sys, os, datetime
graph_path = os.path.expanduser('~/.harness/graph.json')
os.makedirs(os.path.dirname(graph_path), exist_ok=True)