dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DeepSeek Harness Web 的五阶段 SDD(Specification-Driven Development)工作台。插件把需求讨论、原型输出、系统设计、规格设计、开发测试作为五个独立入口;五个阶段默认是可选能力而不是固定流水线,用户选择当前需求真正需要的来源和已接受交付件,与 DSH Agent 对话迭代并提交成果。
.sdd/ 项目空间;主需求下的每个可独立交付子项拥有自己的工作单元。source-bundle@1;单条来源就是 items 长度为 1 的需求包。.sdd/templates/<stage>/template.yaml 与 deliverable.md;项目可编辑并提交,草稿会绑定创建时的模板快照。.sdd/trash。business/,项目专用适配放在 .sdd/business/;两处格式完全一致,同名时项目配置覆盖插件配置。sdd/... 特性分支;AI 根据仓库与 CI 自主执行测试,插件记录真实退出码和代码指纹,证据过期或失败时阻止本地提交。.sdd/events/*.jsonl 记录可提交的项目活动,为看板趋势提供事实数据。外层 SDD 项目仓库可以由用户显式 Push 当前协作分支;目标代码仓库仍不会自动 Push、创建 PR/MR 或合并,这些交付动作由负责人在检查本地提交后完成。MCP Provider 也尚未内置,可通过公开 Provider 接口继续扩展。
插件面向 DSH 0.2 的客户端契约(dsh.client.platform、dsh-client-modules 模块表与 slot 渲染)编写,package.json 中声明 dsh.engines.dsh: ">=0.2.0-rc.1"。DeepSeek Harness 桌面版内置的 0.2.0-rc.2 运行时即为目标环境。
发布后安装到 Web profile(桌面版见下一节):
dsh plugin --profile web add dsh-e2e-dev-sdd@latest
重启 dsh web 后,侧边栏会出现「项目开发」分组以及其下的项目看板、五个阶段和项目设置入口;点击任一条目会在主面板打开对应页面。
桌面版内置 0.2.0-rc.2 运行时,profile 由应用独占管理(dsh --profile desktop 会被拒绝),因此不能用 dsh plugin 安装。手工把插件挂到桌面 profile。先备份要改的两个文件:
DshHome="${DSH_HOME:-$HOME/.dsh}"
ProfileDir="$DshHome/profiles/desktop"
PluginDir=/path/to/dsh-e2e-dev-sdd # 本仓库的绝对路径
cd "$ProfileDir"
cp cordis.patch.yml cordis.patch.yml.bak
cp package.json package.json.bak
# 1) 让 profile 能解析到插件包
ln -sfn "$PluginDir" "$ProfileDir/node_modules/dsh-e2e-dev-sdd"
# 2) 登记依赖(便于以后重装或核对)
# 在 $ProfileDir/package.json 的 dependencies 中加入:
# "dsh-e2e-dev-sdd": "link:/path/to/dsh-e2e-dev-sdd"
# 3) 在 $ProfileDir/cordis.patch.yml 末尾追加一行装载项:
# - insert:
# - id: e2e-dev-sdd
# name: dsh-e2e-dev-sdd
Windows 下第 1 步改为 PowerShell 的目录联接或复制:
$DshHome = if ($env:DSH_HOME) { $env:DSH_HOME } else { Join-Path $HOME '.dsh' }
$ProfileDir = Join-Path $DshHome 'profiles\desktop'
New-Item -ItemType Junction -Path (Join-Path $ProfileDir 'node_modules\dsh-e2e-dev-sdd') -Target 'C:\path\to\dsh-e2e-dev-sdd'
注意:desktop profile 的 ~/.dsh/profiles/desktop/node_modules/dsh-news-wall 是同一套做法,可以对照。改完 package.json 或补丁文件后必须完全退出并重新打开应用,只刷新页面不生效。
link: 安装指向源码目录:改动代码后要 pnpm build,再重启应用。回滚只需还原两个文件并删除链接:
cd "$ProfileDir"
cp cordis.patch.yml.bak cordis.patch.yml
cp package.json.bak package.json
rm node_modules/dsh-e2e-dev-sdd
验证安装是否生效:应用启动后,页面侧边栏应出现「项目开发」分组。dsh --profile desktop --dump-config 会被应用独占检查拒绝,需要验证补丁层时可以先把 profile 目录复制成另一个名字再 dump:
DshHome="${DSH_HOME:-$HOME/.dsh}"
cp -R "$DshHome/profiles/desktop" "$DshHome/profiles/desktopcheck"
dsh --profile desktopcheck --dump-config | grep -A1 'e2e-dev-sdd'
输出中应出现 id: e2e-dev-sdd 与 name: dsh-e2e-dev-sdd;用完删除 desktopcheck 目录即可。
macOS/Linux:
pnpm install
pnpm build
dsh plugin --profile web add link:$(pwd)
Windows PowerShell:
pnpm install
pnpm build
dsh plugin --profile web add "link:$($PWD.Path)"
构建、测试和运行时脚本均通过 Node.js 启动,不依赖 rm、bash 等 POSIX 命令。
更新代码后重新构建并重启 DSH。可用下面的命令检查 bundle 层:
dsh --profile web --dump-config
仓库已包含跨平台构建产物,macOS、Linux 和 Windows 使用同一条命令,不需要配置 pnpm 构建白名单:
dsh plugin --profile web add github:Army1900/dsh-e2e-dev-sdd
确认安装层已经挂载:
dsh --profile web --dump-config
输出中应包含 # == dsh-e2e-dev-sdd 和 id: e2e-dev-sdd。随后必须结束旧的 dsh web 进程并重新启动;只刷新浏览器不会加载新插件。
Windows PowerShell 中可以用下面的命令检查实际 DSH Home 和安装结果:
$DshHome = if ($env:DSH_HOME) { $env:DSH_HOME } else { Join-Path $HOME '.dsh' }
$ProfileDir = Join-Path $DshHome 'profiles\web'
Get-Content (Join-Path $ProfileDir 'package.json')
dsh --profile web --dump-config
安装成功后,profile 的 package.json dependencies 中应包含 dsh-e2e-dev-sdd。只应安装可信源码,并建议在生产环境锁定 commit。
.sdd/project.yaml。未初始化时点击“初始化项目”;配置不合法时会显示字段级错误,可修复后重新检查,或备份旧配置后重新生成默认配置。business/ 适配器安装一次后供所有项目使用,项目级 .sdd/business/ 可使用同一格式补充或覆盖。同步清单可以逐条查看完整内容和已有版本,确认后才应用。开发或测试当前需求时,从该需求页面点击“获取并预览本需求缺陷”,缺陷会归入当前需求而不是新建五阶段空间。git init、尚无提交的本地仓库可以在明确确认后创建空初始提交;空远程仓库仍需先显式创建提交并 push。.sdd/work-items/<uid>/artifacts/<stage>/.../deliverable.md。实际文档可以很长,也可以在交付件目录中增加图片和附件并从主文档引用。.sdd/trash。product/ 生成 FEAT 特性版本与当前产品规格,在根目录的 deliveries/ 生成 DLV 交付归档,冻结来源、历史阶段成果、内部规划副本、代码提交与测试证据,同时生成转测报告和邮件稿;.sdd/ 继续只承担研发过程数据。product/ 和 deliveries/ 是项目根目录下可直接阅读、提交和移交的固有资产;.sdd/ 是插件过程与运行数据。完整的用户流程、角色分工和页面截图见 五阶段 SDD 完整开发流程 Blog。阶段运行机制见 docs/stage-runtime.md,项目模板定制见 docs/templates.md,多文件交付规范见 docs/artifact-package.md,详细设计见 docs/architecture.md,业务适配开发见 docs/business-development-guide.md,Cordis Provider 扩展见 docs/extensions.md,规范文件位于 schemas/。
pnpm typecheck
pnpm test
pnpm build
MIT