证据快照复核于 2026-09-16GitHub 数据核对日期: 2026-08-21
证据已验证Plugin Bundle文件与文档Web Profile

DSH File Explorer

为 DeepSeek Harness 会话工作区提供只读浏览与预览的 Files 标签页。

快速了解

它能做什么

为 DeepSeek Harness 会话工作区提供只读浏览与预览的 Files 标签页。

本站提供的是中文说明,不代表该项目或 Plugin 自身提供中文界面;语言支持请以上游文档为准。

使用场景
文件与文档文件UI文档
适配技术
deepseek-harnessWeb
兼容性

Web Profile
DeepSeek Harness 0.1.5-rc.2; Node >=22.19.0

可信度与状态

证据已验证
核对日期 2026/9/12 UTC 14:23

有代码证据的贡献

它为 DSH 增加什么

Files 对话标签页

在 Chat 和 Trajectory 旁添加只读工作区树及按文件格式适配的预览。

机制证据

选择前先看

在 Harness 的 Web 界面中,于 Chat 和 Trajectory 旁增加 Files 标签页。可用树状目录浏览会话工作区,并在多个标签中预览 Markdown、JSON、受支持的源码格式、图片或纯文本。

适合谁

需要在对话视图内检查会话生成或使用的文件的 DeepSeek Harness Web 用户。

常见任务

  • 逐层浏览会话工作目录。
  • 以渲染结果或源码预览 Markdown,将严格 JSON 查看为可折叠树,并高亮预览受支持的代码。
  • 打开图片,或复制已预览文件的源文本。

权限与数据

通过 DeepSeek Harness 以只读方式查看工作区文件;插件未声明配置项或凭据。

权限
  • 通过 Harness 的 `workspaceFiles` remote 命名空间读取 Host 文件系统允许读取的文件。
  • 增加浏览器端 Files 标签页;文档将其 Host 部分描述为惰性模块。
数据处理
  • 不写入文件,也不会向会话日志添加内容。
  • 预览状态仅保存在内存中,并在会话结束时丢弃。
外部服务
  • Markdown 预览可加载绝对 HTTP(S) 图片;相对工作区图片保持惰性,不会加载。
凭据
  • 未声明插件专用凭据。

局限

  • 仅适用于 Web:无浏览器的 headless 和 SDK profile 不会显示标签页。
  • 仅供预览,不能编辑、保存或查看差异。
  • 文本预览最多显示 2,000 行;二进制文件无法预览。
  • JSONC 不会作为 JSON 解析;不受支持的源码后缀以纯文本显示。
  • 不提供搜索、重命名、右键菜单、文件监控或多根目录浏览。

DSHub 已核对

  • 已采集不可变源码提交、bundle patch、npm registry 身份和 MIT 许可证。
  • Bundle patch 会挂载 @jaxzhou/dsh-file-explorer,并说明卸载该层会移除 Files 标签页。
  • Manifest 声明 Node >=22.19.0,以及 @deepseek-ai/cordis ^4.0.2 peer dependency。

DSHub 未核对

  • 本次审查未执行安装或运行时行为验证。
  • 未审计 npm registry 中的包内容。

固定版本安装

安装 DSH File Explorer

这个Plugin Bundle没有 DSH Plugin 安装操作,请根据源码文档使用真实交付方式。

访问源码项目

维护者原文

项目 README

查看 commit 3d52f3b 对应的 README
维护者编写的上游内容原文于 2026/9/12README.md 获取,正文和仓库相对媒体固定到 commit 3d52f3bc7dac,内容哈希为 e97839c57072。以下是未经 DSHub 翻译的上游原文,语言可能与当前页面不同;第三方托管的 badge 可能独立更新。

dsh-file-explorer

npm license

English | 中文

Published on npm as @jaxzhou/dsh-file-explorer — the unscoped name dsh-file-explorer belongs to a different author's plugin.

A Files tab for DeepSeek Harness, beside Chat and Trajectory: the session workspace as a tree, and a preview that adapts to what the file is — rendered Markdown, a JSON tree, highlighted source, an image, or plain text. Read-only, no configuration, nothing stored.

dsh plugin --profile web add @jaxzhou/dsh-file-explorer
dsh --profile web

Demo

The Files tab beside Chat and Trajectory: a workspace tree on the left, and
on the right a preview that highlights source, renders Markdown and JSON, and
offers a Rendered/Source toggle

30 seconds — click for the full-quality MP4.

What you get

The left pane is the session's working directory, listed one level at a time, directories first. An expanded level stays expanded while you move between preview tabs.

Clicking a file opens it in a tab, so several files stay open at once — each with its own body and its own wrap setting. A file that is already open is focused rather than reopened, tabs whose names collide show their directory, and the tab's × or a middle click closes one.

The right pane picks each tab's body from the file:

