Skip to content

Freebuff 多开控制器 v1.9.25

Latest

Choose a tag to compare

@Ximmmmmmm Ximmmmmmm released this 22 Oct 13:56
  • 修复:「删除会话」里一个会话都列不出来——界面上就是「这个会话库里没有会话 · 有 N 个项目打不开」。不是库空了,是列表走的是 Freebuff 的本地服务:/api/project/open 打不开的项目(目录已删的临时工作区)整条会话消失;helper 用的是空 state、没有登录态,云会话被 canAccessCloudThread 过滤掉;legacy-chat-* 这类旧 id 连 GET /api/thread/:id 都 404。三条里缺一条,对话框就空着,人也就无从删起。
  • 改法:列表和删除都直接落到库上——projects\*\desktop-v2.db,用 Freebuff 自带的 resources\bun\bun.exe 跑 bun:sqlite,不引新依赖(脚本源码 tools/threaddb.js,编译前由 tools/embed-handover.py 以 Base64 内嵌,跟会话接力那个脚本同一套做法)。列得全:运行中 / 归档 / 草稿 / 项目目录已不在的会话都在。删得实:DELETE FROM threads + thread_drafts,messages / queue_items 靠外键级联(PRAGMA foreign_keys=ON),对话搜索索引由 messages 上的 DELETE 触发器收尾——拿真库副本验过:删一条会话后 messages / queue_items / freebuff_conversation_search 同步归零。
  • 不再「报成功其实没删」:接口那条路照旧先用(能顺手收掉会话的工作区、终端、预览),但删完一定再扫一遍库复核,还在的才算失败,弹窗里给原因(多半是 Freebuff 正开着那条会话,关了标签页再删一次)。
  • 「全选」改成真的全选:以前只勾当前搜索结果,搜索框里留着字就永远漏几条;现在勾的是本库全部会话(含搜索没显示的),提示文案同步改。
  • 顺带:打开对话框不再先起一个本地服务,省掉 1~2 秒和一次 junction 创建;HelperOrchestrator 里只为列表服务的 ListThreads / MergeProjects / JunctionTargetScan 一并删掉。
  • 没做的一角(记下来):云端会话删的是本地这份。控制器没有登录态(helper 拿不到 Electron 的 secure-storage 桥),删不了云端 workspace;Freebuff 下次同步若把云端那条再拉回来,只能在 Freebuff 里删。
  • 影响:项目目录已删的临时会话、云端会话、legacy-chat-* 旧 id 会话都能列出来并被删掉;打开对话框更快。
  • 这是最后一个版本:项目自 2026-10-22 起停止更新,不再跟进 Freebuff 后续改版。源码与已发布产物保持可用,MIT 许可,欢迎 fork 接手——接手要点见 README 的「维护状态与接手」。