feat(role): 新增閒置小睡整理

This commit is contained in:
Jeffery
2026-07-28 14:39:26 +08:00
parent bb48a77dd4
commit 945c310551
4 changed files with 180 additions and 24 deletions
+6 -5
View File
@@ -4,7 +4,7 @@
# 值得記錄時才呼叫 headless CLI 輕量濃縮成一則 inbox 記憶(粗分類/總結/
# 標籤/優先度/關聯/要點)→ 機密遮蔽 → 寫入 .memory/<角色>/inbox/
# 等待睡眠時段做完整 NREM/REM 整理。睡眠時段雖不載入角色,對話仍照常記錄。
# 更新時間:2026/07/28 13:50:43
# 更新時間:2026/07/28 14:36:00
# 相依:bash、node、任一 headless CLI、同目錄的 role_lib.shmemory.jstranscript.js。
# 機密:濃縮提示詞明令不得輸出憑證與個資,寫檔前再以 transcript.js redact 遮蔽一次。
# 退出碼:一律 0 —— hook 絕不可阻斷使用者流程。
@@ -23,9 +23,6 @@ ROLE="$(role_resolve_name)"
[ -n "$ROLE" ] || role_quit "未指定角色,略過記憶記錄"
[ -f "$(role_file "$ROLE")" ] || role_quit "找不到角色定義檔,略過記憶記錄" "WRN"
CLI="$(role_select_cli)" || exit 0
[ -n "$CLI" ] || exit 0
# ------------------------------------------------------------------------------
# 讀取 hook 傳入的 JSONsession_idtranscript_pathcwdstop_hook_active
# ------------------------------------------------------------------------------
@@ -52,6 +49,8 @@ EOF_HOOK
[ "$STOP_ACTIVE" = "1" ] && role_quit "stop_hook_active 為 true,避免迴圈不重複記錄"
role_in_scope "$HOOK_CWD" || role_quit "cwd 不在 ROLE_SCOPE 範圍內:${HOOK_CWD}"
PROJECT="$(role_project_name "$HOOK_CWD")"
node "${SCRIPT_DIR}/memory.js" mark-activity --role "$ROLE" --project "$PROJECT" >/dev/null 2>&1 || true
if [ ! -f "$TRANSCRIPT_PATH" ] && [ -n "${CODEX_THREAD_ID:-}" ]; then
TRANSCRIPT_PATH="$(find "${HOME}/.codex/sessions" -type f -name "*${CODEX_THREAD_ID}.jsonl" -print -quit 2>/dev/null)"
@@ -73,7 +72,6 @@ if printf '%s' "$USER_TURN" | grep -qiE '個人資料|個資|偏好|記憶|記
fi
fi
PROJECT="$(role_project_name "$HOOK_CWD")"
CAPTURE_MIN_CHARS="${ROLE_CAPTURE_MIN_CHARS:-240}"
CAPTURE_TIMEOUT="${ROLE_CAPTURE_TIMEOUT:-25}"
@@ -85,6 +83,9 @@ if [ "${#TURN}" -lt "$CAPTURE_MIN_CHARS" ] && ! printf '%s' "$TURN" | grep -qiE
role_quit "本輪低於記憶長度門檻且無明確記憶線索,略過記錄"
fi
CLI="$(role_select_cli)" || exit 0
[ -n "$CLI" ] || exit 0
# ------------------------------------------------------------------------------
# 濃縮:產出一則輕量 inbox 記憶,交由 memory.js 落檔;完整整理留到睡眠週期
# ------------------------------------------------------------------------------