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
羽毛球分组比赛记分
小程序二维码

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

小夜