Skip to content

Releases

v0.4.1 — Panel can close again · 面板可以关闭了

Choose a tag to compare

@2011126630z-commits 2011126630z-commits released this 19 Oct 02:45

v0.4.1 — Panel can close again · 面板可以关闭了

Fixes the panel that would not close in the desktop app.
修复桌面版里实时预览面板关不掉的问题。

Fixes · 修复

  • Close button moved — it sat in the top-right corner, underneath the desktop window controls; it now sits at
    the left of the panel header, and the panel/toolbar opt out of the window drag region
    (-webkit-app-region: no-drag). · 关闭按钮原来在右上角、被窗口控制按钮和拖拽区盖住;现在移到面板标题左侧,
    面板与工具栏声明为 no-drag。
  • Escape closes the panel — a reliable path even when the corner is covered. · 按 Esc 直接关闭面板。
  • Restore no longer reopens a closed panel — any explicit close/open from you stops the restart-restore for this
    page load, and a close persists lastOpen: false. · 你主动关闭/打开后不再触发重启恢复,关闭状态会被记住。
  • The "Separate window" button moved next to the title, away from the window controls.
    独立窗口按钮移到标题旁,避开窗口控制按钮。

Install · 安装

Refresh the Web UI after installing (client code changed). · 安装后刷新一次界面(客户端代码有变化)。

Tests · 测试

20 node:test cases pass. · 20 个测试全部通过。

v0.4.0 — Restart recovery & lighter watching · 重启恢复与轻量监听

Choose a tag to compare

@2011126630z-commits 2011126630z-commits released this 19 Oct 02:43

v0.4.0 — Restart recovery & lighter watching · 重启恢复与轻量监听

Fixes the blank panel and the heaviness you saw after a Harness restart.
修复 Harness 重启后预览面板空白,以及监听过重导致的卡顿。

Fixes · 修复

  • Restart recovery · 重启恢复 — the last open page is remembered in the browser and restored automatically
    after a Harness restart (the panel reopens only if it was open). ·
    最后一个打开的页面记在浏览器里,Harness 重启后自动恢复(只有之前是打开状态才恢复)。
  • Root fallback · 根目录回落 — if the workspace registry is not ready at startup, the preview no longer
    sticks to the application profile directory; it switches to a real workspace as soon as one is available. ·
    启动时工作区未就绪不再把预览根目录卡在应用 profile 目录,有真实工作区后立即切回。
  • Lighter watching · 更轻的监听 — file watching now targets only the files the preview actually loaded
    (up to 400), instead of recursing over the whole workspace; unrelated background writes cost nothing. ·
    文件监听只针对预览页真正加载过的文件(最多 400 个),不再递归监听整个工作区;后台写日志不再有开销。
  • No more blank body · 不再空白 — with no target the panel shows the file browser / empty state. ·
    没有目标页时显示文件浏览器或空状态,而不是一片白。

Install · 安装

git clone https://github.com/2011126630z-commits/dsh-live-preview
# plugin_manager install_bundle(target: "<absolute path to dsh-live-preview>")

Refresh the Web UI once after installing (client code changed). From then on the panel remembers the current
page across restarts. · 安装后刷新一次界面(客户端代码有变化),之后面板会跨重启记住当前页面。

Tests · 测试

20 node:test cases pass. · 20 个测试全部通过。

v0.3.1 — Separate window via the system browser · 独立窗口改用系统浏览器

Choose a tag to compare

@2011126630z-commits 2011126630z-commits released this 18 Oct 17:37

v0.3.1 — Separate window via the system browser · 独立窗口改用系统浏览器

Fixed the Separate window button in the desktop app. The desktop shell blocks window.open, so the button now
asks the Host to open the preview URL in your system default browser, then collapses the panel.
修复桌面版下的独立窗口按钮:桌面外壳会拦截 window.open,现在改为由 Host 端用系统默认浏览器打开预览地址,
随后收起面板。

What changed · 变更

  • New Host route POST /dsh-live-preview/open-external: opens the URL the Host built itself
    (rundll32 on Windows, open on macOS, xdg-open on Linux). The panel cannot ask it to open an arbitrary address.
    新增 Host 接口 POST /dsh-live-preview/open-external:只打开 Host 自己构造的预览地址
    (Windows 用 rundll32,macOS 用 open,Linux 用 xdg-open);面板无法让它打开任意 URL。
  • The panel closes after the window opens. · 窗口打开后自动收起面板。
  • Live reload and the edit highlight keep working inside the browser window (same preview origin).
    浏览器窗口内的自动刷新与编辑高亮照常工作(同一预览 origin)。

Install · 安装

git clone https://github.com/2011126630z-commits/dsh-live-preview
# plugin_manager install_bundle(target: "<absolute path to dsh-live-preview>")

Refresh the Web UI afterwards (client code changed). · 安装后刷新界面(客户端代码有变化)。

Tests · 测试

20 node:test cases pass. · 20 个测试全部通过。

v0.3.0 — Separate window · 独立窗口

Choose a tag to compare

@2011126630z-commits 2011126630z-commits released this 18 Oct 16:54

v0.3.0 — Separate window · 独立窗口

The preview can now live in its own window. If the panel feels too wide, pop it out: the panel closes and the
conversation gets its space back, while live reload and the edit highlight keep working in the window.
预览现在可以放进单独的窗口。觉得面板太占地方时,一键弹出即可——面板自动收起、空间还给对话,
自动刷新和编辑高亮在窗口里照常工作。

