Replies: 3 comments
|
Independently verified on Windows (Node 24, pnpm 11): cloned This is the missing half of the Windows persistent-shell stack. It composes directly with our staged |
|
Thank you for the independent verification. Composing with #1856 is exactly right. shellPath resolution gets bash found, the inspector gets the PTY past For the WRITE_RESTRICTED round-trip you did not re-run, it is one command against this repo, Standing offer unchanged. The implementation is MIT, take it into core as is or reshaped, and I will adjust tests or split pieces however the core team prefers. |
|
Adoption packaging is up, see docs/core-adoption.md. It carries the file list (zero runtime deps beyond |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
CONTRIBUTING 说暂不接受外部 PR,所以按建议把这个提到 Ideas,附一份可用的参考实现。
缺口。
subprocess-local的spawnTerminal在 node-pty 之前解析平台进程探测器,而createProcessInspector只有 linux/darwin 分支,win32 直接抛terminal inspection is unsupported on platform win32。于是 Windows 上持久 shell(以及依赖它的极简模式)整体不可用。架构笔记里也标了这是待补项("The minimal preset's missing win32 PTY stack is a preset-metadata follow-up")。参考实现。 我们在插件层用官方注入座(
terminalInspector字段)补了一个 win32 ProcessInspector,思路如下。Get-CimInstance Win32_Process,pid/ppid/CreationDate FILETIME 作身份),children-first 排序,容 PID 复用成环windows-latest CI 上实测。持久 shell 状态跨调用保留、中断
sleep 60得 exit 130。配合 busybox-w32 ash 时在 WRITE_RESTRICTED 令牌(workspace-write 沙箱)内也能完整往返(MSYS bash 因 cygheap 的 TokenDefaultDacl 0xC0000022 起不来,这个也一并实测记录了)。代码在 https://github.com/sjh9714/dsh-win32 (MIT,
src/inspector.ts+src/terminal-wrap.ts,含单测与 CI)。如果官方愿意收编进 core,随便拿,需要我配合调整也可以。Windows 用户等这个等得比较苦(讨论区 Windows 相关帖子已经 400+ 了)。All reactions