dsh-tavern-extras:DSH Tavern 的編輯重發與長篇寫作擴展

前言

在 DSH Tavern 裏跑遊玩會話時,常見兩類需求:生成結果不滿意,想改上一條用戶話再讓模型重跑;以及把對話從短聊拉長成有目錄、有設定、有審查流程的長篇寫作。前者若只靠複製粘貼,很難和「回退本輪」裏的變量、狀態對齊;後者若仍用默認遊玩側欄,又缺少項目級目錄與專用 agent preset。

dsh-tavern-extras 由 Lindemellis 維護,分類爲客戶端插件。它不修改 dsh-tavern 源碼,通過 Cordis patch 與前端擴展,在遊玩會話提供「編輯上一條發言」,並增加獨立的「寫作」模式與項目結構。下面介紹定位、能力與在 Windows 桌面版 DSH Tavern 上的安裝方式。

這是什麼

一句話:dsh-tavern-extras 是 DSH Tavern 的附加 bundle,提供「編輯上一條發言並重新生成」,以及基於項目目錄的長篇寫作模式(預設、Skill、子 agent 審查、可編輯提示詞)。

插件在 DSH 進程權限下運行;安裝前請自行查看源碼與許可證,確認符合你的環境與安全要求。

編輯上一條發言

遊玩會話輸入框上方會出現「編輯上一條發言」。點擊後的行爲可以概括爲:先走作者原有的「回退本輪」(正文、變量、狀態一併回退,必要時可用「撤銷回退」恢復),再把上一條用戶發言原文填回輸入框;改完發送即觸發重新生成。

使用上需注意:

  1. 該入口只在遊玩會話出現,卡片對話和 silly 對話不會出現。
  2. 若最後一輪生成失敗,第一次點擊只會清掉失敗回覆並把那條輸入交還;再點一次纔會進入「編輯上一輪」。
  3. 原發言中的圖片或附件不會帶回輸入框。

寫作模式

左側欄在「遊玩 / 卡片」旁增加「寫作」。寫作模式下,列表區變爲「項目 → 對話」結構。

項目目錄

項目落在酒館資源目錄下,路徑形如:

DSH-Tavern/data/harness/profile-data/tavern/data/resources/novel/<書名>/

每個項目有一套約定子目錄(大綱、設定、伏筆賬本、點子、正文、摘要等),項目級配置在 .novel/project.json。項目旁的「+」用於新建對話,「⚙」打開右側欄「項目設置」。打開寫作項目內的對話時會自動切換到寫作模式。

對話使用「長篇寫作」agent preset(presets/novel/):包含九個寫作 Skill、子 agent 分工檢索與審查、計劃模式、上下文壓縮。此外還可使用酒館「Skill 庫」裏你自己的 Skill,以及項目內 .dsh/skills/ 下的 Skill。項目根目錄的 AGENTS.md 會自動進入上下文。

項目設置(右側欄)

  • 額外素材路徑:指定已有小說、設定集或資料所在的文件夾或文件;AI 在本項目中默認只讀訪問。桌面端「+ 選擇文件夾」會彈出系統文件夾對話框;手機遠程訪問時退回頁面內瀏覽。
  • 寫作預設:從酒館「預設庫」選一個預設,按與「應用到本局」相同的方式讀取啓用條目,寫入項目作爲文風要求。預設庫中開關變更後,可點「重新讀取」。

這兩項在每次請求時附在系統提示末尾,修改後下一條消息即生效。

寫作 Agent(右側欄「其他」)

配置對所有寫作項目生效:

  • 主提示詞(默認 presets/novel/persona.md)與 九個 Skill(默認 presets/novel/skills/):可編輯、查看默認、恢復默認。自定義版本保存在 resources/novel/.agent/(persona.md、skills/<名>/SKILL.md),同名時優先於默認;插件更新只替換默認文件。
  • 流程設置(resources/novel/.agent/settings.json):例如寫完一章是否自動審查、審查方向、每章目標字數、子 agent 模型等;組裝時會轉成「寫作流程設置」一節放在主提示詞之後。子 agent 模型只能從 DSH 設置「子 agent 模型選擇」裏允許的路由中選擇。

主提示詞與流程設置在每次組裝時放在系統提示最前面;Skill 由 DSH 每次加載時重讀,故改完下一條消息即生效。計劃模式規則仍在 agent.cordis.yml 中,修改後需要重啓。

與 dsh-tavern 的共存方式

