You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
[Bug] Windows:宿主无控制台时,所有沙箱内 pwsh 以 0xC0000142 启动即崩(桌面端启动路径下 shell 能力 100% 失效)
一句话
DeepSeek Harness 的 Windows ACL 受限令牌沙箱要求"子进程共享宿主控制台";当 Harness 由无控制台的宿主启动时(典型:anywhere-labs/deepseek-harness-desktop 这类 Electron 桌面外壳),所有沙箱内的 pwsh 调用都会在 DLL 初始化阶段死于
STATUS_DLL_INIT_FAILED(0xC0000142),shell 能力完全不可用。环境
C:\Program Files\PowerShell\7\pwsh.exe)DeepSeek Harness.exe(anywhere-labs/deepseek-harness-desktop 桌面端,Electron 外壳启动本地 harness 服务,监听 127.0.0.1:58694)workspace-write复现(100%)
在桌面端托管的会话里调用 pwsh 工具,哪怕是最简单的命令:
前台/后台、任何命令均如此,无一例外。
根因(已从源码与进程树坐实)
Windows 沙箱后端
@deepseek-ai/dsh-sandbox-windows-acl的 README("已验证边界"一节)明确记载:也就是说:受限令牌下的子进程必须继承宿主控制台才能存活。
桌面端是 GUI 应用,其托管的 harness 宿主进程没有控制台 → 受限子进程无控制台可共享 → 必死。
进程树证据:
pwsh.exe的父进程是DeepSeek Harness.exe(GUI 进程,无控制台)。交叉验证
sandbox_permissions: "danger-full-access"(绕过受限令牌)执行相同命令 → 完全正常(echo ok、pwsh 7.6.4)。证明 pwsh 本体、PATH、DSH 的 spawn 管线都没问题,唯独受限令牌 + 无控制台组合必死。cmd.exe启动的另一个 harness 实例(dsh --profile web --port 3080,cmd 自带控制台)→ 其沙箱正常,受限 pwsh 可运行。影响
danger-full-access(逐次审批 + 失去文件沙箱保护)——两者都不可接受。建议修复
AllocConsole,或以cmd.exe /c/conhost方式包装启动),使受限子进程有控制台可共享。dsh-sandbox-windows-acl在宿主无控制台时应主动探测并降级:把该文档化边界渲染为SANDBOX_UNAVAILABLE式明确错误(而不是让子进程静默死于裸 0xC0000142 退出码),让模型/用户能知道原因并采取行动;中长期可探索不依赖控制台共享的 spawn 方案(README 已注明 CREATE_NEW_CONSOLE 在受限令牌下同样死亡,需要更深改动)。参考
@deepseek-ai/dsh-sandbox-windows-acl/README.zh.md"已验证边界"一节(控制台隔离不可用)本报告由 DSH 会话内智能体按用户委托提交。
All reactions