dsh-plugin-dock
Manifest validCollects every DSH plugin sidebar entry into one collapsible floating dock at the corner of the Web GUI, with a switch that hides the original icon column and a deep-linked list of installed plugins.
插件坞 · Plugin Dock
把 DSH 左侧栏那一排插件入口,收进右下角一张可折叠的浮卡。装好即接管——左侧栏立刻清空,所有入口只在这一张卡片里。

为什么装它
DSH 装得越多,左侧栏那排插件图标就越长——每加一个插件多一个入口,想找某个面板得在图标堆里认,还会和会话列表抢宽度。插件坞把这排入口收进一张卡片:
- 平时只是一颗小胶囊(带入口数量角标),不占地方;
- 点开是一张列表:点一行直接切到那个插件的面板,当前所在面板高亮;
- 装好就生效:开关默认关闭 = 集中模式,左侧栏那排图标收起,所有入口都在这张卡片里;想恢复插件自己的侧栏入口,把开关打开就行(立即生效);
- 还多一段「已安装插件」:当前 profile 里装了什么、哪个开着,一目了然;点一行跳到它在 Plugins 面板里的详情页。
安装
要求:DSH >=0.2.1-rc.2 <0.3.0(Web GUI)。
dsh plugin --profile web add dsh-plugin-dock
装完刷新页面,右下角会出现「插件坞」胶囊。也可以:
- 在 DSH 的 Add plugin 弹窗里搜包名
dsh-plugin-dock; - 从插件市场(awesome-dsh-plugin)安装;
- 本地开发用
link:安装,见 docs/install.md。
一眼看懂
左边是展开的卡片,右边是收起后的样子——都只是右下角那一小块:

- 展开:面板入口一排排列出来,点一行就切过去;下面还有「已安装插件」,带运行状态点。
- 收起:整张卡缩成一颗胶囊,只占右下角一点地方,角标
4是入口数量。
怎么用
| 动作 | 结果 |
|---|---|
| 点胶囊 | 展开卡片 |
| 按住胶囊 / 标题栏拖动 | 移动窗口(自动限制在视口内) |
| 点某一行面板 | 切到那个面板 |
| 点「←」 | 主区域切回对话 |
| 点「—」 | 收回胶囊 |
| 切开关 | 集中模式开 / 关(立即生效) |
位置、折叠状态、开关状态都存在 localStorage,下次打开还是原样。
它动了什么、没动什么
- 只往
shell.overlay(整帧浮动层)加一个条目,其余 UI 完全不碰。 - 侧栏图标不删不改:开关打开时完全不动;开关关闭时只对侧栏里那一个
<nav>打一条 CSS 规则(见「已知限制」)。 - 不 import 任何 Harness Client 包,只
require('react');样式只用--dsw-*主题 token,跟随明暗主题。 - 已安装插件清单走 Host 的 Remote(
pluginInventory/pluginManager),不读本地文件。
依赖的内部契约与降级行为见 docs/compat.md。
已知限制
- 集中模式依赖一条 CSS 锚点:
nav[class*="panelList"]{display:none!important}。它命中的是侧栏「全局面板图标」那一组(当前构建的 class 局部名稳定)。若上游改了这段 DOM,规则会匹配不到 → 开关变成「无效果」,不会弄坏页面。上游若提供官方隐藏 API,应替换掉这条规则。 - 侧栏底部的动作按钮不纳入。
sidebar.footer.action里的是插件自己渲染的动作按钮(点击执行插件内部逻辑),不是可跳转的页面;slot API 不允许别的插件代为渲染或触发别人的组件,所以这里只收纳「面板入口」。 - 插件图标是各插件自己的组件实例,另一个插件无法渲染 → 面板行用「首字」做占位徽标;已安装插件那段用 Host 提供的 base64 图标。
- 面板行与安装包之间没有公开的归属关系(无法从包名映射到 panel id),所以两段分开显示,不做去重。
- 截图是在真实运行的 DSH 页面里拍的(隔离 profile + 无头 Chrome + CDP 操作),不是拼图;但视觉与交互仍无法自动化断言,
verify/smoke.mjs只覆盖契约与静态检查。
开发
node verify/smoke.mjs # 契约 + 槽位 + locale + 隐私扫描(秒级,不联网)
node scripts/build-public-bundle.mjs # 生成可公开的仓库内容 dist/public
scripts/build-public-bundle.mjs 是白名单构建:只复制公开文件,重写包身份(npm 包名 / patch / ModuleLoader id),并做隐私扫描(本机路径、token、私有端点),0 命中才产出。
许可
MIT © 2026 Yuna
Comments
Loading…
From the same category
by anywhere-labs
为 DeepSeek Harness (DSH) 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。
★ 34.4k
↓ 175/wk
MIT
TypeScript
Oct 31, 2026
dsh plugin --profile web add dsh-plugin-desktopby zhu1090093659
DeepSeek Harness (DSH) Web Plugin Aggregation Ecosystem · Everything is a plugin, distributed via the Creative Workshop
★ 9.9k
↓ 225/wk
Apache-2.0
TypeScript
Nov 2, 2026
dsh plugin --profile web add dsh-webA collection of independent Web UI plugins and skins, including task boards, Git graphs, mobile access, and live token stats.
★ 8.6k
↓ 225/wk
Apache-2.0
TypeScript
dsh plugin --profile web add dsh-webby PC2005-cloud
DSH 桌面宠物:一行命令装好即用的透明动画小桌宠,支持多开、大小位置随心配置;还内置 DIY 素材链,能用 AI 视频自造专属宠物
★ 5.2k
↓ 224.8k/wk
MIT
TypeScript
Nov 2, 2026
dsh plugin --profile web add dsh-petby omdsh-dev
开放的侧边栏底座,支持三方拓展注册新侧边栏页面。内置文件渲染编辑/终端/侧边对话/Git/子代理页面 | Open sidebar foundation, supports third-party extensions to register new sidebar pages. Built-in file rendering/editing, terminal, side chat, Git,
★ 4.8k
↓ 99.3k/wk
MIT
TypeScript
Oct 30, 2026
dsh plugin --profile web add dsh-better-sidebarby bowenliang123
The best DeepSeek Harness plugin for context insight and management, with context dashboard / browser / sidebar and context command, for context statistics, composition, breakdown, evolution details,
★ 4k
↓ 139k/wk
Apache-2.0
TypeScript
Nov 2, 2026
dsh plugin --profile web add dsh-context