DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-sidebar-sections

Sidebar Sections

非官方社区插件,通过补丁构建 MIT 许可的官方 @deepseek-ai/dsh-client-ui-workspace 浏览器捆绑包,将 DSH 侧边栏工作区列表划分为三个部分(活动 / 会话任务 / 非活动),支持手动固定、活动阈值以及一键切换回随附列表。非 DeepSeek 关联或认可。Not

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

npx -y @deepseek-ai/dsh plugin --profile web add dsh-sidebar-sections@0.2.8
README兼容性版本
Sectioned sidebar with the three segment headers

说明

非官方社区插件,通过补丁构建 MIT 许可的官方 @deepseek-ai/dsh-client-ui-workspace 浏览器捆绑包,将 DSH 侧边栏工作区列表划分为三个部分(活动 / 会话任务 / 非活动),支持手动固定、活动阈值以及一键切换回随附列表。与 DeepSeek 无关联,也未获其认可。

兼容性与来源证明

Sidebar Sections 以 dsh-sidebar-sections 发布,当前版本为 0.2.8。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

0.2.8stable
2026/10/27
0.2.7stable
2026/10/23

相关插件

正在加载相关插件…

最新版
0.2.8
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
695.3 kB
文件数
32
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 0
周下载
0
最近提交
2026/10/27
查看源码 ↗
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 Session Titles Bundle@deepseek-ai/dsh-experimental-session-titles-bundle新的用户提示到达时刷新会话标题。Personalized Recommendations@deepseek-ai/dsh-personalized-recommendations回答下方以卡片形式提供个性化页面和内置插件推荐Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层

README

dsh-sidebar-sections

Unofficial community plugin. This package is not published by, reviewed by or endorsed by DeepSeek. It reuses the MIT-licensed official @deepseek-ai/dsh-client-ui-workspace 0.2.1-rc.3 browser bundle and patch-builds its own copy of it. Where this documentation says "official", it refers to that upstream DeepSeek code (the shipped sidebar browser / its shipped view), never to this plugin.

Fork of the shipped DSH sidebar workspace browser. The official @deepseek-ai/dsh-client-ui-workspace 0.2.1-rc.3 client bundle is vendored byte-for-byte, and an ordered patch pipeline derives lib/client.js that adds a three-section layout on top of it:

Active -> Session tasks -> Inactive, with the official search, archive filters, row menus, hover buttons/cards, workspace management, drag & drop, watermark rows, status dots and shortcuts kept intact because they are still the official code.

Status (0.2.8, tested on DSH Desktop 0.2.1-rc.3, Windows). The sectioned sidebar renders in the running app (活跃 header + count over the official project rows), the official child-slot registrations stay live (session menu rows, row hover actions, directory flow, hero picker, toast factory), and the native render path was exercised in the running app. Pointer interaction (opening menus, dragging, threshold buttons) is the remaining human walk-through; see docs/official-parity.md.

Compatibility

  • DSH: >=0.2.1-rc.3 <0.3.0 (declared as dsh.engines.dsh). The browser half is generated from the 0.2.1-rc.3 official bundle; a newer DSH release needs the baseline re-extracted and the patch anchors re-checked (docs/upgrade-checklist.md).
  • The fixed middle segment is a real workspace at the Windows path D:\files\history-tasks (title 会话任务). The plugin is therefore Windows-oriented today: on another platform that literal path is not a normal directory. Everything else is platform-neutral.
  • While enabled, this bundle disables the shipped ui-workspace loader row and runs the official browser code itself; disabling or uninstalling the bundle restores the shipped row unchanged. The official package files are never modified.

Why the plugin replaces the shipped plugin row

The official browser owns sidebar.workspaces and declares that region's child slots (session "..." menu rows, row hover actions, directory flow, row leading/hover cells). The slot ledger allows only one registration to declare a given child slot, and the renderer only authorises a registration to render the children it declared itself. A second, lower-priority occupant therefore cannot reuse those slots - it would have to redraw the menus and dialogs, which is exactly what this rewrite is meant to avoid.

