dsh-xingye(星野):把 DSH 會話變成本地角色聊天 Agent

前言

在 DeepSeek Harness(DSH)裏做角色扮演或多人設對話,常見做法是手寫 system prompt、自己管上下文,換角色就要開新會話或改配置。對話一長了,想「撤銷剛纔幾輪」或「回到某個節點再聊一條線」,往往得靠外部筆記或手動刪消息,數據和 UI 也分散。

下面介紹社區插件 dsh-xingye(星野):它把 一個 DSH 會話 固定成帶完整工具鏈的聊天 agent——可創建多角色、寫人設、爲同一角色開多條檔案線,並在本機保留可撤銷、可回溯的對話記錄與事件簿。除你配置的模型調用外,數據不離開本機。

這是什麼

Xingye(星野) 由維護者 Iambatman1928 發佈,在 SkillHub 目錄中歸類爲「趣味換裝」。當前 package 版本爲 1.0.1,許可證 MIT,依賴 Node.js ≥ 20 與 dsh ≥ 0.1.0-rc.1,面向 web profile 的 DSH 客戶端。

一句話定位:安裝插件後,在新會話裏選擇 「星野」agent preset,即可與星野對話;在同一會話內還能創建其他角色、切換人設、管理多條檔案線,並通過自然語言或界面完成創建、歸檔與故事改寫。

核心功能

角色與人設

  • 通過對話創建角色(名稱、性格、開場白、標籤等),保存后角色會按人設開口。
  • 支持從本地 .md / .txt 導入人設,例如說明「人設文件在某某路徑」。
  • 可重命名、替換人設、刪除角色。

多檔案線(Archives)

  • 同一角色可擁有 多條獨立檔案線,每條線有自己的對話記錄;切換檔案會繼續該線,而不是重新介紹角色。
  • 新開 DSH 會話 會爲當前角色再開一條新檔案(繼承角色與你的人設,檔案名爲「Archive 2」「Archive 3」等,在發送第一條消息後命名);重新打開同一會話 會按 session id 綁回原有檔案。

對話、撤銷與改線

  • 每一步都會注入當前角色人設、你的 persona 與當前檔案,模型側表現爲「就是該角色在聊」。
  • 撤銷最近消息:例如「撤銷最後 5 條」;會回滾本檔案本地記錄,刪掉的內容進入 trash,可用「恢復剛纔刪的」找回;硬上限爲 30 條,超出時插件會明確說明。
  • 改線 / 回溯:「再說一遍」「收回那句」「回到 X 之前」「重新開始」等;被切掉的內容存爲 branch,可再恢復。

事件簿(Event book)

  • 五類條目:plot / scene / detail / preference / note,帶 rewind 錨點。
  • 作爲 recap 段在 每一步 重新注入,剛寫入或剛被 undo 失效的節點會在下一次模型調用中體現。

你的多套 Persona

  • 可創建、導入、切換或清空「我」的人設,與角色人設分開管理。

記憶與圖像(可選)

  • 默認 transcript 保留最近 400 條消息的原文,更早的會被摘要並刪原文;超過 30 天 的內容同樣處理,但 最近 30 條始終保留原文(供 undo / rewind)。
  • 工具 xingye_memory_image、xingye_character_image 用於記憶圖與角色頭像 / 立繪 / 背景;DSH 本身不生成圖片,需配置 OpenAI 兼容 端點。未配置 key 時不報錯,僅降級爲保存繪圖 prompt。粘貼進對話的圖片會自動進入圖庫歸檔。

界面

五個頁面:Characters(會話頭角色 pill)、Create(新建角色)、My personas、Conversation(主聊天氣泡)、Archives(某角色的多條線)。支持響應式佈局、安全區、減少動效偏好,以及跟隨 DSH 的明暗主題。設計 token 包括暖白 #fffbf7、品牌紫 #8b5cf6 等。

安裝與啓用

插件以 web profile 安裝。官方 README 給出的命令如下(二選一)。

從 GitHub 安裝:

dsh plugin --profile web add 'github:Iambatman1928/dsh-xingye'

