dsh-subprocess-win32
English | 中文
> DeepSeek Harness (DSH) 原生 Windows 子进程运行时插件与优化 Agent 预设套件
dsh-subprocess-win32 是专为 Windows 平台下的 DeepSeek Harness 打造的 Cordis 运行时插件与预设管理套件。它彻底解决了 Windows 下终端进程残留与信号控制问题,并为 DSH 提供轻量、省 Token 的 Windows Agent 预设。
---
核心特性
- ⚙️ 原生 Windows 子进程引擎 (
subprocess-win32)
针对 Windows 平台重构子进程生命周期管理,提供精准的进程树探测与优雅关闭机制,彻底解决 Git Bash / 终端工具进程残留问题,同时不影响 Linux/macOS 原生行为。
- 🚀 内置开箱即用的两套 Windows 预设
- Minimal (Windows):极简配置,仅包含持久化 Git Bash 与 str_replace_editor,首轮上下文极度清爽。 - Anchored Standard (Windows):两阶段渐进式加载预设。启动时零额外开销,按需动态检索并解锁重量级工具(PowerShell、网络工具、子智能体等)。
- 🛡️ 安全可靠的 PowerShell 生命周期管理器
内置全流程脚本,支持环境体检 (doctor)、一键安装 (setup)、无损热更新 (update)、快速回滚 (rollback) 及彻底卸载 (uninstall),绝不在后台暗改 PATH 或权限。
---
解决的核心痛点
DeepSeek Harness 原生的终端执行机制主要面向 Unix 环境设计,在 Windows 下容易出现进程清理不彻底、终端挂起或平台判断兼容问题。
dsh-subprocess-win32 作为 DSH 的 Cordis 运行时插件接入体系,从底层接管 Windows 进程调用,并配套提供经过完整测试的 Agent 预设,让 Windows 用户无需折腾即可享受稳定高效的 AI 编程体验。
---
仓库关系与选型指南
| 仓库 | DSH 角色 | 包含内容 | 适用场景 |
|---|---|---|---|
dsh-subprocess-win32 (当前仓库) | Cordis 运行时插件 | subprocess-win32 底层引擎、生命周期管理脚本、两套预设源文件 | Windows 用户必选。安装后即可完整获得运行时支持及两套 Agent 预设。 |
dsh-anchored-standard-windows | Agent 预设包 | 独立的 agent.cordis.yml、阶段门禁模块与预设单元测试 | 高级开发/定制可选。仅在需要独立开发、调试或分发 Anchored 预设时使用。 |
> 💡 极简结论: 普通用户直接安装 dsh-subprocess-win32 即可,其自带的安装脚本会自动为您配置并生成两套 Windows 预设。
---
在其他 DSH profile 中安装
前置条件:Windows x64、Node.js 22.19+(推荐 Node.js 24 LTS)、Git for Windows 以及可用的 DSH。克隆本仓库后,将本地包加入目标 profile。支持插件命令的 DSH 版本可以使用:
dsh plugin --profile web add C:\src\dsh-subprocess-win32如果当前 CLI 没有 add 子命令,就在 profile 的 package.json 中添加本地 依赖,并将 dsh-subprocess-win32 加入 dsh.profile.bundles,然后使用该 profile 自己的包管理器安装。不要把这个包直接放进 DSH 核心版本目录。
本包的 Cordis patch 只在 Windows 停用官方 subprocess 并插入 subprocess-win32;Linux 和 macOS 继续使用官方运行时。
当前管理式安装的显式入口:
$setup = "$env:LOCALAPPDATA\DeepSeekHarness\setup\dsh-subprocess-win32.ps1"
& $setup -Action doctor
& $setup -Action setup -PackageSource C:\src\dsh-subprocess-win32安装后请新建一个空会话,再选择 Minimal (Windows) 或 Anchored Standard (Windows);已有会话保留创建时的 Agent 组合。
更新和回退
DSH 核心更新与本包更新分开进行。让新源码目录与当前目录并存,不要原地覆盖。 先执行只读检查:
& $setup -Action doctor
& $setup -Action update -DryRun -PackageSource C:\src\dsh-subprocess-win32确认清单和测试结果后再应用:
& $setup -Action update -PackageSource C:\src\dsh-subprocess-win32
& $setup -Action rollback管理器会备份 profile、保留上一包,并在失败时恢复活动版本指针和 profile 文件。 它不会自动升级第三方 DSH bundle 或 Codex 插件。
完整卸载
先预览,再执行删除:
& $setup -Action uninstall -DryRun
& $setup -Action uninstall卸载器根据安装清单,只停止登记的 DSH 进程/任务,删除两个 DSH 预设和专用的 %LOCALAPPDATA%\DeepSeekHarness 根目录,并做残留审计。它不会删除项目源码、 .agents\skills、.codex\skills、Codex 插件、Codex MCP 原始配置或其他 Edge 应用。需要备份时使用管理器的导出选项;不要在 Host 运行时手工删除根目录。
Windows 限制和安全注意事项
- DSH 的
workspace-write受限令牌下,Git/MSYS Bash 可能返回
0xC0000142。完整权限验证已通过;本包不会放宽权限、绕过审批或静默选择 danger-full-access。
- Windows 回退路径没有 Linux
landlock隔离,请把命令输出当作不可信数据,
保留 DSH 的审批策略。
- “极简”指模型可见的工具 schema 和提示词表面尽量接近 Minimal,不声称 Windows
变成 Linux 内核,也不保证所有任务的延迟、缓存命中或完成率相同。
- 不要把 Codex 的
.codex-plugin清单复制到本包。Codex 插件、DSH Cordis
bundle、Agent 预设、Skills 和 MCP 使用不同加载器;只有明确兼容的 SKILL.md 和 MCP Tools 配置可以共享。
开发和测试
使用 DSH 自带 Node.js(或 Node.js 22.19+):
npm test测试覆盖预设阶段切换、首轮上下文抑制、工具发现、压缩恢复和 Windows subprocess 适配器;不代替模型提供商、API 密钥或沙箱策略的配置检查。
参考项目和致谢
本项目是集成和 Windows 适配,不代表 DeepSeek、OpenAI 或上游维护者背书。
预设、Skills、Cordis bundle 和 MCP 设计。
sjh9714/dsh-win32:固定源码提交
f8a68a9836b84fdfec5c1f36ab60cea9923c689f,提供 Windows subprocess 方向。
固定源码提交 f57a1bde2dbaba3039bdae8631f78a0cb3ae3ebe,提供两阶段 Agent 预设思路。
说明应在当前 Agent scope 中解析工具 schema。
感谢 DeepSeek Harness 和社区贡献者公开运行时接口、预设实验、测试和问题报告, 使这个 Windows 包成为可能。许可证和来源信息见 [NOTICE](NOTICE)。