dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Enhanced DSH workspace directory picker plugin
Enhanced Workspace Directory Picker for DeepSeek Harness 为 DSH“选择工作区”面板增加跨盘符/挂载点浏览、面包屑一键跳转、手动输入模式,以及无权限/系统目录视觉提示。
An enhanced workspace directory picker for DeepSeek Harness: cross-drive / mount-point browsing, clickable breadcrumbs, manual path mode, and visual indicators for inaccessible and system-sensitive directories.
为 DeepSeek Harness (DSH) 的“选择工作区”目录选择器提供增强能力。它通过 DSH 官方 UI 插槽注入,不修改 DSH 核心代码,也不修改原生日录选择器源码;卸载后原界面可完全恢复。
This plugin enhances the DSH "Select Workspace" directory picker through the official DSH UI slot system. It does not modify DSH core code or the original directory-picker source, and the original UI is fully restored after uninstall.
C:、D: 等盘符/ 根目录开始,显示 /mnt、/media、/Volumes 等挂载点/ 再点一次,回到“此电脑”/根目录列表此电脑 > C: > data > helper > Programming\ 与 Unix / 路径分隔符C:, D:/ and see mount points such as /mnt, /media, /Volumes/, go back to "This PC" / the root listThis PC > C: > data > helper > Programming\ or Unix / separators已针对 DSH 0.1.7 复核(同时兼容 0.1.5):宿主与 slot 契约原样可用,客户端图标导出需要一处适配。
webServer.register({ kind: 'exact', path, handler(req, res) }) 契约未变(WebRoute)。conversation.hero.workspace.directoryFlow / sidebar.workspaces.directoryFlow 仍是 single slot,owner props 仍是 open / busy / onPicked / onCancel(0.1.7 另加 onError,本插件不使用)。priority: -1:0.1.7 的 slot 规则只拒绝相同 priority 的重复注册,且渲染取 priority 最小者,因此本插件依旧是赢家。dsh.client.inject 依赖的 @deepseek-ai/dsh-client-* 包在 0.1.7 中同名存在。@deepseek-ai/dsh-client-ui-primitives 的图标从像素尺寸后缀(IconFolderOpen16 / IconChevronUpOutline14 …)改成了描边粗细后缀(…Regular / …Medium)。客户端半包现在两代都探(primitives[modern] ?? primitives[legacy]);旧写法在新版会解构成 undefined,React 报 error #130、slot 崩溃,界面上只是“没反应”而不报错。English: verified against DSH 0.1.7 — the host WebRoute contract, both directory-flow single slots and the priority: -1 override rule are unchanged; the client half needed one adaptation because ui-primitives renamed its icon exports from pixel suffixes (…16/…14) to stroke-weight suffixes (…Regular/…Medium). The bundle now resolves either generation at runtime, so one build works on 0.1.5 and 0.1.7+.
⚠️ 当前插件仍在测试阶段。请先在隔离沙盒、模拟环境或 DSH 测试实例中完整验证,再部署到生产环境或公开发布。
⚠️ This plugin is still in testing. Please validate it in an isolated sandbox, simulation environment, or a DSH test instance before deploying to production or publishing.
dsh plugin --profile web add /path/to/dsh-workspace-picker-enhance
安装后重启 DSH Web 生效。
Restart DSH Web after installation.
dsh plugin --profile web add github:<your-username>/dsh-workspace-picker-enhance
dsh plugin --profile web remove dsh-workspace-picker-enhance
卸载并重启后,原生日录选择器界面自动恢复。
The original directory picker UI is restored after uninstall and restart.
/plugins/workspace-picker-enhance/*,不占用其它插件命名空间/plugins/workspace-picker-enhance/* and do not conflict with other plugins| Part | File | Mechanism |
|---|---|---|
| Host routes | lib/index.js | Registers /plugins/workspace-picker-enhance/roots and /list; provides drive/mount enumeration, permission checks, and system-directory flags |
| Browser UI | lib/client.js | Discovered by dsh-client-modules via dsh.client.platform: web; registers to conversation.hero.workspace.directoryFlow and sidebar.workspaces.directoryFlow with priority: -1 to shadow the original picker |
cordis.patch.yml is the bundle patch layer: it inserts the workspace-picker-enhance row when the bundle is listed in the profile.
/usr)单次最多返回 1000 条,超出部分会标记 truncated: true,不会自动分页fs.access 对目录权限的判断是尽力而为,🔒 无权限提示可能不如 POSIX 精确.config 这类目录/usr) return at most 1000 entries per request; extra entries are marked truncated: true and are not paginated yetfs.access is best-effort; the 🔒 indicator may be less precise than on POSIX.config remain selectabledsh-workspace-picker-enhance/
├── package.json
├── cordis.patch.yml
├── README.md
├── lib/
│ ├── index.js # Host: HTTP routes + filesystem metadata
│ └── client.js # Browser: enhanced directory browser UI
└── test/
└── plugin.test.mjs # Automated tests
运行测试 / Run tests:
npm test
MIT