chore: establish YCode replication baseline and TODO
This commit is contained in:
commit
6dc59f89ba
1118 files changed
+196002
No files matched your search
@@ -0,0 +1,79 @@
|
||||
# WorkBuddy 无项目归属对话实测(2026-10-08)
|
||||
|
||||
## 1. 环境与检查范围
|
||||
|
||||
应用为 WorkBuddy.exe 5.7.6,通过原生 Electron CDP 9223 检查真实侧栏、既有独立对话、新建任务页、工作空间选择菜单和“保存到工作空间”弹窗。另只读检查本地 SQLite 与安装包对应处理代码。
|
||||
|
||||
未发送消息、执行工具、保存工作空间、移动任务、归档或删除数据。打开的保存弹窗已取消;结论区分实际 UI/数据观察和未执行的代码路径。
|
||||
|
||||
## 2. 无项目归属不代表无目录
|
||||
|
||||
本地 `sessions` 分别保存:
|
||||
|
||||
```text
|
||||
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-project-space.md) 和 [实施方案](ygent-project-implementation.md) 明确 Ygent 自身规则,包括归属调整保留实际目录;这些实现选择不属于 WorkBuddy 实测结论。
|
||||
|
||||
- 无项目归属对话可以保留 projectId=null,显示在“任务”列表,不必制造“未归类”项目或展示隐藏项目。
|
||||
- 未指定目录时为该任务准备独立托管目录;任务本身持久化,项目归属与实际 cwd 分开记录。
|
||||
- 以后归入 Ygent 项目时,应单独定义是否沿用原目录、项目指令从何时生效、文件如何处理,不能只改 projectId 就暗中搬文件或切换执行目录。
|
||||
- 当前不必照搬 WorkBuddy 的“保存到工作空间”产品入口;Ygent 已采用 [项目+工作目录定义](ygent-project-space.md),需要保持术语简单。
|
||||
|
||||
原始采集及静态片段位于用户私有 `.ygent/imports/render-audit-20261008/`。参见 [WorkBuddy 项目概念](workbuddy-project-concept-2026-10-08.md)。
|
||||
Reference in new issue
Block a user