v0.10.1「换得了模型、扛得住抽风」/ "Switchable models, tolerant of hiccups"
v0.10.1「换得了模型、扛得住抽风」/ "Switchable models, tolerant of hiccups"
v0.10.0 发出去之后自查发现的三个问题,都在这版修掉。
🔑 AI 模型入口常驻(v0.10.0 的真缺陷)
此前打开供应商面板只有一条路径:检测报错。也就是说配好一次之后就再也换不了供应商和模型——v0.10.0 刚加的 7 家(DeepSeek 官方 / 百炼 / GLM / Kimi / 硅基流动 / OpenRouter / OpenAI),已经配置过的老用户根本点不到。
现在工具条上常驻一个按钮,上面直接写着当前用的模型名(结果不理想时,第一件事就是想知道是谁挑的),点它随时打开面板;换完确认会按新模型自动重跑一次——换模型的人本来就是想换个结果。
🔁 LLM 吐坏 JSON 自动重试一次
实测主流服务商会偶发在 JSON 中间吐出杂质 token —— "score":数和 90、"endSegmentId": to 3、"momentId": vii、"score": — 都真实出现过。整份响应因此不是合法 JSON,用户看到的就是一句「找爆点失败」,整轮白跑。
这不是提示词能修的(同一份提示词重发一次就干净了),所以现在解析失败会自动重发一次。只重试解析失败;网络和鉴权错误直接报错(重试也没用),用户取消立即中断。
🎯 信号通道:提名数收敛
新的信号驱动通道一次给模型 12 个高能时刻,配上噪声转写文本,模型会直接吐回未填写的模板("momentId": x)。收敛到 8 条(按热度取,时间序重排编号)并把每条的参考原话截短到 120 字后恢复正常——提示词本身就说「真正值得剪的通常只有两三个」,给 12 个选项本来就自相矛盾。
🪟 顺带
Windows 上 webhook 路径断言跟随平台分隔符(path.normalize 在 Windows 上把 /rec/a.flv 规整成反斜杠,那是正确行为,是测试写死了斜杠)。
⬆️ 升级方式
到 Releases 下载新安装包覆盖安装即可。模型、词表、偏好原位保留。
Three issues found while self-checking after v0.10.0 shipped.
🔑 The model picker is now always reachable (a real v0.10.0 defect)
There was exactly one way to open the provider panel: trigger a detection error. Which means that once configured, you could never change provider or model again — so the seven providers v0.10.0 had just added (DeepSeek, Model Studio, GLM, Kimi, SiliconFlow, OpenRouter, OpenAI) were unreachable for anyone already set up.
A toolbar button now shows the model currently in use (when results disappoint, the first thing you want to know is who picked them) and reopens the panel on click. Confirming after a change re-runs detection — switching models is precisely how you ask for a different result.
🔁 Malformed LLM JSON is retried once
Mainstream endpoints intermittently emit junk tokens in the middle of JSON — "score":数和 90, "endSegmentId": to 3, "momentId": vii, "score": — have all been observed. The whole response stops being valid JSON and the user just sees "highlight detection failed", with the entire run wasted.
No prompt can fix that (re-sending the identical prompt comes back clean), so a parse failure now re-sends once. Only parse failures retry; network and auth errors surface immediately, and cancellation still aborts at once.
🎯 The signal path nominates fewer moments
Handing the model 12 high-energy moments alongside noisy transcript text made it return an unfilled template ("momentId": x). Capping at 8 (by heat, renumbered in time order) and truncating each moment's reference transcript to 120 characters fixed it — the prompt itself says "usually only two or three are worth clipping", so offering 12 options was self-contradictory.
🪟 Also
Webhook path assertions now follow the platform separator on Windows (path.normalize turning /rec/a.flv into backslashes is correct behaviour; the test had hardcoded forward slashes).
⬆️ Upgrading
Download the new installer from Releases and install over the top. Models, glossaries and preferences stay put.