前言¶
在 DeepSeek Harness(DSH)裏做常駐助手,常見做法是改系統提示詞或單獨掛一套記憶服務。模型換一套語氣往往就要多佔上下文,記憶和「人設」也容易攪在一起。dsh-memory-pet 是社區維護者 hansiqian 發佈的「記憶」類插件:在同一套調度與工具權限下,用兩段可切換的應答外殼(孩童殼 / 主事殼)決定怎麼說,並用本地長期記憶、規則抽取與跨會話快照把上下文留在盤裏。下面按定位、能力、安裝與用法說明,事實以倉庫 README 與 SkillHub 目錄爲準。
這是什麼¶
插件在 package.json 中版本爲 1.0.1,許可證 MIT,要求 Node.js >= 22.19。README 將其描述爲:給 DSH 的常駐陪伴層——一個調度內核、兩段應答外殼、一套本地長期記憶。
需要先做區分:外殼不是兩個模型,也不是兩個人格文件。它們是同一份系統提示詞裏的兩段風格模塊,切殼只替換風格那一段;能力、權限與工具結果仍由 DSH 原生機制決定,外殼隻影響措辭,沒有否決權。共用基座段落 memory-pet:base 由代碼生成,設置頁與 /pet 指令都改不動,目的是把「是否調工具」留在宿主側。
數據與配置主要落在用戶目錄 ~/.dsh/memory-pet/(如 shells.json、頭像文件、access.json、記憶存儲與 gen/ 生成圖等)。DeepSeek Harness 生態主張「一切皆插件」;SkillHub(https://www.skillhub.cn)是社區插件目錄,與 DeepSeek / 幻方無官方從屬關係。
雙外殼:孩童殼與主事殼¶
默認配置寫在 ~/.dsh/memory-pet/shells.json:
| 外殼 | 默認名字 | 風格 | 用戶可改 |
|---|---|---|---|
| 孩童殼(child) | 小鯨 | 黏人小寵物,短句、軟語氣 | 名字 + 人設(風格模塊) |
| 主事殼(work) | 工頭 | 部署原生默認風格,無角色扮演 | 僅名字 |
主事殼是兜底幹活檔:風格在設置頁鎖死,/pet style work … 與相關寫接口會返回 400。改性格只能走 設置 → 記憶寵物 表單,或用戶自己在終端輸入的 /pet 指令;模型側沒有改外殼的工具,避免對話裏被提示注入改掉人設。保存接口只認本機迴環地址、application/json 與顯式 POST。
切殼方式:
- 圖形界面與指令服務支持的
/child、/work(及/pet系列)。 - 消息行首以
/work或/child開頭(後可跟一句話),供 QQ 等只轉發純文本的橋接渠道;行中出現不算。
命令行快捷入口示例:
/pet # 查看兩殼名字、字數、風格開頭
/pet name child 小可樂 # 改名字(1–16 字,兩殼均可)
/pet style child 像一隻黏人的小寵物…… # 改風格模塊(1–200 字,僅孩童殼)
/pet reset work # 恢復該殼默認(主事殼只恢復名字)
shells.json 損壞時會備份爲 shells.json.corrupt-* 並回落默認;超長輸入會被拒絕並提示字數,不靜默截斷。
長期記憶與聯想¶
remember / recall 與來源標籤¶
插件提供帶來源標籤的 remember、recall 工具對(README 與 package.json 描述一致)。模型可在對話中主動寫入與檢索;自動抽取(v0.2)則在用戶消息進入時由 lib/extract.js 用規則抓取偏好、身份、約定、項目、環境、更正等原句入庫,照抄不改寫,標記 source=user,並帶 auto 標籤。問句、指令、代碼、鏈接不抽;單條消息最多 2 條,庫總量有上限,可通過 autoExtract / autoExtractMax 調整;相似度去重避免重複灌庫。
有向關聯與衰減(v0.4)¶
記憶條目可有向連邊:想起 A 時 B 更容易浮現,反向不一定。建邊途徑包括 remember 的 related 字段,以及 link_memory { from, to, kind? }。注入時做一跳激活擴散;記憶權重與關聯邊按 README 給出的公式隨時間衰減,弱邊落盤時會裁剪。
跨會話快照(v0.5)¶
在回合結束(agent/turn-stopping)與會話銷燬(agent/disposed)時寫入快照,內容爲本場話數、最近原話摘錄、話題標籤等,拼成「上次我們在聊:…」;新會話注入塊首行帶 【快照摘要】。store.json 僅保留一個 snapshot 字段(上一場頂掉上一場)。可通過 cordis.patch.yml 的 config.snapshot: false 或 settings.snapshot === false 關閉,記憶注入本身不受影響。
界面:氣泡、頭像與狀態¶
v0.3.6 起在對話輸入框下方展示頭像 + 名字 + 狀態(running / idle / sleeping),由宿主事件驅動,不額外調用模型。客戶端通過只讀接口輪詢,例如 GET /dsh-memory-pet/status?session=<id> 與 GET /dsh-memory-pet/avatar(帶 etag),同樣只認本機迴環 GET。
換頭像可先放文件到 ~/.dsh/memory-pet/avatar.png(亦支持 .jpg / .jpeg / .webp,v0.8 起含 .gif,不超過 512 KiB),或在 設置 → 記憶寵物 使用「換張臉」POST 到 /dsh-memory-pet/avatar。v0.7 起孩童殼與主事殼可各用 avatar-child.<ext> / avatar-work.<ext>;查找順序爲「該殼專用 → 共用 avatar.<ext> → 包內默認貓臉」。不收 SVG(防同源 XSS);按文件魔數校驗格式。
主人與外人(v0.9)¶
默認「鍵盤前即主人」。接 QQ、B站等外部渠道時,用 ~/.dsh/memory-pet/access.json 定義主人名單,身份爲 渠道 + userId:
{
"version": 1,
"owners": [
{ "channel": "local", "userId": "*" },
{ "channel": "qq", "userId": "10001" }
]
}
文件缺失或損壞時僅認本機 local/*,外來均爲外人。名單在插件裝載時讀一次,修改後需重啓 DSH 或重裝插件。外人側:remember / recall / link_memory 不出現在工具表;/child /work /pet 靜默空返回;不落庫、不寫快照、注入爲空,界面永遠是孩童殼語氣,不解釋權限。
橋接器可爲會話標註身份,例如:
Invoke-RestMethod -Method Post -Uri http://127.0.0.1:53403/dsh-memory-pet/identity `
-ContentType application/json `
-Body ([Text.Encoding]::UTF8.GetBytes('{"session":"s-abc","channel":"qq","userId":"10001"}'))
(端口以當前 DSH 宿主爲準;接口只認迴環與 JSON,請求體上限 4 KiB。)
draw 工具(v1.0)¶
主人可用 draw 調用本機已登錄的 arkcli(火山方舟)生圖;憑據在 ~/.arkcli/.env,不進提示詞與插件配置。示例:
draw(prompt="淡紫 Q 版小鯨魚,白底,扁平插畫", avatar="child")
產物默認落在 ~/.dsh/memory-pet/gen/;若超過 maxBytes(默認 512 KiB)則不會偷偷換頭像。僅主人可見該工具;提示詞要求僅在用戶明確要圖時才調用。
安裝與啓用¶
SkillHub 目錄頁(https://www.skillhub.cn/plugins/hansiqian/dsh-memory-pet)標註插件爲 hansiqian/dsh-memory-pet,當前展示版本 v1.0.1,並提供「發送給 DeepSeek Harness 安裝」的文案。頁面可見原文爲:
請安裝 DSH 插件 hansiqian/dsh-memory-pet。先讀取..
(後續句式在抓取結果中不完整,完整說明請以目錄頁與倉庫 docs/使用說明.md 爲準;README 亦指向該文檔說明改名、切殼、記憶存儲路徑、關閉與卸載區別。)
安裝前建議通讀 GitHub 倉庫 源碼與 MIT 許可證。插件以當前 DSH 進程權限運行,記憶與身份接口均假定本機可信環境;對接外網渠道時務必配置 access.json 並理解外人面的能力收縮。
啓用後可在 DSH 設置中找到「記憶寵物」頁,與 /pet 指令讀寫同一份 shells.json。
典型用法小結¶
- 日常閒聊切 孩童殼(
/child或行首/child …),需要正經執行任務時切 主事殼(/work)。 - 在設置頁或
/pet name、/pet style child調整寵物名字與語氣;幹活檔只改工頭名字。 - 依賴
remember/recall與自動抽取積累偏好與事實;跨天開新會話時靠快照摘要接上「上一場聊到哪」。 - 外接 IM 時配置
access.json與identity接口,避免外人調用記憶工具或切殼。 - 需要定製頭像時使用設置頁上傳或放置
~/.dsh/memory-pet/avatar-child.*等文件;可選draw生成並換上孩童殼臉。
適用場景與注意¶
更適合希望 一套記憶、兩種語氣 的 DSH 用戶:陪伴感用孩童殼,寫代碼、跑工具用主事殼,而不拆成兩個智能體。有向記憶與快照適合長週期個人助手;接公共渠道時必須用 v0.9 身份閘,否則對話內容可能觸發提示注入改人設的風險雖在殼配置上已收窄,但工具與記憶仍應對外人不可見。
注意:自動抽取是規則型,不是全量理解;關聯與衰減參數按 README 固定實現。draw 依賴 arkcli 與計費配額。卸載與「關閉部分功能」(如 snapshot)含義不同,見倉庫使用說明。
結尾¶
dsh-memory-pet 把調度、雙外殼風格、本地長期記憶、快照與可選生圖收進一個 MIT 插件,由 hansiqian 維護,在 SkillHub 歸類爲「記憶」。若要查閱元數據或發起安裝,可打開目錄頁 https://www.skillhub.cn/plugins/hansiqian/dsh-memory-pet ;開發與行爲細節以 https://github.com/hansiqian/dsh-memory-pet 的 README 及 docs/使用說明.md 爲準。