feat: unify execution and add workspace file imports

Remove Ask/Execute modes and general product tool approvals so requests use the selected runtime, enabled capabilities, and execution account permissions. Migrate retired application metadata while preserving user content.

Retire the Results page while retaining conversation images and stored artifacts. Add local and remote workspace file imports, timestamps and sorting, improve image discovery and saving, and refine workspace navigation and supervision responsiveness. Include the accompanying web-search changes, tests, probes, and product documentation.

Remote imports require an updated Agent. Existing artifacts are not automatically copied into project directories. Validation evidence and outstanding failures remain documented in feature progress files; no full test suite or real-model calls were rerun for this commit.

Release note: Run requests without switching work modes, import files into a selected local or remote workspace folder, sort workspace files by date, and keep using conversation images after removal of the Results page.
This commit is contained in:
mesalogo
2026-10-04 20:02:59 +08:00
parent 0cd5da33f4
commit 56ebd40bd8
374 changed files with 7075 additions and 6224 deletions
+17 -25
View File
@@ -23,7 +23,7 @@ GoodBuddy 应能够:
1. 持续组织项目、会话、任务、成果和记忆,而不是只保存聊天记录。
2. 在明确授权下理解文件、知识库、截图、应用窗口和浏览器上下文。
3. 以 Ask 只读问答和 Execute 完整授权两种模式完成工作;计划审查是 Ask 中的交互方式,不是第三种权限模式。
3. 问答和工具任务采用统一执行,计划审查作为普通交互,不建立权限模式。
4. 在应用级助手工作栏中持续提供任务中心、监督、Runtime、终端、进程、工作区、浏览器和成果。
5. 支持后台任务、定时任务、失败恢复和桌面通知。
6. 让所有记忆、权限、上下文和远程传输可见、可审查、可撤销。
@@ -76,7 +76,7 @@ GoodBuddy 应能够:
- Runtime 按所选 Conversation 或 Task 聚合工具、委派、后台执行、Workflow/Hook 和生命周期,
不提供 Job/Run 树或独立操作对象。
- 进程只展示并控制 GoodBuddy 创建、托管或明确接管的进程。
- 待审批和高风险状态在所有栏目中持续可见,但不无条件抢占当前栏目。
- 待回答和需要关注的状态在所有栏目中持续可见,但不无条件抢占当前栏目。
#### 终端
@@ -102,7 +102,7 @@ GoodBuddy 应能够:
- 展示用户选择的项目、本机或 SSH 工作区文件树。
- 展示创建、修改和删除文件。
- 文本文件提供 Diff,支持接受、撤销和在外部应用打开。
- 高风险变更继续经过独立审批层。
- 变更遵循明确的用户意图和业务确认,不引入一般工具审批层。
#### 浏览器
@@ -118,31 +118,24 @@ GoodBuddy 应能够:
- 名称、说明、根目录和状态。
- 独立会话列表、任务、成果、记忆和自动化。
- 默认工作模式、Runtime、模型连接、Skills、MCP 和知识库范围。
- Runtime、模型连接、Skills、MCP 和知识库范围。
- 项目可归档、恢复和导出。
会话支持置顶、归档、重命名、删除、按项目筛选和搜索;稳定的本地会话还可复制当前聊天
内容到独立分支,并保留不依赖来源生命周期的来源标识。
### 4.2 工作模式
### 4.2 统一执行
#### Ask
- 默认只读。
- 允许读取明确授权的上下文。
- 禁止文件写入、命令执行和外部副作用。
#### Execute
- 允许按现有逐工具审批机制执行。
- 执行快照固定工作目录、模型、技能、MCP 和权限策略。
- 设置变化不影响正在运行的任务。
- 请求使用所选 Runtime、已启用能力和当前账号权限,无产品模式或一般工具审批策略。
- 请求绑定工作目录、模型、技能、MCP 和资源范围,设置变更按各能力生命周期生效。
- 摘要、监督等内部文本调用保持无工具;用户明确要求仅解释时遵循该意图。
- 迁移与验证以[统一执行文档](../features/unified-execution/README.md)为准。
### 4.3 后台 Task 与 Job
- Task 只关联一条 Conversation,Conversation 可以承载多个 Task;内部步骤、委派、并行
分支和重复触发使用 Job/Subjob,但当前 UI 不展示这些内部层级。
- Task 状态:排队、运行、等待审批、暂停、完成、失败、取消、中断。
- Task 状态:排队、运行、等待回答、暂停、完成、失败、取消、中断。
- 应用隐藏后 Job 可以继续运行,应用退出后不承诺继续执行。
- 重启时将未完成 Run 标记为中断,并允许用户恢复。
- Task/Job 事件先持久化,再发送给 Renderer,避免窗口刷新后丢失。
@@ -189,7 +182,7 @@ GoodBuddy 应能够:
### 4.8 桌面通知
- 任务完成、失败、等待审批和定时任务结果可触发通知。
- 任务完成、失败、等待回答和定时任务结果可触发通知。
- 点击通知打开对应项目、任务或会话。
- 通知内容默认不包含敏感上下文。
@@ -239,7 +232,6 @@ GoodBuddy 应能够:
核心实体:
- `projects`
- `work_modes`
- `conversations`
- `messages`
- `tasks`
@@ -268,7 +260,7 @@ GoodBuddy 应能够:
3. Child Runtime 环境变量改用最小 allowlist,避免继承无关密钥。
4. 远程委派支持用户配置的 HTTP 和 HTTPS 地址,不按主机位置增加额外限制。
5. 语音、窗口捕获和浏览器上下文分别授权。
6. 自动化不得绕过工具审批和项目权限。
6. 自动化不得绕过能力分配和项目资源范围。
7. 记忆必须保留来源和作用域。
8. 所有模型输入继续按“不可信数据”处理。
@@ -280,12 +272,12 @@ GoodBuddy 应能够:
- 会话与运行记录已从 `localStorage` 迁移到主进程数据库;旧运行记录可能触及历史上限时
保留可见的不完整提示。
- 拆分共享契约和 IPC 注册。
- 保持现有对话、知识库、设置和审批行为不变。
- 保持现有对话、知识库、设置和业务确认行为。
### 阶段 1:长期工作区骨架
- Projects 与会话归属。
- Ask、Execute 工作模式与旧版 Plan 数据兼容。
- 升级清理旧模式及 `toolApproval` 字段,保留用户内容与任务身份。
- 应用级助手工作栏壳层。
- 固定任务中心、监督、Runtime、终端、进程、工作区、浏览器和成果八个能力入口。
- 任务中心保持单例索引,其他可绑定能力支持跟随当前上下文或固定目标。
@@ -295,7 +287,7 @@ GoodBuddy 应能够:
- 持久化 Task、Job、Run 和事件。
- 在现有 Task Center 补齐范围、状态、最近进展、需要关注和直接打开关联 Conversation。
- 在左侧最近会话增加行首展开按钮和 Task 子项图标,展开层级止于 Task。
- 取消、重试、恢复和审批收件箱。
- 取消、重试、恢复和结构化问题。
- 托盘状态和桌面通知。
### 阶段 3:成果与记忆
@@ -347,7 +339,7 @@ GoodBuddy 应能够:
- 左侧会话列表显示行首展开按钮和 Task 子项图标;当前 UI 不展示 Job/Subjob/Run 层级。
- 事件持久化后再展示。
- 取消、失败、重试和应用重启均有确定状态。
- 审批在全局右侧栏可见。
- 结构化问题在对应会话可见。
### 8.4 记忆
@@ -361,7 +353,7 @@ GoodBuddy 应能够:
- Renderer 无任意文件读取能力。
- Runtime 无无关进程环境变量。
- 自动化和远程入口不能绕过审批。
- 自动化和远程入口不能绕过能力与资源范围校验。
- API Key、连接 Token 和音频不以明文长期保存。
### 8.6 质量门禁
@@ -23,7 +23,7 @@
1. 先保证完整、可用的生产路径,再扩展能力范围。
2. 性能优化必须有基线、目标和优化后的对比数据。
3. 复用现有合同、IPC、Worker、通知、错误边界和界面组件,不引入不必要的框架。
4. Ask 保持只读;Execute 继续代表当前本机或 SSH 账号的完整授权。
4. 问答与工具任务统一执行,使用当前本机或 SSH 账号权限与已接入能力,无产品模式或一般工具审批。
5. 每批只处理列明的范围,不借机进行无关重构。
## 2. 明确排除的工作
@@ -82,7 +82,7 @@
- **范围:**
- 发布并验证 Agent `0.11.14`,或在 Desktop 发布前恢复到已发布 Agent 契约。
- 验证 Linux x64、Linux arm64 正式候选包。
- 覆盖安装、Attach、Execute、取消和断线恢复。
- 覆盖安装、Attach、工具执行、取消和断线恢复。
- 覆盖 GitHub、镜像和离线 GoodBuddy 传输路径。
- **验收:**
- 干净用户目录能获取预期版本。
@@ -130,7 +130,7 @@
- **范围:**
- 新增共享 Update schema、Preload 方法和可信 IPC handler。
- 复用定制任务创建对话框作为编辑模式。
- 支持修改名称、Prompt、Ask/Execute、Runtime、首次运行时间和周期。
- 支持修改名称、Prompt、Runtime、首次运行时间和周期。
- 保留原 Task、Conversation、Schedule 和历史运行关联。
- **验收:**
- 从任务界面进入编辑,保存后列表和下一次运行时间立即更新。
@@ -250,7 +250,7 @@
- 接入现有 computer-control broker。
- **验收:**
- 在真实桌面应用完成一次可重复的查看、点击和输入任务。
- Ask 仍不可执行桌面变更,Execute 路径记录活动。
- 桌面操作沿用能力开关、资源范围和账号权限,执行路径记录活动。
- 取消和关闭后不遗留 GoodBuddy 控制会话。
- **外部依赖:** 首个平台产品决策及对应真实设备。
- **起始证据:** `src/main/capabilities/capability-service.ts`、
@@ -982,6 +982,12 @@ Renderer 主线程降速 4 倍(Main 不降速,每次 reload 后重新应用
未做:读取最大的会话(407 条消息、42 MB metadata)在 worker 上约 170 ms,不阻塞 Main,但切换到这个会话时要等这么久;需要按需加载 metadata,单独立项。
### 7.2.3 监督回顾初始化(2026-10-04,PERF-15)
真实 2.43 GB 隔离快照的全局七天回顾在调用模型前阻塞 Main:来源清单的 25 次扫描都处于同一写事务。修复复用既有 Worker 通信和打包入口,以独立连接单次扫描读快照,再每次写入最多 200 条元数据;初始化期间可受理暂停、取消,未完成清单在继续时重建。最终结果和 checkpoint 仍按原事务一起提交。
原版与修复版各三轮交替测量,周范围初始化从 16.641–17.911 秒降至 1.099–1.146 秒,最慢 IPC 从 16.642–17.928 秒降至 8.1–14.7 ms。最终取消检查补充后的复核为初始化 1.122 秒、IPC 4.7 ms。来源逐条一致;小范围、取消、并发数据库读写和测量限制统一记录在[监督者进度](../features/conversation-supervision/progress.md#2026-10-04-回顾初始化阻塞修复)。完整发布仍在 Main,未把此修复计作全库写入异步化完成。
### 7.3 体验倒退复查(2026-10-03)
逐一复查了所有性能提交对交互体验的影响,并新增原则 P10“体验不倒退”。发现并修复:
@@ -1039,14 +1045,14 @@ Renderer 主线程降速 4 倍(Main 不降速,每次 reload 后重新应用
## 8. 体验与可访问性
### UX-01 统一 Ask/Execute 文案
### UX-01 统一执行文案
- **优先级 / 状态:** P1 / 已完成
- **优先级 / 状态:** P1 / 旧模式文案工作由统一执行替代,完整验收见[进度](../features/unified-execution/progress.md)。
- **范围:**
- 删除“Execute 高风险操作仍需审批”的冲突说明。
- 统一表达为使用当前账号完整权限执行,调用记录到活动。
- 删除工作模式、安全分类及一般工具审批策略说明。
- 统一表达为使用当前账号权限和已接入能力执行,调用记录到活动。
- 同步定时任务、Composer、Runtime、帮助文案及中英文资源。
- **验收:** 所有入口对 Ask/Execute 的描述与真实 Runtime 契约一致。
- **验收:** 各入口说明与无模式 Runtime 契约一致,清除数据入口和确认行为可用。
### UX-02 Runtime 显式状态