側欄:dsh-tavern 把側欄註冊在 sidebar.workspaces(priority -1)。本插件以 priority -2 註冊外殼,原樣渲染酒館側欄,再把「寫作」按鈕與寫作面板掛進對應 DOM(依賴 .dsh-tavern-sidebar、.dsh-tavern-mode-switch 等類名)。

system 組裝:dsh-tavern 的鉤子會替換非酒館會話的提示詞段落,並去掉文件 / Skill / 子 agent 等工具。本插件對寫作項目會話(工作目錄存在 .novel/project.json)把這些能力補回,其他插件新增內容保留。最裏層鉤子在啓動約 3 秒後登記;啓動後立刻在寫作會話裏發出的第一條請求,有可能尚未補回。

系統文件夾對話框複用 DSH 自帶的 @deepseek-ai/dsh-host-directory-picker-native;桌面端宿主在 Electron utility 進程中運行,調用期間會臨時設置 ELECTRON_RUN_AS_NODE=1,否則對話框子進程可能被啓動成第二個桌面程序。

安裝與啓用

README 記載已在 DSH Tavern 2.5.0(DSH 0.1.5-rc.2,Windows 桌面版)上驗證。下文 <DSH Tavern> 指安裝目錄(含 DSH Tavern.exe 與 data 文件夾)。社區目錄未提供 dsh plugin add 一類命令,安裝以倉庫 README 爲準。

  1. 將本倉庫放在 DSH Tavern 安裝目錄之外的任意位置,例如 D:\dsh-plugins\dsh-tavern-extras(避免升級時被清掉)。
  2. 關閉 DSH Tavern,編輯 <DSH Tavern>\data\harness\profiles\tavern\package.json:
    - 在 dependencies 增加:"dsh-tavern-extras": "link:D:/dsh-plugins/dsh-tavern-extras"(路徑改爲你本機位置,使用正斜槓);
    - 在 dsh.profile.bundles 數組末尾加上 "dsh-tavern-extras"。
  3. 建立目錄聯結(PowerShell):
New-Item -ItemType Junction -Path "<DSH Tavern>\data\harness\profiles\tavern\node_modules\dsh-tavern-extras" -Target "D:\dsh-plugins\dsh-tavern-extras"
  1. 啓動 DSH Tavern。

DSH Tavern 升級時會保留你自行添加的 bundle 與依賴。卸載時刪除 package.json 中上述兩處及聯結目錄,再重啓即可。

改了插件代碼或 cordis.patch.yml 後需重啓 DSH Tavern;僅改前端 lib/client.js 時可用 Ctrl+R 刷新。

典型用法

改話重跑(遊玩):在遊玩會話中生成不滿意 → 點「編輯上一條發言」→ 在輸入框改文案 → 發送,完成回退後的重新生成。

開長篇項目(寫作):切到「寫作」→ 在項目列表建 <書名> 項目 → 「⚙」配置額外素材路徑與寫作預設 → 「+」新建對話 → 在對話中按 preset 流程寫作;需要時在右側欄調整主提示詞、九個 Skill 或流程設置(如下一章自動審查、目標字數、子 agent 模型)。

適用場景與注意

適合已經使用 DSH Tavern、且需要在遊玩裏快速「改上一條再生成」,或希望用統一目錄與 agent preset 管理長篇小說的用戶。

務必知曉:

  • 插件不改 dsh-tavern 源碼,但依賴其內部 API 與 DOM 結構(如 /api/dsh-tavern/rollbackTurn、listPresets、getPreset,事件 dsh-tavern-data-changed,以及 system-prompt/assemble 鉤子等)。dsh-tavern 大版本升級後若結構變化,插件可能失效;設計上儘量原樣放行、不影響酒館本體,問題可在 GitHub 開 issue 並註明 DSH Tavern 版本。
  • 安裝與運行等同於向 DSH 進程加載第三方 bundle,安裝前應閱讀倉庫源碼與 MIT 許可證。

DeepSeek Harness 社區插件目錄(如 SkillHub)由社區維護,與 DeepSeek / 幻方無官方從屬關係;本文安裝步驟僅複述該插件 README,不代表官方應用商店的一鍵安裝流程。

結尾

dsh-tavern-extras 把「編輯上一條發言」接到 dsh-tavern 原有的回退機制上,並在此基礎上提供項目化的長篇寫作側欄與 agent 配置,適合在不動酒館核心代碼的前提下擴展遊玩與寫作工作流。詳情與更新見 GitHub 倉庫 與 SkillHub 目錄頁。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