N5Tar/dsh-workspace-view

N5Tar★ 0TypeScript最后同步: 2026-08-19

在 GitHub 打开

deepseek session workspace viewer

README 摘要

dsh-workspace-view 简体中文 · English dsh-workspace-view 是一个面向 DeepSeek Harness Web GUI 的工作区文件浏览插件。它在页面右侧提供一个默认展开的文件树抽屉,用于查看当前会话所属工作区的目录与文件。 功能特性 - 在页面右侧显示全高文件树抽屉 - 根据当前 Session 自动切换工作区 - 按需加载目录内容,避免启动时递归扫描整个仓库 - 目录优先、文件随后,并按名称排序 - 支持展开和折叠文件夹 - 支持刷新当前文件树 - 支持显示或隐藏点文件 - 关闭后收缩为页面右侧的窄把手 - 提供中文和英文界面文案 - 使用 DSH Theme Token,自动适配宿主主题 - 包含加载、空目录、无会话、截断和错误状态 运行要求 - Node.js 版本应符合 DeepSeek Harness 的运行要求 - pnpm - 用于安装和运行插件的 DeepSeek Harness 环境 插件自身的安装、测试和构建使用已发布的依赖版本,不要求源码仓库与 deepseek-harness checkout 并列放置。只有将本地包安装到 DSH 或使用临时 Patch 启动时才需要提供 Harness 路径。 设计与架构 本插件遵循 DSH 的 Cordis 插件模型,由 Host 和 Client 两部分组成。 Host Host 插件注入以下服务: - webServer :注册只读目录查询接口 - sessions :根据 Session id 获取由 Host 管理的权威工作区路径 Host 不接受客户端指定工作区根目录。每次目录查询都会: 1. 根据 Session id 从 Session Store 获取 cwd 。 2. 对工作区根目录和目标目录执行 realpath 。 3. 使用 relative 验证目标目录没有越出工作区。 4. 打开目录后再次校验真实路径,拒绝验证与打开阶段之间发生的路径替换。 5. 按配置限制扫描量和返回条目数。 6. 只向客户端返回稳定的公共错误信息。 该流程可阻止 .. 路径穿越和符号链接逃逸。 Client Client 插件注册到 additive shell.overlay Slot,在页面右侧渲染文件抽屉。它不会注册或替换以下 Slot: - sidebar - sidebar.workspaces - sidebar.settings 因此不会移除或覆盖 DSH 原有的工作区、会话和设置界面。 当前 Session 和工作区路径来自 Slot 提供的 useSessions 标准属性。目录在用户展开时按层请求,并会取消已经失效或被刷新取代的请求。 安装 安装到 Web Profile 先完成依赖安装和构建: 使用 DSH 插件管理命令将本地包…

在 GitHub 查看完整 README →
工具/开发dsh-harnessdsh-plugin

分类