🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

软件开发生命周期流程 brunodantas/sdlc-harness

DeepSeek Harness
brunodantas74 天前有提交已提供中文文档扫描:含敏感能力

按固定技能链从需求到提交流转开发任务

25.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add brunodantas/sdlc-harness
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · skill
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 74 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 24 处,展示前 24 条)
  • 执行外部命令固定命令
    src/install.js:51
    const result = spawnSync('git', args, { cwd, encoding: 'utf8', env: { ...process.env, GIT_TERMINAL_PROMPT: '0' } })
  • 读取本地文件
    src/install.js:60
    if (!existsSync(path)) throw new Error(`sdlc-harness: no manifest at ${path}`)
  • 读取本地文件
    src/install.js:61
    const parsed = JSON.parse(readFileSync(path, 'utf8'))
  • 读取本地文件
    src/install.js:130
    for (const entry of readdirSync(directory, { withFileTypes: true })) {
  • 读取本地文件
    src/install.js:133
    if (existsSync(join(child, SKILL_FILE))) skills.push({ name: entry.name, path: relative(root, child), directory: child })
  • 读取本地文件
    src/install.js:172
    if (!existsSync(path)) return []
  • 读取本地文件
    src/install.js:174
    const record = JSON.parse(readFileSync(path, 'utf8'))
  • 写入本地文件
    src/install.js:190
    mkdirSync(skillRoot, { recursive: true })
  • 删除本地文件递归
    src/install.js:195
    rmSync(target, { recursive: true, force: true })
  • 删除本地文件递归
    src/install.js:201
    if (!installed.has(name)) rmSync(join(skillRoot, name), { recursive: true, force: true })
  • 写入本地文件
    src/install.js:243
    writeFileSync(record, `${JSON.stringify(resolved, null, 2)}\n`)
  • 删除本地文件递归
    src/install.js:246
    rmSync(staging, { recursive: true, force: true })
  • 写入本地文件
    src/instructions.js:31
    mkdirSync(harnessHome, { recursive: true })
  • 写入本地文件
    src/instructions.js:33
    copyFileSync(SOURCE, target)
  • 写入本地文件
    src/instructions.js:34
    copyFileSync(REFERENCE_SOURCE, join(harnessHome, REFERENCE_FILE))
  • 读取本地文件
    src/preset.js:56
    if (!existsSync(executable)) continue
  • 读取本地文件
    src/preset.js:61
    if (existsSync(presets)) return presets
  • 读取本地文件
    src/preset.js:76
    const version = JSON.parse(readFileSync(manifest, 'utf8')).version
  • 读取本地文件
    src/preset.js:132
    if (!existsSync(join(source, COMPOSITION_FILE))) {
  • 读取本地文件
    src/preset.js:139
    const composition = stamp + withoutPersonaRow(readFileSync(join(source, COMPOSITION_FILE), 'utf8'))
  • 删除本地文件递归
    src/preset.js:140
    rmSync(target, { recursive: true, force: true })
  • 写入本地文件
    src/preset.js:141
    mkdirSync(dirname(target), { recursive: true })
  • 写入本地文件
    src/preset.js:143
    writeFileSync(join(target, COMPOSITION_FILE), composition)
  • 写入本地文件
    src/preset.js:144
    writeFileSync(join(target, 'preset.yml'), PRESET_METADATA)
扫描于 2026/10/31(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 按技能链流转开发任务
  • 覆盖需求到提交阶段

README

由 DeepSeek 最新模型翻译生成
sdlc-harness 一个 DeepSeek Harness 捆绑包,针对你自己服务的模型运行一种工程实践、其技能和规则。它是一个捆绑包,而非分支:底层基座被固定且从不修改,而本仓库添加了一个补丁层,提供一个人设,外加一条命令,用于从各上游以固定版本安装该实践的技能。 该实践是一个固定的构建流程。每一步都是一个技能,通过其裸名称调用: flowchart TB subgraph spec ["Spec"] direction LR A["/grill-with-docs"] --> B["/to-spec"] --> C["/to-tickets"] end subgraph ticket ["Each ticket, in its own context"] direction LR D["/to-cases"] --> E["/to-tests"] --> F["/implement"] --> G["/code-review"] end subgraph ship ["Ship"] I["/build-pr"] end spec --> ticket --> ship 快速开始 按顺序执行六个步骤。不假定你具备任何 Claude Code 经验。 1. 服务一个模型。 任何 OpenAI 兼容的端点,只要其聊天模板声明支持工具即可。
展开完整文档(README 剩余 1 节)
sdlc-harness

一个 DeepSeek Harness 捆绑包,针对你自己服务的模型运行一种工程实践、其技能和规则。它是一个捆绑包,而非分支:底层基座被固定且从不修改,而本仓库添加了一个补丁层,提供一个人设,外加一条命令,用于从各上游以固定版本安装该实践的技能。

该实践是一个固定的构建流程。每一步都是一个技能,通过其裸名称调用:

flowchart TB
subgraph spec ["Spec"]
direction LR
A["/grill-with-docs"] --> B["/to-spec"] --> C["/to-tickets"]
end
subgraph ticket ["Each ticket, in its own context"]
direction LR
D["/to-cases"] --> E["/to-tests"] --> F["/implement"] --> G["/code-review"]
end
subgraph ship ["Ship"]
I["/build-pr"]
end
spec --> ticket --> ship

快速开始

按顺序执行六个步骤。不假定你具备任何 Claude Code 经验。

1. 服务一个模型。 任何 OpenAI 兼容的端点,只要其聊天模板声明支持工具即可。底层基座始终发送原生 tools 字段,且没有文本解析回退方案,因此未声明工具的模型无法在此运行。

2. 安装底层基座和 pnpm。 需要 Node 22 或更新版本;pnpm 是必需的,因为 dsh plugin 会通过 shell 调用它。

npm i -g @deepseek-ai/dsh@0.1.0-rc.7 pnpm

版本是刻意固定的:本捆绑包已针对 rc.7 验证,当安装器发现任何其他版本时会发出警告。

3. 克隆本仓库并将其添加到浏览器配置文件。

git clone https://github.com/brunodantas/sdlc-harness.git ~/sdlc-harness

dsh plugin --profile web add file:$HOME/sdlc-harness

使用 web 配置文件(首次使用时创建),而不是自己构建:它已经组合好了浏览器界面,而该界面无法单独安装。

4. 安装该实践。

node ~/sdlc-harness/bin/install.js

这会将每个技能以其固定版本获取到 ~/.dsh/skills,将该实践的规则写入 ~/.dsh/AGENTS.md,并将它们的按需参考文件放在旁边,即 ~/.dsh/practice-reference.md,在 ~/.dsh/skills.lock.json 中记录它解析到的内容,并生成一个名为 SDLC Harness 的 agent 预设。

5. 启动。 即使是本地服务器也需要一个密钥,任何非空字符串都可以满足。

DEEPSEEK_API_KEY=local-none DEEPSEEK_BASE_URL=http://localhost:8080/v1 dsh --profile web --port 7777

6. 选择预设。 打开打印出的 URL,并在会话的模式菜单中,选择 SDLC Harness 以替代标准模式。这不会持久化:未选择它而启动的会话会运行底层基座自身的人设和规则,并且在 agent 的行为让你察觉之前看起来完全相同。

然后通过其裸名称调用一个技能,例如 /to-cases path/to/spec.md,并用发送按钮发送(当技能自动补全打开时,按 Enter 不会发送)。

安装了什么四十项技能,被扁平化到一个无命名空间的根目录中:

- brunodantas/skills 位于 v0.2.0(cc6da61):build-pr、harden-tests、 ilities、to-cases、to-tests
- mattpocock/skills 位于 v1.2.3(6acc160):35 项技能;完整清单见 skills.manifest.json

两个来源均采用 MIT 许可,且未经修改地安装。它们的许可证随技能一同提供,并适用于你的副本;本仓库自身的 MIT 许可证仅涵盖此捆绑包。

已知缺口

最大的缺口是判断力,而非结构。结构一应俱全:技能会加载,规则会被读取,流程按实践规定的顺序运行。但在验收运行中,一个本地部署的 24B 模型跑完了整条链路,却冻结了一个不包含任何断言的测试文件。在信任此测试框架无人值守产出的任何内容之前,请先阅读 docs/worked-example.md。

其余内容,包括验收运行发现的所有其他问题,都在 docs/dsh-parity-delta.md 中。要点如下:

- 技能工具限制不起作用。 frontmatter 解析器会静默丢弃 allowed-tools,因此每项技能都会以完整的工具集运行。
- 钩子桥接未被组合。 此处不会运行 PostToolUse 或类似的自动化。
- 权限行为就是配置文件的默认值。 没有 acceptEdits 的等价物,且计划模式是建议性的,而非强制执行的。

其余内容所在位置

| 词汇表 | CONTEXT.md |
| 按优先级排列的架构特征 | docs/architecture.md |
| 具有约束力的决策 | docs/adr/ |
| 逐功能对照表 | docs/dsh-parity-map.md |
| 实测缺口 | docs/dsh-parity-delta.md |
| 一个工单,从开始到结束 | docs/worked-example.md |

许可证

MIT。见 LICENSE。
预览分享卡片长什么样 ↓brunodantas/sdlc-harness
分享 · DeepSeek Harness Hub
brunodantas/sdlc-harness

按固定技能链从需求到提交流转开发任务

回到顶部