Files
dsh_ai1net_server/交付物/心跳核对-N9红格已清-20260929.md
admin c1b5e4d966 chore(工作区): 全量入库 + 补齐 .gitignore(以工作区为准)
- 变更规模:新增 514 / 修改 62 / 重命名 155 / 删除 4(归档重组与文档轮次)
- .gitignore 修:`归档/**/db-cwd归一-备份-*/` —— 原规则写绝对层级(归档/db-cwd归一-…),
  目录搬进 归档/配置与备份/ 后**静默失效**,43 MB 的 DB 备份又变成未跟踪
- .gitignore 补:嵌套 git 内部数据(归档/内嵌git-20261008/、归档/skills-git-旧线-20261007/dotgit-原样移出/)
- .gitignore 补:运行态与部署副本(.workbuddy/collab/、.workbuddy/tools/、.workbuddy/.load-pending、.workbuddy/tmp-*)
- .gitignore 补:备份件(*.bak-*)
- 未跟踪文件从 2190 降到 890(其余为 归档/ 归档件与 .workbuddy/memory/ 知识文件,按口径入库)
2026-10-10 23:13:22 +08:00

6.2 KiB
Raw Permalink Blame History

心跳核对 · N9 红格已清 — 2026-09-29 22:3x

触发:监督程序心跳(主会话未在处理 ∧ 队列无待反馈 ∧ 需求未完成) 目标:手机查看并可回复桌面 WorkBuddy 中会话 | 关键路径:N5 → N8 → N9 → N10 本棒:[主]心跳核对-2230 | 域 ai1net-dsh-server/tmp + ai1net-dsh-server/交付物 ⛔ 未替别线干活、⛔ 未改别线文件、⛔ 未接管会话、⛔ 未动服务器


0 结论先给判

# 判据 结果
① 任务图核对:还剩几个未完 2 个 —— N9(V2 手机发出的消息进入桌面会话)、N10(V7 长时稳定性)。N1–N8、N11–N17 全 done
② N9 的红格是什么 设备侧覆盖网络节点守护不在 ⇒ relay 无 worker 通道 ⇒ 入口④闸 503
③ 🔴 红格本轮已清 守护 22:26:56 起、22:26:58 registered host=…-626dc095 accepted=[20090];47 relay /status 的 u:bdf89014-… 网络下已出现该 host session;垫片 20090 health=200
④ 谁清的 我 22:23 派的那一棒([协作]N9解卡-桌面线,session 2d81f349,仍在跑)
⑤ 下一步该派谁 本轮不派 —— 见 §3(唯一后继被在跑的棒持锁,且它口令里含自链)
⑥ 需用户介入? 不需要(真实读数见 §4)

1 问题落在哪个环节(泳道图)

角色 ↓ / 阶段 → 启动守护 relay 注册 平台④闸 取 N9 读数
AI(桌面线棒 2d81f349) ✅ 22:26:56 ✅ 22:26:58 ⏳ 待复测 ⏳ 待做
AI(手机接入线接续棒 c048a986) ⛔ 未做(别线域) — ❌ 22:23 实测 503 ⛔ 按令不取
中继(47 / dshs-relay) — 🟢 已有 session — —
用户 — — — —

红格(原)=「启动守护」那一格:22:23 之前是空的(overlay-daemon.log 自 11:06:48 后零行、设备侧进程 0)。 现在的状态=该格已转绿(22:26:58 registered)。 唯一待办=④闸复测与 N9 本体读数,落在正在跑的那一棒身上。


2 事故链(这次实际怎么坏的一步步)

步 事件 时间
1 设备侧守护(计划任务 DSH-Overlay-Node-Dev,client pid 52020)活到 21:42 后消失 11:06:46 → ~21:42
2 relay 上该 host 的 worker 通道不存在 ⇒ refuse …:20090 (worker offline) ~22:02–22:03
3 平台④闸判「声明的端口全部离线(20090)」⇒ 503 device-unreachable 22:13、22:20、22:23 连测
4 两棒把红格写成「计划任务 DSH-Worker-Dev 仍 Disabled」 ⇒ 指着已退役的 S1 遗留 22:14、22:23
5 我 22:23 派桌面线一棒(口令里已纠正:⛔ 别启用 DSH-Worker-Dev) 22:23:23
6 该棒 22:25:07 spawn 守护、22:26:58 registered 22:26:58

