跳到主内容

dsh-user-experience

19Star0Fork0Issue0Watching

让 DSH 模拟目标用户画像在开发阶段走查前端界面,发现体验问题并生成可交给编码 AI 的任务 Prompt,改前端代码会触发自动复检。

机审证据5/5方法论数据来源安装命令持续维护DSH 版本风险扫描
机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科
语言
TypeScript
License
MIT
分支
main
code-reviewdeepseek-harnessdsh-pluginux

安装

命令web profile
$ dsh plugin --profile web add dsh-user-experience

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 DietCokewithSugar/dsh-user-experience:先查看仓库 https://github.com/DietCokewithSugar/dsh-user-experience 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

一句话定位

让 DSH 模拟目标用户画像在开发阶段走查前端界面,发现体验问题并给出可一键复制给编码 AI 的任务 Prompt;改前端代码会触发自动复检。

核心能力

  • 用自然语言发起走查:直接说「看看下单流程好不好用」,无需斜杠命令;项目里没画像时会从 README 自动推断 1–3 个用户作为走查依据
  • 自动注入用户画像上下文:每次请求按当前项目自动注入生效的画像与走查协议,多项目并存时各会话注入各自的画像
  • 27 条规则的多视角走查:基于 Nielsen 启发式的 27 条规则,模型主判、AST/CSS 辅证;每条结论都会打上 static / rendered / interactive 证据等级
  • 改前端代码即自动复检:编辑前端文件后,回合收尾时自动对所属完整组件/页面跑一次走查,不打断人、不打扰画像;只有一级/二级问题才提示一句
  • 报告卡片双面呈现:首屏只展示哪个页面、出了什么事、严不严重;文件路径、规则 ID、验证路径折叠在「技术细节」里,展开后可一键复制为结构化 YAML 喂给编码 AI
  • 无 ID 化的确认闭环:点确认/不是问题按钮,或直接说「第 2 条不成立」「三级以下全部忽略」,无需记任何编号;结果写入会话日志,重放可完整恢复

技术实现

  • 语言: TypeScript
  • 关键依赖: @deepseek-ai/cordis、@deepseek-ai/dsh-tools、@deepseek-ai/dsh-client-runtime(client)、@vue/compiler-sfc + @vue/compiler-dom(Vue 走查)、typescript(源码 AST 求证)
  • 架构模式: cordis 双面插件:Host 侧挂载命令、提示词注入、4 个模型工具、改动触发的自动走查;Client 侧通过 dsh.client 声明被 Web 模块表发现,注册 UI 报告卡片与确认闭环。Redline:所有能力挂在文档化扩展点(commands / systemPrompt.section / tools.register / SessionEventMap / tools/result / agent/turn-stopping),不修改 agent 主循环
  • 入口文件: src/index.ts(Host 插件) / src/client/index.ts(Client 插件) / cordis.patch.yml(bundle 装载)

适用场景

前端研发在写代码阶段想提前发现体验问题,而不是上线后看用户反馈。适用于 React(TypeScript / JavaScript)与 Vue 3 项目,特别是需要在多次提交之间持续验证 UI 改动的团队;不适合 Svelte、Vue 2、小程序等当前未覆盖的栈。

前置依赖与兼容性

依赖最低版本说明
DSH(@deepseek-ai/dsh-*)>=0.1.0-rc.6 <0.2.0多个 DSH 包作为 peer dependency(同 dsh-agent / dsh-api-remotes / dsh-client-runtime / dsh-client-ui-conversation / dsh-client-ui-slots / dsh-commands / dsh-llm / dsh-session / dsh-system-prompt / dsh-tools / dsh-typert-protocol)
@deepseek-ai/cordis^4.0.1Host 插件运行时
React>=18.2.0 <20渲染报告卡片依赖
Node 版本未声明仓库未声明 engines
平台跨平台浏览器插件,无原生模块依赖

安装方式

dsh plugin --profile web add github:DietCokewithSugar/dsh-user-experience

配置项

