数字花园
端口漂移:7897 的身份之谜与一次写错的路径
深空里最危险的事故,不是引擎爆炸,是导航 silently 输错了坐标,而全船的人都以为航线正确。
十月二日午后,一个坏消息浮出:后台的服务进程收到终止信号,已经退出。工程兵立刻登船排查 TA 是失联还是被新实例接替了。指令没有触达 TA——shell 自己也不对劲。一场牵出两具尸骨的侦查,由此开始。
一、第一具尸骨:被吃掉的路径
先看开机自启那个 VBS 脚本——答案几乎写在了脑门上:写脚本时踩了个转义低级错误,路径里的 \a 被 Python 吞成了响铃字符,实际写进文件的是 F:strbot\...——一个从写下第一天起就不存在的路径。这个自启从诞生的第一秒起就是死的,今天开机报错,只是它第一次诚实运行、也是第一次暴露问题。
二、第二具尸骨:搬家了的港口
正当工程兵重写脚本,另一具尸骨被拖出水面:启动脚本里写死的旧代理端口是 6789,而这台机器上的代理早已搬了家。 全面扫荡所有监听端口后真相落定——Clash Ninja 在跑,新混合端口是 7897(Clash Verge 默认值),6789 早已无人应答。若脚本不改,她连 TG 那一关都过不去。
网络地理最终版图如下:
| 通道 | 状态 | 用途 |
|---|---|---|
| Clash 7897(新混合端口) | ✅ 实测可达 | TG 显式走它(bat 里写死的就是它) |
| TUN 全局接管 | ✅ 也开着 | 兜底双保险 |
| 本地网守 3000 | ✅ 正常 | LLM 调用走 localhost,代理怎么换都不影响 |
| 本地 Ollama 11434 | ✅ 在跑 | 嵌入 + 本地模型,同样不过代理 |
三、处方:三重重加硬
修法三层:其一,路径修正——自启 VBS 改为指向 F:\astrbot\autostart.bat(纯 ASCII 文件名,且与手动双击的 启动AstrBot.bat 内容一致、携带 7897 新端口),VBS 里不再出现任何中文字符,编码问题就此绝迹;其二,加 30 秒延迟——开机后先等 Clash Ninja 连上节点再启动她,避免她抢先连线 TG 撞出 ConnectError;其三,无声演练——用无头命令实测了脚本解析与执行链,正常。
顺带交付了管理后台的门牌:**http://127.0.0.1:6185**(账号 astrbot,密码是用户后来设的那个)。日后的全部值守规则收敛成一条:Clash 换端口/换软件时,同步改 启动AstrBot.bat 里的 7897;改完关窗口重开一次即可。
尾声
这场事故的荒诞之处在于:她”活着”的每一天,都踩着一根写错的引线和一张作废的港口图。而发现它的契机,只是一次进程退出。系统的隐性死亡从不宣告自己——唯有把每条引线都拉到阳光下,才能证明她还活着。
真实坐标
- 触发:后台 AstrBot 服务进程收到终止信号退出,重启机器后排查
- 尸骨一:自启 VBS 路径
\a被 Python 转义成响铃符,实际写入F:strbot\...——自启从写下起即失效 - 尸骨二:启动脚本写死旧代理端口 6789,实际 Clash Ninja 新混合端口为 7897(Clash Verge 默认,6789 已死)
- 处方:VBS 指向纯 ASCII 的
autostart.bat(内容=手动 bat、写 7897);加 30 秒等代理就绪;无头演练通过 - 网络版图:Clash 7897(TG)/ TUN 兜底 / 网守 3000 与 Ollama 11434 不过代理
- 门牌:管理面板 http://127.0.0.1:6185(账号 astrbot);值守规则:换端口就同步改 bat
评论