前言¶
DSH 的插件機制強調「一切皆插件」。在 DSH 社區目錄中可以看到不少插件條目;社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係,不應理解爲官方應用商店。
對智能體開發者來說,常見需求不只是讓模型完成一輪任務,而是在工作回覆之外增加一個可控的附加狀態層。dsh-serendipity 解決的就是這類問題:插件監聽用戶主動發起的對話輪次,在完成後按概率觸發一次隨機奇遇,並把主角屬性、經驗與等級做持久化。它不改變主任務回覆流程,而是在任務回覆之外提供一段可配置、可查詢、可重置的劇情狀態。
這是什麼¶
PocketSWPU/dsh-serendipity 是一個 DeepSeek Harness(DSH)插件,npm 包名爲 @pocket30/dsh-serendipity。
它定位爲一個「工作奇遇」插件:每次對話結束後有幾率觸發隨機奇遇,持續養成你的主角屬性,幷包含 dsh 設置頁可視化配置。
維護方是 PocketSWPU。當前安裝命令使用的是 1.0.0 版本。
核心功能¶
這個插件的主要能力可以按下面幾類理解:
- 監聽
turn/end事件,僅統計由用戶主動發起的對話輪次,避免插件自身注入的劇情輪重複觸發。 - 支持自定義觸發概率,以及兩次奇遇之間的最少用戶對話輪數間隔。
- 內置 7 大主題、700+ 事件;主題題材爲單選模式。
- 事件按日常、冒險、史詩、傳奇四個等級,隨角色等級提升逐步解鎖。
- 支持按當前六維屬性值命中屬性分支線,並以屬性加權抽取分支。
- 屬性變化在
0~100區間內自動裁剪,經驗值累積後自動提升角色等級。 - 默認採用
followup模式,將奇遇續寫爲主角視角故事,並與工作回覆分離。 - 在 dsh 設置頁註冊“奇遇設置”頁,支持角色檔案、通用參數與主題卡片即時配置。
- 跨會話持久化角色數據;優先使用
storage domain,不支持時降級爲內存存儲並告警。 - 提供
serendipity_status與serendipity_reset工具,供模型查詢或重置角色檔案。
安裝與啓用¶
環境要求¶
已覈實資料顯示:
- dsh CLI
0.1.0-rc.6,或與之兼容的版本,具體以資料中的「已知限制」爲準。 - 推薦 profile 爲
web,因爲web組合自帶storage domain與設置頁容器。 - 若 profile 不是
web,需要把安裝命令中的web換成對應 profile 名。
安裝¶
先確認當前 profile 和 dsh CLI 版本,然後執行安裝命令:
npx @deepseek-ai/dsh plugin --profile web add @pocket30/dsh-serendipity@1.0.0
安裝後需要重啓 dsh web。按照已給出的使用步驟,先殺掉監聽 3080 的進程,再重新執行:
dsh web
隨後在瀏覽器中硬刷新頁面。
打開 dsh 設置頁後,導航裏應出現“奇遇設置”頁。
啓用驗證¶
1、完成幾輪對話,等待觸發第一次奇遇。
2、查看“角色檔案”的等級、屬性與最近奇遇。
3、通過 dsh 設置 → “奇遇設置”進行可視化編輯,修改後即時生效。
4、如需要在編排層覆蓋配置,在 profile 的 cordis.patch.yml 裏按行覆蓋 serendipity 配置。
典型用法¶
在 dsh 設置頁調整參數¶
打開 dsh 設置頁,進入“奇遇設置”。
這個頁面至少提供三類配置視角:
- 角色檔案:查看等級、屬性與最近奇遇。
- 通用參數:調整觸發概率、最少間隔輪數等通用參數。
- 主題卡片:選擇主題;主題題材爲單選模式。
修改後即時生效。資料還說明,dsh 官方設置 RPC 只把白名單命名空間暴露給瀏覽器,第三方命名空間不會下發;本插件設置頁走插件自有路由:
/serendipity/api
在編排層覆蓋配置¶
如果需要在 profile 層覆蓋插件配置,可以在 profile 的 cordis.patch.yml 裏按行覆蓋 serendipity 配置。
資料還指出,extraThemes / extraEvents 屬於編排級配置,應在 cordis.patch.yml 的 config 裏維護。由於資料中部分內容被截斷,不應憑名稱推測未完整展示的配置字段。
模型工具¶
插件會提供模型可用工具:
serendipity_status
serendipity_reset(confirm: true, name?)
用途:
serendipity_status:查看角色檔案。serendipity_reset:重置角色檔案,調用時需要顯式傳入confirm: true,可選傳入name。
適用場景與注意¶
這個插件適合以下場景:
- 想在 dsh 對話流程之外增加一段輕量附加劇情。
- 希望附加劇情不參與主任務,而是與工作回覆分離。
- 希望通過 dsh 設置頁即時調整觸發參數、主題和角色檔案。
- 希望角色狀態跨會話保留,尤其是在支持
storage domain的web組合中使用。
使用前需要注意:
- 插件以當前 dsh 進程權限運行;安裝前應檢查源碼與許可證。
- 當前資料未明確許可證類型;已覈實事實只說明
package.json files包含LICENSE,不能據此確定具體許可證。 - 若當前組合不支持
storage,插件會降級爲進程內內存存儲,並給出告警提示。 - DSH 社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係,不應理解爲官方應用商店。
獲取與參考¶
- 目錄頁:
https://www.skillhub.cn/plugins/PocketSWPU/dsh-serendipity - GitHub:
https://github.com/PocketSWPU/dsh-serendipity
這個插件的價值比較具體:它把「對話結束後的隨機奇遇」做成一個可配置、可持久化、可在 dsh 設置頁調整的狀態系統,而不是隻輸出一段一次性文本。