DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Workspace Activity — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
W

dsh-workspace-activity

Workspace Activity

当其中一个会话正在运行时,在侧边栏标记每个工作区。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:charliesbyte/dsh-workspace-activity#722652deac144bf53af81627bd75e719724af718
README兼容性版本

兼容性与来源证明

Workspace Activity 以 dsh-workspace-activity 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/13

版本

0.1.0stable
2026/10/13

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/13
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层Ab Chartdsh-ab-chart带有绘制其调用的浏览器卡片的图表渲染工具,封装在一个可发布的插件包中Client Ui Skill Explorer@linxin666/dsh-client-ui-skill-explorerDSH 技能中心:按来源(bundled / project / user / custom / runtime)浏览已加载的技能,在 Web GUI 面板中启用或禁用、创建和删除技能。

README

dsh-workspace-activity

English · 简体中文

Marks each workspace in the sidebar while one of its sessions is running.

A session row already shows a spinner while it runs. This plugin puts the same spinner on the workspace row above it, so a collapsed or scrolled workspace list still tells you which project is busy without expanding anything.

📁 dsh-workspace                    ◌      ← added by this plugin
   ◌ 处理所有 skill 同步到已同步      刚刚

Install

dsh plugin --profile <name> add dsh-workspace-activity

Restart dsh, or reload the page. The plugin is a bundle, so it also works through the plugin market and any other bundle-aware client.

What it does

The sidebar shows no indicator on a workspace row today. The plugin derives one from the same status feed the session rows use, so the two agree:

  • A workspace is marked when at least one of its sessions is running.
  • Subagent sessions are skipped. The sidebar folds them into their parent's row and never draws one of its own, and their ids belong to no workspace, so a mark from one would have no row to sit on.
  • Sessions the sidebar hides as archived are skipped. This matches the default view. The sidebar's archive filter can also show archived sessions, and the plugin cannot see which setting is active — it is not part of what @deepseek-ai/dsh-client-ui-workspace exposes — so with the filter set to show archived sessions, a running archived row can appear under an unmarked workspace.
  • The status feed is authoritative; the session list is the fallback, matching the precedence the workspace browser itself uses.
  • The mark is a spinner at the row's trailing edge, in the same 16px slot the session rows use for their timestamps, drawn with the product's own theme token and stroke geometry.
  • A collapsed workspace also tints its folder glyph with the same blue the browser paints on the group you are inside. Collapsed rows hide their sessions, so the glyph has to carry the state alone; an expanded row already shows its sessions and keeps the browser's own colouring.
  • Readers who cannot see it get the count and the workspace names through a visually hidden description.

How it works

A workspace row declares no slot, so there is no supported place to render into. The plugin instead contributes a stylesheet that decorates the row the sidebar already renders. It writes nothing to the document, observes nothing, and appends no nodes: the rule targets the row's trailing pseudo-element and React keeps owning the row.

This is the one thing to know before installing it: the rule targets the sidebar's data-row-key attribute, which is an internal detail of @deepseek-ai/dsh-client-ui-workspace rather than a published contract. If a future release renames it, the spinner stops appearing until the plugin is updated. Nothing else breaks — the plugin never mutates the DOM, so a stale selector degrades to "no indicator", not to a broken sidebar.

Requirements

  • A Web (or desktop) client — this is a client-only plugin, dsh.client.platform: web.
  • No host services, no configuration, no permissions.

Development

Written in TypeScript; src/ is the source of truth and lib/ is generated (and committed — see below). The scripts under scripts/ are TypeScript too and run straight through Node's type stripping, which needs Node 22.18 or newer; no separate runner is involved.

npm install
npm run build     # tsdown -> lib/, then wraps the Client half in the module envelope
npm run check     # typecheck + lint + format check + build + verify
ScriptWhat it does
buildEmits lib/index.js and lib/client.js.
verifyLoads the built Client half and renders it with a real renderer.
typechecktsc --noEmit.
lint / lint:fixOxlint, type-aware, with the React hooks rules.
format / format:checkPrettier.
checkEverything above, in the order CI would run it.

build runs scripts/wrap-client.ts after tsdown: the Client half has to reach the browser as a window.__ModuleLoader__.load({ id, factory }) call whose id is the package name, and the wrapper supplies that envelope.

lib/ is committed on purpose, and this package deliberately declares no lifecycle script. pnpm refuses to install a git-hosted package that has one unless the consumer allowlists it, which would make the plugin uninstallable straight from the repository; with no script to run, add simply consumes the committed output. Run npm run build after changing src/.

verify is not a mock of the sidebar. It captures the factory the envelope registers, drives apply against a stub context, and renders the registered component with react-test-renderer — enough to prove the envelope, the registration, and the stylesheet the entry publishes. The running sidebar is still the only place the indicator's position and colour can be judged.

License

MIT