dsh-live-preview:在 DSH 里边写边看应用运行

前言

在 DSH 里和 AI 一起改代码时,常见流程是:Agent 跑完命令、你切到浏览器或模拟器看效果,再截图或口述问题回到对话。窗口来回切,dev server 端口和日志也要自己盯。DeepSeek Harness 支持用插件扩展左侧栏和 Agent 能力;dsh-live-preview 由社区维护者 llr-sketch 发布,分类为客户端插件,目标是把「启动 → 看画面 → 看日志 → 改代码」收进同一个 DSH 窗口。

这是什么

dsh-live-preview 是 DSH 左侧栏插件:在 DSH 窗口内实时运行并查看正在开发的应用,边写边看、边给建议。插件包约 0.7MB(README 亦提到约 0.2MB 量级),MIT 许可证,当前 npm 包版本为 0.2.4。它不捆绑 adb、ffmpeg、JRE、Android SDK;这些在使用者首次通过面板按钮安装时下载到 %LOCALAPPDATA%\dsh-live-preview。

核心功能

下面介绍三类预览目标及配套能力,均来自仓库 README。

网页

面板里用 iframe 加载本地 dev server URL;日志里可自动探测地址。适用于 Vite、Next、纯 HTML、PWA 等,桌面与移动 H5 共用。

Windows 桌面窗口

选择任意可见窗口,通过 PrintWindow/BitBlt 实时捕获为 JPEG 帧串流。适用于 Electron、WinUI、WPF、Qt、游戏等;x64 与 arm64 程序均可捕获(捕获与架构无关)。

安卓(真机或模拟器)

H.264 高清镜像,约 30–60fps,支持点击、滑动、按键与文字输入。适用于 Capacitor、Cordova、RN、Flutter、原生安卓应用。

一键安装安卓模拟器:面板按钮自动完成 Java 运行时、Android SDK、emulator、系统镜像、AVD 创建与硬件加速检测;国内网络可走镜像(华为 OpenJDK、npmmirror ffmpeg、Google SDK CDN)。

面板同时显示命令进程的实时日志与错误。有画面在跑时,插件会在右侧边栏自动打开「实时预览」,左侧继续对话、右边看应用。插件还会给会话注入指令:做、改、交付应用时 Agent 应主动调用 live_preview,无需用户每次提醒。

导入应用文件:主面板与右侧预览均提供入口,自动识别 .apk、.exe、.html/.zip 等并选择对应运行方式;同一应用多版本可保留、历史应用按对话分组管理。

窗口不挡 DSH:通过 DSH 启动的安卓模拟器窗口会最小化;导入的 Windows 应用窗口会移到屏幕外(避免 PrintWindow 最小化黑屏),需要时在「桌面窗口」页点「取回窗口」。

安装与启用

要求:DSH(桌面版或 Web 均可);完整能力以 Windows 10/11 x64 为主(安卓模拟器还需 CPU 虚拟化 AEHD/WHPX)。安装前请自行查看仓库源码与 MIT 许可证;插件以当前 DSH 进程权限运行,涉及 plugin_manager install_bundle 时需 danger-full-access 或人工批准。

方式 A:本地目录或压缩包(README 推荐私下分享)

  1. 将含 package.json、index.js、client.js、host/、cordis.patch.yml 等的插件目录解压到任意位置,例如 D:\dsh-live-preview。
  2. 在 DSH 中让 Agent 执行:
plugin_manager install_bundle target = "D:\\dsh-live-preview"
  1. 刷新 DSH 页面,左侧栏出现「实时预览」。

方式 B:npm 包

发布方自行 npm publish --access public 后,对方可安装:

plugin_manager install_bundle target = "dsh-live-preview@0.2.4"

scoped 包则使用 @yourname/dsh-live-preview@0.2.4 等形式。

方式 C:GitHub Releases(README 称普通用户最推荐)

在仓库 Releases 下载 dsh-live-preview-<版本>.zip,解压后按方式 A 执行 plugin_manager install_bundle。

方式 D:Git 仓库或 tarball

plugin_manager install_bundle target = "<git 地址或 tarball 的绝对路径>"

仅预览网页或 Windows 程序时,不必安装安卓相关组件;安卓模拟器首次安装约 2GB 下载,磁盘总计约 5–6GB。

典型用法

新手面板流程

  1. 安装 DSH 并能正常与 AI 对话。
  2. 按上一节安装本插件并刷新页面。
  3. 左侧栏点「实时预览」→「导入应用文件」或「启动模拟器」。
  4. 在对话中对 AI 说明需求,例如:

帮我做一个 20 秒倒计时网页,做好后用 live_preview 跑起来给我看。

AI 会启动开发服务器或导入程序,右侧「实时预览」打开,画面与日志在对话旁显示。需要改 UI 时,可直接指着画面描述修改,改完刷新即可看到。

面板 Tab 概要

  • 网页:填 URL 或依赖首次 run 从日志探测,点「载入」;下方可填启动命令。
  • 桌面窗口:「刷新窗口」→ 选中目标 → 开始串流。
  • 安卓:首次点「安装安卓模拟器(约 2GB)」;装好后「启动模拟器」,可「专注预览」、拖动分隔条调高度;真机则 USB 调试后「刷新设备」。

Agent 工具示例

写应用时模型可调用 live_preview,例如:

{ "action": "run", "command": "npm run dev", "cwd": "<你的项目目录>", "kind": "web" }
{ "action": "run", "command": "myapp.exe", "cwd": "<你的项目目录>\\build", "kind": "app" }
{ "action": "android_emulator_install" }
{ "action": "android_emulator_start", "avd": "dsh_live_preview" }
{ "action": "import_app", "path": "C:\\path\\to\\app.apk" }

动作全集见仓库 README(含 status、stop、android_tap、android_swipe 等)。

适用场景与注意

README 归纳的适用对象包括:零基础学 AI 编程、前端/桌面/安卓初学者、教学演示、希望 Agent 自行运行并验证结果的用户。

需注意:

  • Node 仅在你自己的网页项目需要时才必要;Java、Android SDK、模拟器、ffmpeg 由面板按钮按需下载。
  • 模拟器每次冷启动后会卸载上次安装的第三方应用,回到干净应用列表;系统设置保留。要保留应用可设环境变量 DSH_LIVE_PREVIEW_KEEP_APPS=1 再启动 DSH。
  • 无硬件加速时可安装 AEHD;无 ffmpeg 时安卓预览降级为截图轮询(约 2–5fps)。
  • 社区插件目录 SkillHub 与 DeepSeek、幻方无官方从属关系;星标与版本以仓库为准。

结尾

dsh-live-preview 把网页 iframe、Windows 窗口捕获和安卓高清镜像放进 DSH,并用日志、版本管理与 live_preview 工具串起「写—跑—看—改」闭环。安装与细节以 GitHub README 为准。

  • 目录页:https://www.skillhub.cn/plugins/llr-sketch/dsh-live-preview
  • 仓库:https://github.com/llr-sketch/dsh-live-preview
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