dsh-sidebar-panel-visibility

DSH PLUGIN会话与消息

仓库 hZsFN/dsh-sidebar-panel-visibility · npm dsh-sidebar-panel-visibility

会话与消息 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

为 DeepSeek Harness(DSH)Web 端左侧栏提供面板入口显隐开关,通过「更多」菜单一键隐藏或恢复面板图标,状态存 localStorage 跨重启保持。

一句话选型结论

按资料字段整理

dsh-sidebar-panel-visibility 是会话与消息类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,列出 4 项功能,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类会话与消息 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-11-10 创建于 2026-11-10
README 5.9 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:hZsFN/dsh-sidebar-panel-visibility
  1. 1
    确认版本与运行环境

    兼容的 DSH 版本为 0.2.2-rc.1;版本不匹配时安装会报错。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本0.2.2-rc.1版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖@deepseek-ai/dsh-client-ui-primitives@>=0.2.0-rc.1 <0.2.1-0 || >=0.2.1-rc.1 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0、react@>=18.2.0需要同时安装的同级依赖
npm 包名dsh-sidebar-panel-visibility可用 npm view 查看包信息

能做什么

4 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-sidebar-panel-visibility:为 DeepSeek Harness 左栏加面板显隐开关

  • 「更多」菜单逐项开关面板
  • 隐藏状态存 localStorage 跨重启
  • 不改 node_modules 纯槽位实现
  • 内置八种语言词条

适用场景

存储联网搜索

上游标签

deepseek-harnessdshdsh-plugin

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-11-10): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
  • L4.4_RESOLVED_ARTIFACT 安装版本已解析 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 结论说明 静态扫描 低;动态审计无结论(以下以静态为准)→ 总评级 低。
  • 风险计数 严重 0 / 高 0

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。
  • 标注了兼容的 DSH 版本(0.2.2-rc.1),按版本装不容易报错。
  • 列出了 4 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 需要同时装好同级依赖,漏装会启动失败。
  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在会话与消息场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-sidebar-panel-visibility当前 L5 · 运行验证通过 低风险 0 0.2.2-rc.1 有
dsh-desktop L3 · 安装规范通过 低风险 3.0 万 未标注 无
openpets L4 · 沙盒安装通过 低风险 1,274 未标注 有
deeptide L4 · 沙盒安装通过 低风险 1,104 0.1.1-rc.2 有
jingyun-dsh L3 · 安装规范通过 低风险 1,004 未标注 有
study-mate 未做沙盒验证 未标注 856 未标注 无

仓库档案

会话与消息
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方hZsFN仓库 dsh-sidebar-panel-visibility · 默认分支 main
分类会话与消息desktop
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-11-10 · 2026-11-10最后推送 2026-11-10
本站收录2026-11-11首次进入本站目录的时间

README 全文

5.9 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-sidebar-panel-visibility

给 DeepSeek Harness(DSH)Web 端的左侧栏加一个面板入口显隐开关:不想要哪个面板的图标,就在「更多」菜单里把它关掉,状态跨重启保持。

> 这是 DSH 插件的社区实现。它不改动任何 node_modules 里的官方包,全部通过 DSH 的槽位契约完成。

为什么需要它

DSH 的左侧栏面板入口是插件自己注册的,注册了就会一直显示。装了几个带面板的插件之后,左栏会被塞满,而官方没有提供任何关闭入口的界面。

上游代码里其实留了钩子——@deepseek-ai/dsh-client-ui-sidebar 的 SidebarRoot 会把 onPinnedChange(即内部的 setPinned)传给 sidebar.panellist.actions 槽位,但没有任何 UI 消费它;占据该槽位的 dsh-client-ui-entry-customization 里第一行就是 const moreEntries = region === &quot;conversation&quot; ? entries : [];,左栏(region === &quot;sidebar&quot;)恒为空数组。

而且那个状态是纯内存的,源码注释原话是 held in memory until plugin reload——插件一重载就复位。

本插件做两件事:

  1. 往 sidebar.panellist.actions 注册一组开关行,把上游留的钩子真正接上;
  2. 把选择存进 localStorage,插件重载后回放一遍。

安装

dsh plugin --profile &lt;你的 profile 名&gt; add dsh-sidebar-panel-visibility

本地开发:

dsh plugin --profile  add link:/绝对路径/dsh-sidebar-panel-visibility

> 桌面版 DSH 的 desktop profile 由 Electron 独占管理,dsh plugin 会拒绝直接写入。这种情况改 profiles/desktop/package.json:把包名加进 dependencies(link: 或版本号)和 dsh.profile.bundles,再在 profile 目录跑 pnpm install。

装完重启 DSH。

用法

  1. 展开左侧栏(窄屏下需要先展开)。
  2. 点左栏底部的「更多」按钮(图标是方形加号)。
  3. 菜单最上方是「侧边栏条目」分区,每个面板一行:左边名字,右边「显示中 / 已隐藏」。
  4. 点一行就切换。隐藏的面板立刻从左栏消失,想找回就再点一次。

「插件」面板由上游 FIXED_PANEL_ID 硬编码保护,藏不掉——这是刻意的,不然插件页没了就没法装插件了。

存储

键名 dsh.sidebar.panelPins.v1,值是被隐藏的面板 id 数组,例如:

