前言¶
在 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 推荐私下分享)¶
- 将含
package.json、index.js、client.js、host/、cordis.patch.yml等的插件目录解压到任意位置,例如D:\dsh-live-preview。 - 在 DSH 中让 Agent 执行:
plugin_manager install_bundle target = "D:\\dsh-live-preview"
- 刷新 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。
典型用法¶
新手面板流程¶
- 安装 DSH 并能正常与 AI 对话。
- 按上一节安装本插件并刷新页面。
- 左侧栏点「实时预览」→「导入应用文件」或「启动模拟器」。
- 在对话中对 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