So this bundle is a replacement: its cordis.patch.yml disables the shipped ui-workspace loader row while the bundle is enabled, and the bundle runs the official client code itself with the section patches. The official package in app.asar is never modified. Disabling or uninstalling the bundle removes its patch layer and the shipped row returns unchanged.

"Switch back to the official list" is a rendering mode of the same patched component tree (sections.mode === "native" -> the official derivation and render path), not a second registration; the full-screen list looks and behaves exactly like the shipped one, keeps the official view state, and survives a page refresh.

Layout

dsh-sidebar-sections/
|- package.json              plugin manifest (dsh.bundle.patch + dsh.client)
|- cordis.patch.yml          disables the shipped ui-workspace row, inserts this bundle's row
|- icon.svg / locale/*.json  plugin manifest icon + strings
|- lib/index.js              host half: mkdir -p D:/files/history-tasks
|- lib/client.js             GENERATED by scripts/build-client.mjs (never hand-edit)
|- vendor/                   byte copy of the official 0.2.1-rc.3 client.js
|- patches/manifest.json     baseline sha256/bytes + ordered patch list
|- patches/01..04,06-*.mjs   pure apply(source) -> source patch modules (05 retired)
|- scripts/build-client.mjs  verify -> apply -> node --check -> write lib/client.js
|- scripts/smoke-load.mjs    materialise the bundle against the frozen seed table
|- scripts/derive-selftest.mjs  unit tests for the section derivation rules
|- scripts/install.ps1       dry-run/install/uninstall runbook (no profile writes by default)
|- docs/                     parity, upgrade checklist, patch reference

Build and test

Requirements: Node.js 24 (this machine: C:\Program Files\nodejs\node.exe). Run from the plugin directory (or pass the absolute path).

# Full build: verifies the vendored baseline sha256, applies all patches in order,
# runs node --check, then writes lib/client.js.
node scripts/build-client.mjs

# Apply + node --check only; lib/client.js is not written.
node scripts/build-client.mjs --check-only

# Verification suite.
node scripts/smoke-load.mjs        # frozen platform module table / bundle shape
node scripts/derive-selftest.mjs   # SPEC 2.1 derivation rules (22 assertions)

The build:

  1. reads patches/manifest.json;
  2. verifies the vendored baseline bytes and SHA256 (first 16 hex chars must be BAFD2D6EEA2F8267); on mismatch it fails and prints the re-extract commands;
  3. imports each patch module in manifest order and calls apply(source); every patch asserts its anchors and throws if an anchor is not unique;
  4. writes the result to a temporary file and runs node --check;
  5. writes lib/client.js (unless --check-only) and prints per-patch byte deltas, final bytes and the output SHA256.

lib/client.js is a generated artifact - never hand-edit it. Every change lands in vendor/ (baseline refresh) or patches/*.mjs.

Install / enable / disable / uninstall

Installing is a profile operation: the package declares dsh.bundle.patch, so dsh plugin add links it into the profile and appends dsh-sidebar-sections to dsh.profile.bundles. Use the profile you actually run (the Desktop app uses desktop; dsh web commonly uses web).

# From npm (after the package is published):
dsh plugin --profile <profile> add dsh-sidebar-sections

# From the GitHub repository (no npm publication needed):
dsh plugin --profile <profile> add github:<owner>/dsh-sidebar-sections

# From a local checkout (development):
dsh plugin --profile <profile> add <path-to-this-repo>

On the Desktop app, quit the app before running the CLI (profile files are locked), or use the in-app plugin manager. After the bundle is selected, the browser half loads on the next client boot; a page refresh (or disable -> enable) picks up a rebuilt lib/client.js.

Enable / disable

  • In the app: Settings -> Plugins -> toggle dsh-sidebar-sections; or
  • as an agent tool: plugin_manager { "action": "set_bundle", "target": "dsh-sidebar-sections", "enabled": false } (then true to re-enable); or
  • profile fallback: leave the package out of dsh.profile.bundles.

Disabling the bundle removes its patch layer, which re-enables the shipped ui-workspace row - the official sidebar returns. Re-enabling mounts the sections build again and is also the way to pick up a rebuilt lib/client.js while the app is running (the client bundle reloads live when the profile bundle list changes).

Uninstall

dsh plugin --profile <profile> remove dsh-sidebar-sections

This removes the dependency and drops the package from dsh.profile.bundles; the official browser returns.

Using it

  • The workspace list is split into 活跃 / 会话任务 / 不活跃 (fixed order). Each section header shows its own icon (Active = ECG trace, Session tasks = task checklist, Inactive = descending zzz) and a count; the icon is blue while the section is expanded and keeps the normal muted colour while collapsed, and the collapse chevron appears on hover/selection exactly like the official rows. Inactive workspaces are collapsed by default.
  • In the sectioned view every project row is inset 21px under its section header, aligning the project folder icon's centre axis with the first glyph of the section label; the row hover/selected background uses the same inset (the section headers stay at the left edge). Native mode uses the shipped layout.
  • View options ("..." / sliders icon next to the workspace search button):
    • "分段": switch between the sectioned view and the official list;
    • "活跃阈值 · N 天": decrease / increase / reset (1-90 days, default 7);
    • followed by the official group-by / order / archive-filter items.
  • Pins: the workspace row "..." menu gets "钉到活跃 / 钉到不活跃 / 取消钉住" in the sectioned view. A pin always wins over the threshold and over the running/pending automatic rule.
  • 会话任务: a real workspace at D:\files\history-tasks, titled 会话任务. It is the fixed middle section, renders its sessions flat, and its section header has a + that starts a new session there. The host half creates the directory; the browser half registers + renames the workspace through the official workspaces.create / workspaces.rename APIs (once).
  • Switch back to the official list from the view options. While the official list is shown, a return button appears at the sidebar foot (order 400 in sidebar.footer.action) and switches back to sections.

State and data boundaries

  • Plugin-owned localStorage key: dsh.workspace.sections.v2 - mode, activeDays, pins, sectionCollapsed. Remove it to reset to defaults.
  • Official view state dsh.workspace.view.v5 is read/written only by the official code path (now in this bundle), exactly as before; no schema change.
  • The only official data write is the fixed-section workspace registration and rename through the official APIs. No migration, no defaultWorkspaceId change.

Runtime dependencies

None beyond the web shell's frozen platform seed modules - react, react/jsx-runtime, @deepseek-ai/cordis, @deepseek-ai/dsh-client-store, @deepseek-ai/dsh-client-ui-primitives - all present in the frozen module table, so no dsh.client.external declaration is needed. Proof and a re-verification command: docs/upgrade-checklist.md section 2.

Screenshots

Sectioned sidebar with the three segment headers

Documentation

  • CHANGELOG.md - package versions and patch-level changes
  • docs/patches.md - architecture, every patch, anchors, verification log
  • docs/official-parity.md - official capability parity + remaining human checklist
  • docs/baseline.md - baseline provenance, hashes and re-extraction
  • docs/acceptance-2026-10-22.md - authoring-session acceptance record (automated/live evidence, unverified interactions, risks)
  • docs/acceptance-2026-10-27.md - DSH 0.2.1-rc.3 update regression: root cause (stale CSS-module tag ids) and fix verification
  • docs/upgrade-checklist.md - baseline extraction, contract checks, patch replay, module-table proof, profile state
  • docs/publish.md - how this package is released to the community list (awesome-dsh-plugin / dsh-market)

License

MIT for this package's patch pipeline, host half and docs. The vendored browser artifact is the official MIT-licensed @deepseek-ai/dsh-client-ui-workspace 0.2.1-rc.3 release (Copyright (c) 2026 DeepSeek); its license is included at vendor/LICENSE.dsh-client-ui-workspace and summarised in THIRD-PARTY-NOTICES.md. The icon is original.