前言¶
DeepSeek Harness(DSH)的原生終端工具依賴 Unix 風格的子進程處理。在 Windows 環境下,這會導致進程泄漏、信號處理不當或終端掛起。dsh-subprocess-win32 是一個專爲 DeepSeek Harness 設計的 Cordis 運行時插件和預設管理包。它提供了原生的 Windows 子進程引擎,並預置了經過優化的 Agent 預設,解決了 Windows 平臺特有的進程管理限制。
核心功能¶
- 原生 Windows 子進程引擎 (
subprocess-win32):替換了以 Unix 爲中心的子進程處理邏輯,針對 Windows 終端工具和 Git Bash 進行了進程樹檢查和清理終止,確保零孤兒進程,且不影響 Linux/macOS 的行爲。 - 兩個預配置的 Windows Agent 預設:
Minimal (Windows):輕量級預設,最小化 Token 開銷,持久化 Git Bash 和str_replace_editor。Anchored Standard (Windows):兩階段漸進式加載預設。初始狀態無工具冗餘,按需解鎖 PowerShell、Web 和子代理等重型工具。
- 安全的 PowerShell 生命週期管理器:提供統一的命令接口,用於環境診斷 (
doctor)、自動化設置 (setup)、原子更新 (update)、回滾和卸載 (uninstall),不包含隱藏的後臺更改或靜默的 PATH 篡改。
安裝與啓用¶
在安裝前,請確保環境滿足要求:Windows x64、Node.js 22.19+、Git for Windows 以及可用的 DSH 安裝。
使用 DSH 的插件命令將本地包添加到指定 profile:
dsh plugin --profile web add C:\src\dsh-subprocess-win32
對於通過 Windows 安裝器管理的佈局,顯式的生命週期入口點位於:
$setup = "$env:LOCALAPPDATA\DeepSeekHarness\setup\dsh-subprocess-win32.ps1"
安裝完成後,啓動一個新的空會話,選擇 Minimal (Windows) 或 Anchored Standard (Windows)。現有會話保留其原有的 Agent 組成。
典型用法¶
通過 $setup 腳本執行以下操作:
- 運行診斷:檢查環境狀態。
& $setup -Action doctor
- 運行設置:安裝插件包。
& $setup -Action setup -PackageSource C:\src\dsh-subprocess-win32
- 預覽更新:在不實際應用的情況下檢查更新。
& $setup -Action update -DryRun -PackageSource C:\src\dsh-subprocess-win32
- 應用更新:確認後應用更新。
& $setup -Action update -PackageSource C:\src\dsh-subprocess-win32
- 回滾:在更新失敗時恢復。
& $setup -Action rollback
- 卸載:移除插件。
& $setup -Action uninstall
適用場景與注意¶
- 適用場景:需要在 Windows 環境下穩定運行 DSH,特別是使用 Git Bash 或終端工具的場景。
- 權限與安全:Git/MSYS Bash 在 DSH 的工作區寫入令牌受限時可能會遇到退出代碼
0xC0000142。Windows 回退無法提供 Linux 的 landlock 機制,因此必須將命令輸出視爲不可信,並保持 DSH 的審批策略啓用。 - 性能說明:
Minimal對齊主要關注模型可見的 schema 和提示面,並不聲稱與 Linux 具有相同的延遲或緩存行爲。 - 資源管理:不要將 Codex 的
.codex-plugin清單複製到此包中。 - 卸載範圍:管理卸載只會停止已註冊的 DSH 進程/任務,移除兩個 DSH 預設和指定的
%LOCALAPPDATA%\DeepSeekHarness根目錄。它不會刪除項目源代碼、.agents/skills、.codex/skills、Codex 插件、Codex MCP 配置或 Edge 應用程序。
結尾¶
該插件是 DeepSeek Harness 生態系統的一部分,旨在爲 Windows 用戶解決平臺特定的進程管理問題。更多細節可參考官方目錄與源碼倉庫。