[&quot;files&quot;, &quot;jobs&quot;]

用「隐藏列表」而不是「显示列表」,是因为这样默认值(键不存在)自然等于「全部显示」——最保守的降级方向。任何异常(隐私模式禁用 storage、JSON 坏掉、值被别的脚本写脏)都返回空数组,用户最多是设置丢了,不会丢面板入口。

想彻底复位:浏览器开发者工具里删掉这个键,或执行 localStorage.removeItem(&quot;dsh.sidebar.panelPins.v1&quot;)。

兼容性

项目 值
DSH 0.2.2-rc.1 实测通过
平台 Web / 桌面端(Electron)渲染进程
浏览器 任何支持 localStorage 的现代浏览器
依赖的槽位 sidebar.panellist.actions(kind: &quot;list&quot;)
依赖的服务 slots、locale

槽位是 list 类型,所以本插件和内置的 entry-customization 是并列渲染关系,不抢占、不遮蔽。本插件注册时 order: -10,排在「浏览更多插件 / 创建你的插件」之前。

已知限制

  • 只在左栏生效。会话头部和右侧栏的「更多」菜单不显示这组开关——那里的条目语义不同,混在一起容易误操作。
  • 面板被卸载时残留 id。插件卸了但 localStorage 里还留着它的 id,不影响使用(那个面板本来就不存在了),下次装回来会重新生效。目前不做过期清理。
  • localStorage 是按浏览器隔离的。换个浏览器、清了站点数据,设置就没了。这符合「界面偏好」的定位,没往 profile 配置文件里写。
  • 不提供排序。上游 setPinned 只有开关语义,排序需要另一套契约,不在本插件范围。

开发

node --check lib/index.js
node --check lib/client.js
npm test

两个测试都不碰浏览器:

  • test/storage.test.mjs — 用最小 window 桩把 lib/client.js 的 factory 跑起来,测纯函数(切换语义、六种异常降级、空列表删键、往返一致性)。测的是真正上线的那份代码,不是复制品。
  • test/smoke.test.mjs — 用假 react / 假 jsx runtime / 假 ctx 把 apply() 真跑一遍,验证模块形状(id、name、inject、apply)、槽位注册参数(id、order、locale)、八种语言词条齐全,以及组件在给定 props 下能渲染、点击会以正确参数调用 onPinnedChange、缺 props 时不炸。

代码结构

lib/index.js    主机半身:空壳,只为让 cordis loader 能加载插件行
lib/client.js   浏览器半身:显隐开关组件 + localStorage 读写 + 8 种语言词条
cordis.patch.yml  bundle 补丁:把插件行插进 profile
test/           纯函数单测 + 冒烟测试

菜单行用的是 primitives 的 MenuItemButton(和内置「更多」菜单项同一个组件),所以悬停、焦点环、键盘导航都是宿主原生的,不用自己仿一套。

为什么不改 node_modules

@deepseek-ai/dsh-client-ui-* 这些包在 profile 的 node_modules 里没有实体目录,由客户端模块加载器 window.__ModuleLoader__ 在浏览器侧解析。就算改已发布的 lib/client.js,那些文件通常是 pnpm store 的硬链(nlink=2),直接写会污染全局 store,必须先 unlink 再写。每次 DSH 升级还会被刷掉。

走槽位契约没有这些问题:插件是独立包,升级不受影响,卸载干净。

License

MIT


常见问题

9 问
答案由本站依据条目字段整理,不引用上游原文
dsh-sidebar-panel-visibility 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:hZsFN/dsh-sidebar-panel-visibility` 即可。对应的 npm 包名是 `dsh-sidebar-panel-visibility`。

dsh-sidebar-panel-visibility 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-sidebar-panel-visibility 安全吗?

低风险。静态扫描 低;动态审计无结论(以下以静态为准)→ 总评级 低。

dsh-sidebar-panel-visibility 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-sidebar-panel-visibility 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.2-rc.1。

dsh-sidebar-panel-visibility 需要什么运行环境?

需要同时安装 @deepseek-ai/dsh-client-ui-primitives@>=0.2.0-rc.1 <0.2.1-0 || >=0.2.1-rc.1 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0、react@>=18.2.0。环境不满足时安装会失败,建议先确认本机版本。

dsh-sidebar-panel-visibility 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-sidebar-panel-visibility 有哪些功能?

「更多」菜单逐项开关面板、隐藏状态存 localStorage 跨重启、不改 node_modules 纯槽位实现、内置八种语言词条。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

会话与消息
按星标排序,可作替代方案

dsh-desktop

dsh-desktop

为 DeepSeek Harness (DSH) 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。

L3 · 安装规范通过 3.0 万 星

openpets

openpets

L4 · 沙盒安装通过 1,274 星

deeptide

deeptide

L4 · 沙盒安装通过 1,104 星

jingyun-dsh

jingyun-dsh

井云 DSH 客户端插件,为 DeepSeek Harness 注入会员登录、订阅支付、算力管控与应用市场,让智能体和技能快速变成可交易商品

L3 · 安装规范通过 1,004 星

study-mate

study-mate

StudyMate 是 DSH 的「学习模式」预设与技能包,为数学、计算机科目定制学习路线、讲解课件与练习评估,跨科目共享记忆。

未标注验证等级 856 星

hZsFN 的其它插件

3 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-11-10。