前言¶
做智能体的人大概都有这种经历:模型什么都会讲,但一问游戏里的当前版本内容就开始编。与其让模型凭记忆编关卡攻略,不如把资料库和实时数据源做成工具,让它自己查。这篇介绍一个面向《逃生:试炼》(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_guideRig 怎么选—— 走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 到降级抓取、本地渲染都能看到。
几条要注意的:
- 插件以当前 DSH 进程的权限运行,安装前先读一遍源码,确认目录路径、抓取目标和调用行为符合预期。
- 图文卡片依赖 Windows PowerShell +
System.Drawing,字体自动回退 Microsoft YaHei UI → Microsoft YaHei → SimHei → Arial;非 Windows 环境会明确报错,改走文字回复。也就是说「生成卡片 → 在 QQ 里发图」这条链路,在 Windows 上才完整。 - 资讯与网络接口可能被墙或限流,失败时插件如实说明,不编造公告。
- 单条回复控制在 3400 字以内,以适配 QQ markdown 消息长度上限;
lib/render.js负责在这个上限内自动收尾。 - 攻略是社区整理资料,版本更新后可能有出入,出处由插件内的
sources/confidence字段承载,免责说明在 README 里。
结尾¶
这个插件的价值在于把「游戏攻略查询」这类高频但易错的需求做成了标准工具集:模型不再靠记忆硬答,而是查库、查实时源、必要时出图,出处和置信度也一并给出。门槛不高,星标也只有 1,属于刚起步的小项目,README 对功能边界和已知限制都写得很清楚。
- 社区目录页:https://www.skillhub.cn/plugins/NormalAorii/dsh-plugin-outlast
- 仓库地址:https://github.com/NormalAorii/dsh-plugin-outlast