dshbase

插件目录 / UI & Skins / dsh-file-explorer

dsh-file-explorer

已验证 · 实测可装 joejojoking-cloud

✓ 持续维护 2 位贡献者 纯 TypeScript

查看 GitHub ↗ ← 返回插件目录

21Stars
5Forks
9未关闭 issue
TypeScript语言
2026-08-31最近推送
跨平台平台

功能简介

文件浏览器插件:树形、预览、Markdown、语法高亮、编辑

✅
我们的评价
可用 — 实测通过,社区增长中

文件浏览器插件:树形、预览、Markdown、语法高亮、编辑 实测能干净安装、正常启动。社区在增长,是个稳妥选择。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

dsh-file-explorer

File Explorer for DeepSeek Harness — right-side resizable file tree with Markdown rendering, syntax highlighting, in-panel editing, and one-click VS Code / system file manager open. Install: dsh plugin --profile web add dsh-file-explorer.

DeepSeek Harness 的全局文件资源管理器插件:在任何会话的标题栏右侧提供文件夹切换按钮,点击后在页面右侧打开可调宽度的文件树面板。

功能

  • 右侧面板(shell.overlay,可开关):文件树与文件预览独立收起——各自左边缘有「>」按钮,收起文件树时预览保留并自动靠到页面右边缘;预览面板收起时标签全部保留,点树中文件即恢复;左边缘拖拽调宽(260–900px)
  • 预览标签化:浏览器式多标签——每个文件一个标签,按打开顺序排列、点击后台标签不改变顺序,标签条溢出时横向滚动,点击切换不重新加载,标签带 × 可单独关闭,全部关完面板消失
  • 双击聊天区:同时收起两个窗口,并按项目过滤——属于当前项目文件夹的预览标签保留,重新打开文件浏览器时自动恢复;不属于的关闭
  • 标题栏:「文件」+ 六个图标 —— VS Code(在 VS Code 中打开整个工作区)、系统文件浏览器(在系统文件管理器中打开当前选中项:选中目录直接打开、选中文件在所在文件夹中定位高亮,未选中时打开项目根目录)、全部展开/折叠、刷新、编辑、收起文件树(预览保留)
  • 搜索框「搜索文件」:递归扫描工作区(跳过 .git / node_modules,最多 300 条)
  • 文件树:根目录默认展开,目录点击展开/折叠(懒加载),文件单击/双击打开预览
  • 预览:.md 渲染 Markdown(标题/列表/代码块/引用/链接),Markdown 代码块按围栏语言高亮;其他文本文件按扩展名自动语法高亮(JSON / YAML / JS / TS / Python / C / C++ / Java / Go / Rust / Shell / SQL / TOML / INI / CSS / HTML 等);「编辑」图标进入可编辑模式,保存写回磁盘;再次单击预览中的文件关闭该标签
  • 超过 1 MB 的文件提示不支持预览

安装

dsh plugin --profile web add <本包路径或 npm 包名>

重启 harness 后生效:所有会话都会加载该插件(host 路由 /plugins/file-explorer/* + web client 面板)。

结构

  • src/index.ts — host 半部(构建到 lib/index.js):fs/shell 服务 + webServer HTTP 路由(list / search / read / write / open-vscode / open-folder)
  • src/client/index.ts — web client 半部(tsc → lib/client/index.js → tsdown → lib/client.js):注册 shell.overlay 面板与 conversation.session.header.actions 切换按钮
  • cordis.patch.yml — bundle 补丁,把 file-explorer 行插入 profile 的 host 组合

开发(重要)

pnpm run build        # clean && tsc && tsc -p tsconfig.client.json && tsdown
node --check lib/client.js
pnpm test             # host 半部单元测试(node --test)

永远不要直接改 lib/ 下的产物:它们由 src/ 构建生成。历史上直接手改 lib/client.js 曾把反引号写进 CSS 模板字符串,导致模板提前终止、整个 bundle SyntaxError、启动报 "loaded without registering";而且下次构建会覆盖掉落手改内容。样式/逻辑改动一律落 src/,构建后由 host 的 rev 内容哈希自动换新。

已有约定:[data-phase=active] 的右侧让位 padding 即时生效(无 transition/will-change)——动画化的聊天列宽在流式期间会让 transcript 重排竞争 scroll anchoring,造成消息上跳/内容空白。

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-file-explorer」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。

Web profile:

dsh plugin --profile web add dsh-file-explorer

Headless(CLI)profile:

dsh plugin --profile headless add dsh-file-explorer

包信息

npm:dsh-file-explorer · 版本 — · 实测环境 dsh 0.1.0-rc.6

实测报告

端到端验证通过:dsh 0.1.0-rc.6 上 L1 安装 + L2 加载 + L3 运行问答。

使用场景

改变 dsh 的外观或交互方式——一套主题、皮肤或新面板,重塑工作区。

适合谁

在 web UI 里一待几小时、想让它按自己的习惯好看又好用的人。

二次开发建议

皮肤、面板和主题 token 是扩展点——写新皮肤、加面板,或与上游配色同步 token。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

UI & Skins 里更多

浏览全部 7797 个插件 →