DeepSeek Harness 插件

dsh-explorer

Git 优先的文件树侧栏:VS Code 风格层级线、M/A/U/D/R git 状态装饰、HEAD 与工作区对照预览、媒体预览、拖拽引用(文件/文件夹/选中代码带行号)—— 纯插件。

跳到安装方式

来源信息

GitHub 仓库
No-PRM/dsh-explorer
最近更新
2026年8月16日
分类
Git 与代码审查
GitHub stars
5

安装

默认先复制一段 Prompt,让 Agent 读页面和仓库;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读页面和仓库。

请先不要安装。阅读这个 DeepSeek Harness 插件,说明它解决什么问题、会访问哪些文件、网络或密钥,以及如何安装和卸载。

插件页面:https://deepseekplugins.org/zh/plugins/No-PRM/dsh-explorer~23dsh-explorer
GitHub:https://github.com/No-PRM/dsh-explorer/tree/main/dsh-plugins/dsh-explorer
插件名:dsh-explorer#dsh-explorer
作者:No-PRM
安装命令:dsh plugin --profile web add github:No-PRM/dsh-explorer#path:/dsh-plugins/dsh-explorer

确认前不要执行安装命令。

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器2 个文件
README.md来源说明 · 只读预览

[English](README.md) · [中文](README.zh-CN.md)

dsh-explorer

Host half of the collapsible real-time file-tree sidebar for the dsh web GUI. Read-only JSON endpoints over the dsh web server — the browser client's only bridge to the local filesystem and git.

Endpoints

EndpointPurpose
GET /filetree/list?path=<absolute>List one directory level: { ok, path, entries: [{ name, kind, size, mtime, hidden }], truncated }. Directories-first, case-insensitive sort; dot-entries flagged hidden; bounded-concurrency stat pool (48 workers).
GET /filetree/rootThe host process cwd ({ ok, cwd }).
GET /filetree/read?path=<absolute>Read a file for preview: 512 KB cap (truncated), NUL-byte binary detection, UTF-8 content.
GET /filetree/search?path=<absolute>&q=<query>Recursive basename search (bounded: 4000 scans / 200 results / depth 14; skips .git + node_modules).
GET /filetree/raw?path=<absolute>Stream a file for media preview (image/*, video/*, audio/*, PDF): proper content-type, Accept-Ranges + Range support (206 partial content for video seeking). No size cap.
GET /filetree/gitdiff?path=<absolute>HEAD vs working-tree content for the preview diff: { ok, git, base, current, same, binary } (512 KB cap, binary → empty).
GET /filetree/gitstatus?path=<absolute>Git status for decorations: { ok, git, root, entries: [{ path, status, x, y }], truncated? }. Status letters A/M/D/R/C/U/T (I = ignored); repo root found via rev-parse --show-toplevel; ignored entries from a collapsed --ignored pass (fast even with huge ignored trees); 2 s TTL cache. Non-repo / git-missing → { git: false }.
  • Only absolute paths are accepted (relative paths get 400 invalid-path).
  • Broken symlinks / unreadable sub-entries degrade to a row instead of failing.
  • One level per call — the browser renders the tree lazily.
  • GUI-only read surface: nothing here reaches the model prompt.
  • Zero runtime dependencies (node:fs, node:path, node:child_process only).

Install

Mounted as a cordis row in the web profile's cordis.patch.yml:

- insert:
    - id: filetree
      name: dsh-explorer

The package lives in ~/.dsh/profiles/web/node_modules/dsh-explorer (resolution base of the profile).

> Live-deploy note: host code changes do not hot-reload. To activate an > edit without restarting the app, bump the package name (e.g. copy to > dsh-explorer-v1, update the name: above) — the fresh module id loads > on the next patch re-apply. A restart also works.