dsh-plugin-outlast:把《逃生:試煉》攻略接進 DeepSeek Harness

前言

做智能體的人大概都有這種經歷:模型什麼都會講,但一問遊戲裏的當前版本內容就開始編。與其讓模型憑記憶編關卡攻略,不如把資料庫和實時數據源做成工具,讓它自己查。這篇介紹一個面向《逃生:試煉》(The Outlast Trials) 的 DSH 原生插件(Cordis bundle),由 NormalAorii 維護,屬於社區目錄裏的聯網工具。

它做的事很直接:把社區整理的遊戲資料庫(關卡、敵人、道具、機制)和 Steam 實時公告包裝成 9 個模型可調用的工具,再配合已接入的 QQ 官方機器人(@tencent-connect/dsh-qqbot),就能在 QQ 羣聊或私聊裏直接問答,不用自己寫任何查詢邏輯。

這是什麼

一句話定位:給 DeepSeek Harness 用的原生 Cordis 插件,純 ESM,無構建、無運行時依賴。倉庫 NormalAorii/dsh-plugin-outlast,GitHub 星標 1,MIT 許可,當前版本 1.0.0,Node 要求 >=20。插件代碼爲 MIT,遊戲名稱、設定與商標歸 Red Barrels 所有,作者聲明這只是粉絲向查詢工具。

需要先說明的邊界:它不直接連接 QQ,圖片與文件發送依賴另一個已接入的插件 @tencent-connect/dsh-qqbot。資料庫內容是社區整理,不是官方 wiki 原文轉帖,版本更新後可能有出入。

資料庫規模

資料庫按文件組織,規模如下:

  • 41 個關卡(11 主線 Trial + 30 個 MK 挑戰)
  • 14 個 Program
  • 21 個敵人
  • 65 條道具/升級/貨幣/機制
  • 31 條核心機制
  • 10 條資訊快照

映射到 data/ 下的四個文件:trials.json 裝關卡與 Program 結構,enemies.json 裝敵人圖鑑,items.json 裝消耗品、Rig、處方/升級、貨幣、操作機制,news.json 裝 Steam 新聞源實測結果與離線快照。全部條目帶 sources 與 confidence 字段,confidence 不是 high 的條目,回覆裏會明確標註「社區整理」。

九個工具怎麼分工

插件入口 index.js 註冊 9 個 outlast_* 工具,並附 4 行 system prompt 指引(order 900)。工具定義在 lib/tools.js,數據加載與中英文模糊搜索在 lib/store.js:

工具 作用 典型問法
outlast_help 功能菜單與指令說明 幫助 / 菜單 / 你能幹什麼
outlast_search 全庫中英文模糊搜索 「監獄」「鵝媽媽」「注射器」
outlast_trials 關卡列表 / 進度結構 有哪些關卡 / MK 挑戰 / 關卡順序
outlast_guide 單關攻略(目標/步驟/技巧) 警局怎麼打 / 孤兒院攻略
outlast_enemies 敵人圖鑑與應對 有哪些敵人 / 鵝媽媽怎麼躲
outlast_items 消耗品 / Rig / 處方 / 貨幣 有什麼道具 / Rig 怎麼選
outlast_mechanics 核心機制與生存技巧 怎麼躲 / 噪音機制 / 新手怎麼上手
outlast_news Steam 官方公告實時抓取 最近有什麼更新
outlast_card 生成 1080 寬圖文攻略卡 PNG 來張圖 / 圖文攻略

其中 outlast_news 的抓取是三級降級:優先實時抓取 Steam 的 ISteamNews(appid=1304930),失敗退 RSS,再失敗回退本地快照,並在回覆裏說明原因。outlast_card 只負責渲染 PNG 並返回本地路徑,發圖動作由 qqbot_send_file 完成,模型會緊接着調用它。卡片頂部橫幅在運行時從 Steam CDN(cdn.cloudflare.steamstatic.com)拉取官方頁頭圖,僅本地緩存,不隨插件分發。

安裝與啓用

README 給出的官方安裝方式是「克隆到本地,再讓 DSH 安裝成 profile bundle」,兩步走:

# 1) 把倉庫放進 DSH 工作區(或任意本地目錄)
git clone https://github.com/NormalAorii/dsh-plugin-outlast.git

