DeepSeek Harness Plugin

173787247/dsh-wsl-env

Stars ★ 2 Category WSL & Windows Interop Added 2026-08-26

Injects WSL distro, Linux path mapping, /mnt/c CRLF and git caveats, and NODE_USE_ENV_PROXY into the system prompt.

Install

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:173787247/dsh-wsl-env

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

README

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.

中文说明 → README.zh.md

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.2.0-rc.2) — 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=1 when Node 24 must use HTTP(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

  1. Send any message.
  2. Trajectory → SYSTEM → System Prompt (not the Tools tab).
  3. 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

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.