DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Plugin Sidebar Views — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
P

dsh-plugin-sidebar-views

Plugin Sidebar Views

Sidebar views switcher (workspaces / recent sessions) with a pinned-sessions group, workspace vs external session groups, and a per-row menu (pin/unpin, copy session id). Client-only, DOM-based.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:NattoCB/dsh-plugin-sidebar-views#b751a5193b97767982626138d4f979db0ac9d6cb
READMECompatibilityVersions

Compatibility and provenance

Plugin Sidebar Views is published as dsh-plugin-sidebar-views and currently resolves to version 0.3.17. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
9/10/2026

Versions

0.3.17stable
9/10/2026
0.3.15stable
9/9/2026
0.3.12stable
9/9/2026
Show 4 more versionsCollapse versions
0.3.9stable
9/9/2026
0.3.6stable
9/9/2026
0.3.0stable
9/5/2026
0.2.1stable
9/3/2026

Related plugins

Loading related plugins…

Latest
0.3.17
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
9/10/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in ui-customization.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profileExperimental Web profile layer for Agent Teams Remote and UI pluginsClient Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.Pet@linxin666/dsh-petMulti-pet companion plugin for the dsh web GUI: a registry-driven floating pet that reacts to model activity, with per-pet naming, petting/feeding interactions and an affinity score

README

dsh-plugin-sidebar-views

给 DSH 侧栏装上双视图与固定会话:工作区 / 历史会话一键切换,automation 洪流不再淹没人工会话。







集成面:纯客户端注入(window.__ModuleLoader__ bundle) · localStorage dsx2-pins / dsx2-groups · 声明 dsh.bundle.patch + dsh.client(web)

语言 / Language:中文 | English

一个 DeepSeek Harness 客户端插件,升级侧栏会话列表: 列表上方加「工作区 / 历史会话」切换条——工作区是原生分组,历史会话把全部会话按最近排序平铺, 带相对时间戳、运行状态点与所属工作区标签;固定会话分组常驻顶部。 0.3.0 起历史会话再分「工作区 / 外部调用」两组,外部调用(headless 流量)默认折叠、实时计数。 0.3.4 起分组只看 workspace 成员资格:Automation-* workspace 里的会话属「工作区」组, 其最新运行直接排在工作区组顶部;注册滞后的会话按 cwd→workspace 路径前缀兜底归组。 纯 DOM 实现——无 React、无 portal、不接管 slot;装进 web profile 重启即用。

✨ 功能一览

  • 🔀 双视图切换条:列表上方两个 tab——「工作区」(原生 workspace 分组)与「历史会话」(全部会话按最近排序的单层平铺列表,含相对时间戳、运行中/已完成/待处理状态点、所属工作区标签)。
  • 📌 固定会话分组:两种视图下都常驻列表顶部,实时计数、折叠状态记忆;已不存在的会话以置灰行显示,不会悄悄消失。
  • 🗂️ 工作区 / 外部调用分组:历史会话分两组——「工作区」(挂在任意 workspace 下的会话,默认展开,按最近排序;Automation-* workspace 也是正常 workspace,其最新运行就在本组顶部)在上,「外部调用」(真正无 workspace 的 headless 会话,如 dsh --profile <x> 直连创建)在下,默认折叠并显示实时计数。host 侧 workspace 注册滞后时按会话 cwd 对 workspace 路径做最长前缀匹配兜底归组。折叠状态存 localStorage(dsx2-groups);搜索时强制展开两组;折叠组完全跳过行渲染,上千条 headless 历史也不建 DOM。
  • ⋯ 行级菜单:每一行(固定组与平铺行)都有「⋯」菜单:固定 / 取消固定会话、复制 Session ID。工作区视图的原生会话菜单(重命名/分叉/归档)同样注入「复制 Session ID」;原生工作区菜单的「在 Finder 中打开」固定排在「删除工作区」上方,且在 React 重渲染擦除后自动补回。
  • 🔎 标题过滤:历史会话视图内置过滤框,按标题实时筛选。
  • 📁 在 Finder 中打开:workspace 原生「…」菜单新增打开目录项,取菜单 fiber 携带的 workspace cwd,经宿主 workspaces.openPath 服务激活——无宿主侧代码。
  • 🧩 纯 DOM、零框架:不写 React、不开 portal、不接管 slot。切换条作为原生列表容器的第一个子元素植入;历史模式下用 CSS class 隐藏原生列表;keep-alive interval 在原生重渲染后自愈;ResizeObserver 在侧栏收窄成 rail 时整体隐藏。
  • ⚡ 大列表性能:DocumentFragment 批量插入、视口外分组 content-visibility 跳过 layout/paint、数据刷新 400ms 节流(tab 切换/折叠/搜索等直接交互路径不节流,保持即时);展开 2400+ 行实测毫秒级。
  • 🔁 旧插件平滑迁移:检测到旧 dsh-plugin-pin-session 时,启动时一次性合并其固定列表(id 去重、保持最旧优先,GET /pin-session/pins),过渡期每次固定/取消双写到旧插件 POST /pin-session/pin|unpin;旧插件移除后两者均为静默空操作。

Quick Start

前置条件

  • 已安装 DeepSeek Harness(dsh web 可运行)。
  • 客户端 bundle 只在进程启动时进入 boot graph——安装后需要重启 dsh web。

安装(装入 web profile)

一条命令安装:

dsh plugin --profile web add github:NattoCB/dsh-plugin-sidebar-views

手动安装:在 profile 的 package.json 里,把包加入 dependencies、把插件名加入 dsh.profile.bundles,然后在 profile 目录跑 pnpm install,重启 dsh web。

运行

重启后侧栏列表上方即出现切换条,零配置。切换视图、固定会话、折叠分组的状态全部存浏览器 localStorage,刷新不丢。

存储与迁移

Pin 与分组状态都存浏览器 localStorage,固定关系跟随浏览器 profile,不跟随 DSH host:

localStorage 键内容
dsx2-pins固定列表(最旧优先 [{ id, title?, pinnedAt }])
dsx2-pins-collapsed固定分组的折叠状态
dsx2-groups工作区/外部调用分组的折叠状态(外部组默认折叠)

对旧 dsh-plugin-pin-session 的迁移语义见功能一览 🔁:一次性合并 + 过渡期双写,均为静默容错。

卸载安全

从 profile package.json 的 dependencies 与 dsh.profile.bundles 两处同时移除本插件,然后重启 DSH。只删 node_modules 里的包而留下 bundles 条目,boot graph 会请求一个已不存在的 client.js——模块加载器将其视为致命错误,整个 web GUI 无法挂载。

Development

npm test        # node --test: 包契约 + pin 合并逻辑

client/client.js 是 window.__ModuleLoader__.load({ id, factory }) bundle,与 DSH 自家客户端 bundle 同形。pin 合并逻辑导出为 exports._mergePins,测试跑的是真实代码而非拷贝。


MIT License · GitHub 仓库 · 提 issue