dsh-wsl-workspace 0.2.3 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,47 +1,47 @@
1
- # dsh-wsl-workspace
2
-
3
- [English](README.md) · [中文](README.zh.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [Français](README.fr.md) · [Deutsch](README.de.md) · [Español](README.es.md) · [Português](README.pt.md) · [Русский](README.ru.md)
4
- ![alt text](image-3.png)
5
- Add a WSL workspace from the DeepSeek Harness web GUI and run the whole agent session — bash commands and file reads/writes — inside a local WSL distribution with Linux paths. Nothing needs to be installed inside WSL. The session can reach both WSL and Windows at the same time: bash commands run inside the WSL distribution, while Windows files stay accessible via `/mnt/<drive>` (for example `/mnt/c/Users/...`).
6
-
7
- ## Install
8
-
9
- Pick one of the three ways below, then restart `dsh web`:
10
-
11
- ```powershell
12
- # 1) npm package
13
- dsh plugin --profile web add dsh-wsl-workspace
14
-
15
- # 2) GitHub repository (ships the prebuilt lib/, no local build required)
16
- dsh plugin --profile web add https://github.com/6Mikao9/dsh-wsl-workspace
17
-
18
- # 3) Local directory (development / self-hosted)
19
- dsh plugin --profile web add D:\path\to\dsh-wsl-workspace
20
- ```
21
-
22
- After restarting `dsh web`, a W button appears beside Settings at the sidebar foot.
23
-
24
- ## Usage
25
-
26
- Click the W button beside Settings at the sidebar foot to open the "Add WSL workspace" dialog. Pick a distribution from the list, then browse the directory tree or type an absolute Linux path (for example `/home/me/proj`) — use the Check button to verify the path exists before creating the workspace. The dialog follows the DeepSeek Harness UI language. The username field is optional: leave it empty to run commands as the distribution's default user, or name a Linux user of that distribution to run the session as that user instead (equivalent to `wsl.exe -u <username>`). The username only changes the bash tool's run identity — the file tools go through the Windows-side WSL share and are unaffected. Each workspace's username is kept in `<dshHome>/wsl-workspaces.json`; delete the entry (or recreate the workspace from the dialog) to return to the default user.
27
-
28
- Click "Create & open" to start a new session in the workspace. In the new session the bash tool executes commands inside the chosen distribution and `read`/`write`/`edit` operate on WSL files, so every path the model sees is a Linux path. The mode picker keeps working as usual: Standard, PTC, Minimal and Creative each land on their WSL variant automatically (the WSL variant entries in the picker are bilingual, e.g. `WSL · Standard mode(标准模式)`), and Windows files stay reachable from inside the session under `/mnt/<drive>` (for example `/mnt/c/Users/...`).
29
- ![alt text](image-2.png)
30
- ## Behavior notes
31
-
32
- - **bash tool**: runs inside the WSL distribution as the configured username (empty = the distro default user, often `root`), so it can read and write anywhere in the distro. The Windows ACL sandbox cannot wrap `wsl.exe` — its children run on the Linux kernel side — so WSL itself is the isolation boundary and the DSH file policy does not apply to bash.
33
- - **File tools (`read`/`write`/`edit`)**: go through the Windows-side WSL 9P share and run under the DSH file policy. Under `workspace-write`, reads work anywhere but writes are restricted to the session workspace; switch the file policy to `danger-full-access` to also allow writes outside it. The username field does not affect the file tools.
34
- - The garbled `localhost` port-forwarding banner `wsl.exe` prints to stderr when the distro was not running yet is harmless.
35
-
36
- ## License & attribution
37
-
38
- MIT — see [LICENSE](LICENSE) and [NOTICE](NOTICE). The NOTICE precisely lists:
39
-
40
- - **Adapted/inherited source code**: DeepSeek Harness (MIT) — `dsh-bash-local` (executor mechanics), `dsh-fs-local` (`WslFileSystem` subclasses it), and the shipped agent presets (read and transformed by the variant generator);
41
- - **Design references (no source copied)**: [dsh-bash-terminal](https://github.com/MAXeaglet/dsh-bash-terminal) (MIT, wsl argv / WSLENV approach), [dsh-side-panel](https://github.com/ccq1/dsh-side-panel) (BSD-3-Clause, host-route pattern), [vpshub](https://github.com/Sdongmaker/vpshub) (MIT, roadmap reference).
42
-
43
- Keep `LICENSE` and `NOTICE` when redistributing.
44
-
45
- ## Acknowledgments
46
-
47
- Special thanks to [dsh-deep-whale](https://github.com/Small-tailqwq/dsh-deep-whale) (DSH Web 鲸鱼娘 skin series · 深海女仆工坊 maid-atelier, CC BY-NC-SA 4.0): the whale girl skin plugin brings a full set of adorable skins to the DeepSeek Harness Web UI and makes daily use of DSH a warmer experience.
1
+ # dsh-wsl-workspace
2
+
3
+ [English](README.md) · [中文](README.zh.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [Français](README.fr.md) · [Deutsch](README.de.md) · [Español](README.es.md) · [Português](README.pt.md) · [Русский](README.ru.md)
4
+ ![alt text](image-3.png)
5
+ Add a WSL workspace from the DeepSeek Harness web GUI and run the whole agent session — bash commands and file reads/writes — inside a local WSL distribution with Linux paths. Nothing needs to be installed inside WSL. The session can reach both WSL and Windows at the same time: bash commands run inside the WSL distribution, while Windows files stay accessible via `/mnt/<drive>` (for example `/mnt/c/Users/...`).
6
+
7
+ ## Install
8
+
9
+ Pick one of the three ways below, then restart `dsh web`:
10
+
11
+ ```powershell
12
+ # 1) npm package
13
+ dsh plugin --profile web add dsh-wsl-workspace
14
+
15
+ # 2) GitHub repository (ships the prebuilt lib/, no local build required)
16
+ dsh plugin --profile web add https://github.com/6Mikao9/dsh-wsl-workspace
17
+
18
+ # 3) Local directory (development / self-hosted)
19
+ dsh plugin --profile web add D:\path\to\dsh-wsl-workspace
20
+ ```
21
+
22
+ After restarting `dsh web`, a W button appears beside Settings at the sidebar foot.
23
+
24
+ ## Usage
25
+
26
+ Click the W button beside Settings at the sidebar foot to open the "Add WSL workspace" dialog. Pick a distribution from the list, then browse the directory tree or type an absolute Linux path (for example `/home/me/proj`) — use the Check button to verify the path exists before creating the workspace. The dialog follows the DeepSeek Harness UI language. The username field is optional: leave it empty to run commands as the distribution's default user, or name a Linux user of that distribution to run the session as that user instead (equivalent to `wsl.exe -u <username>`). The username only changes the bash tool's run identity — the file tools go through the Windows-side WSL share and are unaffected. Each workspace's username is kept in `<dshHome>/wsl-workspaces.json`; delete the entry (or recreate the workspace from the dialog) to return to the default user.
27
+
28
+ Click "Create & open" to start a new session in the workspace. In the new session the bash tool executes commands inside the chosen distribution and `read`/`write`/`edit` operate on WSL files, so every path the model sees is a Linux path. The mode picker keeps working as usual: Standard, PTC, Minimal and Creative each land on their WSL variant automatically (the WSL variant entries in the picker are bilingual, e.g. `WSL · Standard mode(标准模式)`), and Windows files stay reachable from inside the session under `/mnt/<drive>` (for example `/mnt/c/Users/...`).
29
+ ![alt text](image-2.png)
30
+ ## Behavior notes
31
+
32
+ - **bash tool**: runs inside the WSL distribution as the configured username (empty = the distro default user, often `root`), so it can read and write anywhere in the distro. The Windows ACL sandbox cannot wrap `wsl.exe` — its children run on the Linux kernel side — so WSL itself is the isolation boundary and the DSH file policy does not apply to bash.
33
+ - **File tools (`read`/`write`/`edit`)**: go through the Windows-side WSL 9P share and run under the DSH file policy. Under `workspace-write`, reads work anywhere but writes are restricted to the session workspace; switch the file policy to `danger-full-access` to also allow writes outside it. The username field does not affect the file tools.
34
+ - The garbled `localhost` port-forwarding banner `wsl.exe` prints to stderr when the distro was not running yet is harmless.
35
+
36
+ ## License & attribution
37
+
38
+ MIT — see [LICENSE](LICENSE) and [NOTICE](NOTICE). The NOTICE precisely lists:
39
+
40
+ - **Adapted/inherited source code**: DeepSeek Harness (MIT) — `dsh-bash-local` (executor mechanics), `dsh-fs-local` (`WslFileSystem` subclasses it), and the shipped agent presets (read and transformed by the variant generator);
41
+ - **Design references (no source copied)**: [dsh-bash-terminal](https://github.com/MAXeaglet/dsh-bash-terminal) (MIT, wsl argv / WSLENV approach), [dsh-side-panel](https://github.com/ccq1/dsh-side-panel) (BSD-3-Clause, host-route pattern), [vpshub](https://github.com/Sdongmaker/vpshub) (MIT, roadmap reference).
42
+
43
+ Keep `LICENSE` and `NOTICE` when redistributing.
44
+
45
+ ## Acknowledgments
46
+
47
+ Special thanks to [dsh-deep-whale](https://github.com/Small-tailqwq/dsh-deep-whale) (DSH Web 鲸鱼娘 skin series · 深海女仆工坊 maid-atelier, CC BY-NC-SA 4.0): the whale girl skin plugin brings a full set of adorable skins to the DeepSeek Harness Web UI and makes daily use of DSH a warmer experience.
package/README.pt.md CHANGED
@@ -1,49 +1,49 @@
1
- # dsh-wsl-workspace
2
-
3
- [English](README.md) · [中文](README.zh.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [Français](README.fr.md) · [Deutsch](README.de.md) · [Español](README.es.md) · [Português](README.pt.md) · [Русский](README.ru.md)
4
-
5
- ![alt text](image-3.png)
6
- Adicione um espaço de trabalho WSL a partir da interface web do DeepSeek Harness e execute toda a sessão do agente — comandos bash e leitura/escrita de arquivos — dentro de uma distribuição WSL local com caminhos em formato Linux. Não é necessário instalar nada dentro do WSL. A sessão pode acessar WSL e Windows ao mesmo tempo: os comandos bash são executados dentro da distribuição WSL, enquanto os arquivos do Windows continuam acessíveis via `/mnt/<unidade>` (por exemplo `/mnt/c/Users/...`).
7
-
8
- ## Instalação
9
-
10
- Escolha um dos três métodos abaixo e reinicie o `dsh web`:
11
-
12
- ```powershell
13
- # 1) Pacote npm
14
- dsh plugin --profile web add dsh-wsl-workspace
15
-
16
- # 2) Repositório GitHub (inclui lib/ pré-compilado, sem build local)
17
- dsh plugin --profile web add https://github.com/6Mikao9/dsh-wsl-workspace
18
-
19
- # 3) Diretório local (desenvolvimento / uso próprio)
20
- dsh plugin --profile web add D:\path\to\dsh-wsl-workspace
21
- ```
22
-
23
- Após reiniciar o `dsh web`, um botão W aparece ao lado de Settings na parte inferior da barra lateral.
24
-
25
- ## Uso
26
-
27
- Clique no botão W ao lado de Settings na parte inferior da barra lateral para abrir o diálogo "Add WSL workspace". Escolha uma distribuição, navegue pela árvore de diretórios ou digite um caminho Linux absoluto (por exemplo `/home/me/proj`) — o botão Check verifica se o caminho existe antes de criar o espaço de trabalho. O diálogo segue o idioma da interface do DeepSeek Harness. O campo nome de usuário é opcional: deixe vazio para executar os comandos com o usuário padrão da distribuição, ou informe um usuário Linux dessa distribuição para executar a sessão como esse usuário (equivalente a `wsl.exe -u <usuário>`). O nome de usuário só altera a identidade de execução da ferramenta bash — as ferramentas de arquivo passam pelo compartilhamento WSL do lado do Windows e não são afetadas. O nome de usuário de cada espaço de trabalho fica em `<dshHome>/wsl-workspaces.json`; exclua a entrada (ou recrie o espaço de trabalho pelo diálogo) para voltar ao usuário padrão.
28
-
29
- Clique em "Create & open" para iniciar uma nova sessão no espaço de trabalho. Na nova sessão, a ferramenta bash executa comandos dentro da distribuição escolhida e `read`/`write`/`edit` operam nos arquivos WSL, portanto cada caminho visto pelo modelo é um caminho Linux. O seletor de modos continua funcionando normalmente: Standard, PTC, Minimal e Creative caem automaticamente na sua variante WSL (as entradas de variante WSL no seletor são bilíngues, ex. `WSL · Standard mode(标准模式)`), e os arquivos do Windows continuam acessíveis a partir da sessão sob `/mnt/<unidade>` (por exemplo `/mnt/c/Users/...`).
30
-
31
- ![alt text](image-2.png)
32
- ## Notas de comportamento
33
-
34
- - **Ferramenta bash**: é executada dentro da distribuição WSL com o nome de usuário configurado (vazio = usuário padrão da distribuição, geralmente `root`), podendo ler e escrever em qualquer lugar da distribuição. O sandbox de ACL do Windows não consegue envolver o `wsl.exe` — seus processos filhos rodam no lado do kernel Linux — então o WSL em si é a fronteira de isolamento e a política de arquivos do DSH não se aplica ao bash.
35
- - **Ferramentas de arquivo (`read`/`write`/`edit`)**: passam pelo compartilhamento WSL 9P do lado do Windows e ficam sujeitas à política de arquivos do DSH. Com `workspace-write`, leituras funcionam em qualquer lugar, mas escritas ficam restritas ao espaço de trabalho da sessão; mude a política para `danger-full-access` para permitir também escritas fora dele. O campo nome de usuário não afeta as ferramentas de arquivo.
36
- - O banner de encaminhamento de porta `localhost` (texto ilegível) que o `wsl.exe` imprime em stderr quando a distribuição ainda não estava em execução é inofensivo.
37
-
38
- ## Licença e atribuição
39
-
40
- MIT — veja [LICENSE](LICENSE) e [NOTICE](NOTICE). O NOTICE lista com precisão:
41
-
42
- - **Código-fonte adaptado/herdado**: DeepSeek Harness (MIT) — `dsh-bash-local` (mecânica do executor), `dsh-fs-local` (`WslFileSystem` o subclassifica) e os agent presets fornecidos (lidos e transformados pelo gerador de variantes);
43
- - **Referências de design (nenhum código copiado)**: [dsh-bash-terminal](https://github.com/MAXeaglet/dsh-bash-terminal) (MIT, abordagem wsl argv/WSLENV), [dsh-side-panel](https://github.com/ccq1/dsh-side-panel) (BSD-3-Clause, padrão de rota do host), [vpshub](https://github.com/Sdongmaker/vpshub) (MIT, referência de roadmap).
44
-
45
- Mantenha `LICENSE` e `NOTICE` ao redistribuir.
46
-
47
- ## Agradecimentos
48
-
49
- Agradecimento especial a [dsh-deep-whale](https://github.com/Small-tailqwq/dsh-deep-whale) (série de skins 鲸鱼娘 para DSH Web · 深海女仆工坊 maid-atelier, CC BY-NC-SA 4.0): o plugin de skins da garota-baleia traz um conjunto completo de skins adoráveis para a interface web do DeepSeek Harness e torna o uso diário do DSH mais acolhedor.
1
+ # dsh-wsl-workspace
2
+
3
+ [English](README.md) · [中文](README.zh.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [Français](README.fr.md) · [Deutsch](README.de.md) · [Español](README.es.md) · [Português](README.pt.md) · [Русский](README.ru.md)
4
+
5
+ ![alt text](image-3.png)
6
+ Adicione um espaço de trabalho WSL a partir da interface web do DeepSeek Harness e execute toda a sessão do agente — comandos bash e leitura/escrita de arquivos — dentro de uma distribuição WSL local com caminhos em formato Linux. Não é necessário instalar nada dentro do WSL. A sessão pode acessar WSL e Windows ao mesmo tempo: os comandos bash são executados dentro da distribuição WSL, enquanto os arquivos do Windows continuam acessíveis via `/mnt/<unidade>` (por exemplo `/mnt/c/Users/...`).
7
+
8
+ ## Instalação
9
+
10
+ Escolha um dos três métodos abaixo e reinicie o `dsh web`:
11
+
12
+ ```powershell
13
+ # 1) Pacote npm
14
+ dsh plugin --profile web add dsh-wsl-workspace
15
+
16
+ # 2) Repositório GitHub (inclui lib/ pré-compilado, sem build local)
17
+ dsh plugin --profile web add https://github.com/6Mikao9/dsh-wsl-workspace
18
+
19
+ # 3) Diretório local (desenvolvimento / uso próprio)
20
+ dsh plugin --profile web add D:\path\to\dsh-wsl-workspace
21
+ ```
22
+
23
+ Após reiniciar o `dsh web`, um botão W aparece ao lado de Settings na parte inferior da barra lateral.
24
+
25
+ ## Uso
26
+
27
+ Clique no botão W ao lado de Settings na parte inferior da barra lateral para abrir o diálogo "Add WSL workspace". Escolha uma distribuição, navegue pela árvore de diretórios ou digite um caminho Linux absoluto (por exemplo `/home/me/proj`) — o botão Check verifica se o caminho existe antes de criar o espaço de trabalho. O diálogo segue o idioma da interface do DeepSeek Harness. O campo nome de usuário é opcional: deixe vazio para executar os comandos com o usuário padrão da distribuição, ou informe um usuário Linux dessa distribuição para executar a sessão como esse usuário (equivalente a `wsl.exe -u <usuário>`). O nome de usuário só altera a identidade de execução da ferramenta bash — as ferramentas de arquivo passam pelo compartilhamento WSL do lado do Windows e não são afetadas. O nome de usuário de cada espaço de trabalho fica em `<dshHome>/wsl-workspaces.json`; exclua a entrada (ou recrie o espaço de trabalho pelo diálogo) para voltar ao usuário padrão.
28
+
29
+ Clique em "Create & open" para iniciar uma nova sessão no espaço de trabalho. Na nova sessão, a ferramenta bash executa comandos dentro da distribuição escolhida e `read`/`write`/`edit` operam nos arquivos WSL, portanto cada caminho visto pelo modelo é um caminho Linux. O seletor de modos continua funcionando normalmente: Standard, PTC, Minimal e Creative caem automaticamente na sua variante WSL (as entradas de variante WSL no seletor são bilíngues, ex. `WSL · Standard mode(标准模式)`), e os arquivos do Windows continuam acessíveis a partir da sessão sob `/mnt/<unidade>` (por exemplo `/mnt/c/Users/...`).
30
+
31
+ ![alt text](image-2.png)
32
+ ## Notas de comportamento
33
+
34
+ - **Ferramenta bash**: é executada dentro da distribuição WSL com o nome de usuário configurado (vazio = usuário padrão da distribuição, geralmente `root`), podendo ler e escrever em qualquer lugar da distribuição. O sandbox de ACL do Windows não consegue envolver o `wsl.exe` — seus processos filhos rodam no lado do kernel Linux — então o WSL em si é a fronteira de isolamento e a política de arquivos do DSH não se aplica ao bash.
35
+ - **Ferramentas de arquivo (`read`/`write`/`edit`)**: passam pelo compartilhamento WSL 9P do lado do Windows e ficam sujeitas à política de arquivos do DSH. Com `workspace-write`, leituras funcionam em qualquer lugar, mas escritas ficam restritas ao espaço de trabalho da sessão; mude a política para `danger-full-access` para permitir também escritas fora dele. O campo nome de usuário não afeta as ferramentas de arquivo.
36
+ - O banner de encaminhamento de porta `localhost` (texto ilegível) que o `wsl.exe` imprime em stderr quando a distribuição ainda não estava em execução é inofensivo.
37
+
38
+ ## Licença e atribuição
39
+
40
+ MIT — veja [LICENSE](LICENSE) e [NOTICE](NOTICE). O NOTICE lista com precisão:
41
+
42
+ - **Código-fonte adaptado/herdado**: DeepSeek Harness (MIT) — `dsh-bash-local` (mecânica do executor), `dsh-fs-local` (`WslFileSystem` o subclassifica) e os agent presets fornecidos (lidos e transformados pelo gerador de variantes);
43
+ - **Referências de design (nenhum código copiado)**: [dsh-bash-terminal](https://github.com/MAXeaglet/dsh-bash-terminal) (MIT, abordagem wsl argv/WSLENV), [dsh-side-panel](https://github.com/ccq1/dsh-side-panel) (BSD-3-Clause, padrão de rota do host), [vpshub](https://github.com/Sdongmaker/vpshub) (MIT, referência de roadmap).
44
+
45
+ Mantenha `LICENSE` e `NOTICE` ao redistribuir.
46
+
47
+ ## Agradecimentos
48
+
49
+ Agradecimento especial a [dsh-deep-whale](https://github.com/Small-tailqwq/dsh-deep-whale) (série de skins 鲸鱼娘 para DSH Web · 深海女仆工坊 maid-atelier, CC BY-NC-SA 4.0): o plugin de skins da garota-baleia traz um conjunto completo de skins adoráveis para a interface web do DeepSeek Harness e torna o uso diário do DSH mais acolhedor.
package/README.ru.md CHANGED
@@ -1,49 +1,49 @@
1
- # dsh-wsl-workspace
2
-
3
- [English](README.md) · [中文](README.zh.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [Français](README.fr.md) · [Deutsch](README.de.md) · [Español](README.es.md) · [Português](README.pt.md) · [Русский](README.ru.md)
4
-
5
- ![alt text](image-3.png)
6
- Добавьте рабочее пространство WSL из веб-интерфейса DeepSeek Harness и запустите всю сессию агента — команды bash и чтение/запись файлов — внутри локального дистрибутива WSL с путями в формате Linux. Ничего не нужно устанавливать внутри WSL. Сессия может одновременно обращаться и к WSL, и к Windows: команды bash выполняются внутри дистрибутива WSL, а файлы Windows остаются доступными через `/mnt/<диск>` (например `/mnt/c/Users/...`).
7
-
8
- ## Установка
9
-
10
- Выберите один из трёх способов ниже, затем перезапустите `dsh web`:
11
-
12
- ```powershell
13
- # 1) npm-пакет
14
- dsh plugin --profile web add dsh-wsl-workspace
15
-
16
- # 2) Репозиторий GitHub (включает предсобранный lib/, локальная сборка не нужна)
17
- dsh plugin --profile web add https://github.com/6Mikao9/dsh-wsl-workspace
18
-
19
- # 3) Локальная папка (разработка / личное использование)
20
- dsh plugin --profile web add D:\path\to\dsh-wsl-workspace
21
- ```
22
-
23
- После перезапуска `dsh web` рядом с Settings внизу боковой панели появится кнопка W.
24
-
25
- ## Использование
26
-
27
- Нажмите кнопку W рядом с Settings внизу боковой панели, чтобы открыть диалог «Add WSL workspace». Выберите дистрибутив, просмотрите дерево каталогов или введите абсолютный путь Linux (например `/home/me/proj`) — кнопка Check проверяет существование пути перед созданием. Язык диалога следует языку интерфейса DeepSeek Harness. Поле имени пользователя необязательно: оставьте его пустым, чтобы выполнять команды от пользователя дистрибутива по умолчанию, или укажите пользователя Linux этого дистрибутива, чтобы сессия выполнялась от его имени (эквивалент `wsl.exe -u <пользователь>`). Имя пользователя меняет только учётную запись, под которой работает инструмент bash, — инструменты файлов идут через общую папку WSL со стороны Windows и не зависят от него. Имя пользователя каждого рабочего пространства хранится в `<dshHome>/wsl-workspaces.json`; удалите запись (или пересоздайте рабочее пространство через диалог), чтобы вернуться к пользователю по умолчанию.
28
-
29
- Нажмите «Create & open», чтобы запустить новую сессию в рабочем пространстве. В новой сессии инструмент bash выполняет команды внутри выбранного дистрибутива, а `read`/`write`/`edit` работают с файлами WSL, поэтому каждый путь, который видит модель, — это путь Linux. Выбор режима работает как обычно: Standard, PTC, Minimal и Creative автоматически попадают на свой вариант WSL (записи вариантов WSL в селекторе двуязычные, напр. `WSL · Standard mode(标准模式)`), а файлы Windows остаются доступными из сессии через `/mnt/<диск>` (например `/mnt/c/Users/...`).
30
-
31
- ![alt text](image-2.png)
32
- ## Примечания о поведении
33
-
34
- - **Инструмент bash**: выполняется внутри дистрибутива WSL под настроенным именем пользователя (пусто = пользователь по умолчанию, часто `root`), поэтому может читать и писать в любом месте дистрибутива. Песочница Windows ACL не может обернуть `wsl.exe` — его дочерние процессы работают на стороне ядра Linux — поэтому сама WSL является границей изоляции, и политика файлов DSH не применяется к bash.
35
- - **Инструменты файлов (`read`/`write`/`edit`)**: идут через общую папку WSL 9P со стороны Windows и подчиняются политике файлов DSH. При `workspace-write` чтение работает где угодно, но запись ограничена рабочим пространством сессии; переключите политику на `danger-full-access`, чтобы разрешить запись и за его пределами. Поле имени пользователя не влияет на инструменты файлов.
36
- - Искажённый баннер пересылки порта `localhost`, который `wsl.exe` печатает в stderr, когда дистрибутив ещё не был запущен, безвреден.
37
-
38
- ## Лицензия и атрибуция
39
-
40
- MIT — см. [LICENSE](LICENSE) и [NOTICE](NOTICE). В NOTICE точно перечислено:
41
-
42
- - **Адаптированный/унаследованный исходный код**: DeepSeek Harness (MIT) — `dsh-bash-local` (механика исполнителя), `dsh-fs-local` (`WslFileSystem` наследует его) и поставляемые agent presets (читаются и преобразуются генератором вариантов);
43
- - **Ссылки на дизайн (код не копировался)**: [dsh-bash-terminal](https://github.com/MAXeaglet/dsh-bash-terminal) (MIT, подход wsl argv/WSLENV), [dsh-side-panel](https://github.com/ccq1/dsh-side-panel) (BSD-3-Clause, паттерн маршрута хоста), [vpshub](https://github.com/Sdongmaker/vpshub) (MIT, ссылка на дорожную карту).
44
-
45
- Сохраняйте `LICENSE` и `NOTICE` при распространении.
46
-
47
- ## Благодарности
48
-
49
- Особая благодарность [dsh-deep-whale](https://github.com/Small-tailqwq/dsh-deep-whale) (серия скинов 鲸鱼娘 для DSH Web · 深海女仆工坊 maid-atelier, CC BY-NC-SA 4.0): плагин скинов девушки-кита приносит в веб-интерфейс DeepSeek Harness целый набор очаровательных скинов и делает повседневное использование DSH теплее.
1
+ # dsh-wsl-workspace
2
+
3
+ [English](README.md) · [中文](README.zh.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [Français](README.fr.md) · [Deutsch](README.de.md) · [Español](README.es.md) · [Português](README.pt.md) · [Русский](README.ru.md)
4
+
5
+ ![alt text](image-3.png)
6
+ Добавьте рабочее пространство WSL из веб-интерфейса DeepSeek Harness и запустите всю сессию агента — команды bash и чтение/запись файлов — внутри локального дистрибутива WSL с путями в формате Linux. Ничего не нужно устанавливать внутри WSL. Сессия может одновременно обращаться и к WSL, и к Windows: команды bash выполняются внутри дистрибутива WSL, а файлы Windows остаются доступными через `/mnt/<диск>` (например `/mnt/c/Users/...`).
7
+
8
+ ## Установка
9
+
10
+ Выберите один из трёх способов ниже, затем перезапустите `dsh web`:
11
+
12
+ ```powershell
13
+ # 1) npm-пакет
14
+ dsh plugin --profile web add dsh-wsl-workspace
15
+
16
+ # 2) Репозиторий GitHub (включает предсобранный lib/, локальная сборка не нужна)
17
+ dsh plugin --profile web add https://github.com/6Mikao9/dsh-wsl-workspace
18
+
19
+ # 3) Локальная папка (разработка / личное использование)
20
+ dsh plugin --profile web add D:\path\to\dsh-wsl-workspace
21
+ ```
22
+
23
+ После перезапуска `dsh web` рядом с Settings внизу боковой панели появится кнопка W.
24
+
25
+ ## Использование
26
+
27
+ Нажмите кнопку W рядом с Settings внизу боковой панели, чтобы открыть диалог «Add WSL workspace». Выберите дистрибутив, просмотрите дерево каталогов или введите абсолютный путь Linux (например `/home/me/proj`) — кнопка Check проверяет существование пути перед созданием. Язык диалога следует языку интерфейса DeepSeek Harness. Поле имени пользователя необязательно: оставьте его пустым, чтобы выполнять команды от пользователя дистрибутива по умолчанию, или укажите пользователя Linux этого дистрибутива, чтобы сессия выполнялась от его имени (эквивалент `wsl.exe -u <пользователь>`). Имя пользователя меняет только учётную запись, под которой работает инструмент bash, — инструменты файлов идут через общую папку WSL со стороны Windows и не зависят от него. Имя пользователя каждого рабочего пространства хранится в `<dshHome>/wsl-workspaces.json`; удалите запись (или пересоздайте рабочее пространство через диалог), чтобы вернуться к пользователю по умолчанию.
28
+
29
+ Нажмите «Create & open», чтобы запустить новую сессию в рабочем пространстве. В новой сессии инструмент bash выполняет команды внутри выбранного дистрибутива, а `read`/`write`/`edit` работают с файлами WSL, поэтому каждый путь, который видит модель, — это путь Linux. Выбор режима работает как обычно: Standard, PTC, Minimal и Creative автоматически попадают на свой вариант WSL (записи вариантов WSL в селекторе двуязычные, напр. `WSL · Standard mode(标准模式)`), а файлы Windows остаются доступными из сессии через `/mnt/<диск>` (например `/mnt/c/Users/...`).
30
+
31
+ ![alt text](image-2.png)
32
+ ## Примечания о поведении
33
+
34
+ - **Инструмент bash**: выполняется внутри дистрибутива WSL под настроенным именем пользователя (пусто = пользователь по умолчанию, часто `root`), поэтому может читать и писать в любом месте дистрибутива. Песочница Windows ACL не может обернуть `wsl.exe` — его дочерние процессы работают на стороне ядра Linux — поэтому сама WSL является границей изоляции, и политика файлов DSH не применяется к bash.
35
+ - **Инструменты файлов (`read`/`write`/`edit`)**: идут через общую папку WSL 9P со стороны Windows и подчиняются политике файлов DSH. При `workspace-write` чтение работает где угодно, но запись ограничена рабочим пространством сессии; переключите политику на `danger-full-access`, чтобы разрешить запись и за его пределами. Поле имени пользователя не влияет на инструменты файлов.
36
+ - Искажённый баннер пересылки порта `localhost`, который `wsl.exe` печатает в stderr, когда дистрибутив ещё не был запущен, безвреден.
37
+
38
+ ## Лицензия и атрибуция
39
+
40
+ MIT — см. [LICENSE](LICENSE) и [NOTICE](NOTICE). В NOTICE точно перечислено:
41
+
42
+ - **Адаптированный/унаследованный исходный код**: DeepSeek Harness (MIT) — `dsh-bash-local` (механика исполнителя), `dsh-fs-local` (`WslFileSystem` наследует его) и поставляемые agent presets (читаются и преобразуются генератором вариантов);
43
+ - **Ссылки на дизайн (код не копировался)**: [dsh-bash-terminal](https://github.com/MAXeaglet/dsh-bash-terminal) (MIT, подход wsl argv/WSLENV), [dsh-side-panel](https://github.com/ccq1/dsh-side-panel) (BSD-3-Clause, паттерн маршрута хоста), [vpshub](https://github.com/Sdongmaker/vpshub) (MIT, ссылка на дорожную карту).
44
+
45
+ Сохраняйте `LICENSE` и `NOTICE` при распространении.
46
+
47
+ ## Благодарности
48
+
49
+ Особая благодарность [dsh-deep-whale](https://github.com/Small-tailqwq/dsh-deep-whale) (серия скинов 鲸鱼娘 для DSH Web · 深海女仆工坊 maid-atelier, CC BY-NC-SA 4.0): плагин скинов девушки-кита приносит в веб-интерфейс DeepSeek Harness целый набор очаровательных скинов и делает повседневное использование DSH теплее.
package/README.zh.md CHANGED
@@ -1,46 +1,46 @@
1
- # dsh-wsl-workspace
2
-
3
- [English](README.md) · [中文](README.zh.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [Français](README.fr.md) · [Deutsch](README.de.md) · [Español](README.es.md) · [Português](README.pt.md) · [Русский](README.ru.md)
4
- ![alt text](image-3.png)
5
- 在 DeepSeek Harness Web GUI 中「添加 WSL 工作区」:让 agent 会话的 bash 命令与文件读写都运行在本机 WSL 发行版里,路径均为 Linux 形式,WSL 内无需安装任何工具链。会话可同时访问 WSL 与 Windows 两个系统——bash 命令在 WSL 发行版内执行,Windows 文件随时可通过 `/mnt/<drive>`(如 `/mnt/c/Users/...`)访问。
6
-
7
- ## 安装
8
-
9
- 三种方式任选其一,然后重启 `dsh web`:
10
-
11
- ```powershell
12
- # 1) npm 包
13
- dsh plugin --profile web add dsh-wsl-workspace
14
-
15
- # 2) GitHub 仓库(仓库内已含预构建 lib/,无需本地构建)
16
- dsh plugin --profile web add https://github.com/6Mikao9/dsh-wsl-workspace
17
-
18
- # 3) 本地目录(开发/自用)
19
- dsh plugin --profile web add D:\path\to\dsh-wsl-workspace
20
- ```
21
-
22
- 重启 `dsh web` 后,侧栏底部 Settings 旁出现 W 按钮。
23
-
24
- ## 使用
25
- 点侧栏底部 Settings 旁的 W 按钮,打开「添加 WSL 工作区」对话框。先从下拉框选择一个发行版,再浏览目录树或直接输入 Linux 绝对路径(如 `/home/me/proj`),可以点「检查」确认路径存在。对话框文案跟随 DSH 界面语言。用户名是可选项:留空则以该发行版的默认用户运行,填写该发行版里的某个 Linux 用户名则以该用户运行(等价于 `wsl.exe -u <用户名>`)。用户名只影响 bash 命令的运行身份,文件工具通过 Windows 侧的 WSL 共享访问、不受其影响;每个工作区填写的用户名保存在 `<dshHome>/wsl-workspaces.json`,删除对应条目(或重开对话框重建工作区)即可恢复默认用户。
26
-
27
- 点「创建并打开」后,新会话随即运行在 WSL:`bash` 工具在所选发行版内执行命令,`read`/`write`/`edit` 读写 WSL 文件,模型看到的所有路径都是 Linux 形式。模式选择器照常可用——标准、PTC、极简、创造都会自动落到对应的 WSL 变体(选择器里的 WSL 变体条目为中英双语,如 `WSL · Standard mode(标准模式)`);会话内仍可通过 `/mnt/<drive>`(如 `/mnt/c/Users/...`)访问 Windows 文件。
28
- ![alt text](image-2.png)
29
- ## 行为与权限说明
30
-
31
- - **bash 工具**:以配置的用户名在 WSL 发行版内运行(留空 = 发行版默认用户,通常为 root),可对发行版内任意路径读写。Windows 的 ACL 沙箱无法包裹 `wsl.exe`(子进程运行在 Linux 内核侧),WSL 自身即隔离边界,DSH 文件策略不作用于 bash。
32
- - **文件工具(read/write/edit)**:经 Windows 侧的 WSL 9P 共享访问,受 DSH 文件策略约束。`workspace-write` 下读可到任意位置、写仅限会话工作区;改为 `danger-full-access` 后工作区外也可写入。用户名设置不影响文件工具。
33
- - `wsl.exe` 在发行版尚未启动时向 stderr 打印的 localhost 端口转发提示(乱码但无害)可忽略。
34
-
35
- ## 许可与出处
36
-
37
- MIT,详见 [LICENSE](LICENSE) 与 [NOTICE](NOTICE),NOTICE 精确列明:
38
-
39
- - **改编/继承源码**:DeepSeek Harness(MIT)的 `dsh-bash-local`(执行器机制)、`dsh-fs-local`(`WslFileSystem` 子类化)、shipped agent presets(变体生成读取/变换);
40
- - **设计参考(未复制源码)**:[dsh-bash-terminal](https://github.com/MAXeaglet/dsh-bash-terminal)(MIT,wsl argv/WSLENV 思路)、[dsh-side-panel](https://github.com/ccq1/dsh-side-panel)(BSD-3-Clause,Host 路由模式)、[vpshub](https://github.com/Sdongmaker/vpshub)(MIT,路线图参考)。
41
-
42
- 发布/再分发时请保留 LICENSE 与 NOTICE。
43
-
44
- ## 致谢
45
-
46
- 特别感谢 [dsh-deep-whale](https://github.com/Small-tailqwq/dsh-deep-whale)(DSH Web 鲸鱼娘皮肤系列 · 深海女仆工坊 maid-atelier,CC BY-NC-SA 4.0):鲸鱼娘皮肤插件为 DeepSeek Harness Web 界面带来了一整套可爱的皮肤,让 DSH 的日常使用更有温度。
1
+ # dsh-wsl-workspace
2
+
3
+ [English](README.md) · [中文](README.zh.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [Français](README.fr.md) · [Deutsch](README.de.md) · [Español](README.es.md) · [Português](README.pt.md) · [Русский](README.ru.md)
4
+ ![alt text](image-3.png)
5
+ 在 DeepSeek Harness Web GUI 中「添加 WSL 工作区」:让 agent 会话的 bash 命令与文件读写都运行在本机 WSL 发行版里,路径均为 Linux 形式,WSL 内无需安装任何工具链。会话可同时访问 WSL 与 Windows 两个系统——bash 命令在 WSL 发行版内执行,Windows 文件随时可通过 `/mnt/<drive>`(如 `/mnt/c/Users/...`)访问。
6
+
7
+ ## 安装
8
+
9
+ 三种方式任选其一,然后重启 `dsh web`:
10
+
11
+ ```powershell
12
+ # 1) npm 包
13
+ dsh plugin --profile web add dsh-wsl-workspace
14
+
15
+ # 2) GitHub 仓库(仓库内已含预构建 lib/,无需本地构建)
16
+ dsh plugin --profile web add https://github.com/6Mikao9/dsh-wsl-workspace
17
+
18
+ # 3) 本地目录(开发/自用)
19
+ dsh plugin --profile web add D:\path\to\dsh-wsl-workspace
20
+ ```
21
+
22
+ 重启 `dsh web` 后,侧栏底部 Settings 旁出现 W 按钮。
23
+
24
+ ## 使用
25
+ 点侧栏底部 Settings 旁的 W 按钮,打开「添加 WSL 工作区」对话框。先从下拉框选择一个发行版,再浏览目录树或直接输入 Linux 绝对路径(如 `/home/me/proj`),可以点「检查」确认路径存在。对话框文案跟随 DSH 界面语言。用户名是可选项:留空则以该发行版的默认用户运行,填写该发行版里的某个 Linux 用户名则以该用户运行(等价于 `wsl.exe -u <用户名>`)。用户名只影响 bash 命令的运行身份,文件工具通过 Windows 侧的 WSL 共享访问、不受其影响;每个工作区填写的用户名保存在 `<dshHome>/wsl-workspaces.json`,删除对应条目(或重开对话框重建工作区)即可恢复默认用户。
26
+
27
+ 点「创建并打开」后,新会话随即运行在 WSL:`bash` 工具在所选发行版内执行命令,`read`/`write`/`edit` 读写 WSL 文件,模型看到的所有路径都是 Linux 形式。模式选择器照常可用——标准、PTC、极简、创造都会自动落到对应的 WSL 变体(选择器里的 WSL 变体条目为中英双语,如 `WSL · Standard mode(标准模式)`);会话内仍可通过 `/mnt/<drive>`(如 `/mnt/c/Users/...`)访问 Windows 文件。
28
+ ![alt text](image-2.png)
29
+ ## 行为与权限说明
30
+
31
+ - **bash 工具**:以配置的用户名在 WSL 发行版内运行(留空 = 发行版默认用户,通常为 root),可对发行版内任意路径读写。Windows 的 ACL 沙箱无法包裹 `wsl.exe`(子进程运行在 Linux 内核侧),WSL 自身即隔离边界,DSH 文件策略不作用于 bash。
32
+ - **文件工具(read/write/edit)**:经 Windows 侧的 WSL 9P 共享访问,受 DSH 文件策略约束。`workspace-write` 下读可到任意位置、写仅限会话工作区;改为 `danger-full-access` 后工作区外也可写入。用户名设置不影响文件工具。
33
+ - `wsl.exe` 在发行版尚未启动时向 stderr 打印的 localhost 端口转发提示(乱码但无害)可忽略。
34
+
35
+ ## 许可与出处
36
+
37
+ MIT,详见 [LICENSE](LICENSE) 与 [NOTICE](NOTICE),NOTICE 精确列明:
38
+
39
+ - **改编/继承源码**:DeepSeek Harness(MIT)的 `dsh-bash-local`(执行器机制)、`dsh-fs-local`(`WslFileSystem` 子类化)、shipped agent presets(变体生成读取/变换);
40
+ - **设计参考(未复制源码)**:[dsh-bash-terminal](https://github.com/MAXeaglet/dsh-bash-terminal)(MIT,wsl argv/WSLENV 思路)、[dsh-side-panel](https://github.com/ccq1/dsh-side-panel)(BSD-3-Clause,Host 路由模式)、[vpshub](https://github.com/Sdongmaker/vpshub)(MIT,路线图参考)。
41
+
42
+ 发布/再分发时请保留 LICENSE 与 NOTICE。
43
+
44
+ ## 致谢
45
+
46
+ 特别感谢 [dsh-deep-whale](https://github.com/Small-tailqwq/dsh-deep-whale)(DSH Web 鲸鱼娘皮肤系列 · 深海女仆工坊 maid-atelier,CC BY-NC-SA 4.0):鲸鱼娘皮肤插件为 DeepSeek Harness Web 界面带来了一整套可爱的皮肤,让 DSH 的日常使用更有温度。