dsh-file-manager

September 1, 2026 · View on GitHub

DSH Web 工作区文件管理器(静态插件,重启/刷新不丢失)。

功能

  • 左侧文件树:语义化图标(Python/JS/TS/Markdown/JSON/YAML/HTML/CSS/图片等)、每会话目录展开状态缓存、超大目录前 400 项 + 「显示全部」
  • 文件预览:文本 / 图片(≤8MB)/ Markdown 完整渲染 / 代码语法高亮(js、json、python、css、html、yaml、shell)/ 大文件自动读取开头 512KB
  • 预览内编辑:点「编辑」直接在预览里改,点「保存」写回磁盘(≤512KB 的文本文件)
  • 新建文件:文件面板头部「+」输入文件名回车,在工作区根目录创建
  • 删除文件:「删除」→「确认删除」(真实删除,仅限文件)
  • 再点一次同一文件 = 收起预览
  • 面板宽度拖拽(文件管理 / 预览两列边缘)+ 工作区级宽度记忆(写入工作区 .dshfm.json

安装(Windows + DSH Web)

  1. dsh-file-manager 整个目录拷贝到: C:\Users\<你的用户名>\.dsh\local-plugins\

  2. 编辑 C:\Users\<你的用户名>\.dsh\profiles\web\package.json,在 dependencies 里加一行:

    "dsh-file-manager": "file:..\\..\\local-plugins\\dsh-file-manager"
    
  3. 编辑 C:\Users\<你的用户名>\.dsh\profiles\web\cordis.patch.yml,追加:

    - insert:
        - id: file-manager
          name: 'dsh-file-manager'
          inject: [fs, sessions, subprocess, webServer]
    
  4. 在 profile 目录安装依赖(需要 pnpm):

    cd C:\Users\<你的用户名>\.dsh\profiles\web
    pnpm install
    
  5. 重启 DSH Web(结束命令行含 web --port 3080 的 node 进程,再双击启动脚本)。

  6. 打开页面,侧栏底部出现「文件」按钮即成功。

使用

  • 点侧栏底部「文件」按钮开关文件管理器
  • 点文件 → 预览;再点同一文件 → 收起
  • 面板边缘拖动调宽;宽度自动记忆
  • 「+」新建文件;预览头部「编辑/保存」「删除/确认删除」

已知限制

  • 侧栏本身(会话列表那条)的宽度拖拽实时跟随未实现(DSH 未暴露宽度事件)
  • 图片预览上限 8MB(fs 服务二进制读取限制)
  • 删除文件通过 cmd /c del 实现,仅支持文件(不支持目录)

许可

MIT