# -*- coding: utf-8 -*- """README 更新:诊断已合并进主程序。""" from __future__ import annotations import sys from pathlib import Path README = Path(r"C:\Users\shu\Desktop\deepseekagent\LanRemote\README.md") OLD = '## 六、连不上时:用「遥控诊断」\n\n交付包里附了一个独立的诊断 App:`LanRemote-Diag-1.1.0.apk`(应用名「遥控诊断」)。\n\n装到手表上打开,它会自动:' NEW = '''## 六、连不上时:用「设备诊断」 **诊断已经合并进手表主程序了**,不需要再装单独的 App。 手表上:**主界面 ->「设备诊断」** -> 自动开始检测。 它会自动:''' OLD_TAIL = '诊断 App 与主程序**共用同一份**自动发现实现(`DiscoveryCore`,不是复制粘贴),\n所以不会出现「诊断说能通、主程序连不上」的假象。' NEW_TAIL = '''诊断与主程序在**同一个 APK** 里,共用同一份自动发现实现 (`DiscoveryCore`),所以不会出现「诊断说能通、主程序连不上」的假象。 底部还有一行「手动测电脑 IP」+「测一下」按钮——广播被拦时, 它会分别做 UDP 单播和 TCP 连接,直接告诉你问题在哪一段。''' OLD_TREE = '''├── diag/ # 遥控诊断(独立小 App,用来排障)''' NEW_TREE = '''├── diag/ # 早期独立诊断 App 的源码(已合并进主程序,不再单独出包)''' def main() -> int: text = README.read_text(encoding="utf-8") ok = True for old, new, tag in ((OLD, NEW, "诊断入口"), (OLD_TAIL, NEW_TAIL, "共用实现说明"), (OLD_TREE, NEW_TREE, "项目结构")): if old not in text: print(f" [跳过] {tag} 锚点未匹配(可能已改过)") else: text = text.replace(old, new, 1) print(f" {tag}: OK") # 后台运行那节补上退出行为说明 anchor = ' * 想彻底退出:窗口上点「退出」\n' if anchor in text: text = text.replace( anchor, ' * 想彻底退出:窗口上点「退出」(会真正结束进程、释放端口)\n', 1) print(" 退出说明: OK") README.write_text(text, encoding="utf-8") return 0 if ok else 1 if __name__ == "__main__": sys.exit(main())