dsh-emotion-memory:爲對話代理提供 PAD 情緒場與帶情感指紋的記憶

前言

在 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。

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 去重)、替換同名會話狀態、合併配置,便於換機或備份。

典型用法(可復現流程)

  1. 執行 dsh plugin add dsh-emotion-memory,在設置裏確認 注入 與 記憶注入 爲開啓(默認即爲 true)。
  2. 打開 設置 → 情緒記憶,在 心情 頁觀察 PAD 與派生情緒隨對話變化;在 記憶 頁查看條目與指紋。
  3. 若只希望部分會話啓用,將 綁定模式 改爲「指定」,在 綁定會話 中勾選目標會話。
  4. 需要遷移或備份時,在 設置 頁使用導出 / 導入。

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「已知限制」):

  1. 記憶相關性偏字面(中文二元組 + 英文整詞),換說法可能漏檢。
  2. 情緒僅依據對話內容,不讀取工具失敗、任務卡住等代理行動結果。
  3. 關係權力依賴模型自評,置信度低於 45 時強制歸零,實際生效比例可能不高。
  4. 尚無標註集,準確性目前主要靠定性觀察。

插件以當前 DSH 進程權限讀寫本地 JSON;生產或共享機器上請自行評估數據敏感性與備份策略。

結尾

dsh-emotion-memory 把 PAD 情緒動力學、每輪輕量評估、帶指紋的記憶再鞏固與統一注入串成一條鏈路,適合在 Harness 裏做「有狀態、能想起」的對話代理實驗。進一步細節見 SkillHub 目錄頁 與 GitHub 倉庫。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