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

侧栏底栏纵排 polychromate/dsh-sidebar-footer-rows

DeepSeek Harness
polychromate3 天前有提交已提供中文文档扫描:未发现敏感能力

把侧边栏底部动作按钮改为一行一个,避免拥挤截断

29.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add polychromate/dsh-sidebar-footer-rows
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · browser
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 3 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

DeepSeek Harness 插件:把侧边栏底部的操作堆成各占一整行的布局,不再挤在同一行里。

README

由 DeepSeek 最新模型翻译生成
dsh-sidebar-footer-rows 把 DeepSeek Harness 侧边栏底部那一行动作按钮(sidebar.footer.action 槽位,如「文献 / ✦ 昔涟 / 微信连接 / work…」)从挤在一行改成一行一个。 为什么需要它 宿主 @deepseek-ai/dsh-client-ui-sidebar 给这个槽位的容器写了: .…_settingsArea, .…_footerActions { flex:none; width:100%; min-width:0 } .…_footerActions { display:flex } /* 没有 flex-wrap / 容器是 flex 且不允许换行,子项默认 flex-shrink:1,于是注册者一多就被压缩、截断。这个插件注入一张样式表,把该容器改成纵向排列,并让侧边栏折叠成窄条(rail)时恢复宿主原本的居中单行。 选择器为什么这么写 宿主类名前缀是每次构建生成的哈希(当前是 kB3qhq_),升级宿主就会变;CSS Module 的局部名后缀(_footerActions、_root、_collapsed)是稳定的,所以用子串匹配。 为什么子项要 width: 100% !important 光把容器改成纵向还不够。
展开完整文档(README 剩余 1 节)
dsh-sidebar-footer-rows

把 DeepSeek Harness 侧边栏底部那一行动作按钮(sidebar.footer.action 槽位,如「文献 / ✦ 昔涟 / 微信连接 / work…」)从挤在一行改成一行一个。

为什么需要它

宿主 @deepseek-ai/dsh-client-ui-sidebar 给这个槽位的容器写了:

.…_settingsArea, .…_footerActions { flex:none; width:100%; min-width:0 }
.…_footerActions { display:flex } /* 没有 flex-wrap /

容器是 flex 且不允许换行,子项默认 flex-shrink:1,于是注册者一多就被压缩、截断。这个插件注入一张样式表,把该容器改成纵向排列,并让侧边栏折叠成窄条(rail)时恢复宿主原本的居中单行。

选择器为什么这么写

宿主类名前缀是每次构建生成的哈希(当前是 kB3qhq_),升级宿主就会变;CSS Module 的局部名后缀(_footerActions、_root、_collapsed)是稳定的,所以用子串匹配。

为什么子项要 width: 100% !important

光把容器改成纵向还不够。底栏四个条目里,三个自己就写了满宽:

| 条目 | 来自 | 宽度来源 |
| 工作区分类 | dsh-workspace-categories | 自带 CSS .twt-foot{…width:100%…}(那个「开关」是按钮里的一个 ,不是独立控件) |
| 微信连接 | dsh-wechat-remote | 自带 CSS module 类 sidebarButton |
| ✦ 昔涟 | dsh-cyrene-theme | 自带样式 |
| 文献 | dsh-literature | 行内 style={{ width: 36, height: 36 }} |

行内样式优先级高于任何普通样式表规则,所以只靠 align-items: stretch 或 > 都压不住它——条目外层的盒子满了,里面那个按钮还是 36px,图标旁边放不下「文献」两个字,只能上下折行。规则因此要打到控件本身:

[class="_root"]:not([class="_collapsed"]) [class="_footerActions"] > ,
[class="_root"]:not([class="_collapsed"]) [class="_footerActions"] div,
[class="_root"]:not([class="_collapsed"]) [class="_footerActions"] button {
width: 100% !important;
min-width: 0;
box-sizing: border-box;
}
[class="_root"]:not([class="_collapsed"]) [class="_footerActions"] button {
justify-content: flex-start !important;
text-align: left !important;
padding-inline: 8px !important;
}

第二条治的是「对齐」。.zt-iconbtn 是 display:inline-flex + justify-content:center + padding:0 的居中图标按钮,而 .twt-foot 是 width:100% + padding:0 8px 的左对齐行。宽度拉平之后,两者的图标仍然会落在不同的 x 上——所以要统一 justify-content 与左右内边距。

:not([class="_collapsed"]) 把这一切限制在展开态,折叠成窄条(rail)时保持宿主
原本的图标尺寸与居中排列。

代价是:底栏里所有 button 都会被拉成整行宽、内容左对齐、左右内边距 8px。
若某个插件你希望保持原始尺寸,给它加一条更具体的 width: auto !important (按类名或 [data-] 属性),告诉我插件的名字也可以。

文件

| 文件 | 作用 |
| cordis.patch.yml | bundle 补丁,插入 sidebar-footer-rows 行 |
| index.js | Host 半边,空实现(样式全在 Client 侧) |
| client.js | Client 半边,ctx.effect 注入/清理 |
| locale/.json | 插件管理页显示的标题与说明 |
| icon.svg | 插件图标 |

安装

设置/侧边栏 → 插件 页 → 添加插件 → 填本目录的绝对路径 → 安装。

发布之后也可以用命令行(名字见下方「发布前必须改名」):

dsh plugin --profile <你的 profile> add <包名>

实测版本

DSH 0.2.1-rc.5 桌面版(macOS)实测通过。

没有声明 engines.dsh:选择器依赖的 _footerActions / _root / _collapsed 是宿主的 CSS Module 局部名,我只在这一版上核对过,不想凭猜写下兼容范围让市场误判。
你要是在别的版本上跑通了,把 engines 补进 package.json 再放开发布。

同类插件

两件事值得知道:

- 本插件最初想叫 dsh-sidebar-footer-stack,但 npm 上这个名字已被占用(作者 daniel92,v1.5.2,MIT),功能也高度重合——纵向堆叠 + 统一卡片外观 + 拖动换序;它不在社区目录里,所以商店搜不到,但 dsh plugin add dsh-sidebar-footer-stack 能装。因此本插件定名为 dsh-sidebar-footer-rows。
- 社区目录里已有一个同类:@choi-p/dsh-footer-order(分类 UI 增强,把 sidebar.footer.action 改成上下堆叠并允许配置顺序)。

若日后还要改名,只有三处需要动,且必须一致:

| 位置 | 改什么 |
| package.json | name |
| cordis.patch.yml | insert[].name(id 随便取,唯一即可) |
| client.js | const PLUGIN(Client 模块 id 必须等于包名) |

发布到商店(清单)

1. 建仓库:把这个目录推到你自己的 GitHub 仓库,仓库名建议与包名一致。
填好 package.json 里的 author / repository / homepage / bugs(现在是占位符),以及 LICENSE 里的版权人。
2. (可选)发 npm:npm publish --access public(scoped 包必须带 --access public)。
收录不要求发 npm;但发了市场才会显示下载量。注意社区目录的规矩:已发布包的 repository 必须指回被收录的那个仓库,否则两者不会关联。
3. 投稿:给 awesome-dsh-plugin 提一个 PR,只加一个文件 data/plugins/<owner>__<repo>.yml:

url: https://github.com/<owner>/<repo>
name: <owner>/<repo>
category: ui
description:
en: Stacks the sidebar footer actions into one full-width row each.
zh: 把侧边栏底部的动作按钮改成一行一个、铺满整行。

不要手写 npm: 键(会被校验拒绝),也不要手工改两个 README(它们由脚本生成)。
描述里出现 : (冒号+空格)必须给整行加引号。
4. 合并后条目自动出现在 data/plugins/ → 目录站与市场索引(含 dshmarket 的搜索)。

调参

只想要「自动换行、能放几个放几个」而不是一行一个,把 client.js 里的 CSS 换成:

[class*="_footerActions"] { flex-wrap: wrap; gap: 6px; }

改完重新加载页面即可(Client 代码改动需要重装或用链接目录 + 重启宿主)。
预览分享卡片长什么样 ↓polychromate/dsh-sidebar-footer-rows
分享 · DeepSeek Harness Hub
polychromate/dsh-sidebar-footer-rows

把侧边栏底部动作按钮改为一行一个,避免拥挤截断

这是你的仓库?认领条目

回到顶部