跳到主内容

dsh-wsl-workspace 使用指南

在 DSH Web 中添加 WSL 工作区,将 bash 与文件读写委托给本地 WSL 发行版,路径统一为 Linux 形式,WSL 内免装工具链。

本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。

本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。

快速上手

dsh-wsl-workspace

— 源: plugin_wiki.wiki_content

安装与验证

dsh plugin --profile web add dsh-wsl-workspace

复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。

— 源: plugins.install

关键要点

  • 回退源码编译:仅在预编译不可用/无法加载时才从源码重建,此时需要 CMake 与 C/C++ 编译器(Windows 下默认 Clang,MSYSTEM 环境用 MinGW)。这是 koffi 自身的标准行为;本插件本身不构建、也不携带任何原生代码。
  • bash 工具:以配置的用户名在 WSL 发行版内运行(留空 = 发行版默认用户,通常为 root),可对发行版内任意路径读写。Windows 的 ACL 沙箱无法包裹 wsl.exe(子进程运行在 Linux 内核侧),WSL 自身即隔离边界,DSH 文件策略不作用于 bash。
  • 文件工具(read/write/edit):经 Windows 侧的 WSL 9P 共享访问,受 DSH 文件策略约束。workspace-write 下读可到任意位置、写仅限会话工作区;改为 danger-full-access 后工作区外也可写入。用户名设置不影响文件工具。
  • wsl.exe 在发行版尚未启动时向 stderr 打印的 localhost 端口转发提示(乱码但无害)可忽略。
  • 模式变体:DSH 自带的每一个模式(标准、PTC、极简、创造,以及实验性的 Anchored Standard 等),本插件都会额外生成一个对应的 wsl-<模式> 变体。原始模式照常可用、不受影响;WSL 变体只是让同一模式运行在 WSL 执行环境里。

— 源: plugin_wiki.readme_zh (fallback readme_raw)

常见问题

这个插件是做什么的?

它让你在 DeepSeek Harness Web 界面里把"工作区"指向本机上的 WSL 发行版,随后该会话里的 bash 命令和文件读写都改在 WSL 内部执行,模型看到的所有路径都是 Linux 形式(如 /home/me/proj),无需在 WSL 内安装任何工具链。

必须在 WSL 发行版里安装 Node、Python、Docker 吗?

不需要。WSL 发行版只要有标准的 bash 即可,文件读写走 Windows 侧的 9P 共享、bash 走 wsl.exe;如果你的工作需要特定工具(例如 apt install python3),在 WSL 内自己装即可。

Windows 文件在 WSL 会话里能用吗?

能。Windows 文件在 WSL 会话里以 /mnt/ 路径暴露(如 /mnt/c/Users/...),模型可以直接访问,也可以在 WSL 文件和 Windows 文件之间互相拷贝。

用户名(username)字段设置谁?有什么副作用?

用户名是 WSL 发行版里的 Linux 用户,等价于 wsl.exe -u <用户名>;它只影响 bash 命令的运行身份,不影响 read/write/edit 文件工具。如果你留空,则使用该发行版的默认用户(通常是 root)。

bash 命令受 DSH 的文件策略(workspace-write 等)限制吗?

不受。WSL 的 bash 子进程运行在 Linux 内核侧,Windows 的 ACL 沙箱无法包裹 wsl.exe,所以 WSL 自身就是隔离边界;DSH 的文件策略只作用于文件工具(read/write/edit),不作用于 bash。

数据存在哪里?怎么清理工作区?

每个工作区填写的用户名存到 /wsl-workspaces.json;删除对应条目(或重新打开对话框重建)即可恢复为默认用户,DSH 工作区本身按 DSH 自己的清理方式处理。

和 VS Code 的 Remote-WSL 体验相比有什么不同?

思路类似——把本地 shell 文件操作转到 WSL 内执行,但不需要在 WSL 里装 vscdoe server,也不依赖 VS Code;你在 DSH Web 里就能从会话内直接看到 Linux 路径。

这个插件在 macOS 或 Linux 上能用吗?

不能。宿主端会调用 wsl.exe、reg.exe,并依赖 \wsl.localhost\ 这条 9P UNC 共享,这些都是 Windows 上的 WSL 特性;插件目前只能在 Windows 主机上运行。

— 源: plugin_wiki.faq_json

兼容性

  • DSH: 未声明
  • Node: 未声明
  • Platforms: Windows

— 源: plugin_wiki.compatibility_json

踩坑提醒

安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。

— 来源:通用规则