Skip to content

Releases: cholf5/dsh-plugin-job-panel

v0.1.7-alpha.2 — dsh 0.1.7 compatibility

Choose a tag to compare

@cholf5 cholf5 released this 25 Sep 22:45

Compatibility release for dsh 0.1.7.

Version note — starting with this release, the plugin's version number mirrors the dsh version it is verified against (0.1.7-alpha.2 ↔ dsh 0.1.7-alpha.2). This release is functionally the fix release that would otherwise have been 0.1.1; it supersedes npm 0.1.0.

Fixed

  • Popover row identity (dsh 0.1.7) — dsh 0.1.7 changed how the background-jobs popover identifies its rows (JobItem fiber / guide entry id), which broke opening the job panel from a popover row. The panel now tracks the new identity while still tolerating the 0.1.6-era shape, so both dsh versions keep working. (#1724607)
    • 修复 dsh 0.1.7 任务弹窗行标识变更导致的“点击行无反应”问题;新旧两种行形态均兼容。

Added / Docs

  • Simplified Chinese README with a bilingual switcher.
  • Verified-baseline pinning: META/dsh-upgrade.json marker, META/dsh-baseline.txt (dsh 0.1.7-alpha.2), and the verified-dsh/v0.1.7-alpha.2 tag.

Verification

  • npm test — 39 pass / 0 fail; node --check lib/*.js clean.
  • Field-verified against the running dsh 0.1.7-alpha.2.

Install

npx @deepseek-ai/dsh plugin --profile web add dsh-plugin-job-panel -w

After installing (or upgrading), restart dsh web — bundle layers don't hot-reload — then refresh the page.

Full Changelog: v0.1.0...v0.1.7-alpha.2

v0.1.0 — first public release

Choose a tag to compare

@cholf5 cholf5 released this 20 Sep 02:31

First public release of a right-sidebar job panel for the DeepSeek Harness web GUI: click a row in the session header's background-jobs popover to inspect the job — its command, its live terminal output with iterm2-style bounded scrollback, its full spill-backed history — and stop it.

demo

Highlights

  • Clickable popover rows — the official background-jobs popover renders read-only rows and offers no row-level extension seat; rows are enhanced the documented no-seat way (MutationObserver + data-* + one CSS rule), nothing is ever injected into React-managed children
  • The panel — a page tab type registered through the official two-stage sidebarRightTabs path: kind chip, live status dot, ticking duration, start/finish/detail facts, the command block with copy button, the captured spawn cwd, and the stop control; split panes / float / fullscreen come from the docking kit
  • A real terminal engine — output renders in an embedded xterm.js terminal: SGR colors (16/256/truecolor), OSC, C1 two-byte escapes, bold/dim/italic/underline, carriage-return progress redraws; 2000-line scrollback, auto-follow with a floating jump-back button
  • Semantic log colors — plain captured text is colored at presentation time by level vocabulary (error red / warn amber / debug dim, the console-logger convention); the panel never touches the stream the model reads, and real escape sequences in the output render natively
  • Full spill-backed history — streams past the 64 KB in-memory window keep a host spill file; one button stitches spill head + retained tail with byte-count gap detection
  • Deliberate stop — first click arms for 3 s, second confirms; the host kills via the owner session recorded at start time, so the browser never declares authority

Install

npx @deepseek-ai/dsh plugin --profile web add dsh-plugin-job-panel -w

Prerequisites (dsh reachability, pnpm), route verification with a cookie probe, a no-pnpm manual fallback, and troubleshooting: see the README.

Compatibility

  • Verified against @deepseek-ai/dsh@0.1.5-rc.2; Node >= 22
  • The plugin couples to documented-but-unstable internal seams (job registry start semantics, SubprocessHandle.collected readers, sidebar seats, the /api fence) — re-check the "Version-sensitive seams" table in the README on dsh upgrades
  • npm package ships the built lib/ (21 files, ~150 kB); @xterm/* is bundled in and nothing is required at runtime beyond dsh itself

Asset

demo.gif below is the recording shown in the README.