[Bug]: 无法删除工作区路径失效的个人助理(Workspace path is not a managed assistant workspace)
维护者通常 1 天内回复
评估
调研方向
Start with WorkspaceService::is_assistant_workspace_path and the Tauri commands in src/apps/desktop/src/api/commands.rs, then inspect the workspace_data.json rootPath migration behavior. Also review FlowChatStore.deleteSession for the related invalid-path guard. Done means legacy BitFun assistant workspaces can be deleted or reset safely, and the reported stale-session behavior is addressed without breaking managed-path protections.
由索引模型根据 Issue 内容生成。
描述
Summary
删除一个在 BitFun 时代创建的个人助理时,后端始终拒绝并报错:
Workspace path is not a managed assistant workspace: /Users/DevEcoNew/.bitfun/personal_assistant/workspace-44e0e781
确认弹窗点击"删除个人助理"后,左下角弹出上述错误通知,该助理永远无法从 UI 删除。
根因分析:
- 该助理工作区记录(
workspace_data.json)的rootPath仍指向旧品牌数据根~/.bitfun/personal_assistant/workspace-<id>,且该目录真实存在;BitFun → OpenBitFun 品牌迁移后,受管助理根变为~/.openbitfun/personal_assistant/,迁移未搬移该目录、也未重写记录的rootPath。 WorkspaceService::is_assistant_workspace_path只接受新根下的workspace/workspace-<id>布局,导致delete_assistant_workspace、reset_assistant_workspace、reset_workspace_persona_files三个命令全部以 "not a managed assistant workspace" 拒绝操作。- 结果:升级兼容性破坏——旧版本创建的助理工作区在当前版本中无法删除或重置,用户被永久卡死。
同类症状: 工作区路径失效的会话在会话列表中同样无法删除(前端 FlowChatStore.deleteSession 残留 workspace path 守卫,导致后端 ID-first 的 delete_session 从未被调用,错误被吞掉后 UI 先删、重启复活)。
Area
Desktop app(Tauri 命令 delete_assistant_workspace 等,src/apps/desktop/src/api/commands.rs);UI 入口为工作区/个人助理列表的删除确认弹窗。
Reproduction or evidence
- 存在一个 BitFun 时代创建的个人助理,其工作区记录
rootPath指向~/.bitfun/personal_assistant/workspace-<id>,且目录未被迁移搬走(迁移部分完成/跳过即可出现)。 - 在个人助理管理界面点击删除,确认弹窗提示"此操作会永久删除该个人助理的工作区目录,以及其中的所有文件。"
- 点击"删除个人助理",左下角出现错误通知
Workspace path is not a managed assistant workspace: /Users/.../.bitfun/personal_assistant/workspace-...,删除失败,重试永远相同。
删除确认弹窗:

删除失败错误通知:

Environment
- macOS
- 复现于 main 分支构建(2026-09-20)
- 数据背景:BitFun → OpenBitFun 升级迁移未覆盖该助理目录
- 主要语言
- Rust
- 星标
- 2.3k
- 派生
- 236
- 平均合并
- 3 小时 33 分钟
- 30 天内合并 PR
- 339
环境准备
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
GCWing/OpenBitFun 的其他 Issue
-
难度 2/5 半天 新手友好度 74/100
GCWing/OpenBitFun#3279 ·
维护者通常 1 天内回复
-
[Bug]: 界面写“敏感诊断信息默认关闭”,但后端配置当前实际默认是 true可能已有人在做 @xiechimon 于 16 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 75/100
GCWing/OpenBitFun#3213 · 1 条评论 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 72/100
GCWing/OpenBitFun#2363 ·
维护者通常 1 天内回复
-
question
难度 1/5 1 小时以内 新手友好度 78/100
GCWing/OpenBitFun#2340 ·
维护者通常 1 天内回复
-
[Feature]: 用量提醒未关闭
难度 4/5 3-5 天 新手友好度 35/100
GCWing/OpenBitFun#3325 ·
维护者通常 1 天内回复
查看 GCWing/OpenBitFun 的全部 Issue
相似的 Issue
-
area:docs documentation good first issue priority:low
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
triage:accepted
难度 2/5 1-3 小时 新手友好度 65/100
open-telemetry/otel-arrow#4343 ·
维护者通常 2 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 75/100
mishraprafful/multihull#150 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 70/100
voidzero-dev/vite-plus#2970 ·
维护者通常 1 天内回复
-
ai_p2 comp-parquet-reader-v3
难度 2/5 半天 新手友好度 66/100
ClickHouse/ClickHouse#124986 ·
维护者通常 1 天内回复