@dhicoc/dsh-reverse-skill

中文文档
1.0.5发布于 2026/08/22MITTypeScriptES Module零依赖近 30 天下载 2420

完整的倒向技能(87个技能)作为DeepSeek Harness Cordis插件——倒向工程,授权笔试和安全研究技能路由器包.

此软件包已被标记为弃用

Incompatible with DSH 0.2.0-rc.2 and no longer maintained on npm. Install from GitHub instead: dsh plugin add github:dhicoc/dsh-reverse-skill

中文使用文档
文档目录11 节
  1. 这是什么
  2. 适用范围(请遵守)
  3. 目录结构
  4. 安装(插件形态)
  5. 1. 安装依赖与构建
  6. 2. 在 dsh 中启用本插件
  7. 3. (可选)非插件回退:直接当 preset 用
  8. 插件工作原理(数据驱动,零手写清单)
  9. 可复跑验证
  10. 已知限制(诚实告知)
  11. License

dsh-reverse-skill

awesome · DSH plugin

Awesome

reverse-skill 的完整 DeepSeek Harness(dsh)插件版。 把上游 zhaoxuya520/reverse-skill(27k★,MIT)全部 87 个 SKILL.md 原样封装成一个 dsh Cordis 插件,随包分发、随插件加载,无需手动维护候选清单。


这是什么

  • 完整移植:87 个 skills = skills/ 下 45 个(领域技能经去重后的真实 SKILL.md 数)+ CTF-Sandbox-Orchestrator/ 下 42 个(CTF 赛道技能)。与上游一一对应,不裁剪、不挑捡。
  • 插件形态(你选的):以 dsh 一等公民的 skill seam(ctx.skills)注册一个 provider,harness 启动时自动把全部技能注入可用技能库。
  • 对比已有不完全移植:社区里的 dsh-reverse-security 只移植了 45 个、且是 preset-only(无 Cordis 插件)。本仓库补齐到 87 个并提供正式插件入口。

适用范围(请遵守)

本仓库内容仅用于 授权的 逆向工程、渗透测试与安全研究。使用者须确保对目标系统拥有合法授权。一切未授权行为与本仓库无关。


目录结构

dsh-reverse-skill/
├── src/
│   └── index.ts                 # 数据驱动的 Cordis 插件:递归扫描并注册全部 SKILL.md
├── skills/                      # 45 个领域技能(上游 skills/ 1:1 复制)
│   ├── SKILL.md                 # 路由技能 reverse-skill-router(上游根 SKILL.md)
│   ├── pentest-tools/           # 含嵌套子技能 src-hunter 等
│   └── reverse-engineering/     # 含嵌套子技能 dsl-vm-reverse 等
├── CTF-Sandbox-Orchestrator/    # 42 个 CTF 赛道技能
├── port.py                      # 归一化脚本(上游 → 本仓库的搬运/前导matter修正)
├── package.json
├── tsconfig.json
└── LICENSE                      # MIT(与上游一致)

相对路径:src/index.ts 通过 fileURLToPath(new URL('../skills', import.meta.url)) 定位资源(编译后 lib/index.js 同样成立,因为 skills/ 与 lib/ 同属包根目录的相邻子目录)。注意这里不能再套一层 dirname()——../skills 这个 URL 已经指向目录本身,多套 dirname 会把它截断成包根目录,从而把 node_modules 里的 SKILL.md 也算进来。


安装(插件形态)

1. 安装依赖与构建

# 安装 peer 依赖(cordis / dsh-skill 由 dsh 运行时提供,这里用于类型与构建)
npm install
npm run build        # tsc → 生成 lib/ 与 lib/types/

package.json 中已声明:

"main": "lib/index.js",
"types": "lib/types/index.d.ts",
"peerDependencies": {
  "@deepseek-ai/cordis": "^4.0.1",
  "@deepseek-ai/dsh-skill": "^0.0.1-rc.1"
}

2. 在 dsh 中启用本插件

本仓库已声明 dsh.bundle manifest(见 cordis.patch.yml),因此可直接用一行命令安装并激活:

# 从 GitHub 安装并激活(推荐)
dsh plugin add github:dhicoc/dsh-reverse-skill

安装后 dsh 会读取 cordis.patch.yml 把 reverse-skill 这个 Cordis 插件插入当前 profile,启动时自动注册 87 个技能。若你想在 profile / package 配置里手动引用,包名是 @dhicoc/dsh-reverse-skill:

# dsh 配置(示例,键名可能因版本而异)
plugins:
  - "@dhicoc/dsh-reverse-skill"

加载后,插件在 apply(ctx) 里调用 ctx.skills.registerProvider(...),把 87 个技能注册进 ctx.skills。模型可通过 ctx.skills → tool-skill 自动调用,用户也可通过技能名手动调用(受各 SKILL.md 的 user-invocable 控制)。

3. (可选)非插件回退:直接当 preset 用

