起因:用户 2026-09-17 明确「所有文档都要同步,都放在开发仓库 docs 对应文件夹下」。
判据:工作区根 *.md 中在仓库(git ls-files --quotepath=false)搜不到的那些。
入仓 33 份(一律复制,工作区根原件保留不动,避免引用断链):
- 04-调整方案/113–128(16 份 · 原子占号后落盘):覆盖网络 传输方案取舍 / 应用场景与待完善清单 /
插件化vs改内核 / 问题逐条推演 / 参数表与观测口径;会合中继拆分取证与改造方案;
集群化改造方案 Manager-Worker;跨节点迁移与节点自举;项目代码分层范式与迭代风险评估;
搬运与共享重建方案 guest w47→w106;方案规划方法提炼;文档无效信息审计报告;
会话接续机制复盘与修复;会话接续规范;dsh 客户端化部署方案;dsh 桌面客户端开发方案
- 交接单/archive/交接单-已完成/T09–T21(13 份 · 覆盖网络线已完成单归档)
- ops/(2 份运行态指针:接续入口 / 接续包 · 覆盖网络线)
- archive/(2 份临时与内部简报)
已排除(无需重复入仓):覆盖网络线 10 份方案正文已入档案 103–112(文件名不同)。
登记:INDEX.md §二 新增 04-113–128 共 16 行 + §四 追加 T09–T21 说明 + 机器摘要行刷新
(⛔ 未跑 docs-index-stats.py --write:该脚本会按 \r\n 归一化全文件行尾,故改为字节级单行替换);
README.md 追加 1 条入仓指针;docs-manifest.json 复跑 scripts/docs-manifest.py 刷新。
验收:工作区根 47 份 .md —— 同名已入仓 8 / 本次内容一致 29 / 已知改名映射 10 / 未入仓 0;
git status 待提交清单只含本次新增与登记 3 件(未涉 src/ 与 relay 代码面)。
5.5 KiB
5.5 KiB
接续包 · 覆盖网络线 · 2026-09-16 18:3x(v3)
用法:新会话只读这一份 —— ⛔ 不许先 Glob/Grep 全库摸底、⛔ 不许"再确认一下待办"。 v3 改了什么:① 上次自动接续(17:03)跑了 9 次调用 / 1.5 分钟 / 零产物 ⇒ 「下一步」已从"两件事混装"改成单一机械动作(根因见「给下一棒」);② 全文压到 3KB 内;③ 传输选型结论已更新(撤销"首选 frp")。
接续点 · 覆盖网络线 · 2026-09-16 18:3x
- 来源会话:
408636f2(覆盖网络线:规划复核 → 落地执行 → 收口)| 结束原因:水位 42 万强制收口 - 原目标(用户原话):①「查看覆盖网络任务的相关文档,规划落地步骤方案,检查方案确认有误调整,准备执行」②「有稳定可行的落地步骤方案了吗,确认是最佳落地方式就开始执行,保证每一步完成后项目都保持可用,逐步交付」③「覆盖网络的功能开发完成了吗」④「重新创建接续会话 看看是否有改善」
- 基线:HEAD=
640813e| 远端 master=640813e(15:0x 实测,未复验)| 全局锁=已释放 | ⚠️ 工作区 13 改 + 1 新增,未 commit(未授权) - 产物:
交接单_覆盖网络落地执行_20260916.md—— §8 = P1/P2/P3 执行记录 + 全部实测证据覆盖网络_传输方案取舍_开放端口与自研relay_20260916.md—— §7 成熟件对照 / §8 撤销 frp + 六条判据 + R0会合中继拆分_取证与改造方案_20260916.md—— §9 第二轮勘误- 技能
dsh-decision-methodv2.8.0(新增 §4.6 选型判据轴;三副本 md5 一致)
- 校验命令(只读、≤30s):
期望:
ssh [email protected] 'md5sum /opt/dshs/lib/supervisor/spawn.js; grep INSTANCE_PORT /etc/dshs-worker.env; PGPASSWORD=dshs_cluster_2026 psql -h 127.0.0.1 -p 15432 -U dshs -d dshs -At -c "select id,via from dsh_hosts order by id"'e75427d06fa94cadac800e1570cec273+DSHS_INSTANCE_PORT_BASE=20000/SPAN=1000+w-106|manager-ssh、w-47|local。不符 ⇒ 停下只报告,⛔ 不许照文字硬做。
给下一棒(⛔ 先读这段:上次为什么零产物)
上次(17:03)自动化会话 9 次调用 / 1.5 分钟 / 零产物。根因 = 旧「下一步」把两件事(补判据表 + 测链路画像)混成一句话,且没给可交付的产物路径 ⇒ 会话做完开机四步就无从下手。本次已改成单一机械动作(见下),照做即可闭合。
下一步(唯一动作 = R0-b 链路画像测量,全程只读)
要产出:本机 ↔ 47 ↔ 106 的 RTT / jitter / 带宽实测,写进 覆盖网络_传输方案取舍_开放端口与自研relay_20260916.md 的新 §9(含命令原文 + 数字)。
命令骨架:
- 本机 → 47 / 106:
ping -n 20 <ip>(jitter 取mdev或手算标准差) - 下载带宽:
curl -o /dev/null -w '%{speed_download}\n' http://<47或106>/<一个 ~50MB 文件>(无现成文件就先在 47 临时生成,用完删) - 47 ↔ 106 互联:在 47 上
ping -c 20 106.54.21.172+ 同样方式测一次 TCP 吞吐 - 记 NAT / 公网可达性结论:从本机能否直连 106 的 19000(决定"打洞"可行性)
⛔ 只做测量 + 写 §9;不装任何 relay、不改配置、不开端口。工具调用 ≤ 8 次。
未完成
- R0-b 链路画像 ← = 下一步,唯一动作
- R0-a 判据打分表(把 §8.2 那六条补成可打分版)→ 排 R0-b 之后
- 功能本体 0/3:presence / 游戏服放 L1 / 块级内容寻址 —— 一个都没开工
- S5(443/TCP 兜底) 未做;relay 实现未定(P4 SSH 版判不做)
- 本机(客户端类型节点)三项验证 未做
- 未 commit(13 改 + 1 新增;红线:未授权不得 commit/push)
- ⏳ 待用户裁决:「自动接续」通道留不留(18:2x 已问,未答)
关键决定(勿推翻)
- S3 不回环别名、不
portMap—— 实测被 sshd 静默改写;改用实例端口区间隔离(w-47=20000+ /w-106=21000+,避开 OS 临时段 32768-60999)—— 已上线 - S2 只加
via(不加address);via省略时COALESCE不覆盖旧值;回填w-47=local/w-106=manager-ssh proxy.ts:109= 发给上游 dsh 的Host头,⛔ 永不可改(连接目标:136-137)- 控制面已在 PG ⇒ 不存在"改造为 PG"
- worker 永远只拨出、不开入站端口;relay 实现未定(撤销 frp:
CVE-2026-40910影响 ≥0.53.0 / dashboard 默认弱口令 /proxyBindAddr默认绑公网 / 单一静态 token + frpc 明文存 / 服务端默认不强制 TLS) - ⛔ P4(SSH 版中继 + 新开 32023)判不做
回滚点
- P1:
/opt/dsh/backups/lib-pre-S0-20260916-1555.tgz→systemctl stop dshs→ 还原lib→start dshs - P2:
via列有默认值 ⇒ 旧代码读endpoint不受影响,列可留着不删 - P3:删
/etc/dshs-worker.env的DSHS_INSTANCE_PORT_BASE/SPAN⇒ 回listen(0)(零代码回滚)
⛔ 不要重做
P1(47 对齐 640813e)/ P2(via 列 + 回填)/ P3(端口区间隔离)均已完成并验收 —— 证据在交接单 §8。
也不要再论证「S3 用回环别名」(已实测证伪)、「需要改造为 PG」(已经是 PG)、「首选 frp」(已撤销)。