Replies: 1 comment 1 reply
|
今天也发现这个问题了,之前的版本没有这玩意的,感觉自己编译deepseek harness的复杂度在无限上升,不会我以后完全没办法编译吧? |
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
fs-ext 在dsh-v0.1.3-alpha.1 版本启用以后,window11的系统构建失败,需要安装所谓的sdk编译
agent的解析是:
装 Windows 10/11 SDK。本机 VS 2022 Community 已有 C++ 工具链,缺的就是它。node-gyp 编 fs-ext 要 windows.h。
推荐:给现有 VS 加组件(node-gyp 认这个)。管理员 PowerShell:
powershell
& "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\setup.exe" modify
--installPath "C:\Program Files\Microsoft Visual Studio\2022\Community"--add Microsoft.VisualStudio.Component.Windows11SDK.26100 `
--passive --norestart
图形界面也行:开始菜单开 Visual Studio Installer → Community 2022 → Modify → Individual components → 勾 Windows 11 SDK (10.0.26100) → Install。
备选:独立 SDK(不改 VS,但一般也能被 node-gyp 找到):
powershell
winget install Microsoft.WindowsSDK.10.0.26100
系统是 10.0.26200,用 26100 这套。别装 8.1,本机已经有残件、不够。
装完核对:
powershell
dir "C:\Program Files (x86)\Windows Kits\10\Include"
下面应有 10.0.26100.x,里面有 um\Windows.h。
然后回仓库编 addon:
powershell
cd D:\deepseek-harness
pnpm rebuild fs-ext
成功标志:node_modules/.pnpm/fs-ext@2.1.1/node_modules/fs-ext/build/Release/fs_ext.node 存在。再 .\dsh.ps1 web。
SDK 大概 1–2 GB,要管理员权限。装完喊一声,我帮 rebuild。
这次更新
提交 c58097a(2026-08-31),合入 PR #3362,随 0.1.3-alpha.1 发布。
问题:两个进程(两个 CLI / 宿主+SDK)能同时写同一 session 日志,交错追加,撕坏压缩帧。
方案:跨进程内核锁 SessionWriteLease
POSIX:fs-ext 调 flock(2)
Windows:不用 fs-ext,koffi 调 CreateSemaphoreW 命名信号量
笔记写明:fs-ext 自带的 Windows LockFileEx 被 CI 否决(强制锁,ripgrep 读 session 目录直接 os error 33)。Windows 锁走 koffi,koffi 有预编译,所以 Windows 运行时本不该编 fs-ext。
为什么你这边炸了
lease.ts 顶层静态:
ts
import { flock } from 'fs-ext'
Node 一 import 这个模块就加载 addon,不管后面 if (win32)。以前没有这个文件,所以不需要 Windows SDK。
设计时也考虑过「POSIX 也用 koffi 调 flock,免 node-gyp」。否决了,理由是不想自维护 POSIX 锁。没处理:Windows 开发机仍被迫编一个 运行时用不到 的 addon。
结论
不是构建脚本突然坏了。是 0.1.3 为跨进程写锁加了 fs-ext,Windows 静态 import 把本机编译变成硬依赖。回 0.1.2 能跑,是因为那版没有这条路径。
两条路还是一样:装 Windows 11 SDK 编 fs-ext,或改成 Windows 不加载 fs-ext(更符合设计)。要改代码说一声。
All reactions