前言¶
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 用户解决平台特定的进程管理问题。更多细节可参考官方目录与源码仓库。