Skip to content
dsh.fish
Bundle

@sunjuntao/dsh-file-workbench

DSH web plugin: a Vue 3 + Vite complete file workbench (explorer tree / code editor / markdown+image+html preview / file search / CRUD)

Source
master1Sun
stars
1 stars
License
MIT
Updated
Updated yesterday

Readme

# DSH 文件工作台插件(Vue 3 + Vite)

在 DSH 会话视图内提供完整的文件工作台:资源管理器(懒加载目录树 / 文件列表)、代码与文本编辑、
Markdown / HTML / 图片 / PDF / 音视频预览、JSON 编辑器、表格网格、文件名与内容搜索、Git 面板、
多标签终端(xterm.js)、AI 对话与子代理面板,以及新建 / 重命名 / 删除 / 复制 / 上传等 CRUD 操作。
所有读写操作被约束在用户自选的「工作区根目录」之内(符号链接解析后仍生效)。

## 功能一览

- 🗂 **资源管理器**:懒加载目录树 + 文件列表(详情 / 列表 / 网格视图);目录优先 + 大小写不敏感排序;
  隐藏项置灰、软链接按目标类型展示、失效软链接标红;面包屑 + 完整路径地址栏(点击可编辑复制);
  我的电脑 / 当前会话 / 快捷方式导航。
- ✏️ **编辑器**:打开即编辑,未保存状态标注,Ctrl/Cmd+S 保存;撤销 / 重做;Markdown 编辑 / 预览 / 分屏
  三态 + 可折叠大纲;导出 PDF;外部改动检测。
- 👁 **预览**:Markdown(marked + DOMPurify 消毒)、HTML(沙箱 iframe 只读)、图片、音频 / 视频、
  PDF(浏览器内置渲染)、文本与代码高亮;预览面板带可拖拽大纲侧栏。
- 🔧 **JSON 编辑器**:树 / 表单 / 表格 / 文本四种模式,格式化、校验、容错降级。
- 📊 **表格网格**:CSV / TSV 结构化编辑,行 / 列增删、排序、汇总(计数 / 求和 / 均值 / 最值 / 去重)。
- 🔍 **搜索**:文件名 + 文件内容递归检索,跳过 node_modules / .git 等噪声目录,带结果数上限与截断提示。
- 🧹 **CRUD**:新建文件 / 目录、重命名、删除(带确认)、复制 / 剪切 / 粘贴、批量操作。
- 📤 **上传**:外部拖拽到列表区或右键菜单「上传」,后端流式写入工作区。
- 🌿 **Git 面板**:文件状态(? / A / M / D)、暂存 / 取消暂存、提交(无身份时提供一键配置)、
  分支切换与新建、拉取 / 推送 / 抓取、查看改动(diff)、还原、内置命令控制台。
- 💻 **终端**:多标签常驻 shell(cmd / PowerShell 可切换),xterm.js 渲染(ANSI 着色、真实提示符、
  行交互如 python -i),SSE 实时流式输出,GBK 编码自动转换,会话级工作目录记忆。
- 🤖 **AI 对话 / 子代理**:内嵌 AI 聊天面板与子代理面板(停靠或浮窗)。
- ⌨️ **命令面板**:Ctrl/Cmd+K 唤起,搜索并执行常用命令;`?` 键随时查看快捷键帮助。
- 🧩 **停靠布局**:dockview 多面板停靠 / 浮动 / 最小化,布局快照保存加载,可自定义面板比例。
- 🎨 **主题适配**:跟随宿主亮 / 暗主题,设置内可固定主题、调整字体与字号。

## 快捷键

| 按键 | 功能 |
| --- | --- |
| `Ctrl/Cmd+K` | 打开命令面板 |
| `Ctrl/Cmd+S` | 保存当前文件 |
| `?` | 打开快捷键帮助(全局) |

文件列表(焦点内):

| 按键 | 功能 |
| --- | --- |
| `Ctrl/Cmd+A` | 全选 |
| `Ctrl/Cmd+C / X / V` | 复制 / 剪切 / 粘贴 |
| `Ctrl/Cmd+F` | 聚焦筛选框 |
| `Ctrl+Shift+N` | 新建文件夹 |
| `Delete` / `F2` / `F5` | 删除(确认)/ 重命名 / 刷新 |
| `Enter` | 打开文件 / 进入目录 |
| `↑ ↓ Home End` | 移动选中 |
| `Backspace` / `Alt+↑` | 返回上级 |
| `Alt+← / →` | 浏览历史后退 / 前进 |

## License

MIT

Install

dsh plugin --profile web add github:master1Sun/dsh-file-workbench-lib

Profile: web

  • This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source