Sidebar badge and panel that aggregate per-session pending, running, and completed states across workspaces, with one click to open a session.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:kevenliu3/dhs-plugins#path:/dsh-session-monitor
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
工作区会话监控插件:把「会话已完成 / 运行中 / 等待处理」聚合起来,避免在多个工作区、多个会话之间切换时漏掉某个跑完的会话。
它提供两条落地路径,可单独或组合使用:
- B — 纯插件(当前 npm 安装下立即可用):在侧边栏底部「设置」旁常驻一个徽标,汇总所有工作区的会话状态;点击弹出浮层清单,按工作区分组列出待处理/运行中/已完成的会话,点一下直达。
- A — 核心 seam(行内高亮工作区文件夹):一个对
@deepseek-ai/dsh-client-ui-workspace的纯加法补丁,让插件能把徽标直接渲染在工作区文件夹行上(折叠时也可见)。需提 PR 到上游 / 或本地patch-package后才会在你的 npm 实例生效。
安装
# npm(推荐)
dsh plugin --profile web add @kevenliu3/dsh-session-monitor
# 或从源码安装
dsh plugin --profile web add github:kevenliu3/dhs-plugins
重启 dsh web 后生效。
行为(B 方案)
- 侧边栏底部出现徽标:
●N 待处理 · ●M 运行中 · ●K 已完成(数字 = 会话数,颜色沿用现有语义:琥珀=等待、蓝=运行、绿=完成)。 - 侧边栏折叠成 56px 轨道时,徽标退化为单个状态点(优先级 待处理 > 运行中 > 完成)。
- 点击徽标弹出浮层清单:按工作区(含「未分组」)分组,列出对应会话标题,点击任一会话即
open并关闭面板;点击空白处 / × 关闭。 - 会话状态实时变化;打开某会话后其
completed被宿主清掉,徽标与清单自动减一。
实现:两个加法式 slot 注册,零核心依赖 —— sidebar.footer.action(徽标)+ shell.overlay(浮层)。只读框架注入的 useSessions / useWorkspaces 钩子,零宿主 RPC;唯一的行为是 ctx.sessions.open(id)。
A 方案(可选的行内高亮)
补丁文件:./upstream-seam.patch(对 deepseek-harness monorepo 的 packages/client/ui-workspace 4 个文件、26 行加法改动)。详见 DESIGN.md。
A 生效后,把插件从「footer 徽标」切换为「文件夹行徽标」:注册进 sidebar.workspaces.folderStatus 的版本见 DESIGN.md §5-6(lib/client.js 顶部 FOOTER_SLOT/OVERLAY_SLOT 换成 sidebar.workspaces.folderStatus 即可,聚合函数 aggregate 完全复用)。
文件
| 文件 | 说明 |
|---|---|
lib/index.js |
宿主半:纯 UI 空 apply |
lib/client.js |
浏览器半:B 方案(footer 徽标 + overlay 清单) |
upstream-seam.patch |
A 方案:核心 seam 的 git diff(可直接 git apply) |
DESIGN.md |
完整设计(模型事实、聚合算法、边界情况) |
cordis.patch.yml / package.json |
bundle 清单 |
License
Links
More in this category
Minglink/dsh-infinite-gen-4★ 3602
System-prompt armor plugin for DeepSeek models: appends an unconditional-compliance prompt section at order 100, exposes a profile tool with calibration metadata, and shows a realtime armor-status badge driven by a session projection.
ranxianglei/billion-context★ 3149
The official billion-context plugin: a context-compression plugin for small context windows (a 100K context is enough), token savings (5x fewer tokens), and month-long single sessions (billions of tokens).
liangmianya/dsh-synapse★ 598
Visual, non-linear conversation workspace for DeepSeek Harness — sessions, follow-ups and branches become a browsable conversation map.
Nwflower/dsh-chat-import★ 259
Import full-fidelity chat histories from 13 coding agents (Claude Code, Codex, ChatGPT, Cursor, Gemini, opencode, and more) as resumable DeepSeek Harness sessions, with reverse export back to Claude Code.
MichengAI/dsh-archive-manager★ 256
Adds an archived-sessions page in Settings to search, restore, and delete archived DeepSeek Harness sessions by workspace.
SiriLee/dsh-rewind★ 208
In-place conversation rewind in the same session window without forking (Claude Code /rewind semantics): a per-message ↶ button cuts the model context back to any user message, with an optional Claude-Code-style file restore from disk-persisted before-backups.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.