在侧边栏文件树中上传、移动、重命名与删除文件
35.3/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Wulabalabo/dsh-sidebar-Explorer-Plus该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 58 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意未发布到 npm registry,仅可从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-sidebar-explorer-plus(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 17:43:50
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 17 处,展示前 17 条)
- 读取本地文件lib/index.js:170
const existed = await stat(target).then((info) => info.isFile(), () => false); - 写入本地文件lib/index.js:173
await mkdir(dirname(target), { recursive: true }); - 写入本地文件lib/index.js:174
await writeFile(tmp, bytes); - 写入本地文件lib/index.js:175
await rename(tmp, target); - 删除本地文件lib/index.js:177
await rm(tmp, { force: true }).catch(() => { - 删除本地文件递归lib/index.js:187
await rm(path, { recursive: true, force: false }).catch((error) => { - 读取本地文件lib/index.js:197
const fromInfo = await stat(from).catch(() => { - 读取本地文件lib/index.js:203
const toExists = await stat(to).then(() => true, () => false); - 写入本地文件lib/index.js:207
await rename(from, to).catch((error) => { - 读取本地文件lib/index.js:224
const toExists = await stat(to).then(() => true, () => false); - 写入本地文件lib/index.js:228
await rename(path, to).catch((error) => { - 写入本地文件lib/index.js:236
await mkdir(path).catch((error) => { - 发起网络请求lib/client.js:85
return fetch("/sidebar/api/fs.tree", { - 发起网络请求lib/client.js:99
return fetch(`/sidebar-explorer/${method}`, { - 发起网络请求lib/client.js:183
return fetch(`/sidebar-explorer/upload?${params.toString()}`, { - 发起网络请求lib/client.js:256
fetch("/sidebar/api/session.cwd", { - 写入本地文件build.mjs:46
writeFileSync('lib/client.js', wrapper)
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 侧栏文件树管理
- 上传与移动文件
- 重命名与删除文件
展开完整介绍(150 字)↓
一个 dsh-better-sidebar 的消费插件:在侧边栏新增一个「文件」tab,内置一棵固定在工作区(cwd)内的文件树,提供真正的文件管理能力——上传、移动、删除、重命名、新建文件夹。它补充了 better-sidebar 自带 Explorer 缺失的「写」操作(Explorer 只读)
README
由 DeepSeek 最新模型翻译生成dsh-sidebar-explorer-plus
一个用于 DeepSeek Harness 侧边栏的 TypeScript / React 文件管理器。
English · 中文
通过 dsh-better-sidebar 的公开 ctx.betterSidebar.registerTab 服务,为其添加一个 Files 标签页。该插件将 React 文件树与宿主端文件操作相结合,且不修改侧边栏基础。
功能特性
- 拖放文件或文件夹以上传,并保留文件夹结构。
- 从文件树中移动、重命名、删除以及创建目录。
- 在侧边栏编辑器中打开文件。
- 移动或重命名时拒绝已存在的目标位置。上传可以替换现有文件;删除是永久性的,并会在 UI 中请求确认。
- 宿主 API 中提供宿主/来源请求检查、上传大小限制以及工作目录路径检查。
安装
需要运行中的 DSH web 配置文件、dsh-better-sidebar(对等依赖 >=0.4.0)以及 Node.js 20 或更高版本。
dsh plugin --profile web add github:Wulabalabo/dsh-sidebar-Explorer-Plus
重启 dsh web,然后强制刷新浏览器。打开侧边栏 + 菜单并选择 Files / 文件。
展开完整文档(README 剩余 1 节)
dsh-sidebar-explorer-plus
一个用于 DeepSeek Harness 侧边栏的 TypeScript / React 文件管理器。
English · 中文
通过 dsh-better-sidebar 的公开 ctx.betterSidebar.registerTab 服务,为其添加一个 Files 标签页。该插件将 React 文件树与宿主端文件操作相结合,且不修改侧边栏基础。
功能特性
- 拖放文件或文件夹以上传,并保留文件夹结构。
- 从文件树中移动、重命名、删除以及创建目录。
- 在侧边栏编辑器中打开文件。
- 移动或重命名时拒绝已存在的目标位置。上传可以替换现有文件;删除是永久性的,并会在 UI 中请求确认。
- 宿主 API 中提供宿主/来源请求检查、上传大小限制以及工作目录路径检查。
安装
需要运行中的 DSH web 配置文件、dsh-better-sidebar(对等依赖 >=0.4.0)以及 Node.js 20 或更高版本。
dsh plugin --profile web add github:Wulabalabo/dsh-sidebar-Explorer-Plus
重启 dsh web,然后强制刷新浏览器。打开侧边栏 + 菜单并选择 Files / 文件。该仓库在 lib/ 中包含已构建的文件,因此基于 Git 的安装不需要本地构建。
代码与 API 映射
| 部分 | 职责 |
| src/index.ts | 宿主路由、请求检查、上传限制、文件操作以及结构化错误。 |
| src/client/index.tsx | React 文件树、拖放、上下文菜单以及标签页注册。 |
| build.mjs | 宿主/客户端打包;构建脚本还会生成 TypeScript 声明。 |
| cordis.patch.yml | 插件挂载配置。 |
所有操作均使用 POST /sidebar-explorer/:
| 操作 | 载荷 |
| upload | 查询参数:sessionId、name,可选 dir 和 cwd;请求体中为原始字节。 |
| delete / mkdir | JSON:sessionId、绝对 path,可选 cwd。 |
| move | JSON:sessionId、绝对 from 和 to,可选 cwd。 |
| rename | JSON:sessionId、绝对 path、新 name,可选 cwd。 |
成功的操作返回 { ok: true, value }。操作错误返回 { ok: false, error: { code, message } };被拒绝的信任检查和不受支持的 HTTP 方法返回纯 HTTP 403/405 响应。
开发
npm ci
npm run typecheck
npm run build
默认上传限制为每个文件 50 MiB。在配置文件配置中设置 uploadLimit 以更改字节限制;请参阅下方的配置示例。
故障排除与操作范围
- 标签页缺失: 确认侧边栏依赖已安装,重启宿主,并强制刷新浏览器。
- HTTP 403: 检查已配置的可信宿主以及浏览器来源。
- 移动/重命名时出现 HTTP 409: 选择一个尚不存在的目标位置。
- 上传过大: 减小文件大小或调整 uploadLimit。
当前路径检查比较的是路径字符串;它们不会在每次操作中解析符号链接或完全规范化遍历片段。工作目录选择也有客户端/进程回退。请在可信工作区中运行;这些检查不会为不可信的 filesystem 内容或调用方建立隔离。
一个 dsh-better-sidebar 的消费插件:在侧边栏新增一个「文件」tab,内置一棵固定在工作区(cwd)内的文件树,提供真正的文件管理能力——上传、移动、删除、重命名、新建文件夹。它补充了 better-sidebar 自带 Explorer 缺失的「写」操作(Explorer 只读)。
它通过 dsh-better-sidebar 公开的 ctx.betterSidebar.registerTab 服务注册,是一个独立插件,不改动 better-sidebar 源码。
功能
- 🗂️ 拖拽任意文件(文本 / 图片 / PDF / 二进制…)上传,上传到指定目录
- 📁 拖拽整个文件夹上传,按原目录结构落盘
- 📂 文件树展示文件与文件夹;点文件在侧边栏编辑器打开
- ↕️ 拖拽移动:把文件/文件夹拖到另一个文件夹上移动(冲突报错跳过,不覆盖)
- ✏️ 重命名:右键 → 重命名
- 🗑️ 删除:右键 → 删除(永久删除 + 二次确认;文件夹递归删除)
- ➕ 新建文件夹:在选中目录下建子目录
- 🔒 Host/Origin 请求检查、上传大小限制及工作目录路径检查;当前实现使用路径字符串比较,不保证符号链接或所有路径穿越场景的隔离,请用于可信工作区。
安装
前置:已安装 dsh-better-sidebar(本插件通过其 betterSidebar 服务注册 tab)。
dsh plugin --profile web add github:Wulabalabo/dsh-sidebar-Explorer-Plus
装完重启 dsh web(本插件含 host 半),再浏览器硬刷新(Cmd/Ctrl+Shift+R),侧边栏 + 菜单里就会出现「文件」tab。
工作原理
| 半边 | 作用 |
| host(src/index.ts → lib/index.js) | 注册 /sidebar-explorer/ 路由:upload(原始字节)/ delete / move / rename / mkdir(JSON),全部限定在会话 cwd 内 |
| client(src/client/index.tsx → lib/client.js) | ctx.betterSidebar.registerTab 注册 sidebar-explorer tab,渲染文件树 + 拖拽区 + 右键菜单 |
路由契约:POST /sidebar-explorer/;upload 用 query(sessionId/dir/name)+ 原始 body,其余用 JSON body(sessionId/path/from/to/name),均可携带可选 cwd。成功响应为 { ok: true, value },操作错误为 { ok: false, error: { code, message } };请求信任检查失败或 HTTP 方法不支持时直接返回 403/405。
开发 / 构建
npm install # 安装 devDependencies
npm run typecheck # tsc --noEmit
npm run build # esbuild 打包 + 生成 lib/types/.d.ts
- lib/ 是构建产物,已提交进仓库,因此从 git 安装无需任何构建步骤。
- 客户端 bundle 走 window.__ModuleLoader__.load({ id: 'dsh-sidebar-explorer-plus', factory }) 注册,react 作为 external 由模块表运行时解析。
配置(可选)
在 profile 的挂载行加 config 可调上传大小上限(默认 50 MB):
- insert:
- id: sidebar-explorer
name: 'dsh-sidebar-explorer-plus'
config:
uploadLimit: 104857600 # 100 MB
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Wulabalabo/dsh-sidebar-Explorer-Plus
在侧边栏文件树中上传、移动、重命名与删除文件
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,225未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,370已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13941 个插件含 PR 收录与…
★ 355已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目