Skip to content

Multi-Agent Studio v1.7.6.1

Choose a tag to compare

@ColtM1873 ColtM1873 released this 03 Nov 07:12
· 9 commits to master since this release

中文

  • 修复「常用 prompt 删除后又复活」:启动迁移不再把「指向已删除条目的悬空指针」当成旧版文本副本。此前在常用 prompt 里删除某条后,重启会把它以 Content-Hash ID 的形式重新写回全局库,表现为一条永远删不掉、且每次重启都换一个值的 cpXXXX 序列号;现在悬空指针会直接恢复为「未设置」,旧文本副本的迁移语义不变。
  • 启动端口冲突自动递增:默认 8000,被占用时自动改用 8001、8002……(最多 20 个),并正确避开上一个实例刚退出时的 TIME_WAIT。不再因为端口被占而卡在启动页读秒、无法进入。
  • 后端启动失败可见:uvicorn 端口绑定失败不再静默;启动页会替换为可读的错误页(说明端口可能被占用 / 数据库服务失败),托盘与 logs/server.log 同时给出原因。
  • 残留实例识别:只有「窗口真的被唤出且已进入应用界面」才认作「本程序已打开」;后端还活着但窗口已坏、或窗口停在启动页的残留实例会被识别出来,新实例自动改用新端口启动,不再出现「双击没反应」或被领回一个坏窗口。
  • 普通版与 Lite 版同步:两端都接入端口自增、失败上报与残留识别;Lite 版用独立的 app 标识,互不误判。
  • 升级方式不变:按 README「版本迁移」覆盖文件即可;本次改动不涉及配置或数据库迁移。

English

  • Fixed "deleted common prompts come back": the startup migration no longer treats a dangling pointer (a session ref whose target entry was deleted) as a legacy text copy. Previously, deleting a common prompt and restarting re-created it as a content-hash entry — a cpXXXX "serial number" that could never be deleted and changed value on every restart. Dangling refs now resolve to "not set"; legacy text migration is unchanged.
  • Automatic port fallback on conflict: the app now starts on 8000 and automatically falls back to 8001, 8002, … (up to 20 candidates), correctly skipping the TIME_WAIT window left by a just-exited instance. No more endless boot-screen countdown caused by an occupied port.
  • Backend startup failures are visible: a uvicorn bind failure is no longer silent. The boot screen is replaced with a readable error page (port in use / database service failed), and the tray plus logs/server.log explain the cause.
  • Stale-instance detection: "the app is already open" now requires the window to be actually raised and already showing the app UI. A stale instance whose backend is alive but whose window is broken or stuck on the boot screen is detected, and the new instance starts on a new port instead of silently exiting or handing the user a broken window.
  • Both editions updated: the normal and Lite editions share the port fallback, failure reporting, and stale-instance detection; Lite uses its own app identity so the two never mistake each other.
  • Upgrading is unchanged (see README "Version migration"); this release has no config or database migration.