Category Preview
Markdown Rendered GFM — headings, tables, task lists, quotes, math, footnotes, highlighted code fences — with a Source toggle
JSON A collapsible tree with per-value copy, and the same toggle
Source code Syntax highlighting, line numbers, and a copy button for 24 grammars: TypeScript/JavaScript, shell, Python, Ruby, Go, Rust, Java, C, C++, C#, Kotlin, Swift, PHP, YAML, TOML, INI, HTML, CSS, SCSS, Less, SQL, XML, Lua, MDX
Images PNG, JPEG, GIF, WebP, AVIF, BMP, ICO and SVG, drawn to the pane. An SVG goes through <img>, so its scripts never run
Anything else Numbered plain text — an unmapped suffix (.vue, .proto, .txt) stays plain rather than guessing a wrong grammar

Text previews wrap at their spaces and keep every word whole; an image reads its complete bytes. Every text body carries a Copy control in the pane's toolbar, which copies the file's own text — a rendered Markdown document copies its Markdown source.

Requirements

DeepSeek Harness 0.1.5-rc.2 on the Web surface — dsh web, or a profile composed from @deepseek-ai/dsh-base + @deepseek-ai/dsh-web-app. A headless or SDK profile has no browser and gets no tab. The plugin declares no configuration, so nothing in cordis.yml needs setting.

Install

dsh plugin --profile web add @jaxzhou/dsh-file-explorer
dsh --profile web                 # bundle membership is read at startup

A custom profile needs the Web composition first:

dsh --profile myprofile --from-default-profile web
dsh plugin --profile myprofile add @jaxzhou/dsh-file-explorer
dsh --profile myprofile

Prefer a checkout or a git ref? Nothing needs building — the runtime artifacts are committed:

dsh plugin --profile web add /path/to/dsh-file-explorer
dsh plugin --profile web add github:jaxzhou/dsh-file-explorer

Then open a session that has a workspace and click Files. To confirm the layer landed:

dsh --profile web --dump-config | grep -A 2 jaxzhou-file-explorer

Disable or uninstall

Disable the tab without uninstalling by adding an override to the profile's cordis.patch.yml — it is applied after every bundle layer, and a patchReload: live profile picks it up without a restart:

- id: jaxzhou-file-explorer
  disabled: true

Uninstall with dsh plugin --profile web remove @jaxzhou/dsh-file-explorer, then restart the profile.

Privacy

  • Read-only. Reads go through the harness's own workspaceFiles Remote namespace; the Host's filesystem decides what is readable. The plugin holds no file access, no path resolution, and no credentials of its own.
  • Nothing stored. No disk writes and nothing added to the session log; view state lives in memory and is discarded with the session.
  • Inert Host half. The package's Node side registers no service, tool, prompt section, or event.

Known limitations

  • Preview only — no editing, saving, or diffing.
  • Strict JSON. Comments or a trailing comma make a file JSONC, which JSON.parse rejects — tsconfig.json is the common case. The pane says so and shows the highlighted source instead of guessing at a tree.
  • Text previews stop at 2 000 lines, with a truncation note and no "load more"; binary files report why they cannot be shown.
  • Fixed grammar set. A suffix the shared highlighter does not carry is plain text, never an approximation.
  • Listing only — no search, rename, context menu, or file watching; a level refreshes through Reload.
  • Loaded previews are bounded. A working set of five tabs keeps its content; an older tab stays open and reads again when you return to it.
  • One root. The tree is rooted at the session's working directory, and the Host refuses directory listings outside the workspace root.
  • Markdown has no workspace vocabulary. Relative image paths and file mentions stay inert; only absolute http(s) images load.

Contributing

Build, checks, the artifact model, and how the client bundle reaches the browser: CONTRIBUTING.md.

License

MIT — see LICENSE.

有意识地管理

安装与管理

前置条件与目标 Profile

目标 Web Profile

交付方式 Git Bundle — jaxzhou/dsh-file-explorer#3d52f3bc7dac2ffecc39ad7f8d8ed0b77ee8529b

验证、更新与移除

显示生命周期命令
验证
dsh plugin --profile web list

兼容性与访问范围

DeepSeek Harness Web surface required DeepSeek Harness 0.1.5-rc.2; Node >=22.19.0

检查兼容性证据

风险事实

workspace-data-access

Displays files that the Harness workspace-files namespace makes readable.

证据
remote-content

Markdown previews may load absolute HTTP(S) images.

证据
证据与编辑审查Manifest、Bundle patch、分发与新鲜度

不可变证据

审查状态与源码活动

AI 已审查

请使用带作用域的包名 @jaxzhou/dsh-file-explorer;README 说明不带作用域的名称属于另一位作者。

AI 审查于 2026/9/12 UTC 14:24GitHub 事实核对日期: 2026/9/12 UTC 14:24

自当前证据基线以来,没有记录到重要源码变化。

下一步

按 Plugin 安装流程操作

订阅重要变化: DSH File Explorer