dsh-file-manager:为 DSH 文件树补全文件管理能力

前言

DeepSeek Harness(DSH)底座仅提供文件的列表与读取通道,缺乏文件系统层面的写操作能力。dsh-file-manager 插件为侧边栏的文件树补全了这一套能力。它不仅支持下载和打包,还实现了完整的删除、恢复、重命名、移动和新建文件夹流程。

核心功能

该插件主要提供以下文件管理能力:

  • 下载与打包:支持单文件下载、目录打包 ZIP、多选打包 ZIP。
  • 删除与恢复:采用软删除机制,文件被移入同级 .dsh-trash/ 目录。支持恢复、彻底删除和移动(恢复到指定位置)。
  • 文件操作:支持重命名、复制、移动、新建文件夹。
  • 批量操作:在多选模式下,可对选中项进行批量删除、下载、移动、恢复或彻底删除。
  • 其他:提供清空回收站功能,并记录审计日志。

安装与启用

通过 DSH CLI 安装。安装后需重启一次 DSH 才能加载新 bundle。

dsh plugin --profile web add "github:jamesct/dsh-file-manager"

安装完成后,插件会出现在侧边栏的「插件」列表中。

配置

配置文件位于 <DSH_HOME>/file-manager.yml,或通过侧边栏「插件」卡片修改。所有路径必须为绝对路径。

  • 模式选择 (mode):
    • paths:指定允许管理的目录清单(默认)。
    • workspace:自动覆盖所有已注册工作区。
  • 管理范围 (manage):通过 manage 字段配置允许管理的目录,支持递归设置。
  • 行显示项 (row_show):控制文件行上显示的按钮。默认只显示 download。若需显示删除按钮,需将 trash 加入列表。支持 download、trash、mtime、size。
  • 工具栏 (toolbar_show):控制工具栏按钮的显示,如多选、新建文件夹、清空回收站、重命名等。
  • 跨工作区 (cross_workspace):默认为 true,允许跨工作区移动/复制;设为 false 则限制在当前工作区内。
  • 自动清理:配置保留天数和检查间隔,过期条目由宿主自动清理。

架构与注意事项

  • 宿主依赖:DSH 底座没有删除通道,该插件必须自带宿主执行体(lib/index.js)来执行写操作。
  • 重启要求:新增 bundle 后必须重启 DSH 才能生效。
  • 默认行为:默认只显示下载按钮。升级后若想看到删除等操作,需在配置中启用对应项。

总结

该插件通过 YAML 配置实现了灵活的文件管理策略,适合需要在 DSH 环境中进行文件系统深度管理的场景。项目地址:GitHub。

羽毛球分组比赛记分
小程序二维码

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

小夜