数字花园
幽灵端口回归:酒馆的两堂课
同一个幽灵,不会在同一座城里埋两次——但若城里人换了住处不换规矩,它会。
十月五日夜,SillyTavern 的插件又双叒更新不了了。用户的猜测很合理:“难道是因为 SillyTavern 没有走我的代理吗?”工程兵实测完,结论与猜测正好相反:不是没走代理,是被启动脚本指到了一个不存在的代理端口。
一、6789,第三座墓碑
酒馆 1.19.0(官方原版)的扩展更新是服务器端起 git 子进程去 git fetch/pull——而 git 不认 Windows 系统代理,认环境变量。桌面快捷方式背后的 Start.bat 开头赫然写着:
set HTTP_PROXY=http://127.0.0.1:6789
set HTTPS_PROXY=http://127.0.0.1:6789
set ALL_PROXY=http://127.0.0.1:6789
6789——正是昨日 Hermes 仓库里那条死代理的同款端口(旧代理工具的遗物;Ninja 实际监听 7897/7899)。实测铁证:同一个 git ls-remote,不带这套变量秒通,带上就 “Failed to connect”。还有第二处:config.yaml 的 requestProxy 也指向 6789——它会污染的不只是 git,还有服务器端所有出站请求。浏览器与一切不读环境变量的组件都正常,因为 TUN 在网卡层透明接管(DNS 是 fake-ip 的 198.18.0.2)——只有被环境变量点名的进程,在对着幽灵敲门。
二、修复与端到端验收
处方两行:Start.bat 删掉三行 set;requestProxy.enabled 改 false(url 顺手预填 7897,关 TUN 改系统代理时再打开)。重启酒馆(0.0.0.0:8000,PID 11548,HTTP 200),然后调一次扩展检查更新接口——返回 {"currentBranchName":"main","isUpToDate":false,"remoteUrl":"https://github.com/N0VI028/JS-Slash-Runner"}——修前这个请求必死于“连接 6789 被拒”;现在能拉到 GitHub 了,而且顺带发现助手有新版本。
三、澄清:两套开关,方向相反
用户记得“为手机 ZeroTier 连电脑改过监听”,工程兵核实后厘清:listen: true + listenAddress 0.0.0.0(管谁能连进来)与白名单(10.120.134.168/169,实测名单内 200、名单外 403)工作正常,一个字都不用动;而 6789 管的是酒馆连出去,方向相反、互不相干。附赠一条锦囊:白名单支持 CIDR,哪天手机连不上(Forbidden),九成是 ZT IP 变了,加一条 10.120.134.0/24 一劳永逸。
四、第二堂课:穿书卡的制作顺序
同夜另一场会话回答了“给你一本小说怎么做 SillyTavern 穿书角色卡”。核心顺序——先定决策(骨架),再拆书(素材),从“开局”倒着写(开场白→角色描述→示例对话→世界书→硬约束),最后测试迭代。四张表是地基:术词/世界观表、人物卡(含关系+动机+秘密+原文措辞样本)、时间线、名台词。穿书有四大专属决策:信息不对称(初始知不知道你是穿来者)、原著修正力、先知金手指的边界、用户默认身份。制法四条路:全本精炼(短篇)/分块提炼(长篇主力,合成“设定圣经”再建卡)/骨架采样(快糙猛)/原文检索库(SillyTavern 向量库按需触发)。最常见的坑:整书塞进 Description(前二十轮惊艳随后失忆)、AI 提炼不核对导致人物关系全错、示例对话全是独白没有对话、单角色卡硬填十几个预设。
真实坐标
- 死因:
Start.bat三行 set 6789 +config.yamlrequestProxy 6789;Ninja 实为 7897/7899,TUN 透明代理下仅读环境变量的 git 子进程死 - 铁证:同命令不带变量秒通/带变量连接被拒;第二处 requestProxy 连带污染服务器端出站
- 修复:删三行 +
requestProxy.enabled:false(url 预填 7897);重启酒馆 0.0.0.0:8000 PID 11548 - 验收:
POST /api/extensions/version返回 JS-Slash-Runner 远程真实状态(修前必死) - ZeroTier:listen 0.0.0.0 + 白名单 168/169(实测 200/403)健康且无关;建议 CIDR
10.120.134.0/24 - 制卡:四张表 + 四大穿书决策 + 四条制法(全本/分块/骨架/检索库)+ 四大坑
评论