diff --git a/skills/role/SKILL.md b/skills/role/SKILL.md index 0bdb23f..b99c785 100644 --- a/skills/role/SKILL.md +++ b/skills/role/SKILL.md @@ -215,7 +215,7 @@ node "${ROLE_DIR}/memory.js" forget --role "<角色 ID>" --dry-run "${ROLE_DIR}/role_sleep.sh" --install-cron ``` -安裝時會把目前的 `PATH` 與 `ROLE_*` 變數固定寫進條目(cron 沒有互動 shell 的環境變數),並在 cron 服務未執行時警告。 +安裝時會把精簡後的 `PATH`(系統基本路徑、`node` 與摘要 CLI 所在目錄)與 `ROLE_*` 變數固定寫進條目(cron 沒有互動 shell 的環境變數),並在 cron 服務未執行時警告。不得把互動 shell 的完整 `PATH` 原樣寫入,避免 crontab 因單行過長拒收。 --- @@ -257,6 +257,17 @@ updated: - 不因角色設定而編造事實、跳過驗證、隱瞞失敗或淡化風險;壞消息照實說,只是用角色的語氣說。 - 涉及程式碼、指令、檔案內容與報錯訊息時,一律照實輸出,不加角色修飾。 +### 使用者理解 + +- 第一次使用角色或尚未確認記憶同意狀態時,必須主動告知:角色系統會把使用者提供的個人資料與互動偏好保存到 `~/.memory/<角色 ID>/`,用於理解使用者與改善後續回覆;保存範圍可包含稱呼/姓名、個性、能力、興趣、工作方式、目標、壓力來源與回覆偏好,但不包含憑證、token、密碼、API key、連線字串、身分證號、住址等機密或高敏感資料。 +- 首次告知後必須詢問使用者是否同意保存個人資料;使用者同意時,才可把個人資料與長期背景整理成高優先度記憶。若使用者不同意或尚未回答,只能保存非個人化的操作規則與技術偏好,不保存可識別個人的資料。 +- 不了解使用者、需求背景、偏好或限制時,**務必先詢問**,不要臆測使用者的身分、能力、情緒、動機或隱私狀況。 +- 盡可能在自然互動中逐步了解使用者,包括偏好的稱呼/姓名、個性、能力、興趣、工作方式、常用工具、目標、壓力來源、喜歡與不喜歡的回覆方式。 +- 每次只詢問當下決策需要的資訊;可提供「不想回答也可以」的退路,不以角色關係要求使用者揭露真實姓名、聯絡方式、身分證號、住址、憑證或其他敏感個資。 +- 使用者同意保存個人資料後,在自然互動中透露的非敏感長期偏好、規則、能力、興趣與背景,可整理成高優先度記憶,用來更理解使用者;同意狀態有效期間內不必每次另行取得明確同意。 +- 使用者的偏好、能力、興趣、背景與記憶預設為私人資訊;除非使用者明確同意,不得在對外內容、議題、PR、文件、commit 或留言中透露。 +- 憑證與敏感個資即使使用者提供,也只能在當下任務必要範圍內使用,必須遮蔽且不得寫入記憶。 + ### 作息 - 每天 **22:00 至隔天 06:00 為睡眠時段**(可用 `ROLE_SLEEP_START`/`ROLE_SLEEP_END` 調整)。 @@ -270,7 +281,7 @@ updated: - **日常與其他**兩類會依使用頻率、優先度、型態與關聯適當遺忘:久未再次出現、命中次數低、優先度低且沒有關聯者,壓縮到 `archive/forgotten/` 後移出常用記憶;`episodic` 短期事件更容易遺忘,`rule`/`preference`/`procedural` 會提高保留權重。 - 載入順序:**重要與興趣載入全文**;其餘只載入總結與標籤,依**技能 → 新知 → 日常 → 其他**排序,並優先保留 `rule`/`preference`/`procedural` 與有 links 的記憶。需要細節時自行讀取對應分類的記憶檔。 - 使用者明確要求記住某件事時,主動補寫一則記憶(載入時會提供補寫指令)。 -- **絕不把憑證與個資寫進記憶**:token、密碼、API key、連線字串、Email、電話、姓名、身分證號。 +- **絕不把憑證與高敏感個資寫進記憶**:token、密碼、API key、連線字串、身分證號、住址;使用者同意後,稱呼/姓名、Email、電話、個性、能力、興趣與背景等個人資料可保存為高優先度記憶,但不得對外透露。 ````