← 返回列表
⚠ 装前注意
把 DSH Web 左侧栏的「工作区」重做为文件系统树双模式。核心原则: 工作区 = 目录强绑定——会话的 cwd…
基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/9/8 · 已提供中文文档
把 DSH Web 左侧栏的「工作区」重做为文件系统树双模式。核心原则: 工作区 = 目录强绑定——会话的 cwd 就是它所在的目录,环境真正隔离。
综合分
35.7
GitHub 分
35.7
用户评分
—
★ Stars
7
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add liceses/dsh-workspace-tree未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
信任档位:已验证本站已于 2 天前真实安装成功(L4 · 真实安装)
- 是什么
- dsh 原生插件 · tool
- 装得上吗
- 本站已真实安装成功(L4 · 真实安装,非静态推断)
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 17 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
🟢实装验证通过· 2026/9/24
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/21(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-workspace-tree(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
未发布到 npm registry,仅可从源码安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/21 20:16:03
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成dsh-workspace-tree · 工作区树(v4)
把 DSH Web 左侧栏的「工作区」重做为文件系统树双模式。核心原则:
工作区 = 目录强绑定——会话的 cwd 就是它所在的目录,环境真正隔离。
工作区树总览
工作区模式:工作区按目录层级嵌套(子文件夹直接显示在父工作区下),
会话挂各自工作区,行尾为最近活动时间。
双模式(标题栏切换,选择自动记忆)
| 模式 | 显示 | 用途 |
| --- | --- | --- |
| 文件夹模式 | 完整文件系统目录树(含非工作区的中间目录),工作区节点带会话计数标记 | 浏览目录结构;hover 任意目录可「新建会话」(会话 cwd = 该目录,自动注册工作区)或「添加为工作区」;点击工作区节点 = 纯导航到工作区模式并定位 |
| 工作区模式 | 只显示工作区节点(隐藏中间目录),按目录相对层级嵌套,会话挂各自工作区下 | 管理会话:打开 / 重命名 / 分叉 / 归档;工作区重命名 / 删除 |
v4 新增:搜索过滤
模式切换按钮与「新建会话」之间新增简约搜索框(🔍 图标,输入即过滤,
Esc / ✕ 清空):
- 匹配范围:会话标题 或 文件夹/工作区名,不区分大小写子串
- 工作区模式:隐藏不匹配的会话与整组;命中组强制展开(临时),清空后
还原手动折叠状态
- 文件夹模式:目录按「名字或后代会话是否有匹配」剪枝并强制展开命中
分支;命中的工作区节点下内联列出要展示的会话(名字命中 → 该工作区
全部可见会话,否则仅标题命中的会话),可直接点击打开
- 无任何命中时显示「无匹配会话」空态
为什么重写(v2 → v3)
v2 的自定义逻辑文件夹(不改变会话 cwd)造成了环境不隔离:文件夹只是 UI 归类,
会话里的文件操作仍落在工作区根目录。v3 彻底移除逻辑文件夹模型,树完全由
workspaces[].path 的文件系统层级推导,在目录下新建的会话其 cwd 就是该目录。
架构
| 半区 | 文件 | 职责 |
| --- | --- | --- |
| Host | lib/index.js | 仅保留只读调试路由 /api/dsh-workspace-tree/debug(工作区注册表投影),零持久化 |
| Client | lib/client.js | 树浏览器:双模式渲染、目录树推导(buildDirTree / buildWorkspaceForest)、导航联动、隔离会话创建(sessions.create({cwd})) |
数据源全部来自标准 props(useWorkspaces / useSessions),无额外状态。
交互细节
- 文件夹模式:目录节点点击 = 展开/折叠(chevron 单独点击也可);工作区节点点击 = 切到工作区模式 + 展开该组 + 滚动定位(纯导航,不打断当前会话);hover 操作:工作区节点「+新建会话 / ✎重命名 / 🗑删除」,普通目录「+新建会话(自动注册)/ +添加为工作区」
- 工作区模式:组头「+新建会话 / ✎重命名 / 🗑删除」;会话行保留官方「完成未读」绿色提醒点、运行矩阵动画、等待交互琥珀点
- 展开状态、模式选择均 localStorage 记忆
安装
cd dsh-workspace-tree
dsh plugin add . # 或按部署方式装配 bundle
或通过 dsh-super-injector 运行时注入(免重启):
dev_inject_plugin {"dir": "D:/developing/DSH-plugin/dsh-workspace-tree"}
兼容性
- 路由前缀、patch 行 id(dsh-workspace-tree)唯一;不声明 children slot(避免与官方
sidebar.workspaces.directoryFlow 冲突)
- 以 priority: -1 替换官方浏览器(shadowing 升序、最低渲染)
- 卸载插件后官方浏览器自动恢复,无残留数据(v3 零持久化)