🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

侧栏卡片堆叠 Daniel92Q/dsh-sidebar-footer-stack

DeepSeek Harnessv1.5.2
Daniel92Q38 天前有提交已提供中文文档扫描:含敏感能力

把侧栏底部插件卡片纵向堆叠并拖动排序

30.7/100
综合分
1
GitHub 星标
63
npm 周下载
—/5
用户评分

数据截至 2026/9/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-sidebar-footer-stack
npm 源 · dsh-sidebar-footer-stack 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · browser
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 38 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-sidebar-footer-stack @ 1.5.2
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/12 17:39:36

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 4 处,展示前 4 条)
  • 写入本地文件
    lib/index.js:20
    await mkdir(dirname(LOG), { recursive: true });
  • 读取本地文件
    lib/index.js:21
    const existing = await stat(LOG).catch(() => null);
  • 写入本地文件
    lib/index.js:23
    await appendFile(LOG, text + '\n', 'utf8');
  • 发起网络请求
    lib/client.js:300
    fetch(PROBE, { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify(snapshot()) }).catch(function () {});
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 纵向堆叠页脚条目
  • 统一卡片外观
  • 拖动排序

DeepSeek Harness 插件:把侧边栏页脚槽位条目纵向堆叠,统一卡片外观,还能拖动排序。

README

由 DeepSeek 最新模型翻译生成
dsh-sidebar-footer-stack npm version npm downloads license 把 DeepSeek Harness 侧栏底部的插件卡片纵向堆叠、统一卡片外观,并支持拖动换序。 DSH 插件(dsh.client 浏览器半区 + 空宿主半区)。已在 DSH 0.1.7-rc.2 桌面版实测。 它解决什么问题 侧栏底部的 sidebar.footer.action 槽位,是宿主留给插件放「常驻小卡片」的位置(会话费用、记忆入口等)。宿主把该槽位的容器渲染成一行 display:flex,于是装了两个以上插件时,每张卡片各占一半宽度、内容被挤到看不全: 未安装本插件 安装本插件后 ┌───────────┬───────────┐ ┌──────────────────────┐ │ 费用卡片 │ 记忆卡片 │ │ 费用卡片 │ │ (被挤窄) │ (被挤窄) │ ├──────────────────────┤ └───────────┴───────────┘ │ 记忆卡片 │ └──────────────────────┘ 本插件做三件事: | 能力 | 说明 | | 纵向堆叠 | 槽位内所有条目改为纵向排列、各占满宽;以后新装的插件自动适用,无需再改代码 |
展开完整文档(README 剩余 1 节)
dsh-sidebar-footer-stack

npm version
npm downloads
license

把 DeepSeek Harness 侧栏底部的插件卡片纵向堆叠、统一卡片外观,并支持拖动换序。

DSH 插件(dsh.client 浏览器半区 + 空宿主半区)。已在 DSH 0.1.7-rc.2 桌面版实测。

它解决什么问题

侧栏底部的 sidebar.footer.action 槽位,是宿主留给插件放「常驻小卡片」的位置(会话费用、记忆入口等)。宿主把该槽位的容器渲染成一行 display:flex,于是装了两个以上插件时,每张卡片各占一半宽度、内容被挤到看不全:

未安装本插件 安装本插件后 ┌───────────┬───────────┐ ┌──────────────────────┐ │ 费用卡片 │ 记忆卡片 │ │ 费用卡片 │ │ (被挤窄) │ (被挤窄) │ ├──────────────────────┤ └───────────┴───────────┘ │ 记忆卡片 │ └──────────────────────┘

本插件做三件事:

| 能力 | 说明 |
| 纵向堆叠 | 槽位内所有条目改为纵向排列、各占满宽;以后新装的插件自动适用,无需再改代码 |
| 统一卡面 | 所有条目套用统一卡片外观:1px 边框(--dsw-alias-border-l1)+ 12px 圆角 + --dsw-alias-bg-layer-1 底色;已经自带卡片的条目不会被套上第二层框 |
| 拖动换序 | 按住一张卡片拖到另一张的上半区/下半区松手即可改变顺序;顺序写入 localStorage,刷新与重启后保持 |

安装

方式一:npm

dsh plugin --profile web add dsh-sidebar-footer-stack

方式二:GitHub 仓库

dsh plugin --profile web add github:Daniel92Q/dsh-sidebar-footer-stack

方式三:本地目录(开发调试)

git clone https://github.com/Daniel92Q/dsh-sidebar-footer-stack
dsh plugin --profile web add /absolute/path/to/dsh-sidebar-footer-stack