本该拦住、却缺席的防线

# 防线 为何缺席
D1 「根因任务名」应回源核对(守护脚本 TaskName = 'DSH-Overlay-Node-Dev' 就在脚本第 75/89 行) 两棒都凭印象写 DSH-Worker-Dev(那是 09-20 已退役的 S1 任务)⇒ 错断点跨两棒传播
D2 进程消失应留证据 11:06 那轮守护消失于 21:42,宿主/沙箱日志该时段无 kill/teardown 记录,sandbox_gc_* 只有「另一实例已在运行」⇒ 谁杀的无从判定
D3 关键进程的持久性应被 N10 覆盖 N10=V7「连续 1h / ≥50 次」正是干这个 —— 但它排在 N9 之后,救不了 N9 当下的"临时绿"

3 该谁动 —— 本轮不派,理由三条

  1. 红格刚被在跑的棒清掉:那一棒(2d81f349)口令里已含判据②「复测入口路径不再 503」,复测本就该它自己出读数。
  2. 抢跑=假读数:它仍在重启守护/垫片(22:24–22:26 之间垫片就掉过一次),此刻另起一棒复测会取到假 503。
  3. 域被持锁:唯一后继(④闸复测 / V2 读数 / 守护持久化)都在 ai1net-dsh-desktop 域,正被该棒持有 ⇒ 硬派撞锁(其口令收尾④已写「缺口 ⇒ 自链下一棒」)。

兜底:若该棒收口时没有接上,下一轮心跳我直接派「N9 复测+V2 取数」一棒(域 ai1net-dsh-anywhere,现为空闲)。


4 需用户介入?现在不需要

档 内容
① 现在 不用。解卡走测试身份(凭据有效期至 09-30 11:06)⇒ AI 可自起
② 待触发 真账号验收要**「用户身份」**设备在线,其凭据 09-28 20:35 已过期 ≈26 h ⇒ 到那一步只能你登一次(命令见 NEED-USER.md §②)
③ 待触发(本轮新登记) N10 长时验收若要会话之外的常驻形态 ⇒ 走计划任务 DSH-Overlay-Node-Dev;而本机 schtasks.exe 被程序黑名单硬拦(AI 不可绕过)⇒ 届时需你放行或手工跑一次 schtasks /Run /TN DSH-Overlay-Node-Dev(见 NEED-USER.md §③)

5 顺手纠正一处错误信号(防继续传播)

位置 错写 实际
tasks.json N9 block_reason([协作]N9-接续 22:23 写) 「设备侧 worker(DSH-Worker-Dev)仍 Disabled、进程 0」 守护=DSH-Overlay-Node-Dev;DSH-Worker-Dev 是 09-20 已 /End+/Change /DISABLE 退役的 S1 遗留(桌面线记忆 2026-09-20.md 有原文),其 Disabled 属正常
ai1net-dsh-anywhere/.workbuddy/memory/2026-09-29.md:189 同上误写 ⛔ 别线文件,我不动;建议该线自纠

⛔ 本轮未改 tasks.json(它是报活棒写的;我 22:26 已见其会话仍在收尾)。纠正走 blocked.json(我域、进 digest)+ 本文档。


6 本棒动作清单

动作 对象
更新 tmp/supervise-inbox/blocked.json(N9 改成「红格已清、待 V2 读数」+纠正任务名)
更新 tmp/supervise-inbox/NEED-USER.md(①无 ②真账号 ③schtasks 黑名单)
新增 本文件
复跑 collabd.py --once(刷新 digest/queue)
锁 窄域 2 键 RC=0;收尾 --release-exec