或使用 release 附帶的預構建包(可跳過 pnpm 的 build-approval 步驟):

dsh plugin --profile web add 'https://github.com/Iambatman1928/dsh-xingye/releases/latest/download/dsh-xingye.tgz'

安裝後 重啓 DSH,再按順序做三件事:

  1. 打開 Settings → Plugins,確認列表中有 dsh-xingye;
  2. 新建會話,並選擇 「星野」agent preset——這一步不可省略,preset 決定該會話的身份與工具集;
  3. 直接開始對話,星野會按內置人設問候。

爲何還要選 preset? DSH 的 agent preset 僅從文件系統發現,沒有插件註冊 API。首次加載時,本包會把自帶 preset 複製到 <DSH_HOME>/.agent-presets/xingye/($DSH_HOME 默認爲 ~/.dsh),且 僅在目標不存在時複製、不覆蓋你已編輯的 preset,並記錄日誌。若不想自動安裝,可在插件配置行設置 installPreset: false,並自行把 node_modules/dsh-xingye/preset/ 複製到 ~/.dsh/.agent-presets/xingye/。

典型用法

以下示例均來自官方 README,用自然語言即可,無需記命令。

創建與導入角色

  • 「Create a character called Lin Yan; her persona is in D:\personas\linyan.md」
  • 「Make a character called Xiaoman, sixteen, talkative, starts sentences with ‘hey’」

維護角色

  • 「Replace Lin Yan’s persona with this: …」 / 「Rename her to Lin Yanzhi」 / 「Delete Xiaoman」

檔案線

  • 「Start another archive called ‘Another Night’」 / 「List Lin Yan’s archives」 / 「Switch to ‘First Meeting’」

你的人設

  • 「Make me a persona called ‘Traveller’」 / 「Import D:\personas\me.txt」
  • 「Switch to ‘Colleague Lin’」 / 「Drop my persona」

對話與記錄

  • 正常聊天;問「What did we talk about before?」或「Scroll back」可讀本地 transcript。

撤銷與改線

  • 「Undo the last 5」 / 「Those last few don’t count」
  • 「Say that again」 / 「Take back that line」 / 「Go back to before X」 / 「Start over」

輸入框旁的「+」爲故事菜單(retry / rewind / restart / recap / undo),全屏頁可通過再點當前 tab、Esc、點擊遮罩或頭圖「⌄」關閉。

數據存放與備份

默認根目錄爲 <DSH_HOME>/xingye-data/(即 ~/.dsh/xingye-data/),結構包括全局 index.json、config.json(保留策略,可手改)、sessions.json、各角色下的 persona.md、以及每個 archive 的 messages.jsonl、eventbook.jsonl、trash.jsonl、branches/ 等。備份 複製整個 xingye-data 即可;清空重來 可將 dataRoot 指到空目錄(具體字段見倉庫內 cordis.patch.yml 與 preset 配置,安裝前可在 GitHub 閱讀截斷後的完整 README)。

適用場景與注意

適合誰

  • 希望在 DSH 裏做角色扮演、多 persona 切換、同角色多線敘事,且強調 local-first 的開發者或玩家。
  • 需要可撤銷、可分支回溯、事件簿輔助長期劇情,而不是每次靠外部文件拼 prompt。

使用前請知悉

  • 插件在 當前 dsh 進程的權限 下運行,會讀寫 ~/.dsh(或你配置的 DSH_HOME)下的 preset 與 xingye-data;安裝前請自行查看 源碼與 MIT 許可證。
  • 圖像生成依賴你配置的兼容端點;無 key 時僅保存 prompt,不會因此中斷對話。
  • SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;DSH 生態理念是「一切皆插件」,本文介紹的是社區維護的 dsh-xingye,非官方應用商店條目。

結尾

dsh-xingye(星野) 把單次 DSH 會話變成帶 UI 的角色聊天 agent:多角色、多檔案、可 undo 的本機 transcript 與事件簿,適合在本機完成換裝式角色對話而無需自建後端。

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

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

小夜