Repository navigation
CETUS鲸鱼座 v0.3.3
更新内容
修复 DSH 主机被误判死亡而反复重启
- 健康探针不再把「主机在回话但拒绝会话 Cookie」(401/403)当成死亡:这类情况只记录诊断信息,永不终止主机;启动阶段则按端口被占处理,自动改用空闲端口
- 放宽致死判定:探针超时 2 秒→5 秒、检查间隔 2 秒→3 秒、连续失败 3 次→10 次,并在终止前追加一次复核探测;就绪等待 60 秒→90 秒
- 主机忙时(长任务、编译占满 CPU)不再因 6 秒内的超时被误杀,正在运行的 agent 任务不会因此丢失
修复启动后立刻「重启一次」
- 新增宿主归属记录:只有能证明归属进程仍存活时才复用端口上的 DSH,避免认领上一次 Cetus 遗留、注定随旧 Job Object 死亡的宿主
- 修复陈旧失败重放:启动失败期间挂起的失败不再遗留到下一次启动,不会把刚就绪的主机立刻杀掉重启
修复日志刷屏与托盘通知失效
- 修正 session/list 调用参数形状(
{}→_request),消除每 10 秒一条的调用失败日志,恢复「任务完成」托盘提醒 - 修复打开工作区/Jump List 后运行时停在「正在加载界面」导致托盘「重试连接 DSH」变灰的问题
更新流程抗回滚循环
- 便携更新健康预算 90 秒→180 秒(覆盖端口宽限 + 就绪等待 + WebView2 初始化)
- 升级失败回滚后记录失败版本,旧版本启动时跳过该版本的静默安装,避免「回滚→重启→再装→再失败」循环
- 凭据写入改为原子替换,并保证
.credentials.yaml始终带version:头,避免 DSH 解析失败无法启动
其它
CETUS_DSH_HOME覆盖下浏览器 Cookie 与探针来源一致- 退出时重复停止的竞态保护
- 测试全程隔离到临时目录,不再向真实用户目录写入运行日志与归属标记
验证
- Release 与 Debug 构建各跑一遍测试套件,217 项全部通过(新增 22 项覆盖探针三态、鉴权被拒不杀主机、残留宿主不认领、归属记录校验、更新版本黑名单与会话参数契约)
- 手动实测:真实 DSH 端点 401/200 行为、
session/list参数修正后的返回、并发压测下探针延迟(1–13 ms)
Windows x64;内置 Node.js v24.14.0 与 @deepseek-ai/dsh 0.1.6-alpha.2。