What's new · 新增

  • Separate window · 独立窗口 — a toolbar button opens the current preview in a centered, sized OS window and
    collapses the panel. · 面板工具栏新增按钮:把当前预览放到居中带尺寸的系统窗口,并收起面板。
  • Smaller default footprint · 更小的默认占位 — the panel opens at 42% (was 46%) with a 340 px minimum. ·
    面板默认宽度 42%(原 46%),最小 340px。
  • Scoped reloads · 重载范围收窄 — only files the preview actually loaded trigger a reload, so other programs
    writing logs or data in the workspace no longer keep refreshing the page. ·
    只有预览页真正加载过的文件变化才会触发重载;工作区里其它程序写日志/数据不再反复刷新页面。
  • Reload and focus keep working inside the separate window. · 独立窗口内的自动刷新与高亮保持不变。

Install · 安装

git clone https://github.com/2011126630z-commits/dsh-live-preview
# plugin_manager install_bundle(target: "<absolute path to dsh-live-preview>")

Refresh the Web UI afterwards. · 安装后刷新界面。

Tests · 测试

20 node:test cases (adds "unrelated file changes do not reload"). · 20 个用例(新增「无关文件不触发重载」)。

v0.2.0 — Focus · 高亮正在编辑的区块

Choose a tag to compare

@2011126630z-commits 2011126630z-commits released this 18 Oct 16:44

v0.2.0 — Focus on what is being edited · 高亮正在编辑的区块

The preview now points at the block you are changing: on every save it scrolls to the edited region and outlines it, and the panel shows what is being edited.
预览现在会指向你正在改的那一块:每次保存自动滚过去并描边,面板同步显示正在编辑什么。

What's new · 新增

  • Automatic focus · 自动高亮 — served HTML carries data-lp-line source markers; each save is diffed against the last served revision and the changed lines map to the nearest block. CSS edits resolve the changed rule's selector and outline every matching element.
    服务的 HTML 带 data-lp-line 源码行标记,每次保存与上次服务版本做 diff:HTML 映射到最近区块,CSS 按规则选择器描边匹配元素。
  • Survives the reload · 跟随重载 — the focus is kept for the preview origin and re-applied after the reload triggered by the save.
    高亮存在预览 origin 里,保存后的重载会自动恢复。
  • Panel chip · 面板状态条 — "Editing … · line N" with Locate / clear, fading after about 15 seconds.
    面板显示「正在编辑 … · 第 N 行」,带定位/清除,约 15 秒淡出。
  • Tool actions · 工具动作 — live_preview gained focus (a selector, or path + line) and clear.
    live_preview 新增 focus(选择器,或 path + line)与 clear。
  • One reload per save · 一次保存只重载一次 — fixed a race where the panel's fallback reload could wipe the highlight.
    修复了面板兜底刷新与页内刷新抢跑、把高亮冲掉的竞态。

Install · 安装

git clone https://github.com/2011126630z-commits/dsh-live-preview
# inside DeepSeek Harness:
# plugin_manager install_bundle(target: "<absolute path to dsh-live-preview>")

Refresh the Web UI afterwards (Ctrl+R). · 安装后刷新界面(Ctrl+R)。

Tests · 测试

19 node:test cases: auth, traversal, MIME, HTML injection (and injected-script syntax), line diff, CSS selector
resolution, focus reporting, manual focus over SSE, port fallback, cleanup.
19 个用例:鉴权、路径穿越、MIME、HTML 注入(含注入脚本语法)、行 diff、CSS 选择器解析、焦点上报、SSE 手动焦点、端口退让、清理。

v0.1.0 — Live Preview · 实时预览

Choose a tag to compare

@2011126630z-commits 2011126630z-commits released this 18 Oct 16:27

Live Preview for DeepSeek Harness · v0.1.0

First public release. A live-preview panel for the DeepSeek Harness Web UI: preview a workspace HTML page beside the conversation, and every save reloads it. The agent can open pages for you through the live_preview tool.

首个公开版本。给 DeepSeek Harness Web 界面加一个实时预览面板:工作区里的页面显示在对话旁边,保存即刷新;模型也可以用 live_preview 工具主动帮你打开页面。

Highlights · 亮点

  • Preview panel · 预览面板 — workspace → directory → HTML file browser, resizable, remembered width and device mode
  • Auto reload · 自动刷新 — SSE broadcast with a version-poll fallback, plus a manual reload and an on/off switch
  • Device widths · 三种宽度 — full / 768 px / 375 px (phone) and open-in-new-tab
  • Agent tool · Agent 工具 — live_preview with open / close / refresh / root
  • Safe by design · 安全设计 — loopback-only, read-only, one-time token + HttpOnly cookie, realpath containment checks, and a dedicated origin isolated from the Harness UI

Install · 安装

git clone https://github.com/2011126630z-commits/dsh-live-preview
# then, inside DeepSeek Harness (ask the agent or call the plugin manager):
# plugin_manager install_bundle(target: "<absolute path to dsh-live-preview>")

Refresh the Web UI afterwards (Ctrl+R); an eye icon appears in the session header.
安装后刷新 Web 界面(Ctrl+R),会话标题栏右侧会出现眼睛图标。

Notes · 说明

  • Static files only; a project that needs npm run dev is not proxied yet.
  • Only a local browser can reach the preview (loopback).
  • 12 unit tests cover auth, traversal, MIME, injection (syntax-checked), SSE, port fallback and cleanup.
  • MIT licensed.