Files
ycode/docs/reference/workbuddy-independent-conversations-2026-10-08.md
T

5.0 KiB
Raw Blame History

WorkBuddy 无项目归属对话实测(2026-10-08)

1. 环境与检查范围

应用为 WorkBuddy.exe 5.7.6,通过原生 Electron CDP 9223 检查真实侧栏、既有独立对话、新建任务页、工作空间选择菜单和“保存到工作空间”弹窗。另只读检查本地 SQLite 与安装包对应处理代码。

未发送消息、执行工具、保存工作空间、移动任务、归档或删除数据。打开的保存弹窗已取消;结论区分实际 UI/数据观察和未执行的代码路径。

2. 无项目归属不代表无目录

本地 sessions 分别保存:

project_id      项目归属,可为空
cwd             实际本地工作目录
is_playground   区分自动目录的独立任务与工作空间任务
transport       本地/云端执行来源
group_id        另一种分组字段,不能等同于 project_id

当前未删除的样本共有 15 条本地会话,10 条 project_id IS NULL:

类别 数量 实测结果
自动目录独立任务 9 is_playground=1;cwd 为用户 WorkBuddy 根目录下的时间戳目录
已有目录工作空间任务 1 is_playground=0;cwd 为已有本地目录,project_id 仍为空

检查的目录均存在;不是靠一个隐藏的项目 ID 为这些任务兜底。当前 Ygent 的独立任务绑定隐藏 task 级项目,与这个本地会话模型不同。

3. 侧栏按任务形态展示

  • 自动目录独立任务显示在“任务 (9)”分组;当前 DOM 挂载前 5 条,另有“查看更多 (4)”。挂载数不能当作总数。
  • 已有目录工作空间任务放在“空间”分组的目录名称下面。
  • 两个真正有项目 ID 的项目也显示在“空间”分组中,因此“空间”不是“所有会话都有项目归属”的证据。
  • 侧栏没有为无项目归属任务显示一个“未归类项目”。

4. 新建任务如何取得目录

新建任务页的输入区默认显示“选择工作空间”。展开后可以选择已登记目录、新建工作空间或打开本地文件夹。

静态代码确认:未选择目录时,前端将 selectedCwd 留空并使用 isPlayground=true;选择目录时使用该目录并设 isPlayground=false。

后端的 workspaceGenerateDefaultCwd 解析默认根目录,再创建以 YYYY-MM-DD-HH-mm-ss 命名的目录;同名时尝试其他时间戳,确保新目录唯一。默认根目录可来自应用配置,通常位于用户主目录的品牌文件夹下。

这个自动创建路径与现有会话目录吻合。本次没有新发消息触发创建,故不把创建的准确时点、失败交互或工具运行过程记为动态实测通过。

5. “保存到工作空间”不是“归入项目”

既有独立任务的右键菜单实测含:置顶、重命名、分享任务、在独立窗口中打开、保存到工作空间、打开文件夹、批量操作、归档和删除任务。

“保存到工作空间”弹窗要求填写工作空间名称,并说明可持续使用对话和文件、同时开展多个任务。

对应代码路径:

  1. 校验名称及重名/系统保留名。
  2. 调用 conversations.move(taskId, 原 cwd, transport)。
  3. 为原 cwd 设置工作空间显示名。
  4. 将前端任务 isPlayground 更新为 false,刷新列表。

这里没有传入目标 projectId,也不是选择云端项目的归类弹窗。调用仍传入原 cwd;本次没有点击保存,未实测 move 的所有后端文件副作用。

在当前独立本地任务菜单中没有看到“归入项目”入口,不能据此断言其他来源或版本绝对不存在该能力。

6. 持久化与清理边界

独立任务已有本地 SQLite 会话记录,工作目录真实存在,旧任务能重新打开。“未保存到工作空间”不能解释成“不保存聊天”或“关闭立即清除文件”。

清理周期、归档/删除是否清理目录、任务恢复时的全部执行状态、本地任务归入云端项目等路径均未实测。

7. 给 Ygent 的参考与后续落地

以下来自调研建议。后续已在 项目概念约定 和 实施方案 明确 Ygent 自身规则,包括归属调整保留实际目录;这些实现选择不属于 WorkBuddy 实测结论。

  • 无项目归属对话可以保留 projectId=null,显示在“任务”列表,不必制造“未归类”项目或展示隐藏项目。
  • 未指定目录时为该任务准备独立托管目录;任务本身持久化,项目归属与实际 cwd 分开记录。
  • 以后归入 Ygent 项目时,应单独定义是否沿用原目录、项目指令从何时生效、文件如何处理,不能只改 projectId 就暗中搬文件或切换执行目录。
  • 当前不必照搬 WorkBuddy 的“保存到工作空间”产品入口;Ygent 已采用 项目+工作目录定义,需要保持术语简单。

原始采集及静态片段位于用户私有 .ygent/imports/render-audit-20261008/。参见 WorkBuddy 项目概念。