本仓库同时携带完整的 skills/ 与 CTF-Sandbox-Orchestrator/ 目录,可作为 preset 直接挂载,无需构建:

skills:
  local:
    customSkillDirs:
      - "./dsh-reverse-skill/skills"
      - "./dsh-reverse-skill/CTF-Sandbox-Orchestrator"

dsh 技能发现优先级(先命中先生效):项目 .dsh → 项目 .agents → customSkillDirs → 用户 .dsh → 用户 .agents。插件路径使用本仓库自带的递归 scanner(能发现根 skills/SKILL.md 路由器与嵌套子技能);若改用可选 preset 回退(dsh 扁平发现,只扫直接子目录),根 SKILL.md 路由器不在子目录内、不会被发现——因此推荐用插件路径。


插件工作原理(数据驱动,零手写清单)

src/index.ts 不做任何硬编码候选列表,而是:

  1. 递归遍历 skills/ 与 CTF-Sandbox-Orchestrator/,找到每个 SKILL.md;
  2. 解析前导 matter(把 metadata.user-invocable 提升为顶层 user-invocable;上游文件原样打包,CRLF / BOM 在运行时归一化);
  3. 构造 SkillCandidate(含 resourceBase: {kind:'directory', path}、结果缓存);
  4. 注册一个 SkillProvider,get() 时返回完整 body。

新增/删除技能只需改目录,插件自动同步。

可复跑验证

在仓库根目录运行:

npm test

该命令会重新编译插件,并通过实际注册的 SkillProvider 断言 87 个已打包技能都能被 list() 发现、名称无重复且均能按需 get() 返回非空正文。测试还会临时创建一个带 UTF-8 BOM 和 CRLF 的 SKILL.md,确认扫描器不会静默跳过此类文件;fixture 在测试结束后会自动删除。发布工作流也会在 npm publish 前运行同一检查。


已知限制(诚实告知)

  • agents/*.yaml 不可移植:上游 43 个 OpenAI Agents SDK 的 agent 定义无法映射到 dsh 的 ctx.subagent(dsh 仅支持拉起 Codex / Claude Code CLI)。这些 agent 定义未纳入插件。
  • allowed-tools / disallowed-tools 不被 dsh 强制:dsh 当前把这两项视为未知字段,延迟执行。技能内的工具约束需自行在 harness 层保证。
  • 前导 matter 仅依赖 name / description / user-invocable:本仓库 scanner 只读这三个字段,上游原始文件原样打包(CRLF / BOM 在运行时归一化),无需改写;其余字段作为技能正文一并随 get() 返回。
  • MCP 工具(如 burp-mcp)需另行配置:技能正文里引用的外部 MCP server 不在本插件范围内,请按 dsh 的 mcp.servers 自行接入。
  • 文档链接已重写:正文内相对链接已改为 ../(及 CTF 相关为 ../../CTF-Sandbox-Orchestrator/),以适配 dsh 扁平挂载路径。

License

LICENSE 为 MIT,与上游 reverse-skill 保持一致。内容版权归原 upstream 作者与贡献者;本仓库为 dsh 适配封装。

版本与发布记录

@dhicoc/dsh-reverse-skill 共发布 4 个版本,首次发布于 2026/08/15;过去 12 个月发布了 4 个版本。

版本发布日期距今
1.0.5latest2026/08/222 个月前
1.0.42026/08/212 个月前
1.0.32026/08/172 个月前
1.0.22026/08/152 个月前

关于 @dhicoc/dsh-reverse-skill 的常见问题

@dhicoc/dsh-reverse-skill 是什么?

完整的倒向技能(87个技能)作为DeepSeek Harness Cordis插件——倒向工程,授权笔试和安全研究技能路由器包.注意:该包已被作者标记为弃用——Incompatible with DSH 0.2.0-rc.2 and no longer maintained on npm. Install from GitHub instead: dsh plugin add github:dhicoc/dsh-reverse-skill

如何安装 @dhicoc/dsh-reverse-skill?

在项目目录运行 npm install @dhicoc/dsh-reverse-skill,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@deepseek-ai/cordis(^4.0.1)、@deepseek-ai/dsh-skill(^0.0.1-rc.1)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@dhicoc/dsh-reverse-skill 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@dhicoc/dsh-reverse-skill 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@dhicoc/dsh-reverse-skill 可以商用吗?

@dhicoc/dsh-reverse-skill 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@dhicoc/dsh-reverse-skill 的下载量有多少?

根据 npm 官方下载统计,@dhicoc/dsh-reverse-skill 在 2026/10/12 – 2026/11/10 这 30 天内被下载 2,420 次,日均约 81 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@dhicoc/dsh-reverse-skill 还在维护吗?

最新版本 1.0.5 发布于 2026/08/22(2 个月前);至今共发布 4 个版本,其中过去 12 个月发布了 4 个;首次发布于 2026/08/15。作者已将其标记为弃用,新项目建议寻找替代方案。