dsh-wsl-env
Inject WSL/Windows path and shell facts into the DeepSeek Harness system prompt.
- Stars
- 2
- Language
- JavaScript
- Created
- Aug 18, 2026
- Updated
- Sep 16, 2026
Introduction
dsh-wsl-env
Install set: part of dsh-wsl-kit. Prefer
KIT_SET=daily|llm|github|full(see kit README). Fault tree: TROUBLESHOOTING.md.
DeepSeek Harness plugin: inject WSL / Windows path and shell facts into the system prompt.
Part of dsh-wsl-kit.
Where it sits
Injects WSL and Windows path facts into the system prompt. It is not a tool the model calls.
flowchart LR
facts["WSL and Windows facts"] --> env["dsh-wsl-env"] --> prompt["system prompt"]
Suite diagram and version snapshot: dsh-wsl-kit. This plugin is 0.3.0 (daily; also in llm). Do not copy that matrix into this README.
Compatibility
| Field | Value |
|---|---|
| Plugin | dsh-wsl-env 0.3.0 |
| Minimum dsh | ≥ 0.1.2 (web UI one-shot ?token= on Windows relay :3081) |
| Latest verified | See dsh-wsl-kit Compatibility (currently 0.1.5-rc.1) — single source of truth for the suite |
| Kit set | daily (also in github / full; fetch+net also in llm) |
| Cloud Flash | Use model id deepseek-flash (V4.1 Flash) in ~/.dsh/settings.yaml / llm-deepseek — not configured by this plugin |
| Agent Teams | Upstream experimental; not required here |
Suite floor versions: kit check-plugin-versions.sh. Fault tree: TROUBLESHOOTING.md.
Why
The model often assumes a Windows shell (C:\, PowerShell) even when the agent runs in Linux/WSL. This plugin adds a short system-prompt section so it prefers Linux paths, understands /mnt/c, and knows about Node 24 proxy quirks.
What gets injected
Kept short on purpose:
- Distro name and Linux user
- Linux path mapping (
C:\Users\...→/mnt/c/Users/...) - CRLF / git caveats on
/mnt/c - Prefer Linux home over the Windows mount for day-to-day work
NODE_USE_ENV_PROXY=1when Node 24 must useHTTP(S)_PROXY
Install
dsh plugin --profile web add github:173787247/dsh-wsl-env
# or:
dsh plugin --profile web add /absolute/path/to/dsh-wsl-env
Restart dsh web. Open a new session (existing sessions keep the old prompt).
Verify
- Send any message.
- Trajectory → SYSTEM → System Prompt (not the Tools tab).
- Search for
Windows Subsystem for Linux.
You should see the distro name and path mapping. The UI concatenates sections, so the internal id runtime:wsl-windows may not appear as a heading.
Non-WSL hosts skip injection by default (when: wsl).
Config
Later profile layers that set config replace the whole object—restate every key you keep:
- id: dsh-wsl-env
name: dsh-wsl-env
config:
when: wsl # or: always
order: 15
extraNotes: "Prefer /home over /mnt/c for new files."
| Key | Default | Meaning |
|---|---|---|
when | wsl | Inject only in WSL, or always |
order | 15 | Prompt section order |
extraNotes | "" | Extra operator notes appended to the section |
Test
npm test
License
MIT