前言¶
在 DSH 里做产品或需求侧协作时,常见做法是把设计稿或文档当作主入口,再让智能体对着截图或说明去猜页面结构。真实前端往往早已在仓库里用 Vue Router 定好了路由和组件路径,若工作台不能直接从这份代码读取页面清单,列表和引用就容易和实现脱节。
dsh-knj-reqwork(社区目录名与包名一致)是维护者 yangdongzhen590 发布的 DSH 工作流类插件。它把本地前端代码库当作真相源:扫描配置的 Vue Router 入口,在 DSH Web 工作区里列出路由页面,并提供稳定的 @page:<path> 引用与源码检视。README 明确说明:它不是 Figma 替代品,M0 阶段只读、无持久化,不涉及矢量编辑、多人协作或云端设计文件。
这是什么¶
- 定位:面向 DeepSeek Harness 的私有 PM「需求工坊」工作台插件(包名
dsh-knj-reqwork)。 - 维护者:yangdongzhen590;许可证 MIT(© 2026 yangdongzhen)。
- 解决的问题:在 DSH Web 侧快速对齐「仓库里真实有哪些路由页」,选中页后可在对话上下文中使用稳定 PageRef,并查看路由、组件源码与布局相关元数据。
社区目录简介将其归为工作流,并概括为需求导入、拆解与跟踪方向;当前已发布的 M0 能力以 README 为准:路由页列表、固定或可配置的 projectRoot 扫描、侧边栏「需求工坊」面板与 GET /dsh-knj-reqwork/pages 只读接口。
核心功能(M0:当前可用)¶
M0 刻意保持只读、无持久化,主要包括:
-
Vue Router 页面列表
在projectRoot下查找src/router/index.js、src/router/index.ts、src/router.js、src/router.ts等候选文件,解析路由 path、name、动态 import 的.vue组件及home-child布局约定。 -
固定或可配置的项目根
默认读取D:\workspace\knsearch-test\knsearch_web;宿主配置可提供projectRoot指向其他本地前端根目录。 -
稳定 PageRef
选中页面后暴露@page:<path>,例如@page:/home,用于在 DSH 对话中引用路由而非单独的设计文档 ID。 -
源码检视(Source inspector)
展示所选路由、组件源码及可用布局元数据。 -
宿主 API
通过 DSHwebServer注册只读端点GET /dsh-knj-reqwork/pages;成功时返回{ ok, root, pages },错误场景使用 404/405/500。扫描器拒绝projectRoot外的路径。 -
Web 客户端面板
向knj.menu.item插槽注入「需求工坊」菜单项,在主工作区挂载面板;dispose时可逆地移除菜单、DOM、样式、观察者与监听。客户端入口导出为dsh-knj-reqwork/client。
宿主侧导出 scanVueRouter、mountReqworkRoutes、BASE、PAGES_PATH、DEFAULT_PROJECT_ROOT 等符号,供集成与测试使用。
路线图(尚未在 M0 交付)包括 M1 画布节点与图层、M2 布局对比与快照、M3 后续工作流能力,仍约束在「私有、代码即真相」模型内。
安装与启用¶
插件需先在本机构建并打包,再装入 DSH web profile。官方 README 要求 Node.js 20 及以上;在 PowerShell 中应使用 npm.cmd,避免 PowerShell 的 npm shim。仓库 .npmrc 启用 legacy-peer-deps,以适配钉死的 DSH 预发布 peer 依赖。
package.json 声明引擎:node >= 20,dsh >= 0.1.1-rc.2;peer 依赖 @deepseek-ai/cordis(^4.0.1,可选)。
1、构建与校验并打包:
npm.cmd run check
npm.cmd test
npm.cmd pack
pack 会生成用于安装的 .tgz;README 举例 M0 产物名为 dsh-knj-reqwork-2026.9.5.tgz,实际文件名中的 <ver> 以 package.json 的 version 字段为准(资料中该字段为 2026.11.12)。
2、安装到 DSH web profile:
dsh plugin --profile web add ./dsh-knj-reqwork-<ver>.tgz
3、按宿主环境重启或重载 DSH Web,在菜单中打开「需求工坊」。
开发者在仓库内完整验证流程可参考:
npm.cmd install
npm.cmd run typecheck
npm.cmd run build
npm.cmd run check
npm.cmd test
npm.cmd pack
典型用法¶
经过上面的步骤安装并重载宿主后,在 DSH Web 客户端点击「需求工坊」,面板会向同源地址请求页面列表(可中止的请求,并对重复 apply/dispose 做防御性处理)。
1、确认扫描根目录:若本地前端不在默认路径,通过宿主配置设置 projectRoot,使扫描器只读该目录下的 Router 候选文件。
2、在列表中选择目标路由页;工作台暴露 @page:<path>,可在与智能体的对话里引用该标识。
3、使用源码检视区查看对应路由、.vue 组件源码及布局元数据,以代码为准对齐需求描述(M0 不写入仓库、不建库、不写缓存文件)。
也可直接调用只读 HTTP 接口做集成或调试(仅支持同主机的 GET):
GET /dsh-knj-reqwork/pages
适用场景与注意¶
适合谁
- 已在 DSH Web 上工作、且前端为 Vue Router 结构的项目团队或 PM,需要在对话里用
@page:对齐真实路由而非维护平行设计稿。 - 希望快速列出仓库内可发现的路由页并检视组件源码的开发者。
务必注意
- 插件以当前 DSH 进程权限读取本地文件;安装前应阅读源码与 MIT 许可证,并确认
projectRoot指向的预期目录。 - M0 无远程协作面:无上传、权限管理、评论审批、云组件库;无持久化状态。
- 社区插件目录(SkillHub)为独立生态站点,与 DeepSeek / 幻方无官方从属关系;星标等目录元数据以站点展示为准(资料中 GitHub 星标为 0)。
结尾¶
dsh-knj-reqwork 把 Vue Router 扫描、稳定页引用和源码检视接到 DSH Web「需求工坊」里,适合以代码为真相源做需求对齐;更远期的画布与规格产出见 README 路线图。查阅说明与源码可访问社区目录页与 GitHub 仓库:
- 目录页:https://www.skillhub.cn/plugins/yangdongzhen590/dsh-knj-reqwork
- GitHub:https://github.com/yangdongzhen590/dsh-knj-reqwork