
Security News
Rust 1.100 Will Add Dependency Cooldowns to Cargo
Rust 1.100 will add opt-in dependency cooldowns to Cargo, giving security scanners and maintainers time to catch malicious crate releases.
dsh-dir-tree
Advanced tools
浮窗工作区目录树插件:拖拽路径、懒加载、搜索。Floating workspace directory-tree with drag-drop paths.
简体中文 | English
DeepSeek Harness (DSH) 浮窗工作区目录树插件:拖拽文件/文件夹路径到对话框、懒加载、搜索、文件类型图标,切换工作区/会话自动跟随。
📚 三形态完整展示仓库(动态/持久化/标准 bundle 的安装与原理对比):dsh-plugin-dir-tree
▶ 展开子目录,大目录不卡顿
右下角浮窗「📁 当前工作区」,顶部是完整路径,下面是树形目录:文件夹蓝色 + 📁 图标 + ▶ 展开箭头,文件带类型图标。

拖拽任意文件/文件夹节点到对话框输入框,自动填入完整路径。

点击文件夹的 ▶ 展开子目录,只加载当前层,大目录不卡顿。

点 − 或 × 后浮窗收起,右下角出现蓝色「📁 目录树」按钮,点击恢复。
这是 DSH 的标准 bundle,用 dsh plugin add 安装,无需源码 checkout、无需改内置包、无需创造模式。
方式 A:全局安装(推荐,日常使用)
npm install -g @deepseek-ai/dsh
方式 B:npx 临时运行(不安装,偶尔试用)
npx @deepseek-ai/dsh web
| 方式 A:全局安装 | 方式 B:npx 临时运行 | |
|---|---|---|
| 是否安装到系统 | 是,永久安装 | 否,按需临时下载运行 |
| 命令形式 | dsh ...(直接可用) | npx @deepseek-ai/dsh ... |
| 首次启动 | 快 | 较慢(首次需下载包) |
| 版本 | 固定为全局安装的版本(需手动更新) | 通常为 npm 最新版 |
| 适用场景 | 日常使用 | 偶尔试用、不想污染环境 |
两者共用同一个
$DSH_HOME(默认~/.dsh)和 profile 目录,插件/会话/配置完全互通,不影响下面插件的安装与使用。
dsh plugin --profile web add github:bentong-chain/dsh-dir-tree
首次会提示在 profile 的 pnpm-workspace.yaml 加构建授权:
allowBuilds:
dsh-dir-tree: true
复制后重新执行 dsh plugin --profile web add github:bentong-chain/dsh-dir-tree。
dsh web 是 dsh --profile web 的硬编码别名,完全等价;三种写法启动的都是同一个 web profile(~/.dsh/profiles/web):
# 方式 A:全局安装后(推荐)
dsh --profile web # 或等价的别名:dsh web
# 方式 B:npx 临时运行(等价于上面)
npx @deepseek-ai/dsh web
无论用哪种方式启动,插件都会正常加载,不受启动方式影响。
也可发布到 npm 后用
dsh plugin --profile web add dsh-dir-tree安装。
dsh --profile web / dsh web / npx @deepseek-ai/dsh web)后,右下角出现「📁 当前工作区」浮窗▶ 展开子目录−/× 最小化,右下角按钮恢复dsh-dir-tree/
├── package.json # dsh.bundle + dsh.client + prepare 构建脚本
├── cordis.patch.yml # 插入插件行
├── index.js # Host 半(connection.rpc.handle + node:fs 列目录)
├── client.js # Client 半源码(浮窗 UI + connection.rpc.call)
├── client.bundle.js # 构建产物(prepare 生成,不提交)
├── build.mjs # prepare 脚本:esbuild 打包 client.js
└── docs/ # README 截图(主界面/拖拽/懒加载/最小化)
ctx.connection.rpc(第三方可用的 Client→Host 通道),不依赖 api-remotes、不依赖 Typert 代码生成。ctx.sessions 拿当前会话 cwd 传给 Host;切换工作区/会话时响应式刷新。node:fs 的 readdir({ withFileTypes: true }) 直接拿 Dirent.isDirectory(),不做逐条 stat,大目录不卡。exports 必须导出 ./package.json:client-modules 用 require.resolve('<pkg>/package.json') 定位包;只要定义了 exports 字段,未列出的子路径就解析失败,client 半会被静默跳过(不报错、不进 window.__DSH_BOOT__)。务必带上 "./package.json": "./package.json"。import React from 'react':持久化 client bundle 里 React 不是全局变量,要靠 require('react') 从浏览器模块表取(react 是平台模块之一);直接引用全局 React 会在 apply 时 ReferenceError。MIT
FAQs
浮窗工作区目录树插件:拖拽路径、懒加载、搜索。Floating workspace directory-tree with drag-drop paths.
The npm package dsh-dir-tree receives a total of 86 weekly downloads. As such, dsh-dir-tree popularity was classified as not popular.
We found that dsh-dir-tree demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Rust 1.100 will add opt-in dependency cooldowns to Cargo, giving security scanners and maintainers time to catch malicious crate releases.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.