给右侧栏标签右键菜单补上固定与批量关闭操作
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add zhaoruizhe81/dsh-sidebar-tab-actions该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · browser
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 19 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
README
由 DeepSeek 最新模型翻译生成dsh-sidebar-tab-actions
给 dsh Web GUI 右侧栏的标签右键菜单补上该有的那几个操作。装之前菜单里只有一条「关闭」,装之后同一个菜单变成:
关闭 ← 套件自带的 ──────────────── 📌 固定关闭其他关闭右侧关闭左侧关闭全部 ← 危险色
只跟 dsh 0.2.0-rc.2 及之后的版本对齐,只在浏览器半边运行,host 半边是空的。
行为
| 菜单项 | 关掉什么 |
| 固定 / 取消固定 | 切换当前标签的固定状态,按会话持久化 |
| 关闭其他 | 同一分栏里除自己以外的全部标签 |
| 关闭右侧 | 同一分栏里排在自己右边的全部标签 |
| 关闭左侧 | 同一分栏里排在自己左边的全部标签 |
| 关闭全部 | 同一分栏的全部标签,包括自己 |
文案刻意压到两到四字,跟 dsh 自己那套 dock 词汇(关闭/分栏/全屏)同一种语感——菜单里只有套件那条「关闭」是两字、其余都四字以上,读起来会跳。
五条规则,一句话说完:
1. 固定标签不被任何批量关闭动到,四个关闭项都会跳过它。
2. 目标为空的项不出现。右键第一个标签时没有「关闭左侧」,整个分栏只剩一个标签时四个关闭项全不出现。
3. 顺序就是屏幕上看到的顺序。dsh 按分栏自己的标签数组画 chip,所以 DOM 顺序就是布局顺序。
展开完整文档(README 剩余 1 节)
dsh-sidebar-tab-actions 给 dsh Web GUI 右侧栏的标签右键菜单补上该有的那几个操作。装之前菜单里只有一条「关闭」,装之后同一个菜单变成: 关闭 ← 套件自带的 ──────────────── 📌 固定关闭其他关闭右侧关闭左侧关闭全部 ← 危险色 只跟 dsh 0.2.0-rc.2 及之后的版本对齐,只在浏览器半边运行,host 半边是空的。 行为 | 菜单项 | 关掉什么 | | 固定 / 取消固定 | 切换当前标签的固定状态,按会话持久化 | | 关闭其他 | 同一分栏里除自己以外的全部标签 | | 关闭右侧 | 同一分栏里排在自己右边的全部标签 | | 关闭左侧 | 同一分栏里排在自己左边的全部标签 | | 关闭全部 | 同一分栏的全部标签,包括自己 | 文案刻意压到两到四字,跟 dsh 自己那套 dock 词汇(关闭/分栏/全屏)同一种语感——菜单里只有套件那条「关闭」是两字、其余都四字以上,读起来会跳。 五条规则,一句话说完: 1. 固定标签不被任何批量关闭动到,四个关闭项都会跳过它。 2. 目标为空的项不出现。右键第一个标签时没有「关闭左侧」,整个分栏只剩一个标签时四个关闭项全不出现。 3. 顺序就是屏幕上看到的顺序。dsh 按分栏自己的标签数组画 chip,所以 DOM 顺序就是布局顺序。 4. 唯一停靠的引导页不算可关闭,那种分栏上只剩下「固定」一项,和 dsh 自己藏掉关闭按钮的规则一致。 5. 固定状态按会话存,键是 dsh.sidebar-tab-actions.pins.v1.<sessionId>,刷新页面和重启应用都还在。 固定的 chip 会在标题左边出一枚图钉。 已知限制 - 固定拦不住单点关闭。 chip 上的 × 和套件自带的「关闭」由 dsh 自己决定,插件没有席位去否决。所以固定的语义是「不被批量关掉」,跟 VS Code、Chrome 的固定标签可以单独关闭是一致的。 - 批量关闭会产生多条撤销记录。 dsh 的 ISidebarRight 只有单个 close(tabId),关 N 个标签就是 N 步撤销,和手动逐个关闭一样。 - 关掉分栏最后一个标签会让整列收起,这是 dsh 自身规则,「关闭全部」因此可能把右栏收起来。固定一个标签就能避免。 - 固定按标签 id 记,不按内容记。 关掉再重新打开同一个文件,固定会丢——dsh 的 chip 上只有标签 id 可读,而 VS Code 的 pin 也是绑定在 editor 实例上的。 - 图钉是 DOM 装饰。 插件往 chip 上写一个自己拥有的 data-dsh-tab-pinned 属性并注入一张样式表,随插件一起回收。不想要就配 badge: false。 安装 git clone https://github.com/zhaoruizhe81/dsh-sidebar-tab-actions.git cd dsh-sidebar-tab-actions 先退出 DeepSeek Harness,profile 的 package.json 有文件锁 "/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh" \ plugin --profile desktop add link:"$PWD" 装完重新打开 App。dsh 会把包名写进 ~/.dsh/profiles/desktop/package.json 的 dsh.profile.bundles,包里的 cordis.patch.yml 再作为 bundle 层把插件行插进 roster——profile 自己的 cordis.patch.yml 不用动。 两个可能绊到你的地方: - cli/bin/dsh 没有可执行位,直接跑会 Permission denied,用 sh "<那个路径>" 调。 - ERR_PNPM_IGNORED_BUILDS 会让退出码非零,于是 dsh 跳过自动写 dsh.profile.bundles 那一步。依赖和软链已经装好了,手动把 "dsh-sidebar-tab-actions" 加进 dsh.profile.bundles 数组末尾即可。(那几条被忽略的构建脚本来自 profile 里既有的 @google/genai、protobufjs,跟本插件无关。) 卸载: "/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh" \ plugin --profile desktop remove dsh-sidebar-tab-actions 或者在「设置 → 插件」里直接停用这个 bundle。 配置 在 profile 的 cordis.patch.yml 里用同一个 id 覆盖: - id: sidebar-tab-actions name: dsh-sidebar-tab-actions config: badge: false # 关掉固定标签的 chip 图钉 改代码 lib/client.js 就是产物本身,没有构建步骤——它是按 dsh 客户端模块系统要求的闭包工厂形状手写的,只 require 模块表里的基线条目(React、dsh-client-store、dsh-client-ui-primitives)。 保存即生效:不用刷新,不用重启,也不用在设置里停用再启用。 host 侧的 dsh-client-hmr 按固定间隔 stat 轮询每个 bundle 的 client.js(刻意用轮询——网络挂载不产生 inotify 事件),mtime / ctime / size 一变就换掉该 row 的 revision,通过 /plugins/events 的 SSE 推给页面,页面随即重新 import 这一行;插件的 effect 先拆再装,新文案直接上屏。实测从写盘到页面拿到新 revision 在秒级。 改动包元数据(package.json 的 dsh.client、cordis.patch.yml)或 profile 的 dsh.profile.bundles 也算数:profile HMR 会监视 profile 的 package.json 与两层 cordis.patch.yml,一有变化就重算补丁并 reconcile 到运行中的 loader,同样不需要重启——本插件第一次加载就是这么上线的(加完 bundles 条目 2 秒后页面就拉到了 bundle)。 npm test # 41 项,纯 node:test,无依赖 测试覆盖纯逻辑(目标集合计算、分栏读取、固定集合读取、图钉样式表)、注册接线、组件渲染出的行与点击顺序,以及在假 DOM 上跑的图钉装饰器安装/标记/回收。 为什么这么写 dsh 右侧栏的标签菜单只有一个扩展位:sidebar.right.tab.menu.item,需要 sidebarRight 服务,并且不允许插件拿到分栏的标签列表——ctx.sidebarRight 上只有 close / focus / openTab 这些动作,没有任何读取接口。 所以这个插件从三个公开契约上取信息: - 菜单内容走 sidebar.right.tab.menu.item 席位,菜单行用共享原件 MenuItemButton 渲染(它本身就是 role="menuitem",dsh 靠这个角色判断菜单是不是空的)。 - 分栏里的标签顺序从 chip 的标记读:[data-dockkit-tab] 在 [data-dockkit-strip-tabs] 里的文档顺序,也就是 dsh 自己读自己那一行 chip 的方式。 - 当前会话从 [data-sidebar-right-session] 读,用来定位这个会话自己的固定集合。 固定集合存在插件自己的一个 defineStore 里(会话作用域 + persist),组件通过 store 席位读写,装饰器读自己那个 localStorage 键。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
zhaoruizhe81/dsh-sidebar-tab-actions
给右侧栏标签右键菜单补上固定与批量关闭操作
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 270,422已汉化DSH
71.9
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,967已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4
这是你的仓库?认领条目