Repository navigation
Releases: cholf5/dsh-plugin-job-panel
Release list
v0.1.7-alpha.2 — dsh 0.1.7 compatibility
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↔ dsh0.1.7-alpha.2). This release is functionally the fix release that would otherwise have been0.1.1; it supersedes npm0.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.jsonmarker,META/dsh-baseline.txt(dsh0.1.7-alpha.2), and theverified-dsh/v0.1.7-alpha.2tag.
Verification
npm test— 39 pass / 0 fail;node --check lib/*.jsclean.- Field-verified against the running dsh
0.1.7-alpha.2.
Install
npx @deepseek-ai/dsh plugin --profile web add dsh-plugin-job-panel -wAfter 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
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.
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
sidebarRightTabspath: 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 (
errorred /warnamber /debugdim, 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 -wPrerequisites (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.collectedreaders, sidebar seats, the/apifence) — 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.
