跳转至

grok_switch v0.4.2:子代理模型、Windows 启动恢复与单实例运行

v0.4.2 主要完善 Grok Build 新版子代理模型配置,并集中加强 Windows 启动可靠性。供应商现在可以分别设置 explore 和 plan 子代理模型;程序启动失败时会显示可见的错误提示,损坏的本地 JSON 会保留备份后自动恢复,端口异常也不再直接导致静默退出。此外,新版本加入了 Windows 单实例运行、Release 校验和与可选 Authenticode 签名流程。

Explore 与 Plan 可以使用不同模型

旧版使用 [subagents].default_model 保存单个子代理模型。Grok Build 新版配置改为在 [subagents.models] 下分别指定 explore 和 plan:

[subagents.models]
explore = "grok-4.5"
plan = "grok-4.5"

v0.4.2 的供应商编辑页提供两个独立字段,允许探索代码与制定计划使用不同模型。导入旧配置时,如果只发现旧的 default_model,程序会自动将它迁移为 explore 和 plan;重新应用供应商后会删除旧字段,并保留 [subagents] 中其它不受管理的设置。

启动失败不再只是“双击没反应”

Windows GUI 程序没有控制台窗口,过去遇到用户目录不可写、设置文件损坏或端口异常时,用户可能只看到进程立即消失。

v0.4.2 将诊断日志初始化提前,并在致命启动错误时显示原生 Windows 对话框。错误详情会尽可能写入:

%USERPROFILE%\.grok_switch\grok_switch.log

如果日志目录本身不可写,对话框也会显示原定日志路径,便于检查用户目录权限或安全软件拦截。

损坏的 JSON 会先备份再恢复

设置、供应商、Grok Auth 和号池索引均属于本地 JSON 数据。遇到断电、手动编辑错误或同步软件冲突造成的无效 JSON 时,新版本不会直接拒绝启动,而是先将原文件保存为:

<原文件>.corrupt-<时间>.bak

随后恢复安全默认值并记录日志。损坏原件仍然保留,方便手动找回 API Key、账号信息或其它配置。

端口校验与动态端口回退

设置接口现在会在后端校验端口必须位于 1024–65535,不能再通过异常 JSON 或直接接口写入无效端口。

如果配置端口及其后续候选均被其它程序占用,grok_switch 会请求 Windows 分配可用动态端口,并把实际端口写回设置。Web UI 会显示实际监听端口,本地 Grok Auth Profile 也会跟随更新。

再次双击会打开已有实例

v0.4.2 使用 Windows named mutex 保证当前会话中只运行一个 grok_switch 实例。第一次双击会启动托盘和本地服务;再次双击时,第二个进程会查找已有实例的实际端口、验证 /api/status 返回的数据目录,然后打开已有管理页面并退出。

这样可以避免多个托盘图标、连续占用 17878/17879 以及多个进程同时写入同一份设置文件。

无代理环境下的号池巡检更稳定

号池巡检修复了空代理配置可能把 typed-nil transport 写入 http.Client 的问题。没有配置 HTTP/SOCKS5 代理时,现在会正确使用 Go 默认网络 Transport,不会在首次请求时发生 panic。

Release 构建与校验

构建脚本现在会生成:

  • grok_switch.exe
  • grok_switch.exe.sha256

发布维护者可以通过 PFX 文件或 Windows 证书库 thumbprint 执行 Authenticode 签名,发布工作流会在签名后再次验证状态。仓库尚未配置代码签名证书时,工作流会发布未签名的 Windows x64 构建;普通用户仍可直接运行,但首次下载可能遇到 SmartScreen 提示。

ImageMagick 或 rsrc 已安装但配置损坏时,构建也会安全回退到仓库已有图标或无 Explorer 图标构建,不再因为可选工具故障而中断。

升级提示

升级前请先退出旧版托盘进程,再用 v0.4.2 的 grok_switch.exe 替换旧文件。供应商、号池账号、设置和历史备份仍保存在 %USERPROFILE%\.grok_switch,不需要重新配置。

如果 Windows 提示无法识别发布者,可以先核对 Release 页面提供的 SHA-256 文件,再通过“更多信息 → 仍要运行”启动。新版本首次启动后,再次双击同一个 EXE 应直接打开已有管理页面。