dshbase

插件目录 / Developer / dsh-sidebar-files

dsh-sidebar-files

未验证 Fallen0543

✓ 持续维护 基于 7 个官方 DSH 包

查看 GitHub ↗ ← 返回插件目录

2Stars
1Forks
0未关闭 issue
语言
2026-08-15最近推送
跨平台平台

功能简介

DeepSeek Harness 侧边栏文件树插件:会话/文件标签栏 + 懒加载文件树,按扩展名彩色图标、复制路径、发送给 Agent。A sidebar file tree plugin for DeepSeek Harness: Sessions/Files tabs, lazy tree, per-extension icons, copy-path and send-to-agent.

我们的评价
未验证 — 尚未实测

DeepSeek Harness 侧边栏文件树插件:会话/文件标签栏 + 懒加载文件树,按扩展名彩色图标、复制路径、发送给 Agent。A sidebar file tree plugin for DeepSeek Harness: Sessions/Files tabs, lazy tree, per-extension icons, copy-path and send-to-agent. 尚未验证——请自行安装测试。

「未验证」表示我们的自动化 CI 尚未安装过该插件。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

你是插件作者? 想拿到「已验证」标签——提交你自己的验证证据(截图、日志或短视频),我们审核通过后即改为「已验证」。

提交验证证据 ↗

README

dsh-sidebar-files

English | 中文

npm version
License: MIT

A sidebar file tree for DeepSeek Harness. Adds a Sessions / Files tab strip to the left sidebar and an inline, lazy-loaded file tree over the active workspace — with per-extension brand icons, copy-path, and send-to-agent actions.

Files tab in the sidebar

Hover a file row for two actions — copy path and send to agent:

Copy path
Copy path
Send to agent
Send to agent

Plugin status. Built and verified against the published harness (0.1.0-rc.6, the web profile). It runs entirely as an out-of-tree bundle: the node half serves directory listings through its own HTTP route, the browser half renders the tree. No core changes required.

Features

  • Sessions / Files tab strip injected below the New Session button (wide sidebar). The tree renders inline in the sidebar region — same presentation as the harness's own browsing surfaces.
  • Lazy listing: one directory level is fetched on demand (the workspace root on open, a directory on first expand), through the plugin's own GET /dsh-sidebar-files/list?path=… route. Wire cost follows what you actually open.
  • Per-extension icons: 47 brand-style glyphs for common extensions (ts/js/json/yml/yaml/css/html/md/ico/png/zip/log/…), plus a generic document fallback. Icon path data from Material Icon Theme (MIT, © Material Extensions 2025) — see LICENSE.
  • Hidden by default: dot-led names, node_modules, and .git are filtered out; the 显示隐藏项 toggle reveals them. node_modules/.git stay hidden until the toggle is on.
  • Row actions (hover): copy path (with one-second "copied" feedback) and send the file to the current session's agent (a queued "please read this file" prompt).
  • Resilient fallback: if the shell's sidebar structure is ever unrecognizable, the plugin degrades to a footer action button + centered modal instead of the tab strip — never a blank screen.
  • Bilingual (中文 / English), following the harness locale.

Install

Requires the dsh CLI (npm i -g @deepseek-ai/dsh) and pnpm.

What is a profile? A profile is one runnable composition of the harness — a named instance with its own set of plugins. Profiles live under $DSH_HOME/profiles/<name> (e.g. ~/.dsh/profiles/web). --profile <name> tells the dsh CLI which instance to operate on; replace <name> with your own (the classic example is web).

# from any directory — installs the published package from npm
dsh plugin --profile web add dsh-sidebar-files

If a profile with that name does not exist yet, the command initializes it on first use. Restart the harness with the same profile name and the 会话 / 文件 tabs appear in the sidebar:

dsh --profile web

If the profile is a fresh one, also add the web app bundle first: dsh plugin --profile web add @deepseek-ai/[email protected] (or use the built-in web profile template that ships with the CLI).

Alternative installs

Local checkout or prebuilt tarball (no registry needed):

dsh plugin --profile web add ./dsh-sidebar-files           # local checkout (uses prepare)
dsh plugin --profile web add ./dsh-sidebar-files-0.1.0.tgz # prebuilt tarball

From GitHub (github:Fallen0543/dsh-sidebar-files) — fetches sources; the package's prepare script then builds lib/ from source, self-contained (no monorepo checkout needed). pnpm ≥10 refuses to run a git dependency's prepare script until you allowlist it — copy the exact package key pnpm printed into the profile's pnpm-workspace.yaml:

allowBuilds:
  dsh-sidebar-files: true

and re-run the add. Only allow packages whose source you trust, and prefer pinning a commit (github:Fallen0543/dsh-sidebar-files#<sha>). Installing from npm or a tarball needs no build permission.

Development

pnpm install
pnpm test        # unit tests: listing logic, sidebar-host probing/injection, panel behavior
pnpm run typecheck
pnpm run build   # lib/index.js (node) + lib/client.js (browser bundle)

The browser bundle is a CommonJS closure-factory artifact (window.__ModuleLoader__.load({…})) with the harness's platform modules external, so it loads through the web shell's module table; CSS modules are compiled in with lightningcss.

How it works

  • cordis.patch.yml inserts one host row (id: sidebar-files) that mounts the node half.
  • The node half (src/index.ts) registers a web-server route prefix /dsh-sidebar-files; GET /list?path= lists one directory level (directories first, then files; bounded to the first 1000 entries) and returns { path, entries, truncated } — errors are 400 with a machine-readable code.
  • The browser half (dsh.client declaration, ./client export) registers into the harness's sidebar.footer.action slot, then locates the sidebar column at runtime from its own trigger button and injects the Sessions/Files tab strip and the inline tree region (see src/client/sidebar-host.ts). When the shell structure is unrecognizable, the footer button + modal fallback takes over.
  • The active workspace path is derived from the session/workspace stores (current session's workspace, else recent, else first) through selector hooks, exactly like the harness's own browsing surfaces.

License

MIT — see LICENSE. File-type icon glyphs are derived from Material Icon Theme (MIT, © Material Extensions 2025); the attribution and copyright notice are preserved in src/client/file-type-icons.tsx.

安装

🧩 让 Agent 自动装(推荐)

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

dsh plugin add dshbase-catalog

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

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:Fallen0543/dsh-sidebar-files

Headless(CLI)profile:

dsh plugin --profile headless add github:Fallen0543/dsh-sidebar-files

实测报告

尚未 L3 验证——若已跑过,见下方失败备注。

状态:pending · 最近测试 2026-08-26 · 标记 webonly
备注:验证: web-only;待 L4 web CDP;L4 web CDP runtime-fail on dsh 0.1.0-rc.8. 浏览全部待验证失败 →
安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7789 个插件 →