DeepSeek Harness plugin

dsh-file-review-ylwa

File Explorer for DeepSeek Harness: resizable file tree with context-menu ops, Shiki-powered editable editor, and auto-refresh

Jump to install

Source facts

Repository
ylw-a/dsh-file-review
Latest update
Aug 16, 2026
Category
Tools & Capabilities
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/ylw-a/dsh-file-review
Plugin: dsh-file-review-ylwa
Author: ylw-a

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-file-review

File Explorer for DeepSeek Harness — a resizable file tree with context-menu file operations, a Shiki-powered editable code editor (preview = editing), Markdown source/render switching, and auto-refresh of the directory tree.

Features

  • File tree sidebar (dockable left/right, resizable 220–900px): lazy-loaded directories, expand/collapse all, search across the workspace.
  • Context menu: 剪切 / 复制 / 粘贴 / 复制绝对路径 / 复制相对路径 / 重命名 / 删除到回收站 / 新建文件 / 新建文件夹 / 刷新 / 在 VS Code 中打开.
  • Unified editor (Shiki syntax highlighting + direct editing in one view, no preview/edit split): debounced highlighting, scroll-synced textarea ghost overlay, Ctrl/Cmd+S save, dirty-tab close confirmation.
  • Markdown: syntax-highlighted source editing by default, with a 渲染/编辑 toggle into a read-only render view (official MarkdownText).
  • Auto-refresh: the visible tree polls every ~2s and only re-renders when entry signatures change; manual refresh button kept as fallback; write operations refresh immediately.
  • Dual hosting: floating editor window when there is no session; a fixed 文件 parent tab (对话 | 轨迹 | 文件) once a session exists — shared store, nothing lost when switching tabs.
  • Deletion goes to the Windows Recycle Bin (PowerShell Microsoft.VisualBasic), never permanent.

Install

Requires a local DeepSeek Harness profile (web). Build first, then add the package:

npm install
npm run build
dsh plugin --profile web add -w <path-to-this-package>

Then restart the harness. The host half mounts the file-explorer plugin and registers the /plugins/file-explorer/* routes; the client half renders the panel, the sidebar toggle, and the editor.

> lib/ and docs/ are build artifacts / local design docs and are not committed (see .gitignore). Rebuild after changing src/.

Development

npm install          # devDependencies only (esbuild, shiki, typescript…)
npm run build        # esbuild → lib/index.js (host ESM) + lib/client.js (client bundle)
  • Host half (src/host/): services → paths → recycle/vscode → ops → routes → index. All writes go through node:fs/promises after fs.resolve/fs.processPath canonicalization.
  • Client half (src/client/): api → store → highlighter/languages → styles → autoRefresh → components → slots/measure → index. Components never fetch directly and never touch ctx; the shared route contract lives in src/shared/contract.ts.
  • The client bundle inlines shiki (JavaScript regex engine, no WASM) with a fixed ~25-language set; colors follow the DSH theme through --shiki-* CSS variables.

License

MIT