# superpowers-dsh

> 为 DeepSeek Harness 移植 obra/superpowers 的 14 个 AI 协作技能（TDD、调试、规划、子代理派发等），即装即用。

## Metadata

- Author: [@LayneChai](https://github.com/LayneChai)
- Repo: <https://github.com/LayneChai/superpowers-dsh.git>
- GitHub: [LayneChai/superpowers-dsh](https://github.com/LayneChai/superpowers-dsh)
- Stars: 72
- Language: JavaScript
- Topics: `deepseek-harness`, `dsh-plugin`, `skills`, `superpowers`
- Forks: 2
- Open Issues: 0
- Last push: 2026-08-17T14:39:52.000Z
- Added: 2026-08-20T00:00:00.000Z

## Install

```bash
dsh plugin --profile web add github:LayneChai/superpowers-dsh
```

## Wiki

## 一句话定位
为 DeepSeek Harness (DSH) 打包的 14 个 AI 协作技能合集：把 obra/superpowers（Claude-Code 上的 TDD、调试、规划、子代理派发等技能库）原样移植到 DSH 的 Cordis 插件架构上，安装后所有 agent 会话都能在技能目录里看到并加载它们。

## 核心能力
- 注册 14 个 DSH 技能，覆盖头脑风暴、写计划、执行计划、子代理派发、TDD、系统化调试、代码评审、worktree 隔离工作区等流程
- 把上游 Claude-Code 工具映射到 DSH 对应工具（subagent、subagent_fork、workflow、goal 等），无需修改调用方式
- 通过 Cordis bundle 层把技能挂到 host 注册表，每个 agent preset 的作用域链自动合并
- 自动发现 `skills/<name>/SKILL.md`：往包里丢新文件即新增技能，无需改任何代码
- `list()` 只扫目录、`get()` 按需读正文，懒加载避免一次性解析全部技能
- 为每个技能返回目录型 resourceBase，使技能内引用的脚本和提示模板路径能正确解析

## 技术实现
- **语言**: JavaScript (ESM)
- **关键依赖**: 无运行时依赖（仅 `node:fs/promises`、`node:url`、`node:path` 三个内置模块）
- **架构模式**: Cordis 插件 + `ctx.skills.registerProvider()`，在 dsh-base 层之上通过 `cordis.patch.yml` 插入一行（`id: superpowers-dsh`）作为 host-plane bundle；`list()` 返回候选、`get()` 按需加载 SKILL.md 正文
- **入口文件**: `lib/index.js`

## 适用场景
当你希望 DSH agent 在写代码前先做头脑风暴、调试时不跳过根因分析、提交前跑代码评审、复杂任务拆给子代理并行处理——但又不想为每个项目手写提示词时，装这一个插件就够。它适合中等规模以上、需要长期维护的项目，尤其在团队对工程纪律要求高但 prompt 不统一时收益最大。

## 前置依赖与兼容性
| 依赖 | 最低版本 | 说明 |
|---|---|---|
| DeepSeek Harness (DSH) | 未声明 | 需通过 `dsh plugin --profile web add` 命令注册，未在 package.json 声明具体版本 |
| Node.js | 未声明 | 仅使用内置模块，未声明最低 Node 版本 |
| 平台 | 跨平台 | 插件主体使用 Node 内置模块，macOS/Windows/Linux 均可运行 |
| 原生模块 | 无 | 无 `node-gyp` / native 依赖 |

## 安装方式
```bash
dsh plugin --profile web add github:LayneChai/superpowers-dsh
```

## 配置项
本插件无需额外配置。技能正文、技能列表、注册行为全部由包内文件决定，不需要任何环境变量、配置文件或 Schema 字段。

## 常见问题

**Q: 安装后为什么看不到技能？**

A: 插件层在 profile 启动时挂载。安装后必须重启 `dsh web`（或 `npx @deepseek-ai/dsh web`）并刷新浏览器，再用 `dsh --profile web --dump-config` 检查输出里有没有 `superpowers-dsh` 行。

**Q: 它和 DeepSeek Harness 自带的技能冲突吗？**

A: 不冲突。它用 `source: 'custom'`、`rank: 550` 注册，低于内置 root 技能目录，作用域链是合并而非覆盖。

**Q: 能新增或修改技能吗？**

A: 可以。从文件夹或 file: 规格安装时是链接安装，往 `skills/<kebab-name>/SKILL.md` 丢一个新文件（开头带 YAML frontmatter：`name` + `description`，可选 `whenToUse`），下次重启 profile 就会被自动发现，不需要改任何 JS 代码。

**Q: 这个插件会读写本地数据或联网吗？**

A: 不会。它只读取自身包内的 SKILL.md 文件并把技能定义注入到宿主技能注册表，没有持久化存储、不会发起额外网络请求。

**Q: 支持 Windows 吗？**

A: 插件主体用 Node 内置模块，Windows 上完全可跑；但 `brainstorming` 技能附带的 `.sh` 辅助脚本是 bash 专用，Windows 原生命令行用不了，需要 WSL 或 Git Bash。

**Q: 安装需要 npm 账号或 2FA 吗？**

A: 不需要，就是一次普通包下载，发布到 npm 后国内会同步到 npmmirror。

**Q: 和上游 obra/superpowers 有什么区别？**

A: 三点主要差异：去掉命名空间前缀（`superpowers:brainstorming` → `brainstorming`）；`using-superpowers` 重写为对接 DSH 的 `skill` 工具；Claude-Code 专用工具替换为 DSH 的 `subagent` / `subagent_fork` 等。

**Q: 如何卸载？**

A: 执行 `dsh plugin --profile web remove superpowers-dsh`，然后重启 profile 即可。

## 上手难度
入门 — 安装一条命令、重启一次就生效，不改任何项目文件；想自定义技能时只需在 `skills/` 下加 markdown，零代码门槛。

## 已知问题与限制
- `brainstorming` 技能附带的 `.sh` 视觉伴侣脚本仅限 bash 环境，Windows 原生 shell 无法直接运行（Windows 下需使用 Node 版的 `scripts/server.cjs` 或 WSL/Git Bash）
- 插件的 rank 固定为 550，无法通过用户配置调整优先级——若与未来更高 rank 的同名技能冲突，需要修改 `lib/index.js` 后重新打包
- YAML frontmatter 解析只覆盖 scalar 字段（`name` / `description` / `whenToUse`），列表或嵌套结构不会被展开，但其他字段会以 `metadata` 透传

---

This document is auto-generated by [deepseek-plugin.org](https://deepseek-plugin.org). HTML page: [superpowers-dsh](https://deepseek-plugin.org/plugins/LayneChai/superpowers-dsh)
Wiki generated by AI (model: `MiniMax-M3`)
