前言¶
DeepSeek Harness(DSH)新開一個會話就從頭開始:你說過的規矩、定過的邊界、踩過的坑,下一輪往往全沒了。人設卡能影響「它像不像一個人」,但解決不了「它還記不記得你」;常見的記憶插件能留住事實,卻未必因此形成穩定的人格表述。
下面介紹社區插件 dsh-seed(維護者 990718xyh),它在 DSH 裏同時做兩件事:記住發生過什麼,再從經歷裏更新「我是誰」。插件歸類爲「記憶」,當前 GitHub 星標爲 0;生態上 DSH 奉行「一切皆插件」,目錄站 SkillHub 插件頁 與 DeepSeek / 幻方無官方從屬關係。
這是什麼¶
dsh-seed 的定位是:給 DSH 從零長出來的人格——「A persona that grows from experience: remembers what happened, becomes someone from it.」
它不預設完整人設,靠輪次內的抽取、治理、反思與自述,把關於你的稱呼、邊界和禁忌寫進上下文,並在證據足夠時修訂自述版本。實現上僅使用 node: 內置模塊,無原生擴展、無需構建;許可證爲 MIT,package 版本在資料中爲 0.7.2,要求 DSH ≥ 0.2.0。
裝上之後多出什麼¶
新會話不用重講。 每輪開頭會把你們談定的稱呼、邊界、踩過的坑重新注入上下文。例如你說過「週日別找我」,下一輪它會自行帶上這條約定。
人格會隨經歷變化。 攢夠未處理的條目會觸發反思,抽出帶事件 id 的判斷;再攢夠判斷會生成「我是誰」的候選,經審查後才落盤,證據不足則駁回。
過程可觀測。 配置面板後可在 /persona 查看九層各有多少條、自述當前第幾版、本輪向上下文注入的字數等。
每輪在跑什麼¶
一輪對話結束後,插件在後臺大致按下列鏈路運行(抽取與提煉走小模型;失敗只寫審計,不打斷對話):
輪末
│
├─ 抽取:這一輪裏有什麼值得留
│
├─ 治理:新來的跟舊的什麼關係
│ ADD / UPDATE / DELETE / NOOP / DEFER
│
├─ 攢夠 5 條沒嚼過的 → 反思:抽出判斷,每條掛事件 id
│
└─ 攢夠判斷 → 自述:出候選 → 審查 → 落盤或駁回
資料中強調的設計約束包括:
- 事實不物理刪除:說錯了標
invalid、留失效時間,便於事後追溯。 - 記憶強度:被檢索一次
+0.05(封頂 1.0),未使用則每天×0.998(下限 0.1);稱呼、約定、禁忌釘住,不衰減且每輪固定注入。 - 反思必須帶證據:每條判斷掛真實事件 id,掛不上則丟棄。
- 自述有閘門:改「我是誰」先出 proposal,review 通過才落盤。
- 檢索:Unicode 分詞(CJK bigram / 其他語言整詞 / NFKC),idf 加權與 BM25 長度歸一化;匹配到本輪最高分 85% 的條目不參與時間衰減。
- 只收三類關於你的事:怎麼稱呼你、談定的邊界、明確禁止的。
安裝與啓用¶
在 DSH「Add plugin」嚮導裏搜索 dsh-seed,或使用官方 CLI(命令以 README 爲準):
# 瀏覽器版
dsh plugin --profile web add github:990718xyh/dsh-seed
# 桌面版
dsh plugin --profile desktop add github:990718xyh/dsh-seed
裝完重啓 DSH。不要急着看面板——先聊兩句;第一輪結束後它纔開始記。
卸載示例(桌面 profile):
dsh plugin --profile desktop remove dsh-seed
插件以當前 DSH 進程的權限運行;安裝前請自行查看 GitHub 源碼 與 MIT 許可證,確認符合你的環境與安全要求。
配置¶
在 ~/.dsh/profiles/<profile>/cordis.patch.yml 中插入 persona 段(示例來自 README):
- insert:
- id: persona
name: 'dsh-seed'
config:
id: seed
dir: ~/.dsh/persona
heartbeat: { enabled: true, everyMinutes: 30 }
study: { enabled: false }
panel: { enabled: true, route: /persona, port: 8787 }
說明要點:
id決定數據目錄名(見下文「數據落盤」)。llm不寫則跟隨當前選中的模型;寫死模型可能在換模型後出現 no API key,抽取鏈會靜默停止。study(自學)默認關閉;開啓需要聯網與 API 費用,按需再開。- 面板默認端口 8787;被佔用時改
panel.port,否則面板起不來,僅在審計裏留下panel-error。
數據落盤¶
數據在 ~/.dsh/persona/<id>/,純文本可直接查看:
journal/<host>.jsonl 所有寫入,只追加
snapshot/base.json 壓實後的基線
heartbeat.json 心跳狀態
典型用法¶
- 按上文命令安裝並重啓 DSH。
- 先進行至少一輪正常對話,讓輪末抽取與治理跑起來。
- 在後續新會話中驗證:稱呼、邊界、禁忌是否自動出現在上下文,無需重複口述。
- 需要可視化時啓用
panel,訪問配置的route(默認/persona)查看層級與自述版本。 - 若希望插件聯網自學,再將
study.enabled設爲true並確認 API 與費用可接受。
適用場景與注意¶
適合:長期用同一 DSH profile 協作、希望跨會話保留約定與禁忌,並讓人格自述隨真實對話緩慢演進,而不是每輪重講規則或只靠靜態人設卡。
注意:
- 記憶範圍刻意收窄爲「稱呼 / 邊界 / 禁止」,不是通用知識庫;什麼都記等於什麼都抓不住。
- 反思與自述依賴小模型與證據鏈;異常時查審計,而非假設已 silently 寫入人格。
- 面板與 heartbeat 會佔用本地端口與定時任務;端口衝突務必改配置。
- 社區目錄與 GitHub 爲獨立信息源;版本、星標與行爲以你安裝時的包與 README 爲準。
結尾¶
dsh-seed 把「記住發生過什麼」和「從經歷里長出是誰」放在同一條輪末流水線裏:治理、反思、自述閘門與可讀的落盤目錄,面向 DSH 開發者做可覈對、可運維的長期人格記憶。
- 目錄頁:https://www.skillhub.cn/plugins/990718xyh/dsh-seed
- 源碼與文檔:https://github.com/990718xyh/dsh-seed