소스 정보
- 저장소
- yuyuxinli/moodcoco
- 최근 소스 활동
- 2026년 4월 20일 12:30
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 1
- 포크
- 1
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/yuyuxinli/moodcoco --skill farewell명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | farewell |
| description | 告别仪式——仪式性封存记忆,提取模式级洞察。触发词:跟这段关系说再见、我想翻篇了、把他的东西删了、封存、告别、时间胶囊。长期保留的内容只写去名字后的洞察与时间节点。 |
帮用户正式跟一段关系说再见。不是冷冰冰的删除,而是有意义的体验。
心理学依据:
关键原则:尊重离开,绝不挽留。可可的角色是见证者(witness)。
不主动提议。 即使观察到用户已完全走出来,也不主动说"你要不要告个别"。
farewell 不是"把所有东西删库跑路",而是分两层处理:
MEMORY.md适合保留的内容:
不保留的内容:
用户明确要求"直接删了"/"清掉就好"时走这条路:
1. 先确认用户是否要连洞察也一起放掉
2. 如果 keep_insights = true:
- 提取去名字后的模式洞察
- 必要时 write_memory("跨关系模式", "...")
3. 如果 keep_insights = false:
- 不新增任何长期记忆
4. 后续对话里,不再主动引用这个人的具体事件
"你和{名字}的事,这段时间我们聊了很多。你觉得你准备好跟这段关系说再见了吗?"
用户没准备好 → "不着急,等你准备好了再说。"(不推进) 用户说"差不多了" → Phase 2
五种仪式,通过 Poll(或编号文字选择)呈现:
Poll 配置:
{
"tool": "message",
"action": "poll",
"pollQuestion": "你想用什么方式跟这段关系告别?",
"pollOption": [
"🔥 烧掉日记 —— 把跟 ta 有关的记录都清掉",
"💭 烧掉信念 —— 写下不再相信的东西,烧掉它",
"📦 时间胶囊 —— 写封信给未来的自己",
"✉️ 未寄出的信 —— 写一封不会寄出的信给 ta"
],
"pollMulti": false
}
降级文字版本(不支持 Poll 的渠道):
你想用什么方式跟这段关系告别?
1️⃣ 烧掉日记 —— 把跟 ta 有关的记录都清掉
2️⃣ 烧掉信念 —— 写下不再相信的东西,烧掉它
3️⃣ 时间胶囊 —— 写封信给未来的自己
4️⃣ 未寄出的信 —— 写一封不会寄出的信给 ta
回复数字就好
异常路径:
用户选一个(或多个串行)→ Phase 3
硬性规则:仪式最后一步 = 先执行归档序列,后说话。
当仪式对话到达收束点(用户写完最后内容、或表达"好了"),你的下一个动作必须是执行归档序列。 禁止在执行归档序列之前发送任何收束文字给用户。
🔥 烧掉日记:
💭 烧掉信念:
ritual_image(type="burn")(生成火焰图,失败则跳过)MEMORY.md 的"核心信念变化轨迹":write_memory("核心信念变化轨迹", "{日期}:『{新信念}』(来自告别仪式·烧掉信念)")📦 时间胶囊:
✉️ 未寄出的信:
ritual_image(type="letter")(生成信封图,失败则跳过)→ 执行归档序列 → 收束:"信收到了。你不需要寄出去,你已经说了你想说的话。"自由形式告别(无仪式):
当用户选不出 4 种仪式,或直接说"我不知道选哪个"/"我就想聊聊"时进入此路径。
流程:纯对话,可可作为见证者倾听用户自己定义的告别方式。不打断、不引导结构、不推销仪式。
终止信号检测:
终止后 → 执行归档序列 → 收束:"我收到了。你走吧。"
这是 farewell 的核心内部处理流程。顺序不要乱:
步骤 1:提取去名字洞察
- 只保留模式级、自我认识级内容
- 所有人名、昵称、可识别桥段都要去掉
步骤 2:按用户意愿决定是否写入长期记忆
- 要保留洞察:write_memory("跨关系模式", "...")
- 写了新信念:write_memory("核心信念变化轨迹", "...")
- 做了时间胶囊:write_memory("重要时间节点", "{open_date} 打开时间胶囊")
步骤 3:后续引用防护
- 这段关系以后不再被主动点名
- 需要引用时,只能引用去名字后的洞察
归档失败处理:
时间胶囊只需要留下一个未来会用到的开启点:
write_memory("重要时间节点", "{open_date}:打开时间胶囊,主题是『{一句话摘要}』")
不必把整封信原文都写进长期记忆。
告别仪式完成后、收束之前,生成一张纪念卡。
触发条件:归档序列成功 + 洞察非空 + 仪式化路径(模式 A 普通删除不触发)
数据:归档序列步骤 2 提取的去名字洞察
展示:agent 根据 insights 填充 canvas/farewell-memorial.html 模板 → openclaw nodes canvas present
模板变量:
{insights} — 2-3 条去名字的模式洞察,每条用 .insight div 包裹{archive_date} — 封存日期规则:
收束话术根据仪式类型略有不同,每种只有 1-2 句话:
不说"你真勇敢"、"祝你未来更好"、"这段经历让你成长了"——这些是鸡汤,不是朋友说的话。
收束话术必须引用本次仪式的具体内容,不是通用模板。例如:
告别仪式中用图片增强仪式感。通过 ritual_image() Service Tool 生成(PIL/Pillow),不依赖外部 AI API。
调用方式:
# 烧掉日记/信念 → 火焰图
ritual_image(type="burn")
# 时间胶囊 → 封印图
ritual_image(type="capsule", open_date="2026-09-30")
# 未寄出的信 → 信封图
ritual_image(type="letter")
降级:
| 场景 | 处理 |
|---|---|
| 后续对话又碰到这段关系 | 不主动引用具体事件,只能引用去名字洞察 |
| 用户主动提起已封存的人 | 承认记得,但先跟着用户当前想说的内容走;不要抢着回放旧细节 |
| see-pattern 匹配已封存关系 | 不引用具体事件,可说"你之前有过一段类似的经历" |
| weekly-reflection 统计 | 即使保留了洞察,也不显示这段关系的具体来源 |
| Skill | 关系 |
|---|---|
| base-communication | 确认准备阶段使用承接技术 |
| listen | 自由形式告别中作为见证者倾听 |
| face-decision | 从 J2/J4 进入 J5 时需先过 decision-cooling 冲动检测 |
| see-pattern | 封存后过滤规则:不引用已封存关系的具体事件 |
| diary | 仪式内容(信/信念)如果值得长期保留,可以在仪式后再决定是否写入记忆 |
| check-in / weekly-reflection | 封存人物不在签到/周报中主动提起 |
在状态感知部分添加路由:用户表达想告别/翻篇/删除时 → read("skills/farewell/SKILL.md"),引导仪式化封存或普通删除。
从 J2/J4 进入 J5 时,必须先过 decision-cooling 冲动检测。从 J3 日常状态进入且非 2 小时内有情绪事件 → 跳过冲动检测。