DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

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

dsh-workspace-promote

Workspace Promote

DSH 主机插件:将刚提交任务的工作区置于侧边栏顶部——每次提交仅执行一次,任务运行期间不会重排。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:bobobo2026/dsh-workspace-promote#0250937a49e67bdfedcccef89437091e2b753bd8
README兼容性版本

兼容性与来源证明

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

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/9/15

版本

0.2.0stable
2026/9/15

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Codex Ui@michengai/dsh-codex-uiDSH Codex UI — 为 DeepSeek Harness Web 提供 Codex 风格侧栏、工作区会话树、全局搜索和轮次导航Dafeiyudsh-dafeiyu由 DeepSeek Harness 会话事件驱动的原生桌面端 BigFish companion。Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Usage Stats@ychris12138/dsh-usage-statsdsh Web GUI 的令牌使用热力图、提供商余额和订阅配额

README

dsh-workspace-promote

English | 中文

A DeepSeek Harness (DSH) host plugin that promotes the workspace you just submitted a task in to the top of the sidebar — once per submission, and never while the task is running.

One command, no patch editing — the package ships its own profile bundle patch:

dsh plugin --profile web add dsh-workspace-promote

Restart dsh web afterwards (host-plane plugins mount at boot).

The gap it fills

DSH's sidebar handles the two layers very differently:

LayerNative behaviourEnough?
Sessions inside a workspace groupView options default to orderBy: "updated"; a session with new activity is promoted to the top of its group✅ Native, no plugin needed
Workspaces themselvesOrder comes from the durable workspaceIds array, i.e. manual drag order; it never reacts to what you are actually working on❌ This plugin

So if you want "whatever project I am working on floats to the top", only the workspace layer is missing, and that is exactly what this plugin adds.

Trigger semantics

The plugin reorders on exactly one condition: a user/message event whose data.source.kind === "user" — a prompt a human actually submitted.

The same user/message event also carries two other kinds of content, distinguished by source.kind. All of them are ignored:

source.kindWhat it isThis plugin
userA direct human prompt✅ promotes
pluginSynthetic agent.inject() context (file-change notices, AGENTS.md, skill content, cron notifications) and goal continuation rounds❌ ignored
toolA tool result (role is user too)❌ ignored

Execution-time events — assistant/message, step/start, step/end, turn/start, turn/end — are ignored as well.

Net effect: one submission, one promotion. The sidebar does not move while a task is being executed.

Hooking the raw session/event feed instead (the obvious first implementation) is what makes the sidebar jump continuously, because tool results are themselves user-role events.

How it works

  • On a qualifying event it calls workspaceRegistry.insertBefore(id, currentFirst).
  • If the workspace is already first, or there are fewer than two workspaces, it returns immediately and writes nothing — so bursts of events cannot cause a write storm.
  • No state file: insertBefore mutates the durable workspaceIds order, so the result survives restarts for free, with no "insufficient activity samples after restart" problem.
  • Ungrouped sessions and subagent child sessions do not participate.
  • Any failure is logged only; it never affects the session itself.

Audit log

~/.dsh/workspace-promote.log (honours DSH_HOME). Append-only, and useful for answering "which behaviour is this process actually running, and when exactly did it fire":

2026-09-15T09:31:44.809Z boot pid=49220 trigger=human-prompt-only
2026-09-15T09:33:11.770Z promote workspace=039cce9b-... session=session-1ee5c45f-... from=a6680e0c-...

ctx.logger output has no guaranteed destination; this file does.

Trade-off

Real-time ordering competes with manual drag: if you drag workspace B to the top and then submit a task in A, A returns to the top. That is inherent to "dynamic ordering", not a bug.

Difference from dsh-workspace-sort

dsh-workspace-sort also orders workspaces by activity, but its semantics are "re-sort at most once per calendar day, then stay frozen" — the order in the morning reflects activity up to yesterday. This plugin triggers on the user's submission action instead, and keeps no state file.

Pick dsh-workspace-sort if you want the sidebar to stay put all day; pick this one if you want the project you are actively working on to be on top.

Verify

  1. Submit a task in some other project → that project jumps to the top.
  2. Watch the task execute (many tool calls, many steps) → the sidebar should not move again.
  3. ~/.dsh/workspace-promote.log should gain exactly one promote line per submission.

Uninstall

dsh plugin --profile web rm dsh-workspace-promote

Then restart dsh web. If you instead wired it by hand into cordis.patch.yml, delete that workspace-promote row and restart.

Note: do not run both install paths at once. If you added the row manually and later install the package as a bundle, the same row id would be inserted twice — remove one first.

License

MIT