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

Merged
admin merged 4 commits from agent/role-nap-memory into master 2026-07-28 07:13:49 +00:00
Member

變更內容

  • 新增角色小睡整理模式 role_sleep.sh --nap,在 CLI 閒置且 inbox 達門檻時自動整理記憶。
  • Stop hook 會記錄最後互動時間,讓小睡判斷不依賴互動式 CLI 行程是否仍存在。
  • 補上 ROLE_NAP_ENABLEDROLE_NAP_IDLE_MINUTESROLE_NAP_MIN_INBOXROLE_NAP_INTERVAL_MINUTES 預設環境變數與文件。
  • 安裝 cron 時同步加入睡眠排程與小睡排程,並在 status 顯示小睡狀態。

驗證

  • bash -n scripts/role/role_capture.sh scripts/role/role_sleep.sh
  • node --check scripts/role/memory.js
  • memory.js need-nap 測試達門檻時回 yes
  • role_sleep.sh --nap 測試未達門檻時正常略過
## 變更內容 - 新增角色小睡整理模式 `role_sleep.sh --nap`,在 CLI 閒置且 inbox 達門檻時自動整理記憶。 - Stop hook 會記錄最後互動時間,讓小睡判斷不依賴互動式 CLI 行程是否仍存在。 - 補上 `ROLE_NAP_ENABLED`、`ROLE_NAP_IDLE_MINUTES`、`ROLE_NAP_MIN_INBOX`、`ROLE_NAP_INTERVAL_MINUTES` 預設環境變數與文件。 - 安裝 cron 時同步加入睡眠排程與小睡排程,並在 status 顯示小睡狀態。 ## 驗證 - `bash -n scripts/role/role_capture.sh scripts/role/role_sleep.sh` - `node --check scripts/role/memory.js` - `memory.js need-nap` 測試達門檻時回 `yes` - `role_sleep.sh --nap` 測試未達門檻時正常略過
jiantw83 added 5 commits 2026-07-28 06:40:15 +00:00
role_load.sh 不再原封不動注入整份角色檔,改採 SOUL/AGENTS/USER/MEMORY
分層:只抽出角色 ID、顯示名稱、本質、氛圍與簽名 emoji 作為人格層,由 hook
產生固定操作邊界,記憶與同意狀態獨立成一區。避免人格檔裡的背景故事與模板
文字污染工程與安全規則。

memory.js 新增 consent/consent-status 子命令,同意狀態寫入
~/.memory/<角色 ID>/state.json 的 personal_memory_consent(accepted/
declined/unknown);role_capture.sh 於本輪出現明確同意或拒絕時更新狀態,
偵測不到明確表述時不自行推論。accepted 後不再每次重問。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
同名 plugin(三個 repo 都叫 jsc)只有一份 hooks.json 會生效,無法預期哪一
份會贏,因此三家必須同步為同一份超集。本次補上 doc 的 worklog Stop hook,
避免 generic 贏得註冊時工作紀錄靜默消失。

role 的兩個指令同步改用新解析器:先驗證 CLAUDE_PLUGIN_ROOT 下腳本存在,再
依「擁有者 marketplace 優先 → 全 cache 後援」搜尋 ~/.claude 與 ~/.codex
快取。舊版在 CLAUDE_PLUGIN_ROOT 為空時只搜 ~/.codex,且未檢查腳本是否存在
於該 plugin root。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
SKILL.md 記錄實測結論:同名 plugin 的 hooks 只會生效一份(hookCount 為
1),三個 repo 的 hooks/hooks.json 必須是同一份合併超集且不得假設
CLAUDE_PLUGIN_ROOT 指向擁有該腳本的 plugin。另補上分層載入原則、
personal_memory_consent 狀態欄位與 Stop hook 更新同意狀態的規則。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
hooks/hooks.json 與 role 腳本有變更,需升版才會重建版本化快取目錄並被載入。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
jiantw83 added 1 commit 2026-07-28 06:42:17 +00:00
jiantw83 added 1 commit 2026-07-28 07:04:03 +00:00
jiantw83 added 1 commit 2026-07-28 07:10:28 +00:00
admin approved these changes 2026-07-28 07:13:47 +00:00
admin merged commit 177cc9b2bc into master 2026-07-28 07:13:49 +00:00
admin deleted branch agent/role-nap-memory 2026-07-28 07:13:49 +00:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: plugins/shared#12