归属说明
通过 DeepSeek Harness 插件 @wxg-prc-cpg/browser-skill-dsh-plugin@0.2.0 触发,但问题疑似位于
crates/bsk-cli / bsk daemon 的会话命令调度(单命令轨道竞态 + stop 不能强制中断 + 无命令超时),
并非插件层(插件仅透传 bsk <cmd> --json)。请转交 bsk CLI/daemon 负责人。
运行环境
- 操作系统:Windows 11 家庭中文版(build 10.0.26200),x64
- 浏览器:Google Chrome 152.0.0.0(Chromium)
- BrowserSkill 扩展:0.2.0
- bsk CLI / daemon:0.2.0(协议 1.1)
- 使用方式:DeepSeek Harness 插件
@wxg-prc-cpg/browser-skill-dsh-plugin@0.2.0
问题概述
围绕「每个会话同一时间只允许一条未完成命令」这一规则,出现两个可靠性问题:
1)命令刚返回成功就偶发「未完成命令」(时序竞态)
即使严格串行、一次只发一条、每次都等上一条返回,紧跟在一个【已成功返回】的命令之后的下一条
命令,仍会被拒绝:
Error: bsk <command> failed: session already has an unfinished command
对同一条命令原样重试 1~2 次即可成功。已在 fill、screenshot、session stop 上复现。
2)死锁:一条永不结束的命令会令 stop 完全失效
登录进一个登录后仍在持续后台请求的 SPA(图表/通知/轮询)后,会话会一直挂着一条未完成命令。
此后所有后续命令——包括 session stop——均被拒绝:
Error: bsk session stop failed: session already has an unfinished command
提示“请等待当前命令完成、用 Ctrl+C 取消、或停止/重启会话”。唯一逃逸方式是 bsk daemon restart,
它会把 daemon 连同其会话一起杀掉。
复现步骤
bsk session start(或插件的 browser_session start)。
navigate 到一个加载完成后仍在轮询的 Vue SPA,使用 waitUntil: domcontentloaded。
- 在上一步【成功返回】后紧跟一条新命令 → 间歇性出现
session already has an unfinished command。
- 页面后台请求较忙时执行
session stop → 被拒 previous session command is still running;
反复重试无效 → 只能 daemon restart。
期望行为
- 命令返回成功后应立即释放会话命令槽,下一条命令应能立即执行,而不应被拒绝。
- 卡住 / 长时间运行的命令应可被中断(包括通过
session stop)。
建议
- 命令一旦返回,立即将会话命令槽标记为“完成”,修复此竞态。
- 为单条命令增加超时(如默认 30s),避免挂死命令永久阻塞会话。
- 让
session stop 能强制终止当前正在执行的命令,而不是在命令运行期间自身也被拒绝。
- 或在 CLI 中显式提供
cancel / interrupt 命令。
诊断数据
bsk status
bsk-daemon.log.2026-09-05.txt
归属说明
通过 DeepSeek Harness 插件
@wxg-prc-cpg/browser-skill-dsh-plugin@0.2.0触发,但问题疑似位于crates/bsk-cli/bsk daemon的会话命令调度(单命令轨道竞态 +stop不能强制中断 + 无命令超时),并非插件层(插件仅透传
bsk <cmd> --json)。请转交 bsk CLI/daemon 负责人。运行环境
@wxg-prc-cpg/browser-skill-dsh-plugin@0.2.0问题概述
围绕「每个会话同一时间只允许一条未完成命令」这一规则,出现两个可靠性问题:
1)命令刚返回成功就偶发「未完成命令」(时序竞态)
即使严格串行、一次只发一条、每次都等上一条返回,紧跟在一个【已成功返回】的命令之后的下一条
命令,仍会被拒绝:
Error: bsk <command> failed: session already has an unfinished command对同一条命令原样重试 1~2 次即可成功。已在
fill、screenshot、session stop上复现。2)死锁:一条永不结束的命令会令
stop完全失效登录进一个登录后仍在持续后台请求的 SPA(图表/通知/轮询)后,会话会一直挂着一条未完成命令。
此后所有后续命令——包括
session stop——均被拒绝:Error: bsk session stop failed: session already has an unfinished command提示“请等待当前命令完成、用 Ctrl+C 取消、或停止/重启会话”。唯一逃逸方式是
bsk daemon restart,它会把 daemon 连同其会话一起杀掉。
复现步骤
bsk session start(或插件的browser_session start)。navigate到一个加载完成后仍在轮询的 Vue SPA,使用waitUntil: domcontentloaded。session already has an unfinished command。session stop→ 被拒previous session command is still running;反复重试无效 → 只能
daemon restart。期望行为
session stop)。建议
session stop能强制终止当前正在执行的命令,而不是在命令运行期间自身也被拒绝。cancel/interrupt命令。诊断数据
bsk statusbsk-daemon.log.2026-09-05.txt