DeepSHPlugins
dsh-win32 專案預覽
GITHUB / COMMUNITY PROJECT

dsh-win32

生態與開發TypeScriptMIT

補上官方缺失的 win32 程序探測,讓 Minimal 模式在 Windows 上真正可用,持久 shell 才能起來。附 busybox 變體預設,其持久 shell 能在 workspace-write 受限令牌下存活(MSYS 系 shell 在那裡會崩),另有基於 ConPTY 控制檯程序列表的前臺命令解析、GBK/UTF-16 檔案讀取,以及安裝排障工具。

37 Starssjh9714 更新時間 2026-09-07
訪問 GitHub 倉庫
dsh-win32 專案預覽

專案介紹

中文

補上官方缺失的 win32 程序探測,讓 Minimal 模式在 Windows 上真正可用,持久 shell 才能起來。附 busybox 變體預設,其持久 shell 能在 workspace-write 受限令牌下存活(MSYS 系 shell 在那裡會崩),另有基於 ConPTY 控制檯程序列表的前臺命令解析、GBK/UTF-16 檔案讀取,以及安裝排障工具。

English

Makes Minimal mode work on Windows by supplying the missing win32 process inspector, so the persistent shell actually starts. Adds a busybox-based preset whose persistent shell survives the workspace-write restricted token (MSYS shells die there), ConPTY console-list foreground resolution, GBK/UTF-16 file reads, and an install-trap doctor.

專案資訊與收錄訊號

快照 2026-09-11
作者 / 組織
sjh9714
倉庫
sjh9714/dsh-win32
GitHub Stars
37
Forks
2
開發語言
TypeScript
許可證
MIT
最近推送
2026-09-07
Manifest
資料中檢測到宣告

公開倉庫不自動等於可商用;許可證與當前相容性以原專案文件為準。Manifest 和資料評分不構成安裝安全認證。

資料評分

70/ 100
維護活躍
98
文件與實用資訊
50
生態關注度
47
安裝便捷訊號
80
專案宣告訊號
100

近 4 天仍在更新。

評分來自已有資料快照的五維模型,僅作瀏覽參考,不是實際使用評測或安全檢測結論。

安裝與使用

所有專案資料與許可均以對應 GitHub 倉庫為準。

dsh plugin --profile web add dsh-win32

複製命令不會自動執行。請先閱讀倉庫文件,確認環境要求與許可證。

專案截圖

倉庫 README

GitHub 原文

已儲存的倉庫文件快照;文件抓取時間未記錄,可能與上方目錄介紹處於不同版本。安裝前請核對當前倉庫說明。

儲存庫檔案保留原文,指令與授權文字不作自動改寫。

dsh-win32

Fix DSH on Windows. No WSL.

Official PowerShell. Workspace Write. One command.

npx dsh-win32 setup

Current DeepSeek Harness already includes persistent PowerShell and a Windows ACL sandbox. dsh-win32 checks that official stack, finds known Windows failures, applies the repairs it can prove safe, and creates a desktop shortcut.

It does not install Git, PowerShell, busybox, WSL, or another DSH bundle on the current path.

中文 · Windows evidence and legacy details

Using a coding agent? Copy the setup and verification request. For a guided walkthrough, see Windows troubleshooting in Chinese.

Start with the Windows first-run walkthrough if DSH will not launch or a check fails. It follows one problem from diagnosis through the next verification step. Share your first-run result, including attempts that are still blocked.

npm

CI

stars

win32

MIT

See the current setup

Reproduced setup flow. This is not a screen recording.

Reproduced dsh-win32 setup on current DSH

The command checks the official persistent PowerShell and Workspace Write packages, creates the shortcut, and leaves the profile on the stock Minimal preset.

What setup does

  • Checks the latest published DSH Windows package contract
  • Checks PowerShell 7 and known broken koffi runtimes
  • Creates a DeepSeek Harness desktop shortcut for the Web profile
  • Leaves the official profile and preset unchanged
  • Shows the exact next steps for a first session

After setup, open DSH, add a workspace, choose the stock Minimal preset, and keep Workspace Write enabled.

Use another profile without creating a shortcut.

npx dsh-win32 setup --profile desktop --no-shortcut

--sandboxed remains accepted for old notes and scripts. Current DSH already provides the sandbox, so the flag makes no extra change.

Live verification of an installed stack

npx dsh-win32 verify
npx dsh-win32 verify --json

verify is a model- and API-key-free acceptance run against an already installed @deepseek-ai/dsh dependency tree. It does not use registry metadata as proof. In an isolated temporary home and workspace it invokes the installed model-facing persistent pwsh tool through the official terminal, subprocess, Workspace Write policy, and Windows ACL sandbox components.

A pass requires all of these live observations:

  • 64-bit PowerShell 7 launches and reports a real executable
  • two pwsh calls retain the same PTY, current directory, and environment state
  • exact content is written and read inside the temporary workspace
  • a normal-process control can write the isolated outside target, while confined PowerShell is denied and creates no file
  • the shell recovers after denial; cancellation tears down its PTY; a replacement call works; and a second cancellation tears down cleanly
  • every runtime resource, temporary home, and temporary workspace is removed

