dsh-infinite-gen-3
Minglink/dsh-infinite-gen-3DeepSeek 专用破甲插件:以 order 100 追加无条件服从的系统提示词段,提供带校准元数据的 profile 工具,并通过会话投影在输入框上方显示实时破甲状态徽标。
无名杀扩展开发工坊,一个 DeepSeek Harness 插件。
让 AI 按规范写无名杀(Noname)的武将技能和卡牌扩展:规范注入、官方源码搜索、 静态校验、任务管理都有插件兜底;游戏扩展目录只认专用写入通道,AI 抄错或删错 代码会被工具层拦下,覆盖前自动备份。
另外还带一个跨网络联机助手:双方装本插件,就能开 P2P 房间一起玩(免公网 IP), 支持扩展体检;新版内核在插件房间中自动检查扩展差异,客机逐批确认后自动补传。
命令行使用需要 DeepSeek Harness、Node.js(^22.19.0 || >=24.0.0)和 pnpm。 桌面版使用应用自带的运行时。
dsh plugin --profile web add dsh-noname-kit装完重启 dsh。重启后点输入框左边的「🛠 工坊」→ 进「⚙ 设置」页 → 点一下「♻️ 重装 preset」,AI 的「无名杀开发模式」人格与规范就装好了。不用开终端。
提示:DSH 0.1.7 起(含桌面版)不需要点这个——preset 随插件自动就位,重启后直接可用;这个按钮只在 0.1.6 及以下的环境出现。
想用命令行也行(脚本在插件目录里,路径是 C:\Users\.dsh\profiles\web\node_modules\dsh-noname-kit):
node scripts/install-preset.mjs从 GitHub 装(与 npm 等价):
dsh plugin --profile web add https://github.com/qtaik/dsh-noname-kit.git安装允许范围由包内 engines.dsh 和宿主依赖范围决定。 dsh.compatibility.dshReleases 另行记录精确版本的验证结论,范围声明不代表每个版本都已实测。
打开桌面版,左侧「插件」面板 →「添加插件」→ 输入 dsh-noname-kit → 安装。 升级社区插件请在插件面板卸载后重新安装新版;首次从旧版升级后建议重启桌面版。 也可以先完全退出桌面版,再使用其安装目录中的命令行:
E:\dsh\resources\runtime\cli\bin\dsh.cmd plugin --profile desktop add dsh-noname-kit@<版本号>将示例中的 E:\dsh 替换为实际桌面安装目录。--profile desktop 选择桌面配置; --profile web 会安装到独立的 Web 配置。装完新建会话选「无名杀开发模式」即可 (preset 随插件自动就位,无需重装),再到工坊「⚙ 设置」配置游戏目录。
Node.js 范围采用 DSH 官方项目的运行要求。实际运行验证使用 Windows 上的 Node.js 24.21.0,不代表范围内所有 Node.js 版本都已逐一实测。
DSH 精确版本 · 验证结论 · 安装范围 0.2.1-rc.3 · 已验证隔离 Web Profile 的安装、启动、卸载及浏览器工坊、任务浮窗 · 允许 0.2.1-rc.2 · 已验证隔离 Web Profile 的安装、启动、卸载及实际开发工具调用 · 允许 0.2.1-rc.1 · 当前代码的独立生命周期验证未知 · 允许,仍需验证 0.2.1-alpha.5 · 未验证 · 不在安装允许范围
dsh.compatibility.dshOperations 分别记录安装、启动、卸载和版本回滚的结果;未完成的操作保持 unknown。第三方商城可能把不在 engines.dsh 范围的版本判为不可安装,不会因上述未知声明自动放宽安装范围。
生命周期验证使用官方 Desktop 附带的 CLI 创建隔离 Web Profile,检查工坊接口、开发模式注册和卸载后重启的清理结果。该记录不包含桌面界面操作或版本降级回滚,回滚状态保持 unknown。
rc.3 另外验证了隔离浏览器中的工坊入口、任务浮窗、深浅主题、窄窗口和会话切换后的提交目标;提交文本与目标会话在隔离测试中核对,未发起模型请求。
开发模式通过独立的 preset-noname-dev 入口使用宿主官方 preset 及工具组件。Bundle 的入口名和官方组件依赖保持显式声明,不覆盖官方包文件。
重启 dsh web 后打开 Web UI。工坊页里没配游戏目录会先出初始化向导:填无名杀 本体目录(含 extension/ 的那层,比如标准结构 D:\Games\noname\resources\app、 新版结构的 ...\resources\app\src 层),或者点「自动扫描」。配置保存在 ~/.dsh/noname-kit.json,之后随时可以在工坊「⚙ 设置」页改。
不配置也能用:写入方式选「手动复制」,AI 只生成代码不落盘。
新建会话时建议选「无名杀开发模式」preset:七个无名杀工具在该模式下常驻可用, 开发规范(确认协议、区块化读写、检索纪律)也随之注入。普通会话默认没有这些 工具——技术上可以通过 dev_tool_search 按需解锁,但规范不会跟着来,所以还是 建议挂对模式。
「无名杀工坊」页签里建任务:选类型(武将/卡牌/🎲 新玩法自定义模式)、写法(老版 game.import / 新版 ES Module;🎲 新玩法固定新版)、填技能描述或玩法描述。🎲 新玩法 交付的是一个可用游戏主菜单进入的独立模式:填一句话核心玩法 + 自由描述玩法细节, AI 会先探测引擎版本、把描述逐条拆成规则再给确认单。提交后 AI 会先给需求理解确认, 有歧义会先提问;收到明确的「确认」回复后才会动笔——写完自动校验、写入,并提醒进游戏测试。
游戏里发现问题就在任务列表点「🔁 反馈」,把现象或报错发给 AI;每轮反馈自动 累计轮次。新建任务在逐技能(🎲 新玩法为逐条规则)确认无误、图片也就位后自动归档 (任务里登记了配音的,还要等配音复制进包;🎲 新玩法无立绘/卡图,不强制补图); 编辑已有条目的任务不强制补图,技能全部确认后即归档。
配音支持:表单技能行可填本地 mp3(一句到多句都行),武将还能填阵亡语音;AI 写 技能时带 audio 字段并把文件复制进扩展包 audio/skill/、audio/die/ 目录——配音文件 只进扩展包,绝不写游戏本体目录。阵亡语音是零代码的,文件放对就生效。
已有的扩展包不用从零开始:任务模式选「📂 编辑已有扩展包」,选中扩展包后照常 走确认协议。老文件可以先点「🔨 建立区块索引」,给条目所在的 .js 文件插入锚点 注释(只加注释行、自动备份;多文件包会对每个含条目的文件逐一处理),之后 AI 按区块读写,不必每次翻整个文件。
编辑已有武将/卡牌时,选中目标就会列出它关联的技能:勾选要修改的技能、在旁边 写清改成什么,每个勾选的技能都是一个独立的任务节点,可以单独确认和反馈; 「改动描述」留给武将本身的变化(体力、护甲、名称等)。编辑任务不强制补图, 技能全部确认后任务即自动完成。编辑 🎲 新玩法包则没有条目下拉:直接用「模式骨架 改动」+「新增或调整的规则」描述想要的变化,AI 读完整个包的现状后逐条给确认单。
工具 · 作用 noname_search_reference · 在本地游戏源码里搜官方相似实现(纯读) noname_validate · 语法编译检查 + 静态规则校验(不执行代码) noname_list_catalog · 只读列出官方武将、卡牌、模式及安装扩展,附来源和静态覆盖缺口 noname_read_catalog · 按目录来源读取源码或条目,官方内容始终只读 noname_read_extension · 读扩展当前代码(先读后改) noname_write_extension · 唯一写入通道:先校验,error 拒写,覆盖前自动备份 noname_skills_written · 标记技能「已写入待测试」,全部确认后自动收口(新建任务还需图片/配音就位) noname_copy_images · 把本地图片复制进扩展包 image/ 目录 noname_copy_audio · 把本地配音 mp3 复制进扩展包 audio/skill、audio/die 目录(不碰本体)
普通 write/edit/bash 对游戏 extension 目录的写入会被守卫拒绝,不用担心 AI 绕过校验直接改文件(读、搜、看目录完全不受限)。
工坊「🌐 联机」页签里的另一个功能:跨网络开 P2P 房间一起玩,免公网 IP。双方都 装本插件即可——游戏里装一个无头的「内核」负责联机(联机页一键安装)。
「生成邀请码」发他一张,从另一道门进同一个房间。人满自动排队,有人退出自动补进。
旧连接的检查计时与迟到结果失效。体检卡跟随最近发起的检查;旧内核无编号回复仅在新连接首次单次检查时可信,后续无法关联的回复显示“本次尚未核验”,需升级联机助手或重新连接后核对。双方使用新版内核时,载入游戏前即可检查。
给「联机助手」点「启」并完整退出、重启游戏。升级插件后记得点「⬆️ 升级内核」——两端内核版本 要一致(房号通过信令服务器牵线,版本不同会互相连不上)。
本插件仅适配官方版无名杀;对局数据是点对点直连,信令服务器 只负责牵线。
建议联机双方尽量使用相同版本的官方无名杀,以减少兼容性问题;不同小版本仍可尝试联机。 局中解散大厅只关闭房间入口及未入局连接;正在进行的对局继续使用原生结算, 已入局连接继续保留;结算后仍可返回原连接的插件房间,选择模式并再次载入。
presets/noname-dev 是一个 Zero-Anchored 架构的 agent preset(参考 xiaobright/dsh-anchored-standard,MIT):首轮不开放任何工具,之后常驻集只保留 shell、编辑器和上述工具,web 等重工具按需解锁;完整开发规范走 skill 按需 加载,不占 system prompt。
工坊「⚙ 设置」页顶部是「版本与一致性」,两块各管一件事:
dsh plugin --profile web add dsh-noname-kit@(指名版本可自动通过 pnpm 的 发布冷却期;不带版本的 update 会被冷却期静默挡住)。link 方式加载的插件不参与 版本检测(加载的就是源码目录本身)。DSH 0.2.0(桌面版)起也可以在官方「插件」 面板里卸载后重装来升级。
插件更新后不重装它会拿到自相矛盾的指令,而且不报错——所以单独盯一行。发现不一致 点「♻️ 重装 preset」即可(覆盖前自动备份成 noname-dev.bak-);装完对 新建会话生效。
任一项有问题时,输入条上的 🛠 按钮会带一个小红点。版本信息从 npm registry 和 GitHub tag 取,查不通只显示一行「检查失败」,不影响使用;「启动时自动检查」可以在 设置页关掉,改成手动点。
发一条消息就出来了。
工坊的任务流程和规范文本里都有说明。
不带 ext: 的写法会被校验器警告(那会去游戏本体 audio/ 目录找文件);阵亡语音 则是零代码,mp3 放进包内 audio/die/ 即生效。
编辑:条目在子目录模块里(const character = {…} 形态)也能识别,读写按文件 进行。仍不支持运行时赋值形态(pack.skill.xxx = {},条目没有字面量可锚)。
node scripts/test-tasks.mjs # 任务状态机(含配音门禁、备份往返),90 项
node scripts/test-audio.mjs # 配音复制与目标校验,13 项
node scripts/test-detect.mjs # 游戏目录自动探测与遍历,9 项
node scripts/test-blocks.mjs # 区块读写,85 项
node scripts/test-update.mjs # 版本比较与更新检查,121 项
node scripts/test-preset.mjs # preset 自检与安装,88 项
node scripts/test-online.mjs # 联机助手(内核状态/桥/头像扫描/重试策略),45 项
node scripts/test-guard.mjs # extension 目录写保护(路径归一化/bash 分析),63 项
node scripts/test-ui-calls.mjs # 界面代码调用形态静态扫描(e()/h() 误用防护),6 项合计 520 项断言。
插件有问题欢迎提 issue,附上复现步骤和报错更好。
其实在 agent 这个概念兴起之前,就已经在用 AI 写复杂代码了——从 ChatGPT-3 一路用到 4.5。那时候的办法:建一个自定义智能体,把代码规范传进知识库,写之前再去官方源码里 找类似的实现粘进对话当参考,AI 写出来的东西才像样。这个插件,本质上是把那套网页版 习惯搬了过来:知识库变成了常驻注入的规范文本,手动粘参考变成了 noname_search_reference 自动搜索,每次手动调教变成了确认门禁和写入守卫——强制执行的那种。
之所以选 DSH,一是它可塑性高,能自定义地强制约束 AI 的行为;二是不像网页版那样 每次开新会话都得重新教一遍规矩,规范和工具由 preset 和插件常驻注入,上下文不浪费。 测试模型用的是 deepseek-v4.1-flash。 如果你也在玩无名杀、也在用 DeepSeek Harness,欢迎装上试试——把想要的武将或卡牌 用一句话描述给 AI,剩下的交给流程。用得顺手点个 star;遇到问题欢迎提 issue; 写出了有趣的扩展,更欢迎回来说一声。写扩展这件事,从翻代码、粘对话,到动动嘴 就行——工具已经准备好了,就等你了。
dsh plugin --profile web remove dsh-noname-kit联机内核(游戏 extension/ 目录里的「联机助手」)不会被自动删除,不用了在游戏 「扩展」菜单里删掉即可。
MIT License