New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

dsh-enhance-workspace

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dsh-enhance-workspace

DSH web plugin: enhance the workspace panel with multi-directory (multi-root) workspaces — group several directories as one workspace, pick one when starting a conversation, and edit roots in place.

latest
Source
npmnpm
Version
0.1.2
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

dsh-enhance-workspace

一个运行在 DeepSeek Harness (DSH) 里的工作区增强插件:把「一个工作区只能放一个目录」升级为「一个工作区可以挂多个目录」(multi-root workspace),并提供管理工作区的界面。

以**标准 Cordis 插件(npm 包)**形式分发,可通过 dsh plugin add 一键安装、重启后依然生效。

功能

  • 多目录工作区:一个工作区由一组有序目录组成,第一个目录是主工作目录,其余是它同时覆盖的兄弟目录。
  • 管理界面:会话主区新增「工作区」标签页,列出所有多目录工作区,支持新建、编辑(增删目录、调整顺序、改名)、删除。
  • 启动会话:每个工作区卡片上的「启动」按钮,在工作区的主目录里新建一个会话并切过去。
  • 目录唯一性:同一个目录只能属于一个多目录工作区,冲突会被拒绝并给出明确报错。
  • 持久化:工作区列表持久化到 ~/.dsh/enhance-workspace.json,重启 DSH 后保留。

安装

从 GitHub 安装(推荐)

dsh plugin --profile web add git@github.com:yangshen830-eng/dsh-enhance-workspace.git

从本地目录安装

dsh plugin --profile web add file:/path/to/dsh-enhance-workspace

从 npm 安装(发布后)

dsh plugin --profile web add dsh-enhance-workspace

安装后重启 DSH(dsh web --profile web)即可在会话主区看到「工作区」标签页。

目录结构

dsh-enhance-workspace/
├── lib/
│   ├── index.js           # Host 端:多目录工作区注册表 + /enhance-workspace RPC + JSON 持久化
│   ├── registry.js        # 纯领域逻辑(注册表),零依赖、可单测
│   └── client.js          # Client 端:「工作区」标签页,经 RPC 调用 Host
├── tests/
│   └── registry.test.js   # registry 单元测试(node --test)
├── cordis.patch.yml       # dsh.bundle.patch:把 Host 端插件行 insert 进 profile
├── package.json           # dsh.bundle.patch + dsh.client 声明
├── install/INSTALL.md
├── README.md
└── LICENSE

架构

DSH 浏览器插件由两半组成,通过 npm 包的 dsh 字段声明挂载:

  • Host 半(lib/index.js):标准 Cordis 插件,inject: ['connection'],在 apply 里用 ctx.connection.rpc.handle('/enhance-workspace', handler) 暴露私有 JSON RPC(list / create / rename / delete / setRoots)。注册表逻辑在 lib/registry.js,与 DSH 运行时解耦,便于单元测试。
  • Client 半(lib/client.js):通过 window.__ModuleLoader__.load(...) 注册 conversation.view 标签页,用 connection.rpc.call('/enhance-workspace', ...) 调用 Host。

测试

node --test tests/

已知限制

  • 当前版本提供管理工作区的界面、持久化与会话启动;侧边栏的多目录分组、新建会话时的空态选择器(sidebar.workspaces / conversation.hero.workspace)是 DSH 核心的 single 插槽,由核心的 ui-workspace 独占,独立插件无法再注入第二个实现,因此本插件以「工作区」标签页承载同等管理能力。
  • 「Agent 在其系统提示里看到多根目录列表」这一行为由 DSH 核心(session 日志 + 沙箱策略)负责,独立插件不复制该核心集成;本插件的「启动」只把主目录设为会话工作目录。
  • 目录唯一性以规范化后的绝对路径为准;符号链接目录会按解析后的真实路径判定。

License

MIT

FAQs

Package last updated on 19 Aug 2026

Related posts