dsh-beta-layout-folder-file: Adding Folders, Fork Trees, and Claude-style Drag & Drop to the DSH Sidebar

前言

DeepSeek Harness(DSH)侧栏里的工作区一多,或者 fork 出来的会话和原会话挤在同一条长列表里,找会话、整理项目边界都会变慢。DSH 自带的分组视图能排序,但不会像 Claude 那样用文件夹收纳工作区,也不会把 fork 挂在源会话下面成树。社区插件 dsh-beta-layout-folder-file(维护者 William20100221)在不动 DSH 原有行、按钮、菜单和悬停卡片的前提下,给 Workspaces 侧栏加上文件夹、Fork 树、更接近 Claude 的拖拽反馈,并在每个会话的 ⋯ 菜单里提供 ZIP 导出与 AI 生成标题等能力。下面介绍它是什么、能做什么,以及如何安装与使用。

这是什么

dsh-beta-layout-folder-file 是 DSH 客户端类插件:README 写明面向 DeepSeek Harness 0.2.x,许可证 MIT,当前 package 版本为 0.3.1。它不改变 DSH 替换侧栏 UI,而是在 DSH 已有的 Workspace 列表上插入文件夹头、调整 fork 的层级展示,并重样式化原生拖拽事件;会话数据与文件本身仍由 DSH 管理,插件主要改侧栏里的分组、顺序,以及在你主动触发(或开启选项后自动)时的会话标题。

目录页:SkillHub - dsh-beta-layout-folder-file
源码与说明:GitHub - William20100221/dsh-beta-layout-folder-file

核心功能

整理:文件夹与 Fork 树

  • 工作区文件夹:可任意命名(如 School、Robotics、Clients),放入多个工作区;文件夹可折叠、重命名、排序、删除。删除文件夹只会取消分组,内部工作区不会丢失。
  • Fork 树:fork 出的会话显示在其源会话下方,用连接线关联;点击 ▾ 可折叠 fork 列表。

文件夹与 fork 树出现在 DSH 常规分组视图中;扁平列表与搜索结果仍按 DSH 原样绘制。在 Workspace Tree 视图中,只有顶层工作区可以放进文件夹。文件夹始终排在未分组工作区之上。

交互:拖拽与长标题

  • Claude 式拖拽:拖拽时条目浮起为 pill、列表变暗、虚线槽位让行让位,悬停文件夹时高亮;松手后落在槽位对应位置。
  • 滚动标题:标题过长时,悬停可来回滚动,便于读全。

会话菜单中的扩展

在每个 chat 的 ⋯ 菜单中:

  • Export as ZIP:将会话及其子会话、附件保存到本机。
  • Generate title:由该会话所用模型阅读整段对话并生成短标题;DSH 默认只在首条消息时命名一次。
  • Auto titles(可选):在 Plugins 下该插件页面开启 Generate an AI title after every reply 后,每次回复结束可自动更新标题;开关保存在本机配置文件中(见下文「数据存哪里」)。

生成后的标题会被保留,DSH 基于首条消息的标题不会覆盖它。「Generate title」若提示没有可摘要内容,需会话中至少已有用户消息与模型回复,插件才能确定向哪个模型请求标题。

安装与启用

插件以 DSH 桌面进程的权限运行;安装前建议自行查看 GitHub 源码与 MIT 许可证。README 给出的安装方式为在 PowerShell 中执行官方 CLI 命令,然后重启 DSH(从托盘退出再打开):

& "$env:LOCALAPPDATA\Programs\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add github:William20100221/dsh-beta-layout-folder-file

卸载可在 Plugins 页面使用 Uninstall,或执行:

& "$env:LOCALAPPDATA\Programs\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop remove dsh-beta-layout-folder-file

卸载后侧栏恢复为 DSH 默认表现。

典型用法:第一个文件夹

README 中的可复现步骤如下:

  1. 在 Workspaces 标题栏点击 folder-plus(📁+)按钮。
  2. 输入名称并按 Enter。
  3. 将工作区拖到文件夹标题上;若要移出,再拖回未分组工作区之间。

Fork 会话会按 parent 关系自动出现在源会话下,无需单独配置。

适用场景与注意

适合谁:同时维护多个工作区、频繁 fork 对比方案、希望侧栏层次清晰且保留 DSH 原生 UI 的 DSH 0.2.x 桌面用户;需要把整段对话(含子会话与附件)打包导出,或希望对话进行中用模型刷新标题的场景。

边界与风险:

  • 插件不会修改聊天内容或附件文件本身;FAQ 明确仅改变侧栏分组与顺序,以及在你使用标题功能时的显示名称。
  • 文件夹数据保存在本机应用内;工作区顺序仍由 DSH 保存,其他 DSH 界面(如 workspace picker)与侧栏顺序一致。
  • 自动标题开关保存在 ~/.dsh/dsh-beta-layout-folder-file.json。
  • 若 DSH 更新改变了侧栏 DOM 结构,README 说明文件夹与树可能不再显示,但 DSH 原列表仍可用——升级 DSH 后需留意侧栏表现。
  • 标题生成依赖 @deepseek-ai/dsh-session-title-llm(与 DSH 自带标题能力同源);Host 端通过 POST /api/dsh-beta-layout 与 turn/end 等机制配合客户端配置。

社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本插件为社区维护的客户端增强,星标与成熟度请以 GitHub 仓库当前状态为准。

结尾

dsh-beta-layout-folder-file 把 Claude 侧栏里常见的文件夹、fork 树和拖拽手感搬到 DSH Workspaces 侧栏,并补上 ZIP 导出与 AI 标题,且声明不替换 DSH 自有 UI。需要安装命令、FAQ 与开发者说明时,以仓库 README 为准。

  • 目录页:https://www.skillhub.cn/plugins/William20100221/dsh-beta-layout-folder-file
  • GitHub:https://github.com/William20100221/dsh-beta-layout-folder-file
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye