develop
master
新增 role skill:讓 CLI 工具以固定角色(name/nature/vibe/簽名 emoji)回覆,並把與使用者的對話累積成可跨工作階段載入的長期記憶。
role
name
nature
vibe
~/.roles/<角色>.md
SessionStart
Stop
~/.memory/<角色>/inbox/
archive/forgotten/
skills/role/
hooks/hooks.json
scripts/role/
100755
spec-*
ROLE_ENABLED
ROLE_NAME
~/.roles/.active
0.0.3
0.0.4
skills/role/SKILL.md
--new
--use
--list
--sleep
--status
--install-cron
--forget-preview
scripts/role/memory.py
write
load
collect
apply
forget
stats
need-sleep
mark-sleep
scripts/role/role_load.sh
scripts/role/role_capture.sh
scripts/role/role_sleep.sh
scripts/role/role_lib.sh
scripts/role/transcript.py
以假 CLI(不呼叫任何 API)跑過完整鏈路:write → collect → apply(new/merge)→ 原始記錄歸檔 → forget 實際壓縮移除;另驗證載入輸出格式、睡眠時段切換、AI 運行偵測(正確擋下進行中的工作階段)、ROLE_ENABLED=0 與無角色時完全靜默。
new
merge
ROLE_ENABLED=0
PATH
ROLE_*
%
claude-haiku-4-5-20251001
ROLE_MODEL
transcript.py redact
inbox
SessionStart 載入角色與記憶、Stop 記錄對話成記憶,睡眠時段(預設 22:00–06:00) 由 cron 排程整理:分類六類、去重合併、設標籤與一句話總結、壓縮歸檔, 日常與其他依使用頻率遺忘;cron 未執行時由啟動路徑背景補跑。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
No dependencies set.
The note is not visible to the blocked user.
變更摘要
新增
roleskill:讓 CLI 工具以固定角色(name/nature/vibe/簽名 emoji)回覆,並把與使用者的對話累積成可跨工作階段載入的長期記憶。~/.roles/<角色>.md,個性欄位由使用者決定,共用行為區塊以 marker 包住並由 skill 維護;同名角色更新時逐欄核對新舊,未確認不寫入SessionStarthook 注入角色定義+記憶:重要與興趣載入全文,技能→新知→日常→其他只載總結與標籤Stophook 每輪把對話濃縮成一則記憶寫進~/.memory/<角色>/inbox/;角色亦可主動補記(載入時提供帶絕對路徑的指令)archive/forgotten/後移出常用記憶影響範圍
skills/role/、hooks/hooks.json、scripts/role/(6 支腳本,均為100755)。spec-*純規範內容未動。ROLE_ENABLED未設定時,只有「ROLE_NAME或~/.roles/.active指向存在的角色檔」才啟用;沒建過角色的人 hook 立即結束。role條目與「元件對各助理的適用範圍」表;三家 manifest 同步升版0.0.3→0.0.4。重點檔案
skills/role/SKILL.md--new/--use/--list/--sleep/--status/--install-cron/--forget-preview各模式與角色檔標準格式scripts/role/memory.pywrite/load/collect/apply/forget/stats/need-sleep/mark-sleepscripts/role/role_load.shscripts/role/role_capture.shscripts/role/role_sleep.shscripts/role/role_lib.shscripts/role/transcript.py驗證方式
以假 CLI(不呼叫任何 API)跑過完整鏈路:
write→collect→apply(new/merge)→ 原始記錄歸檔 →forget實際壓縮移除;另驗證載入輸出格式、睡眠時段切換、AI 運行偵測(正確擋下進行中的工作階段)、ROLE_ENABLED=0與無角色時完全靜默。風險與注意事項
SessionStart/Stop目前只有 Claude Code 一定生效,Codex 視版本;Antigravity 與 OpenCode 不支援(cron 整理與手動模式仍可用)。PATH與ROLE_*變數,值一律以單引號包裝並跳脫%(PATH常含空白路徑,未加引號會在 cron 被拆成指令)。WSL 未啟動 cron 服務時靠啟動補跑。Stophook 每輪會多呼叫一次小模型(預設claude-haiku-4-5-20251001,可用ROLE_MODEL覆寫)。transcript.py redact正則遮蔽一次。inbox不動、留待下個週期,寧可晚整理也不遺失記憶。