概览
dsh-job-watch
源码级技术说明DSH Web GUI: attach a long-running job id to the CURRENT conversation and let the sidebar row carry its state — pink while the job runs, green once it finished (come back and analyse), amber when the id cannot be found. Providers are just a shell command plus one regex, so anything that can list what is running (an HPC scheduler, tmux on a bare-metal box, your own CLI) works. Not affiliated with DeepSeek.收起技术说明
README / ZH
插件文档
目录摘要
dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。
在 GitHub 阅读完整 READMELIMITATIONS
已知限制
- **The sidebar has no decoration API.** The browser half finds a row's session id through the React fiber chain hanging off the row DOM node and injects the marker into the row. This is inherently tied to the current sidebar implementation; when it breaks, the console and `window.__dshJobWatch.stats()` say so instead of failing silently. - **`register` is a manual step** — see above. There is no way around it for jobs DSH did not spawn. - **Only rows the sidebar renders get a colour.** A conversation that is not in the visible list is not painted (the rollup is still computed, so it paints as soon as the row appears). - **`linePattern` is yours to get right.** A pattern that matches the header row as a job will track a fake job; a pattern that matches nothing silently tracks nothing (which is why `refresh` reports how many ids each provider listed). - **No test of the GUI itself.** `node --test test/kernel.test.mjs` covers the kernel — listing parsing, STAT folding, the real-prompt discriminator, and the finish-time contract.
