前言¶
在 DSH 裏做直播互動時,常見做法是聊天回覆與畫面展示分開:觀衆說話進隊列,角色只負責念稿或表情,遊戲畫面仍是人工切鍵。若要把「觀察—決策—執行」做成 Agent 可選工具,並把觀衆指令插進決策優先級,還需要單獨記復盤、經驗和證據,一般得自己接控制器、再掛一層經驗庫。
dsh-game-agent(維護者 XiaoZheBrother,社區目錄分類爲工作流)面向這類需求:把遊戲操作封裝成工具集,聊天與遊戲執行分通道處理,經驗和復盤落在獨立 SQLite。當前爲 0.1.0-alpha.4 開發預覽,適配器僅支持項目使用的修改版紅警 2 網頁接口,不是任意原版 exe 控制器;插件以當前 DSH 進程權限運行,安裝前應閱讀源碼與 MIT 許可證。
這是什麼¶
dsh-game-agent 是 DeepSeek Harness 的遊戲向插件,與同級 dsh-live-studio 組合使用。它把觀察、生產、移動、進攻、佔領、部署、鏡頭與選址等操作做成 Agent 工具;觀衆指令優先於自主決策,回覆語音與遊戲執行分開處理。決策記錄、經驗採用、結果證據與復盤保存在獨立 SQLite 中。
- 目錄頁:https://www.skillhub.cn/plugins/XiaoZheBrother/dsh-game-agent
- 源碼:https://github.com/XiaoZheBrother/dsh-game-agent
核心功能¶
下面按 README 已寫明的能力歸納,不擴展未驗收項。
工具化遊戲操作¶
Agent 通過工具選擇與執行驅動對局,而不是在聊天裏硬編碼宏命令。工具執行正確不等於策略有效;插件側會把經驗、反例與修訂歷史分開記錄。
觀衆指令與自主決策¶
觀衆指令優先於自主決策。聊天內容只進入回覆隊列,與遊戲執行分路處理,避免「說完話順帶亂點單位」的耦合。
經驗與復盤(SQLite)¶
經驗條目含來源、適用情境、採用記錄、結果證據、反例和修訂歷史。復盤逐項校驗:合格項保留,錯誤項可重試且有上限。數據庫使用 WAL 與短事務。遊戲專用經驗暫由本插件管理;通用經驗接口在 dsh-agent-growth 中,尚未自動遷移兩者數據庫。README 註明未進行真實模型對局驗收。
直播佈局與內置舞臺¶
遊戲模式已包含直播能力:同一直播間只啓用遊戲插件或直播插件中的一個。控制台默認 http://127.0.0.1:3098/;直播素材地址爲 http://127.0.0.1:3098/?view=stream&audio=direct&layout=game。README 中的聯調截圖展示早期佈局(左側遊戲、右側角色與賬本),Live2D 與遊戲資源需自行準備,不隨插件分發。
配套 dsh-live-studio 0.2.0-alpha.3 起可配置本地 model 與 cubismCore,將遊戲畫面嵌入內置舞臺;未填寫時仍走原有 jingyuUrl。模型與 Cubism Core 不隨包分發。
自動續局¶
自動續局依賴支持保留速度設置的修改版遊戲客戶端;遊戲資產必須自行提供。自主控制默認暫停,需在控制台確認資源、頻道和對局狀態後再開啓。
依賴與版本¶
| 項 | 說明 |
|---|---|
| Node.js | >=22.19.0(package.json engines) |
| 同級插件 | dsh-live-studio ^0.2.0-alpha.3 |
| 兼容說明 | 可與直播插件 0.2.0-alpha.1 組合安裝;遊戲戰略、經驗和自動續局行爲不變 |
| Python / 技能目錄 | 需同版本 dsh-live-studio 的 Python 依賴;另需 Node.js 與含 scripts/ra2ctl.mts、node_modules/tsx 的遊戲控制技能目錄 |
| 適配器 | 包內 adapters/ra2 提供固定上游版本的補丁與構建步驟;客戶端與遊戲資源需另行構建並導入 |
先安裝並驗證對應遊戲適配器,再啓用本插件。
安裝與啓用¶
官方 README 給出的安裝路徑是本地開發包(npm pack 生成 tgz),不是憑倉庫名拼接 dsh plugin add github:...。
- 在源碼目錄執行
npm pack,得到 tgz 的絕對路徑。 - 先把同版本直播插件 tgz 安裝到同一 DSH profile。
- 再安裝遊戲插件 tgz;安裝不會自動啓用。
PowerShell 示例(路徑按你的環境替換):
$env:DSH_HOME = 'D:\my-agent-data'
dsh plugin --profile web add '<生成的 tgz 絕對路徑>'
注意:開發包不得覆蓋正在運行的舊任務,請先停掉舊實驗啓動器;填寫配置後再設 enabled。目前不提供穩定版 Release。
配置要點¶
沿用直播插件的 home、persona、python、jingyuUrl、room、credential、ledger 等配置,併爲遊戲插件增加:
| 字段 | 含義 |
|---|---|
enabled |
默認 false |
port |
默認 3098 |
gameSkill |
含 scripts/ra2ctl.mts 與 node_modules/tsx 的技能絕對路徑 |
experience |
遊戲經驗 SQLite 路徑;沿用原文件可保留全部經歷 |
channel |
遊戲頻道,默認 1 |
本地舞臺(可選,配合 dsh-live-studio):配置 model 目錄與 cubismCore SDK 文件路徑後,可無需另外啓動鯨語;兩項未填則仍用 jingyuUrl。
典型用法流程¶
- 安裝並校驗
adapters/ra2對應客戶端與ra2ctl技能目錄。 - 在同一 profile 裝好
dsh-live-studio與本插件,停掉舊啓動器後寫入上述配置,enabled保持false直至資源就緒。 - 打開
http://127.0.0.1:3098/控制台,確認頻道與對局狀態後開啓自主控制。 - 推流或預覽使用
http://127.0.0.1:3098/?view=stream&audio=direct&layout=game。 - 需要自動續局時,確認修改版客戶端支持保留速度設置。
適用場景與注意¶
適合誰: 已在 DSH 上跑直播棧、願意維護修改版紅警 2 網頁控制鏈路與 ra2ctl 技能目錄的開發者;需要觀衆指令插隊、可追溯復盤與經驗 SQLite 的 Agent 實驗。
務必注意:
- alpha 預覽,尚未切換生產;默認
enabled: false。 - 插件與 DSH 同進程權限,安裝前檢查源碼與 MIT 許可證。
- 不與直播插件同開於同一房間;遊戲資產、Live2D、Cubism 均需自備。
- SkillHub 爲社區目錄,與 DeepSeek / 幻方無官方從屬關係;生態理念是「一切皆插件」,按需自行審計後再上機。
結尾¶
dsh-game-agent 把網頁紅警對局收成 Agent 工具鏈,並把觀衆指令、自主操作、續局與 SQLite 復盤放在同一條工作流裏,適合在 DSH 上做可重複的直播+策略實驗。詳情見 SkillHub 目錄頁 與 GitHub 倉庫。