DeepSeek Harness 插件

No-PRM/dsh-explorer#dsh-explorer

Star 数 ★ 5 分类 Git 与代码评审 收录于 2026-08-16

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

安装

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:No-PRM/dsh-explorer#path:/dsh-plugins/dsh-explorer

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

English · 中文

dsh-explorer

文件树侧栏的宿主端插件(基于 dsh web 服务器的只读 JSON 接口)—— 浏览器端唯一能读写本地文件系统与 git 的桥梁。

接口

接口 用途
GET /filetree/list?path=<绝对路径> 列出单层目录:{ ok, path, entries: [{ name, kind, size, mtime, hidden }], truncated }。目录优先、大小写不敏感排序;点文件标记 hidden;有界并发 stat 池(48 worker)。
GET /filetree/root 宿主进程的 cwd({ ok, cwd })。
GET /filetree/read?path=<绝对路径> 读取文件用于预览:512 KB 上限(truncated)、NUL 字节二进制检测、UTF-8 内容。
GET /filetree/search?path=<绝对路径>&q=<关键词> 递归按文件名搜索(有界:4000 次扫描 / 200 结果 / 深度 14;跳过 .git 和 node_modules)。
GET /filetree/raw?path=<绝对路径> 为媒体预览流式输出文件(image/*video/*audio/*、PDF):正确 content-type、Accept-Ranges + Range 断点支持(206 分段响应,视频可拖动进度)。无大小上限。
GET /filetree/gitdiff?path=<绝对路径> 供预览对照用的 HEAD 与工作区内容:{ ok, git, base, current, same, binary }(512 KB 上限,二进制 → 空)。
GET /filetree/gitstatus?path=<绝对路径> 供 git 装饰用的状态:{ ok, git, root, entries: [{ path, status, x, y }], truncated? }。状态字母 A/M/D/R/C/U/T(I = 忽略);通过 rev-parse --show-toplevel 向上找仓库根;忽略项来自折叠的 --ignored 扫描(即使忽略树巨大也很快);2 秒 TTL 缓存。非仓库/无 git → { git: false }
  • 只接受绝对路径(相对路径返回 400 invalid-path)。
  • 损坏的符号链接 / 不可读子条目会降级为一行,而不是让整个列表失败。
  • 每次只列一层 —— 浏览器按需懒加载。
  • 纯 GUI 只读面:不会进入模型上下文。
  • 零运行时依赖(仅 node:fs、node:path、node:child_process)。

安装

通过 web profile 的 cordis.patch.yml 挂载为一行 cordis 配置:

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

包位于 ~/.dsh/profiles/web/node_modules/dsh-explorer(profile 的解析根目录)。

免重启部署提示: 宿主代码改动不会热重载。要让改动无需重启即生效,把包名递增(例如复制为 dsh-explorer-v1 并更新上面的 name:),新的模块 id 会在下次补丁重放时加载;直接重启也可以。

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →