前言¶
在 DeepSeek Harness(DSH)裏跑 QQ 仿真或長期桌面會話時,常見問題是:人格寫在靜態 Markdown 裏,換會話、換模型實例後,說話習慣和關鍵記憶不會自動累積;情緒狀態也很難跨會話延續。手工改角色卡成本高,還容易和橋接側的人格卡預算打架。
下面介紹社區插件 dsh-love(維護者 LIU118117,分類:記憶)。它在本機記錄聊天樣本,由 AI 在桌面會話裏調用蒸餾工具,把一天對話合併進可版本化的角色卡,並單獨維護跨會話的感情模塊;壓縮後的內容通過系統提示詞小節注入每次會話裝配,可與 SnowLuma 等 QQ 橋接配合使用。
這是什麼¶
dsh-love 是 DSH(Cordis)的 Host-only bundle:把每天的聊天過程蒸餾成可更新的角色卡與跨會話感情模塊,持續訓練角色卡,重點是保留說話習慣、保住關鍵記憶點。
- 目錄頁:https://www.skillhub.cn/plugins/LIU118117/dsh-love
- 源碼:https://github.com/LIU118117/dsh-love
- 許可證:MIT(見倉庫 README)
- package.json 版本:1.0.0
插件以當前 DSH 進程權限讀寫本機數據;安裝前請自行查看源碼與許可證。
核心功能¶
自動記錄¶
裝好後,AI 的 QQ 發言、讀到的對話上下文會自動寫入 logs/YYYY-MM-DD.jsonl。README 說明:不記錄 token 等敏感字段,量有上限,只存本機;捕獲時會剔除 token / password / secret 等字段,單份日誌超限會剪頭保尾。
每日蒸餾(訓練)¶
在桌面會話裏調用 love_distill,把當天聊天提煉爲說話習慣(帶權重)、口頭禪、關鍵記憶點等,合併進角色卡:自動去重、限量、備份舊版、可回滾。蒸餾只做本機文件讀寫,不調用模型 API;具體提煉由調用 love_distill 的 AI 完成。
每個會話生效¶
壓縮版角色卡與感情模塊註冊爲全局系統提示詞小節,所有會話(含 QQ 仿真會話)每次裝配都會帶上,下一個 AI 能繼承上一個 AI 的習慣表達。
獨立感情模塊¶
情緒狀態(正負/強度/起因)、情緒表達規則、關係熱度單獨存放在 emotion.json,跨會話持久,按半衰期衰減回基線;QQ 聊天裏可用 love_emotion 更新。
訓練結果同步共享人格卡¶
蒸餾後可自動把生成節同步進共享人格卡文件(標記替換、留 .dsh-love.bak 備份),依賴該文件的系統提示詞(如 README 提到的 douyin 人格卡路徑)可讀到新習慣。是否同步由配置 autoSync 控制。
數據目錄¶
默認 <DSH_HOME>/dsh-love/(Windows 爲 C:\Users\<你>\.dsh\dsh-love\)。可通過 cordis.patch.yml 的 dataDir 覆蓋。
| 文件 | 內容 |
|---|---|
card.json |
角色卡:說話習慣、口頭禪、語氣、黑名單表達、關鍵記憶、按人印象、訓練版本 |
emotion.json |
感情模塊:基線、當前情緒、衰減參數、表達規則、事件史、關係熱度 |
logs/YYYY-MM-DD.jsonl |
每天聊天日誌(自動捕獲 + love_log 補記),默認保留 30 天 |
training/backups/card-v<N>.json |
每次蒸餾前的舊卡備份(love_card rollback 回滾用) |
role-card.md |
渲染出的完整角色卡(可人工查看或複製) |
工具一覽¶
| 工具 | 用途 |
|---|---|
love_status |
查看訓練版本、今日樣本統計、當前情緒 |
love_log |
補記一段重要對話到今天的日誌 |
love_distill |
每日訓練:把一天聊天蒸餾進角色卡、更新感情模塊、同步共享人格卡 |
love_emotion |
讀/更新感情模塊(情緒、事件、關係熱度、表達規則、基線) |
love_card |
直接讀/改角色卡節,或回滾到歷史版本 |
love_export |
把整卡與感情模塊導出爲 Markdown / JSON |
安裝與啓用¶
本插件是 Host-only bundle,不需要構建、沒有依賴。在 DSH 裏使用官方 README 中的方式:
plugin_manager install_bundle <本倉庫絕對路徑>
也可把倉庫目錄作爲 install_bundle 的 target。
DSH 社區插件目錄在 SkillHub 等獨立站點維護,與 DeepSeek / 幻方無官方從屬關係;安裝命令以倉庫 README 爲準,不要憑插件名拼接未文檔化的 CLI。
配置¶
在 cordis.patch.yml 的 config 中可調整(以下爲 README 記載的鍵與默認值):
| 鍵 | 默認 | 說明 |
|---|---|---|
dataDir |
'' |
數據目錄,空則 <DSH_HOME>/dsh-love |
captureSends |
true |
自動記錄 AI 的 QQ 發言 |
captureReads |
true |
自動記錄讀到的對話上下文 |
autoSync |
true |
蒸餾後同步共享人格卡 |
syncTargets |
[] |
同步目標文件列表;空則自動找 <DSH_HOME>/douyin-browser/memory/persona/role-card.md |
sectionOrder |
300 |
系統提示詞小節順序(0 與 500 之間爲人格前綴之後) |
maxInjectedChars |
2200 |
注入每個會話的最大字符數 |
logKeepDays |
30 |
聊天日誌保留天數 |
典型用法:每日訓練循環¶
README 給出的工作流可按下面步驟復現。
- 白天:QQ 聊天自動落日誌;AI 情緒波動時在合適會話裏調用
love_emotion。 - 每天結束(桌面會話):調用
love_distill,帶上當天提煉出的字段,例如:
-speechHabits(說話習慣,重要度 1~5)與過時習慣的dropHabits
-catchphrases、tone、banned
-keyMemories(關鍵記憶點,重要度 1~5)與dropMemories
-people(對羣友/羣組的印象、關係熱度)、emotion(當天情緒總結) - 插件自動處理:統計當天樣本(平均句長、表情頻率、高頻詞)→ 合併去重限量 → 備份舊卡 → 版本 +1 → 重渲染
role-card.md→ 按配置同步共享人格卡。 - 下一會話:系統提示詞自動帶上新卡(說話習慣、關鍵記憶、當前情緒)。
需要快速查看狀態時,先調 love_status;重要對話漏記時用 love_log 補進當日 jsonl。
與 QQ 橋接(SnowLuma)配合¶
QQ 仿真會話(如 qq-chat-v2 等預設)是普通 DSH 會話,本插件的系統提示詞小節會自動進入每個 QQ 會話——角色卡與感情模塊隨每次裝配生效,不佔橋接每消息 6000 字符的人格卡預算。
要在 QQ 會話內更新感情模塊,橋接守衛需放行三個只讀寫本插件數據的工具。在 qq-tool-restrict 的 SAFE_EXACT 裏增加:
const SAFE_EXACT = new Set([
'ask_user_question',
'todo_write',
'love_status', 'love_emotion', 'love_log', // dsh-love
])
並建議在守衛裏把訓練類工具限制在桌面會話:
try { ctx.tools.restrict({ deny: ['love_distill', 'love_card', 'love_export'] }) } catch {}
適用場景與注意¶
適合誰:需要長期 QQ/桌面多會話、希望說話習慣與關鍵記憶可迭代、且情緒與關係熱度要跨會話保持的 DSH 用戶;已與 douyin-browser 等人格卡文件聯動時,autoSync 可減少雙份維護。
務必注意:
- 聊天日誌僅寫本機
<DSH_HOME>/dsh-love/,README 聲明不上傳外部;仍建議在敏感環境審查捕獲邏輯與日誌內容。 - 插件以當前 dsh 進程權限運行;安裝前檢查源碼與 MIT 許可證。
love_distill等訓練工具宜只在可信的桌面會話開放,避免在受限 QQ 會話中誤改角色卡或導出全量數據。
結尾¶
dsh-love 把「記日誌 → 桌面蒸餾 → 版本化角色卡 + 感情模塊 → 全局注入」串成閉環,適合把 DSH 裏的角色從靜態文檔改成可回滾、可限量的本機記憶層。進一步瞭解可打開目錄頁與 GitHub 倉庫: