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.
背景
deepseek-harness 需要兼容 Codex 和 Claude Code 风格的外部 hooks,包括 SessionStart、UserPromptSubmit、PreToolUse、PostToolUse 和 Stop。
这些 hooks 可能调用宿主机上的 Python、Shell 或其他命令,并依赖标准 JSON stdin/stdout、环境变量、工作目录、超时和取消机制。
此前 DSH bridge 使用
ctx.shell执行兼容性 hooks。对于 task-harness 这类会执行宿主脚本、读写任务状态并同步等待结果的 hooks,可能导致 DSH 会话无响应。同时,workspace build 脚本会错误处理 monorepo solution root,导致 tsdown workspace 配置和 client synthetic workspace 配置被破坏。
解决方案
1. 兼容性 Hooks 改为宿主 subprocess 执行
新增:
packages/hooks/hook-protocol/src/runner.tsrunHookOnHostctx.subprocess在宿主环境执行 hook更新:
packages/hooks/hooks-codex/src/index.tspackages/hooks/hooks-claude-code/src/index.ts两个 bridge 都从注入
shell改为注入subprocess,统一走宿主执行路径。2. 更新依赖、锁文件和测试
更新:
packages/hooks/hook-protocol/package.jsonpackages/hooks/hooks-codex/package.jsonpackages/hooks/hooks-claude-code/package.jsonpnpm-lock.yamltests/bridge.spec.tstests/coverage-cases.ts新增对
@deepseek-ai/dsh-subprocess和相关 timeout 能力的依赖,测试 mock 也切换到 subprocess 执行路径。3. 更新 Hooks 文档
更新:
packages/hooks/hook-protocol/README.mdpackages/hooks/hook-protocol/README.zh.md补充 shell 兼容路径与 trusted host subprocess 执行路径的说明。
4. 修复 workspace build
更新:
scripts/build-workspace.tsscripts/wine-windows-gates.shpackage.jsondocs/api-gateway.mddocs/api-gateway.zh.mddocs/development.mddocs/development.zh.md解决 solution root 被错误纳入 tsdown workspace,以及 synthetic client workspace 配置被清理的问题。
验证结果
webprofile 可以正常启动本地提交
当前分支:
fix/tsdown-workspace-root-entry当前代码已在本地完成并通过验证,欢迎维护者 review 该方案。
All reactions