把 web 换成你自己的 profile 名。桌面版(Electron)用户请走应用内「设置 → 插件 → 添加插件」:官方桌面应用独占 desktop profile,dsh plugin --profile desktop 会被 CLI 明确拒绝。

本插件不含任何构建脚本(纯 JS,装完即可用),因此不会被 pnpm 的 allowBuilds 拦下。

安装后重启该 profile 的 Harness 进程;从 UI 安装并按提示刷新时,刷新即可。

使用

| 操作 | 行为 |
| 拖动卡片 | 光标变抓手;拖到目标卡片的上半区松手 → 插到它前面,下半区 → 插到它后面。只有两张卡片时,这两种就是「互换」 |
| 拖动反馈 | 被拖卡片降到 45% 透明度;目标边缘出现 2px 品牌色提示线 |
| 重置顺序 | 再拖回去即可;或清除 localStorage 键 dsh-sidebar-footer-stack.order |
| 收起侧栏 | 侧栏收成窄轨道时,条目改为居中排列,不套用卡面 |

工作原理

三个关键决定,想改它的人值得先看:

1. 选择器只匹配 CSS module 的类名后缀。
同一个宿主版本,装进应用(app.asar)与 npm 发布副本的类名哈希不一样(应用内是 n_2Q3W_footerActions,发布副本是 hHd-Xa_footerActions)。写死完整类名会静默零命中——不报错,也不生效。所以本插件一律用 [class="footerActions"]。

2. 条目不在容器的第一层。
宿主渲染器在槽位里放了一层无 class、尺寸 0×0 的出口包装元素(display:contents),真正的插件条目是它的子元素。把边框写在第一层,就会画在那个看不见的元素上,表现为「改了完全没反应」。所以卡面规则写两级:> 与 > :not([class]) > ,并显式清掉那层包装自身的边框与底色。

3. 排序用 flex order,不移动 DOM 节点。
槽位是 React 渲染的,命令式移动节点会被下一次 re-render 按插件注册顺序原样还原;而 order 是 React 不接管的样式,能稳定存活。顺序按「条目身份」存进 localStorage——身份取类名,没有类名则取 data-* 属性名(例如 @a9i5k4/dsh-auto-memory 的按钮是 data-dam-sidebar-btn)。

兼容性与失败方式

- 实测:DSH 0.1.7-rc.2(官方桌面版 Electron 应用)。
- 本插件依赖宿主的两处内部结构:槽位容器类名后缀 footerActions,以及「出口包装层 + 条目」的两层 DOM。
- 宿主升级若改了这两处,插件会静默失效:不报错,卡片回到宿主原本的横向并排。它不会破坏宿主,也不会影响你的数据。
- 侧栏收起轨道的观感由宿主与各插件的内联样式决定,本插件只保证不覆盖它们的居中布局。

排查(诊断上报)

诊断上报默认关闭。需要时打开:

localStorage.setItem('dsh-sidebar-footer-stack.debug', '1') // 然后刷新页面

此后浏览器半区会把观测到的 DOM 快照(容器类名、flex-direction、每个条目的 class / order / 计算后边框 / 尺寸)POST 给宿主半区的一条本地路由,落盘到:

~/.dsh/sidebar-footer-stack-probe.ndjson

提 issue 时附上这个文件即可(只含 DOM 结构与样式值,不含任何会话内容;文件超过 1 MB 后不再追加)。

关闭:localStorage.removeItem('dsh-sidebar-footer-stack.debug')。

卸载

dsh plugin --profile remove dsh-sidebar-footer-stack

桌面版从应用内「插件」页卸载。卸载后侧栏底部卡片回到宿主原本的横向排列。

开发

git clone https://github.com/Daniel92Q/dsh-sidebar-footer-stack
dsh plugin --profile web add /path/to/clone # 以 link 方式装进 profile
之后改 lib/client.js,刷新页面即生效

两个实用事实:

- 宿主给客户端 bundle 的版本号由文件 mtime/ctime/size 派生,所以「改文件 → URL 变化 → 浏览器自动重新拉取」,不需要重启应用。
- 宿主会热替换客户端 bundle 而不刷新页面,因此注入样式必须支持「标签已存在就就地更新 textContent」;写成「已存在即 return」会让页面永远沿用旧 CSS,表现为「改了文件毫无反应」。

许可

MIT
预览分享卡片长什么样 ↓Daniel92Q/dsh-sidebar-footer-stack
分享 · DeepSeek Harness Hub
Daniel92Q/dsh-sidebar-footer-stack

把侧栏底部插件卡片纵向堆叠并拖动排序

这是你的仓库?认领条目

回到顶部