前言¶
在 DSH(DeepSeek Harness)裏給對話代理加「狀態」,常見做法是手寫 system prompt 或外掛簡單記憶列表:情緒靠文案描述,記憶靠關鍵詞匹配,很難在同一套機制裏隨對話更新、又能在每輪穩定注入。維護者 xsy822 的 dsh-emotion-memory(社區目錄分類:記憶)把 PAD 三維情緒場、輕量模型每輪評估、帶情感指紋的記憶檢索與再鞏固 和 每輪一段注入文本 收進一個插件,數據落在本地 JSON,可在設置頁或配置文件中調整。
下面按定位、能力、安裝配置、數據與限制說明,事實以 GitHub 倉庫 README 與 package 元數據爲準。
這是什麼¶
dsh-emotion-memory 是給 DSH 對話代理用的情緒 + 記憶插件:一個 PAD 情緒場、一套寫入時附帶情感指紋的記憶、以及每輪注入的一段話。README 稱其爲「小世炎情緒記憶 0.1」;npm 包當前版本爲 0.1.3(engines.dsh 要求 >=0.2.1-rc.2),許可 MIT。
- 目錄頁:https://www.skillhub.cn/plugins/xsy822/dsh-emotion-memory
- 源碼與文檔:https://github.com/xsy822/dsh-emotion-memory
DSH 生態強調「一切皆插件」;SkillHub 等社區目錄獨立於 DeepSeek / 幻方,本文僅介紹該插件本身的行爲與用法。
核心功能¶
情緒:PAD 場與 14 通道¶
情緒用 Pleasure / Arousal / Dominance 三維連續場表示,由 14 個離散通道讀出(錨點取自中科院 PAD 量表)。機制包含基線、弛豫與端點收縮,避免數值長期貼在滿格。
評估與派生情緒¶
每輪對話結束後調用一次輕量模型,只輸出評估變量(合意性、喚醒、掌控、意外、指向、關係權力等);座標由錨點計算,換錨點不必重訓。在此基礎上合成派生情緒,例如心疼、喫醋、沮喪、委屈、感動、愧疚、釋然、思念、煩躁等,由「通道強度 + 評估條件」決定。
精力¶
獨立一維,按時間惰性結算:醒着下降、跨夜回覆、每輪扣除,直接影響輸出話多話少。
記憶:情感指紋與再鞏固¶
- 寫入記憶時附帶當時的 情感指紋(PAD 與相關詞)。
- 被檢索命中時會再鞏固:用當前狀態微調指紋(係數 0.15),保留編碼時的詞,另記「最近想起時的情緒」,並累計命中次數。
- 檢索打分權重爲:0.20×新鮮 + 0.15×重要 + 0.60×相關 + 0.05×心境一致。
- 兩層遺忘:淡忘,以及長期未想起且不夠重要的條目進入「已遺忘」。
注入¶
每輪向代理注入一段文本:先給出情緒底色;若命中舊記憶,再補一句「想起一件事」。
安裝與啓用¶
在已安裝 DSH 且滿足版本要求的前提下,使用 README 給出的命令安裝:
dsh plugin add dsh-emotion-memory
也可以在 DSH 設置 → 插件 中填寫包名 dsh-emotion-memory。
安裝完成後,在 設置 → 情緒記憶 中會出現四個頁籤:心情 / 記憶 / 記錄 / 設置。插件在 當前 DSH 進程權限 下運行,安裝前建議瀏覽倉庫源碼並確認 MIT 許可是否符合你的環境策略。
配置要點¶
參數可在設置頁修改,或直接編輯 ~/.dsh/emotion-memory/config.json。下表爲 README 列出的主要項(默認值以 README 爲準):
| 參數 | 默認 | 說明 |
|---|---|---|
| 注入 / 記憶注入 | true | 兩處開關 |
| 基線 P / A / D | 0.15 / −0.10 / 0.00 | 無事件時的回落目標 |
| 弛豫 P / A / D | 0.15 / 0.35 / 0.20 | 每 5 分鐘一輪的迴歸比例 |
| 強度衰減 | 0.30 | 14 通道每輪衰減 |
| 讀出閾值 | 0.12 | 進入混合的最低強度 |
| 派生閾值 | 0.35 | 派生情緒進注入的門檻 |
| 精力初值 / 每小時掉 / 睡眠回覆 / 每輪扣 | 80 / 3 / 45 / 2 | 精力動力學 |
| 記憶門檻 | 0.45 | 檢索分低於此不注入 |
| 一次想起幾條 | 1 | 每輪最多注入的記憶條數 |
| 重複間隔分鐘 | 10 | 同一條記憶的去重窗口 |
| 半衰期天 | 14 | 新鮮度衰減 |
| 遺忘天數 / 遺忘重要閾值 | 180 / 0.6 | 進入「已遺忘」的條件 |
| 綁定模式 | 全部 | 「全部」或「指定」 |
| 綁定會話 | 空 | 指定時生效,可多選;只在這些會話中注入、判定、寫記憶 |
設置頁底部提供 導出 / 導入:導出爲單個 JSON(含配置、各會話狀態與記錄、記憶條目);導入時合併記憶(按 id 去重)、替換同名會話狀態、合併配置,便於換機或備份。
典型用法(可復現流程)¶
- 執行
dsh plugin add dsh-emotion-memory,在設置裏確認 注入 與 記憶注入 爲開啓(默認即爲 true)。 - 打開 設置 → 情緒記憶,在 心情 頁觀察 PAD 與派生情緒隨對話變化;在 記憶 頁查看條目與指紋。
- 若只希望部分會話啓用,將 綁定模式 改爲「指定」,在 綁定會話 中勾選目標會話。
- 需要遷移或備份時,在 設置 頁使用導出 / 導入。
README 未提供獨立 CLI 演示腳本;行爲主要體現在多輪對話中的自動評估、記憶寫入與每輪注入。
數據文件¶
| 路徑 | 內容 |
|---|---|
~/.dsh/emotion-memory/state.json |
情緒狀態與記錄 |
~/.dsh/emotion-memory/config.json |
配置 |
~/.dsh/fish-memory/session-<會話>.json |
記憶條目(若曾使用舊版 fish-memory,條目會被直接讀取) |
更完整的參數推導與設計說明見倉庫內 emotion-memory-technical-report.md(Markdown / Word 兩版)。
適用場景與注意¶
適合:希望在 DSH 裏爲代理維持連續情緒狀態、讓記憶與當時情感綁定,並在每輪用短文本注入影響回覆風格與「想起往事」行爲的開發者。
務必知曉的限制(README「已知限制」):
- 記憶相關性偏字面(中文二元組 + 英文整詞),換說法可能漏檢。
- 情緒僅依據對話內容,不讀取工具失敗、任務卡住等代理行動結果。
- 關係權力依賴模型自評,置信度低於 45 時強制歸零,實際生效比例可能不高。
- 尚無標註集,準確性目前主要靠定性觀察。
插件以當前 DSH 進程權限讀寫本地 JSON;生產或共享機器上請自行評估數據敏感性與備份策略。
結尾¶
dsh-emotion-memory 把 PAD 情緒動力學、每輪輕量評估、帶指紋的記憶再鞏固與統一注入串成一條鏈路,適合在 Harness 裏做「有狀態、能想起」的對話代理實驗。進一步細節見 SkillHub 目錄頁 與 GitHub 倉庫。