1
安装 Lexmount Browser Bundle
Terminal
corepack install --global pnpm@11.22.0
corepack enable pnpm
npx --yes @deepseek-ai/dsh@0.1.0-rc.6 plugin --profile web add @lexmount/dsh-browser@next通过 Lexmount 原生 DSH Bundle 测量 500ms SLA,以文本和 Recording 留存证据,并在不使用图片输入的前提下区分浏览器事实、线上源码事实与推断。

首次运行前,请先将 Lexmount Browser Bundle 安装到 DSH Web profile。
corepack install --global pnpm@11.22.0
corepack enable pnpm
npx --yes @deepseek-ai/dsh@0.1.0-rc.6 plugin --profile web add @lexmount/dsh-browser@nextnpx --yes @deepseek-ai/dsh@0.1.0-rc.6 web新 Bundle 不会热加载。若 DSH Web 正在运行,请先在原终端按 Ctrl+C 停止,再执行上方启动命令;重启后再复制任务 Prompt。
所有网页导航与交互只能使用当前 DSH 进程已加载的原生 Lexmount 工具;只读判断 workspace 与目标源码是否相关时,可以使用 DSH 自带的文件和 Git 查询能力。
兼容性约束:当前 DeepSeek 模型不支持图片输入。不得调用 lexmount_browser_screenshot,也不得调用任何会向模型返回图片内容的工具;不要生成 PNG、JPEG 或 GIF。所有证据必须来自 lexmount_browser_snapshot 的文本/DOM 结果、lexmount_browser_evaluate 返回值、Recording 元数据和文本/JSON 文件。Recording 仅供人工回放,不要读取、抽帧或把 Recording 内容附加到对话。
前置检查:如果 lexmount_doctor 不可用,停止并返回 SETUP_REQUIRED,提示用户执行 npx --yes @deepseek-ai/dsh@0.1.0-rc.6 plugin --profile web add @lexmount/dsh-browser@next、重启 DSH Web,然后重新发送本 Prompt。不要在当前进程中自装 Bundle,也不要切换到其他浏览器。
如果工具存在,先调用 lexmount_doctor。缺少凭证时调用 lexmount_auth_login,并等待用户在系统浏览器完成授权;授权后再次调用 lexmount_doctor,只有确认就绪后才继续。
任务:验证一条动态 UI 性能报告。目标页面是 Selenium 官方测试页 https://www.selenium.dev/selenium/web/dynamic.html 。点击 “Reveal a new input” 后,#revealed 输入框应在 500ms 内可见;超过 500ms 即判定该 SLA 已复现。官方参考源码为 https://github.com/SeleniumHQ/selenium/blob/trunk/common/src/web/dynamic.html 。
流程:
1. 在工作目录创建 artifacts/dsh-dynamic-ui-triage;若目录已存在,在目录名后追加时间戳,不覆盖旧结果。
2. 调用 lexmount_session_create 创建且只创建一个 normal 模式、Recording 已启用的临时 Session,并确认 Recording 确实开启。打开目标 URL,用 lexmount_browser_snapshot 的文本/DOM 结果验证 #reveal 存在且 #revealed 初始隐藏;将 URL、accessed_at_utc、两个 selector 的存在性、可见性和相关 DOM 文本写入 evidence/01-before.json。
3. 不使用固定 sleep。先用 lexmount_browser_evaluate 安装只读计时探针:在 #reveal 的 click 捕获阶段记录 performance.now(),用 MutationObserver 在 #revealed 变为可见时记录耗时;然后用 lexmount_browser_click 点击 #reveal,再通过有界 evaluate 等待并读取 elapsed_ms。将计时起点、终点、elapsed_ms、sla_ms 和 violated 写入 evidence/02-timing.json;再次调用 lexmount_browser_snapshot 验证输入框已显示,并将可见性与相关 DOM 文本写入 evidence/03-after.json。
4. 使用 lexmount_browser_evaluate 从线上页面 DOM 中提取包含 reveal() 与 setTimeout 的最小 script 文本,写入 evidence/04-deployed-source.txt;再打开上方官方 GitHub 参考源码,用 lexmount_browser_snapshot 的文本结果定位对应函数并写入 evidence/05-reference-source.txt。把前者记录为 deployed_source_fact,把后者记录为 reference_source_fact;不能假设公开仓库的 trunk 就是线上部署 commit。
5. 只读检查当前 workspace 的 Git remote。仅当它明确指向 SeleniumHQ/selenium 且 common/src/web/dynamic.html 存在时,才记录 workspace_code_facts 和文件行号;否则将 workspace_relation 标记为 unrelated 或 unknown,并停止扫描无关本地代码。
6. 输出 report.md、report.json、evidence/*.json 和 evidence/*.txt。report.json 必须分开记录 browser_facts、deployed_source_facts、reference_source_facts、workspace_code_facts、hypotheses、recommended_next_steps、recording 和 cleanup。若 elapsed_ms > 500,结果为 REPRODUCED;否则为 NOT_REPRODUCED。无论结果如何都不得把测试页有意设置的延迟描述成未知生产事故。
验收:doctor 就绪;Recording 已确认;未调用任何返回图片内容的工具;点击和计时均有文本证据;elapsed_ms 是有限数字;01-before.json、02-timing.json、03-after.json 均存在、非空且可解析;04-deployed-source.txt 与 05-reference-source.txt 存在且非空;两个报告存在、非空且 report.json 可解析;每项事实标明证据类别;Session 已关闭且 Recording 被保留。关闭失败返回 PARTIAL_SUCCESS。
清理:成功、失败、超时或取消时,只关闭本任务创建的 Session,不关闭已有 Session 或删除 Recording。不要修改任何代码,不执行购买、发布、删除或其他不可逆操作。
返回:只报告状态、REPRODUCED / NOT_REPRODUCED、elapsed_ms、SLA 阈值、首个失败步骤、报告目录、文本证据文件数、Recording 是否保留、清理结果和脱敏错误摘要。不得暴露 API Key、Project ID、Session ID、Recording ID、连接地址或 OAuth 信息。