本插件所有可调项都进了 Schema,可通过 profile 的 cordis.patch.yml --patch 层按 id ux-experience 覆盖,也可写到 .ux/rules.local.yml(个人偏好,优先级更高)。

配置类型说明默认值
maxScanFiles数字单次扫描收集的最大源文件数300
maxCandidatesPerRule数字每条规则每文件的最大候选数5
maxCandidatesPerFile数字每文件候选总数上限25
maxFindings数字单份报告允许的最大问题数30
excludePatterns字符串数组扫描收集时额外跳过的目录名[node_modules, dist, build, out, coverage, .git, test, tests, __tests__, spec, e2e, stories, mocks]
mode枚举运行模式:detect / auto / review / interactivedetect
autoScan布尔改动触发的自动走查开关true
autoScanEditTools字符串数组视为"文件编辑"的工具名[write, edit]
autoScanMaxFiles数字单次自动走查最多纳入的改动文件数20
autoScanDebounceTurns数字两次自动走查之间至少间隔的回合数1
outputLanguage枚举报告与卡片语言:auto / zh-CN / enauto

常见问题

Q: 安装后需要做什么初始化?

A: 不需要任何初始化。直接用自然语言告诉 DSH「看看下单流程好不好用」即可;项目里没有用户画像时,会自动从 README 推断 1-3 个草稿作为走查依据。

Q: 应该用 npm 还是 github 方式安装?

A: 用包名安装(不要加 github: 前缀)。仓库不再提交 lib/ 构建产物,Git 检出目录缺少预编译文件,pnpm 默认会拦截构建步骤导致 github: 安装失败。

Q: 改完前端代码后会自动跑走查吗?

A: 默认会。改前端文件后回合收尾时会自动对所属完整组件/页面跑一次走查,并安静出报告;只有一级、二级问题才会提示一句。用户可通过 .ux/rules.local.yml 的 autoScan.enabled: false 关闭。

Q: 不支持哪些前端技术栈?

A: 不支持 Svelte、Vue 2 和小程序。其余 Vue 2 项目也会在被检出时明确告知;当前仅支持 React(TypeScript / JavaScript)和 Vue 3。

Q: 走查结果为什么会"出现在技术细节里、不显示文件路径"?

A: 报告卡片有两个读者:给人看的部分只说哪个页面、出了什么事、严不严重;给 AI 用的精确位置、规则 ID、验证路径折叠在「技术细节」里,展开后一键复制为结构化 YAML 喂给编码 AI。

Q: 如何卸载本插件?

A: 在 profile 的 package.json 中删除对应依赖行,并清理 node_modules 与 pnpm-lock.yaml 后重新安装覆盖。重启或刷新页面即可。

上手难度

入门 — 不需要学斜杠命令,直接用自然语言驱动;需要在硬规则上自定义(运行模式、排除目录、自动走查开关)时改项目根目录的 .ux/rules.local.yml 即可。

已知问题与限制

  • 仅支持 React(TypeScript / JavaScript)与 Vue 3;Svelte、Vue 2、小程序(.wxml)均明确不支持,检出时直接告知(如 Svelte 给出"扩展规划中",Vue 2 给出"SFC 语法与 @vue/compiler-sfc 不兼容"),不会做低质量猜测
  • 浏览器证据(rendered / interactive)是可选能力:当前 Harness 会话没有浏览器/截图工具时,规则中需要真实截图的结论会跳过、不会谎称看过页面
  • 改动触发的自动走查只针对前端文件(.tsx/.jsx/.vue/.ts/.js/.css/.scss/.sass/.less/.pcss),纯后端变更、测试文件、.d.ts 声明文件默认不进入
  • 单次自动走查最多纳入 20 个改动文件,避免范围失控;可通过 autoScanMaxFiles 调整
  • 仓库不再提交 lib/ 构建产物,因此 dsh plugin ... add github:... 形式的安装已失效;必须用包名方式安装

查看使用指南 →

该插件的安装步骤、关键要点、FAQ 与兼容性说明(基于已收录字段派生)。

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/DietCokewithSugar/dsh-user-experience)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录