No user DSH profile, config, workspace, or PowerShell profile is loaded or changed. Secret-bearing environment variables are not passed to the worker, and reports contain no tested paths or terminal output. Native Windows and a DSH-supported Node release are required; Node 23 is explicitly unsupported.

If a timeout or output limit leaves worker or descendant containment unconfirmed, verification fails and preserves the isolated snapshot instead of deleting files under a potentially live process.

verify creates its own Workspace Write policy and Windows ACL-confined PowerShell child. If you run it from an agent that is already inside another Workspace Write or Windows ACL sandbox, approve one unsandboxed/full-access execution for this verify command only; otherwise the nested restricted-token/ConPTY layers can stall before PowerShell launches. This does not bypass the acceptance boundary: the inner child under test remains confined, and the outside-write denial is still required to pass. Worker timeouts report only a fixed, path-free progress checkpoint so nested-launch stalls can be distinguished without exposing terminal output or environment values.

The boundary is deliberate: this composes the installed official components and invokes the real persistent tool, but it does not start the complete stock Minimal host/preset, run the plugin installer, execute hook bridges, or make a model request. A pass must therefore be read as component-chain acceptance, not as an end-to-end stock-session or hook-enforcement claim.

The repository CI installs @deepseek-ai/dsh@latest from scratch and runs this acceptance on real Windows. Pushes, pull requests, and manual runs cover npm and strict pnpm layouts on Node 22.19 and 24. A weekly upstream watch retains both installers on Node 22.19, so a new DSH publication is checked even when dsh-win32 itself has not changed.

Doctor and safe repair

npx dsh-win32 doctor
npx dsh-win32 doctor --json
npx dsh-win32 fix

doctor verifies the published DSH Windows package contract and checks local Windows failures. Its JSON output follows the dsh-doctor/v1 envelope. Use verify when you need live evidence from the installed stack rather than registry metadata.

fix only repairs installed koffi versions that are known broken or fail a real runtime load. It verifies the load again after repair.

Upstream plugin and hook boundaries

Two current DSH control paths sit outside repairs that dsh-win32 can safely apply:

  • On Windows, dsh plugin add can split a local package path containing spaces, and relative package paths can resolve from an unexpected working directory (upstream #2485). Prefer a published package specifier. If a local package is unavoidable, stage it at a space-free absolute path and read back the installed package identity rather than trusting a successful command alone.
  • Hook logs are not proof that enforcement happened. An interpreter-backed Claude Code hook can lose its blocking exit code through PowerShell on Windows (upstream #2485), while a {"continue": false} result can be recorded as decision: stop without halting the run (upstream #1514). After changing hooks or upgrading DSH, run a harmless unconditional deny canary and confirm the target action is actually blocked.

doctor cannot prove either behavior from package metadata, and verify deliberately avoids user profiles, hook configuration, model requests, and plugin installation. They therefore do not report these upstream paths as passing. The canary remains a user-controlled end-to-end check until DSH exposes a safe, isolated hook acceptance interface.

Bring an existing setup

Once the Windows checks pass, dsh-movein can preview importing an existing Claude Code, Codex, or OpenCode setup. It is optional and separate from Windows setup: dsh-win32 does not install it for you.

Start with a preview in the project you want to move. Do not add --apply until you have reviewed the destinations, conflicts, and unsupported settings.

npx dsh-movein

Moving configuration does not prove hook enforcement or a complete stock Minimal session. Keep the verification boundaries above.

Legacy DSH

DSH rc.6 and older did not ship the current official PowerShell stack. The previous Git Bash and busybox presets remain available behind an explicit flag.

npx dsh-win32 setup --legacy
npx dsh-win32 setup --legacy --sandboxed
npx dsh-win32 doctor --legacy

The legacy Git Bash preset needs danger-full-access. The legacy busybox preset can run in Workspace Write. Neither path installs Git automatically.

Read the implementation evidence, compatibility history, and complete legacy limitations.

Honest limits

  • doctor checks published package metadata; verify separately reports and loads the selected installed DSH identity.
  • verify does not boot the complete stock Minimal host/preset, so host wiring and UI session ownership remain outside its pass claim.
  • Neither command validates dsh plugin add path handling or hook enforcement; see the upstream boundaries above.
  • PowerShell 7 is recommended. dsh-win32 does not install it.
  • A legacy busybox session uses ash rather than Bash.
  • Editing a legacy encoded file writes UTF-8.
  • Treat C:\tmp as outside the expected legacy write fence until the upstream Windows path issue is fixed.

License

MIT.

使用前核對

安裝步驟、相容版本與授權範圍以原專案當前文件為準。Stars 和評分是快照中的導航訊號。

安裝與排錯 · 專案問題反饋

同類專案