# 2) 讓 DSH 把該目錄安裝成 profile bundle(需要審批)
#    plugin_manager install_bundle → target = 該目錄的絕對路徑
#    例如:C:\Users\<you>\Documents\deepseek-harness\default-workspace\dsh-plugin-outlast

注意這不是 dsh plugin add github:... 形式的一行安裝。安裝後 DSH 會把插件掛進 profile 的 bundle(cordis.patch.yml 的 insert 條目),不需要手改 profile 的 package.json 或 cordis.patch.yml,也不需要 pnpm install。裝完重啓(或重載)DSH 後,模型側會多出 9 個 outlast_* 工具。

安裝後自檢

在倉庫根目錄直接跑,不需要 DSH 宿主:

node scripts/verify.js      # 46 項斷言:數據完整性、9 個工具、實時新聞、PNG 卡片
node scripts/smoke.mjs      # 只跑卡片 + 新聞兩段,出圖更快

作者聲明該插件已在本人 DSH desktop profile 中安裝並實跑驗收,node scripts/verify.js 46/46 通過。這一步的意義是自己裝完先對一遍,而不是直接上生產。

典型用法

插件本身不綁定 QQ,接入方式是:QQ 側的官方機器人插件 @tencent-connect/dsh-qqbot 負責收發消息和文件,本插件負責提供查詢工具。用戶在羣裏問「鵝媽媽怎麼躲」,模型調用 outlast_enemies 查應對;問「最近有什麼更新」,模型調用 outlast_news 走 Steam 實時抓取;回覆「來張圖」,模型調用 outlast_card 生成 PNG,再用 qqbot_send_file 把圖發回羣裏。

可以照着復現的提問:

  • 幫助 / 菜單 —— 觸發 outlast_help,摸清有哪些能力
  • 監獄、鵝媽媽、注射器 —— 走 outlast_search 的中英文模糊搜索
  • 有哪些關卡 / MK 挑戰 / 關卡順序 —— 走 outlast_trials
  • 警局怎麼打 / 孤兒院攻略 —— 走 outlast_guide
  • Rig 怎麼選 —— 走 outlast_items
  • 噪音機制 / 新手怎麼上手 —— 走 outlast_mechanics
  • 最近有什麼更新 —— 走 outlast_news

適用場景與注意

適合兩類人:一是自己部署 QQ 機器人、想給《逃生:試煉》玩家做問答助手的開發者,省掉自己寫攻略庫和維護 Steam 新聞抓取的活;二是想學習 DSH Cordis bundle 插件結構的人,這個倉庫不大,index.js / lib/tools.js / lib/store.js / lib/news.js / lib/cards.js 的分工比較清楚,從工具註冊、bundle patch 到降級抓取、本地渲染都能看到。

幾條要注意的:

  1. 插件以當前 DSH 進程的權限運行,安裝前先讀一遍源碼,確認目錄路徑、抓取目標和調用行爲符合預期。
  2. 圖文卡片依賴 Windows PowerShell + System.Drawing,字體自動回退 Microsoft YaHei UI → Microsoft YaHei → SimHei → Arial;非 Windows 環境會明確報錯,改走文字回覆。也就是說「生成卡片 → 在 QQ 裏發圖」這條鏈路,在 Windows 上才完整。
  3. 資訊與網絡接口可能被牆或限流,失敗時插件如實說明,不編造公告。
  4. 單條回覆控制在 3400 字以內,以適配 QQ markdown 消息長度上限;lib/render.js 負責在這個上限內自動收尾。
  5. 攻略是社區整理資料,版本更新後可能有出入,出處由插件內的 sources / confidence 字段承載,免責說明在 README 裏。

結尾

這個插件的價值在於把「遊戲攻略查詢」這類高頻但易錯的需求做成了標準工具集:模型不再靠記憶硬答,而是查庫、查實時源、必要時出圖,出處和置信度也一併給出。門檻不高,星標也只有 1,屬於剛起步的小項目,README 對功能邊界和已知限制都寫得很清楚。

  • 社區目錄頁:https://www.skillhub.cn/plugins/NormalAorii/dsh-plugin-outlast
  • 倉庫地址:https://github.com/NormalAorii/dsh-plugin-outlast
羽毛球分组比赛记分
小程序二维码

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

小夜