DeepSeek Harness (DSH) 是一個插件化系統。默認情況下,AI 更多扮演對話者而非主持人。dsh-diceframe 填補了這一空白,爲 DSH 添加了骰子、檢定判定、世界書和角色卡,以便 AI GM 能夠主持結構化的 TRPG 會話,而不是無結構的閒聊。
環境要求¶
- 已安裝 DSH CLI (
dsh)。 - Node.js ≥ 22。
安裝¶
使用官方安裝命令添加插件:
dsh plugin --profile <名字> add dsh-diceframe
核心功能¶
骰子與檢定¶
插件提供兩個核心工具:roll_dice 和 resolve_check。
-
roll_dice 工具
- 支持常見骰子格式:3d6、d20、d100、3d6+2。
- 支持高級規則:2d20kh1(優勢)、2d20kl1(劣勢)、4d6dl1。
- 支持特殊機制:1d6!(爆炸骰)。
- 提供加密隨機數生成與逐骰明細。 -
resolve_check 工具
- 支持模式:d100、d20、求和。
- 包含判定結果:大成功、成功、失敗、大失敗,以及判定 margin。
世界書與角色卡¶
- 支持 Markdown 格式的世界書與鍵值格式的角色卡。
- 支持將內容注入系統提示詞,作爲 AI 主持的依據。
DiceFrame 互通¶
插件支持直接導入 DiceFrame 生態內容,無需轉換。
- 單個文件導入:支持單個世界書 JSON 或角色卡 JSON,自動識別路徑。
- 內容包導入:支持導入包含
plugin.json的整個內容包目錄,一鍵全量導入(含 worlds、characters、npc、items、spells、classes、rules)。
斜槓命令與會話狀態¶
- 斜槓命令:
/trpg:開團,GM 會用已加載世界書的「起始場景」直接開場。/roll:擲骰,直接執行不經過模型。/check:檢定,直接執行不經過模型。/state:查看當前桌臺狀態。- 會話狀態追蹤:通過
table_state與table_update工具,記錄世界、玩家角色卡、NPC、場景與先攻順序。
存檔互通¶
插件實現了 DiceFrame 與 DSH 之間的關鍵狀態搬運。
- 導入:使用
save_import工具,可讀取 DiceFrame 的state.json或可移植 zip,將世界、角色、場景載入當前會話。 - 導出:使用
save_export工具,將當前進度導出爲 DiceFrame 可識別的存檔格式(state.json+chatlog.jsonl+ zip)。
配置¶
在 profile 的 cordis.patch.yml 中配置六個獨立插件行(dsh-diceframe/dice、gm、lore、commands、table、save)。
通用配置示例:
- id: dsh-diceframe-lore
config:
enabled: true
world_book: |
## 迷霧王國
大陸被永霧籠罩,只有燈塔之城仍有人煙。
character_card: |
姓名: 艾琳
職業: 遊俠
注意事項¶
- 純 ESM、無構建步驟,運行時零依賴(僅 Node 核心與自身模塊)。
- 不內置任何第三方/IP 同人內容包。
- 僅搬運關鍵狀態(世界/角色/場景/歷史)互通,非完整機制復刻。
參考資料¶
- 插件目錄:https://www.skillhub.cn/plugins/diceframe/dsh-diceframe
- GitHub 倉庫:https://github.com/diceframe/dsh-diceframe