把暂时不用的工作区和会话拖进侧边栏收纳区,需要时再拖回来
29.5/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add JHyugou/dsh-tidy该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · browser
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 16 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH 插件:把暂时不用的工作区或单个会话拖进侧边栏「收纳区」,需要时再拖回来,收纳区可折叠(Sidebar stash area for DeepSeek Harness)
README
由 DeepSeek 最新模型翻译生成dsh-tidy
给 DeepSeek Harness 侧边栏加一个收纳区:把暂时不用的工作区(连同它的所有会话)或单个会话拖进去,侧边栏立刻清爽;要用的时候再拖回来。
收纳区插在「插件」面板行与「工作区」分区标题之间——也就是你截图里圈出来的那个位置:
[品牌 / 新会话] [🧩 插件] ← 全局面板行(ui-plugin-manager) [⌄ 📥 收纳区 2 个 全部还原] ← 本插件(⌄ 可折叠) 💬 DSH 任务完成… ← 单个会话被收纳(只藏这一行,工作区还在) 📁 dsh-remind ← 工作区被收纳(它名下所有会话一起消失) [工作区 🔍 ⚙ ➕] ← ui-workspace 分区标题 📁 Autumn ...
空态只占一行(28px),不给自己制造新的占位负担;收纳了东西才展开成「标题 + 行列表」,点标题前的 ⌄ 折叠可以把整个收纳区收成一行(折叠态跨刷新保留):
| 空态 | 工作区 + 会话各收纳 1 项 | 折叠态 |
| 空态 | 收纳中 | 折叠 |
(截图来自 node tools/browser-check.mjs --shot,是无头浏览器里的真实渲染。
展开完整文档(README 剩余 1 节)
dsh-tidy
给 DeepSeek Harness 侧边栏加一个收纳区:把暂时不用的工作区(连同它的所有会话)或单个会话拖进去,侧边栏立刻清爽;要用的时候再拖回来。
收纳区插在「插件」面板行与「工作区」分区标题之间——也就是你截图里圈出来的那个位置:
[品牌 / 新会话] [🧩 插件] ← 全局面板行(ui-plugin-manager) [⌄ 📥 收纳区 2 个 全部还原] ← 本插件(⌄ 可折叠) 💬 DSH 任务完成… ← 单个会话被收纳(只藏这一行,工作区还在) 📁 dsh-remind ← 工作区被收纳(它名下所有会话一起消失) [工作区 🔍 ⚙ ➕] ← ui-workspace 分区标题 📁 Autumn ...
空态只占一行(28px),不给自己制造新的占位负担;收纳了东西才展开成「标题 + 行列表」,点标题前的 ⌄ 折叠可以把整个收纳区收成一行(折叠态跨刷新保留):
| 空态 | 工作区 + 会话各收纳 1 项 | 折叠态 |
| 空态 | 收纳中 | 折叠 |
(截图来自 node tools/browser-check.mjs --shot,是无头浏览器里的真实渲染。)
用法
| 操作 | 做法 |
| 收纳工作区 | 把工作区标题行(带文件夹图标)拖进收纳区 → 该工作区连同它名下所有会话一起从侧边栏消失 |
| 收纳单个会话 | 把会话行拖进收纳区 → 只藏这一行,工作区与其它会话不受影响 |
| 折叠 / 展开收纳区 | 点收纳区标题前的 ⌄;折叠态会记住,刷新后仍然折叠 |
| 还原 | 点收纳行右侧的「还原」,或把收纳行拖回下方「工作区」列表 |
| 批量还原 | 收纳区标题栏右侧的「全部还原」 |
| 清理失效项 | 工作区已被删除时,收纳行显示「已不存在」,点「移除记录」只清掉收纳记录 |
补充说明:
- 「新会话」只是占位行,不能被收纳(会提示)。
- 某个会话被收纳、而它的工作区也被收纳时,该行会标注「随工作区」;还原工作区后,这个会话仍然保持收纳(两条记录互不影响),点它自己的「还原」即可。
- 收纳清单存在浏览器 localStorage(键 dsh-tidy.stash.v1,v1 只有工作区,读取时会自动迁移到 v2), 跨重启保留,不写宿主、不改工作区与会话本身——文件夹、会话记录、宿主端数据都不动,纯粹是侧边栏的显示收纳。
安装(本机已完成)
本机 desktop profile 已装好(link 方式,改代码即时生效)
dsh plugin --profile desktop add <本目录路径> # 首次安装
dsh plugin --profile desktop remove dsh-tidy # 卸载
装好后 DSH 宿主会热加载(dsh-client-modules 增量扫描 Loader 条目),但已经打开的窗口需要刷新一次页面(Ctrl+R)才会拉取新的浏览器 bundle。
验证
node --test # 43 项单元测试:清单/迁移/隐藏选择器/条目解析/锚点算法/入口契约(无需浏览器)
node tools/verify.mjs # 宿主端 5 项:启动图收录 + bundle 可取 + 与源码逐字一致 + /api 诊断路由
node tools/browser-check.mjs # 真浏览器 31 项:位置 + 收纳/隐藏/还原 + 真实拖放 + 折叠持久化 + 会话收纳 + 收起轨道
browser-check.mjs 用临时 --user-data-dir,与你正在用的窗口完全隔离,不会动你的收纳清单;没有 Chrome/Edge 时它会 SKIP。加 --shot[=前缀] 可以把侧边栏截图存下来(文档里的截图就是这么来的)。
三个脚本都用 ~/.dsh/.credentials.yaml 的 browser-session secret 现场铸签名 cookie(与浏览器同构),不读取、不打印其它凭据。
排障时还可以在 DSH 窗口的 DevTools 控制台里用诊断面:
__dshTidy.state() // 当前收纳清单与折叠态
__dshTidy.anchor() // 解析到的插入点 { host, before, tree }
__dshTidy.mounted() // 挂载容器是否在位、宽高、父元素
__dshTidy.probe(id) // 这个 id 会被当成工作区还是会话(拖拽载荷是裸 id)
__dshTidy.stash(id, title, path) // 手动收纳工作区
__dshTidy.stashSession(id, title) // 手动收纳会话
__dshTidy.unstash(id); __dshTidy.unstashAll(); __dshTidy.setCollapsed(true)
架构
DSH 插件是「宿主端 + 浏览器端」双半结构,本插件零 npm 依赖、零构建:
| 文件 | 角色 |
| src/client.js | 浏览器端 bundle(window.__ModuleLoader__.load 手写格式):收纳区 UI、折叠、拖放、隐藏样式、锚点定位 |
| src/index.js | 宿主端 Cordis 插件:让包成为 Loader 条目(客户端 bundle 的发现前提)+ /api/dsh-tidy.status 只读诊断路由 |
| cordis.patch.yml | 安装时自激活宿主端入口 |
| package.json | dsh.bundle.patch 自激活 + dsh.client 浏览器 bundle 声明 |
| test/ | 单元测试(把 bundle 在 Node 里用 ModuleLoader 桩加载后直接断言) |
| tools/ | 验证脚本:verify.mjs(宿主)、browser-check.mjs(真浏览器,可 --shot 截图) |
为什么是「headless 插槽 + DOM 挂载」
侧边栏外壳(@deepseek-ai/dsh-client-ui-sidebar)只声明了固定席位:sidebar.panellist / sidebar.workspaces / sidebar.settings / sidebar.footer.action……没有「面板行与工作区之间」这个位置;而 sidebar.workspaces 是 single 且已被 ui-workspace 占用,renderSlot() 又按「本条目声明的 children」授权(否则抛 SlotOwnershipError),所以替换包没法把 ui-workspace 的浏览器渲染出来。
于是本插件:
1. 往 shell.overlay(root 作用域的 list 席位)注册一个 headless 组件——拿到全局 useWorkspaces 钩子、t 与 React 生命周期,本身不产生任何可见 DOM;
2. 用 React portal 把收纳区挂到侧边栏 DOM 的精确位置:从 [role="tree"](ui-workspace 的行容器)逐级上溯到「工作区」分区标题所在容器,插到它之前;display:contents 的插槽出口会自动跳过(否则量不到宽度);
3. 隐藏用属性选择器 CSS:[role="tree"] > *:has([data-row-key="workspace:<id>"]) 整段收起(分组容器内含该工作区所有会话行),会话行再按 [data-row-key="session:<id>"] 兜底;
:has() 不可用的浏览器上自动退化为给分组容器打标记属性。
与 DSH 的耦合点(都有降级)
| 依赖 | 变化时的表现 |
| [data-row-key="workspace:<id>"] / session:<id> | 行标识改名 → 收纳区仍在,但收纳不生效;控制台给出 [dsh-tidy] 警告 |
| 工作区行 dragstart 的 text/plain 载荷 | 载荷变化 → 改用 DOM 行文本兜底取名;仍取不到则提示「没认出这个工作区」 |
| [role="tree"] 与分区标题的层级 | 锚点解析失败 → 收纳区不出现,DSH 其余功能完全不受影响 |
| shell.overlay 席位 | 席位被移除 → 只告警,不抛错 |
| localStorage 不可用(隐私模式) | 降级为「本次会话有效」 |
任何一处失败都只降级收纳区自己;插槽渲染器会把崩溃的条目隔离在 [data-slot-error],不会拖累外壳。
已知限制
- 平铺视图(「按会话」分组)与搜索结果里没有工作区行:无法从那里把工作区拖入收纳,但收纳区里的项仍可还原;收纳中的工作区,其会话行在平铺视图里也会被隐藏(单条会话收纳同样按 session:<id> 全局隐藏)。
- 收纳的是「显示」而不是数据:工作区、文件夹、会话记录都原样保留,只是侧边栏不显示;被收纳的会话仍能通过搜索、URL、其它入口打开。
- 正在使用的工作区或会话也能被收纳:会话本身不会关闭,想找回来点「还原」即可。
- 收纳清单在浏览器 localStorage:换浏览器/清站点数据会丢清单(工作区与会话本身不受影响)。
本机开发备注
- .ref/ 是本机 DSH 内置包源码摘录与截图(仅本地参考,已 gitignore,不随包发布);重新摘录用 dsh-remind 里的 tools/asar.mjs。
- 改了 src/client.js 后:宿主会重新计算 bundle 版本(按文件 mtime/size),页面刷新即生效;宿主端 src/index.js 改动需要重启 DSH(或插件页重载)。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
JHyugou/dsh-tidy
把暂时不用的工作区和会话拖进侧边栏收纳区,需要时再拖回来
相关插件 · 浏览器
智能体插件框架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
这是你的仓库?认领条目