fix: align website with unified execution
GoodBuddy Agents / Validate Agent source (push) Canceled after 0s
GoodBuddy Agents / Build darwin arm64 Agent (push) Canceled after 0s
GoodBuddy Agents / Build linux arm64 Agent (push) Canceled after 0s
GoodBuddy Agents / Build linux x64 Agent (push) Canceled after 0s
Cross-platform packages / Validate source (push) Canceled after 0s
Cross-platform packages / Authorize desktop packaging (push) Canceled after 0s
Cross-platform packages / linux arm64 (push) Canceled after 0s
Cross-platform packages / macos arm64 (push) Canceled after 0s
Cross-platform packages / windows arm64 (push) Canceled after 0s
Cross-platform packages / linux x64 (push) Canceled after 0s
Cross-platform packages / macos x64 (push) Canceled after 0s
Cross-platform packages / windows x64 (push) Canceled after 0s
Cross-platform packages / Publish GitHub and OSS release (push) Canceled after 0s
Deploy website to GitHub Pages / Deploy static website (push) Canceled after 0s
GoodBuddy Agents / Validate Agent source (push) Canceled after 0s
GoodBuddy Agents / Build darwin arm64 Agent (push) Canceled after 0s
GoodBuddy Agents / Build linux arm64 Agent (push) Canceled after 0s
GoodBuddy Agents / Build linux x64 Agent (push) Canceled after 0s
Cross-platform packages / Validate source (push) Canceled after 0s
Cross-platform packages / Authorize desktop packaging (push) Canceled after 0s
Cross-platform packages / linux arm64 (push) Canceled after 0s
Cross-platform packages / macos arm64 (push) Canceled after 0s
Cross-platform packages / windows arm64 (push) Canceled after 0s
Cross-platform packages / linux x64 (push) Canceled after 0s
Cross-platform packages / macos x64 (push) Canceled after 0s
Cross-platform packages / windows x64 (push) Canceled after 0s
Cross-platform packages / Publish GitHub and OSS release (push) Canceled after 0s
Deploy website to GitHub Pages / Deploy static website (push) Canceled after 0s
Remove obsolete work-mode labels from bilingual product previews and describe tools through enabled capabilities and Runtime assignments. Fix preview overlap and narrow-screen clipping, guard the updated copy, and record execution migration and validation results. Release note: 官网同步移除 Ask/Execute 模式展示,更新工具配置说明,并修复桌面与手机首屏示意的遮挡和裁切。
This commit is contained in:
@@ -182,11 +182,11 @@ Runtime 设置已升级到版本 22。版本 1 至 21 的历史 schema 继续读
|
||||
[原生工具合同](../../../src/shared/runtime-customization-contracts.ts)已删除 `tools[*].ask/execute`,
|
||||
能力合同也已删除 `availableIn` 模式列表。Runtime 清单生成与
|
||||
[清单 UI](../../../src/renderer/src/RuntimeCustomizationSection.tsx)的配套改造由各模块负责。
|
||||
[native-terminal-client](../../../src/main/agent/native-terminal-client.ts)生成模式插件和启动权限参数,
|
||||
[DS Web 策略](../../../src/main/agent/native-dsh-web-policy.ts)生成 `config.workMode`,
|
||||
[DS Web 启动器](../../../src/main/agent/native-dsh-web-client.ts)写入 `goodbuddy-mode.mjs`、`cordis.patch.yml`。
|
||||
删除或重生成应用自有启动材料,保留原生历史、用户 profile 和工作区文件。
|
||||
Harness 的 `params.mode`、ACP 模式列表和注入提示词属于同一旧概念,不能因字段名不同遗漏;
|
||||
[native-terminal-client](../../../src/main/agent/native-terminal-client.ts)已删除模式插件和模式化启动参数,
|
||||
[DS Web 策略](../../../src/main/agent/native-dsh-web-policy.ts)与
|
||||
[DS Web 启动器](../../../src/main/agent/native-dsh-web-client.ts)也不再生成 `config.workMode` 或加载旧模式插件。
|
||||
应用自有启动目录按既有生命周期重建,保留原生历史、用户 profile 和工作区文件。
|
||||
Harness 的 `params.mode`、ACP 产品模式列表和注入提示词已一并删除;
|
||||
见 [Harness 控制面](../../../src/main/agent/goodbuddy-harness-control-plane.ts)。
|
||||
通道 `/ask`、`/execute` 等前缀的行为改造见逻辑设计,历史消息正文不回写。
|
||||
|
||||
@@ -238,3 +238,5 @@ npx vitest run src/shared src/main/assistant/assistant-database.test.ts src/main
|
||||
本次修改文件的 ESLint 与 `git diff --check` 通过;Node 类型检查仍有其他模块的旧字段调用错误,
|
||||
本次负责的共享合同、主库与设置文件没有类型诊断。完整应用类型检查仍待并发改造合并后验收。
|
||||
这些证据不覆盖用户生产库、Renderer 导入、活动标签清理或真实 Agent Host。
|
||||
|
||||
后续集成已通过完整类型检查和构建,详见[进度](./progress.md#最终集成检查)。真实存储 Worker 新增直接从历史迁移链构造 schema 59 的用例,验证三列和已知 JSON 字段删除、内容保留、事件身份、完整性及重开;并修正两个 schema 46 夹具的历史列形状。存储 Worker 与相关迁移回归共 145 项通过,仍不等同于用户生产旧库取样验证。
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## 2026-10-04 调研与设计
|
||||
|
||||
用户确认彻底移除 Ask / Execute,包括界面、原生工具与 MCP 限制,并允许升级清理历史模式字段。本轮交付文档,不实施运行时或数据库改造。
|
||||
调研阶段,用户确认彻底移除 Ask / Execute,包括界面、原生工具与 MCP 限制,并允许升级清理历史模式字段。该阶段先交付文档,随后用户确认删除安全设置并授权实施;实现结果见下文。
|
||||
|
||||
已完成只读源码调研:共享合同、Renderer、Main IPC、Model/OpenCode/Continue/Harness、原生客户端、Agent/桥接/辅助程序、图片工具、子代理、通道、队列、日程和数据库迁移入口。具体路径见[源码调研](./source-audit.md)与[数据迁移](./data-migration.md)。历史检索未返回相关存储决策,设计依据为当前会话要求与源码。
|
||||
|
||||
@@ -10,15 +10,15 @@
|
||||
|
||||
## 已知工作树改动
|
||||
|
||||
本会话较早阶段按“Ask 仅提供只读工具”的旧方向修改了浏览器权限、网关分类、IPC 发放及相关测试。那部分改动仍未提交,方向已被本次完全移除模式的需求替代。后续实施需收敛这些改动,不能在此基础上继续扩展只读名单。
|
||||
本会话较早阶段按“Ask 仅提供只读工具”的旧方向修改了浏览器权限、网关分类、IPC 发放及相关测试。该方向已被完全移除模式的需求替代,后续源码改造已清理这些模式条件。
|
||||
|
||||
旧方向的聚焦测试曾报告 280 通过、1 跳过,类型检查与 lint 通过;这不构成本功能的验收证据。后续源码调研还发现 Model/Continue 上层授权分支未贯通。图片服务原始模式检查仍存在。
|
||||
旧方向的聚焦测试曾报告 280 通过、1 跳过,类型检查与 lint 通过;这不构成本功能的验收证据。当时发现的 Model/Continue 上层授权分支和图片服务模式检查已在本次实现中移除。
|
||||
|
||||
工作树另有并发的任务统计、监督者、界面和文档改动,均不属于本次移除实现。未对其回退或覆盖。
|
||||
|
||||
## 2026-10-04 当前实现与定向验证
|
||||
|
||||
主要源码改造已落地。以下按组件区分实现与验收,不把定向通过记为全量验证通过;全量测试仍在运行,最终结果由主实施记录汇总。
|
||||
主要源码改造已落地,最终类型检查、lint 与生产构建通过。全量测试和后续定向复跑结果见“最终集成检查”;当前不声称全仓测试全绿。
|
||||
|
||||
| 技术设计阶段 | 状态 | 剩余工作 |
|
||||
| --- | --- | --- |
|
||||
@@ -58,11 +58,36 @@ npx vitest run src/agent-daemon src/main/remote-agent src/main/agent/acp-remote-
|
||||
|
||||
### 现行文档
|
||||
|
||||
根 README、双语 FEATURES、BUILD、UI-DESIGN、运行时约定与受影响功能 Markdown 已同步无模式规则。规划功能仍保持规划状态;历史发布、原型及日期明确的验证段保留当时结果。`sites/index.html` 和 `sites/en.html` 仍有双模式产品文案与示意,属于本轮未修改的站点源码,发布前需同步。
|
||||
根 README、双语 FEATURES、BUILD、UI-DESIGN、运行时约定与受影响功能 Markdown 已同步无模式规则。规划功能仍保持规划状态;历史发布、原型及日期明确的验证段保留当时结果。站点中英文页面、内置工具描述与联网诊断请求也已清理旧模式说明和字段。
|
||||
|
||||
### 专家执行空间与远程图片保存
|
||||
|
||||
审查发现智能路由删除 Ask 条件后,原先全局缓存的专家模型可能把项目写操作落到全局目录。现已按当前项目创建专家实例,传递父请求的能力上下文,并在子任务结束时释放其自身资源。两份不同本地根目录的回归验证写入位置和上下文继承;内部综合仍使用独立无工具实例。
|
||||
|
||||
SSH 专家保留父请求已解析的 OpenCode 或 Continue 选择,通过现有 managed remote runtime 使用专家模型配置。图片保存因此沿用 Host 的 image MCP,不调用 Desktop 的本地保存函数,也没有新增文件传输协议。复核未再发现上述执行空间或保存目标问题。
|
||||
|
||||
真实 Host 记录:`C:/Users/jiang/AppData/Local/Temp/opencode/expert-image-validation.md`。两个 Runtime 均完成无覆盖保存、重复保存冲突、显式覆盖测试,SFTP 读取结果与替换 PNG 的 68 字节完全一致;每个成功场景 3 次图片读取、0 次桌面保存,退出后所属进程为 0。此处图片是测试夹具,不是提供商生成。
|
||||
|
||||
该轮共 12 次真实文本提供商请求,包括初始验证脚本预算不足的两次尝试各 2 次请求,以及最终成功的两组各 4 次请求。加上前述无模式链路的 13 次,本功能开发验证累计 25 次真实文本请求、0 次图片生成请求。SSH 专家修复后五个聚焦文件 260 项通过、1 项既有跳过。
|
||||
|
||||
### 最终集成检查
|
||||
|
||||
- `npm run typecheck`:Main、Agent、Web 通过。
|
||||
- `npm run lint`:通过。
|
||||
- `npm run build`:最终专家修复后通过,包含上述类型检查和 control-plane installer 检查;保留一条共享工作区模块静态/动态导入的构建提示。
|
||||
- `npm test`:完整运行 523 个文件,497 通过、12 失败、14 跳过;6,062 项中 5,956 通过、20 失败、86 跳过,并出现 1 个未处理错误。该运行期间工作树有并发修改。
|
||||
- 失败定位与修正后,最后针对六个文件复跑为 360 通过、1 失败;其中 App 348 项、真实存储 Worker 3 项、工作栏布局 2 项、OpenCode 生命周期 4 项和远程路径访问 3 项通过。
|
||||
- 本功能遗漏的存储 Worker 旧夹具已修复,并增加直接通过历史迁移链构造 schema 59 的真实 Worker 升级验证;相关三个文件共 145 项通过。
|
||||
|
||||
最后复跑仍失败的是 `tests/supervisor-layout.electron.test.ts`:驱动等待 `.supervisor-workspace__inline-error`,并发监督者改造已改用通知。该问题不属于本次工作模式移除,没有回退或改写对应业务变更。它阻止当前工作树被描述为测试全绿。
|
||||
|
||||
完整及复跑报告分别位于临时目录的 `ask-execute-full-20261004.json`、`ask-execute-focused-20261004.json` 和 `ask-execute-final-followup-20261004.json`。这些数字属于各次运行,不相加作为去重测试总数。
|
||||
|
||||
尚未进行用户生产旧库副本迁移、签名安装包发布或全部跨平台验收。远程使用需配套支持 runtime/acp 6 的 Agent;现有已发布锁文件未被伪造为兼容新协议。
|
||||
|
||||
## 调研阶段验证边界
|
||||
|
||||
本轮没有执行产品迁移,没有读取真实用户数据库或 Agent 日志,没有启动 Runtime、调用模型/图片提供商,也没有连接测试 Host。调用次数为 0。源码阅读证明依赖存在,不证明升级或执行已通过。
|
||||
早期只读调研没有执行迁移、读取真实用户数据库或调用模型,调用次数为 0。后续实施验证单列在上文,不能将两个阶段的证据范围混为一谈。
|
||||
|
||||
仍需实际取证:旧 `runs` JSON 形状、Agent 不透明事件中的应用自有字段、旧远程操作跨升级恢复,以及外部委派服务兼容性。不得用递归删字段或清空日志回避这些问题。
|
||||
|
||||
|
||||
@@ -96,7 +96,7 @@ Desktop、Agent、CLI、runtime profile、model bridge 路由、Continue helper
|
||||
|
||||
## 文档同步清单
|
||||
|
||||
根运行时约定及下列 Markdown 现行规范已按无模式源码更新。日期明确的历史记录保留原状;尚未实现的功能仍标为规划,完整测试与发布包验证不因文档同步而视为通过。站点 HTML 不属于本次文档修改范围,其中旧模式文案仍需源码维护方同步。
|
||||
根运行时约定、站点中英文 HTML 及下列 Markdown 现行规范已按无模式源码更新。日期明确的历史记录保留原状;尚未实现的功能仍标为规划,完整测试与发布包验证不因文档同步而视为通过。
|
||||
|
||||
| 文档范围 | 更新内容 |
|
||||
| --- | --- |
|
||||
|
||||
@@ -13,6 +13,8 @@ x64 / arm64 安装包与独立龙芯 loong64 预览版,并说明兼容性与
|
||||
产品演示使用可维护的 HTML/CSS 与 SVG 图标,不使用真实截图。界面中直接呈现
|
||||
任务、回答和处理结果,不附加“界面示意”“示例回答”等标签。更新时同时维护
|
||||
中英文文本,演示内容须符合实际功能,不编造用户案例或性能指标。
|
||||
首屏示意显示所选 Runtime,不展示 Ask / Execute 模式或一般工具审批。工具说明以
|
||||
已启用能力和 MCP 服务分配为准;站点校验会检查中英文页面中的旧模式文案与控件。
|
||||
FAQ 使用原生 details/summary,说明模型费用、数据流向、组件准备和远端使用条件。
|
||||
英文页面位于 `en.html`,用平台与架构覆盖描述同一产品事实,不使用中文信创
|
||||
政策语汇;页面会标明独立的 LoongArch 实验预览,但三个平台的下载按钮仍始终
|
||||
|
||||
+3
-3
@@ -185,7 +185,7 @@
|
||||
<strong>Fix empty search results</strong>
|
||||
<span>Project: Knowledge search</span>
|
||||
</div>
|
||||
<div class="mode-pill">Continue</div>
|
||||
<div class="runtime-pill">Continue</div>
|
||||
</div>
|
||||
<div class="message-area">
|
||||
<div class="message message--user">Search returns nothing with extra spaces. Fix it and add tests.</div>
|
||||
@@ -217,7 +217,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="floating-card floating-card--approval">
|
||||
<div class="floating-card floating-card--agents">
|
||||
<span class="floating-icon">
|
||||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="m8 7-5 5 5 5M16 7l5 5-5 5M14 4l-4 16" /></svg>
|
||||
</span>
|
||||
@@ -377,7 +377,7 @@
|
||||
</div>
|
||||
<span class="feature-number">04</span>
|
||||
<h3>Ask questions or give it a task</h3>
|
||||
<p>No work-mode switch is needed. Available tools depend on the selected Runtime and enabled capabilities. Operations use the current account's permissions, and tool calls appear in the run history.</p>
|
||||
<p>Available tools depend on the selected Runtime and enabled capabilities. Manage MCP services and their Runtime assignments in settings. Operations use the current account's permissions, and tool calls appear in the run history.</p>
|
||||
</article>
|
||||
|
||||
<article class="feature-card">
|
||||
|
||||
+4
-4
@@ -190,7 +190,7 @@
|
||||
<strong>修复搜索空结果</strong>
|
||||
<span>项目:知识检索</span>
|
||||
</div>
|
||||
<div class="mode-pill">Continue · 执行</div>
|
||||
<div class="runtime-pill">Continue</div>
|
||||
</div>
|
||||
<div class="message-area">
|
||||
<div class="message message--user">搜索词带空格时没有结果,请修复并补充测试。</div>
|
||||
@@ -217,12 +217,12 @@
|
||||
</div>
|
||||
<div class="composer">
|
||||
<span>描述你想完成的编程任务…</span>
|
||||
<div class="composer-actions"><span>执行</span><b>↑</b></div>
|
||||
<div class="composer-actions"><span>Continue</span><b>↑</b></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="floating-card floating-card--approval">
|
||||
<div class="floating-card floating-card--agents">
|
||||
<span class="floating-icon">
|
||||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="m8 7-5 5 5 5M16 7l5 5-5 5M14 4l-4 16" /></svg>
|
||||
</span>
|
||||
@@ -462,7 +462,7 @@
|
||||
</div>
|
||||
<span class="feature-number">04</span>
|
||||
<h3>直接提问或交付任务</h3>
|
||||
<p>无需切换工作模式。可用工具由所选 Runtime 和已启用能力决定,操作使用当前账号权限,工具调用保留在运行记录中。</p>
|
||||
<p>可用工具由所选 Runtime 和已启用能力决定。你可以在设置中管理 MCP 服务及其 Runtime 分配,操作使用当前账号权限,工具调用保留在运行记录中。</p>
|
||||
</article>
|
||||
|
||||
<article class="feature-card">
|
||||
|
||||
@@ -303,6 +303,11 @@ for (const [relativePath, content] of [["index.html", html], ["en.html", english
|
||||
`${relativePath} 常见问题必须使用原生可展开控件`);
|
||||
report(!/approval-controlled|受控执行|继续经过审批/.test(content),
|
||||
`${relativePath} 不得保留过时的执行审批文案`);
|
||||
report(!/\bExecute\b|Ask\s*(?:模式|保持只读|stays read-only)|mode-pill|mode-row|floating-card--approval/.test(content),
|
||||
`${relativePath} 不得保留工作模式或工具审批的文案与控件`);
|
||||
report(/class="runtime-pill">Continue<\/div>/.test(content) &&
|
||||
/class="composer-actions"><span>Continue<\/span>/.test(content),
|
||||
`${relativePath} 首屏示意应显示 Runtime,不再显示执行模式`);
|
||||
}
|
||||
|
||||
for (const forbiddenCopy of ["信创", "国产", "统信 UOS", "银河麒麟", "海光", "兆芯", "鲲鹏", "飞腾"]) {
|
||||
|
||||
+10
-24
@@ -127,7 +127,6 @@ html {
|
||||
}
|
||||
|
||||
body {
|
||||
min-width: 320px;
|
||||
margin: 0;
|
||||
overflow-x: hidden;
|
||||
background: var(--surface-canvas);
|
||||
@@ -855,7 +854,7 @@ p {
|
||||
font-size: 8px;
|
||||
}
|
||||
|
||||
.mode-pill {
|
||||
.runtime-pill {
|
||||
padding: 4px 8px;
|
||||
border: 1px solid var(--border-default);
|
||||
border-radius: var(--radius-pill);
|
||||
@@ -1186,9 +1185,9 @@ p {
|
||||
font-size: 8px;
|
||||
}
|
||||
|
||||
.floating-card--approval {
|
||||
.floating-card--agents {
|
||||
right: -32px;
|
||||
bottom: 58px;
|
||||
bottom: calc(-1 * var(--space-4));
|
||||
}
|
||||
|
||||
.floating-card--scope {
|
||||
@@ -1356,7 +1355,6 @@ p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.mode-row,
|
||||
.provider-pills {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
@@ -1364,7 +1362,6 @@ p {
|
||||
margin-top: var(--space-6);
|
||||
}
|
||||
|
||||
.mode-row span,
|
||||
.provider-pills span {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
@@ -1378,18 +1375,6 @@ p {
|
||||
font-weight: 680;
|
||||
}
|
||||
|
||||
.mode-row small {
|
||||
color: var(--text-muted);
|
||||
font-size: var(--font-caption);
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.mode-row .is-accent {
|
||||
border-color: color-mix(in srgb, var(--accent) 35%, var(--border-default));
|
||||
background: var(--accent-subtle);
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.download-section {
|
||||
padding-top: var(--section-space);
|
||||
}
|
||||
@@ -1723,7 +1708,7 @@ p {
|
||||
transform-origin: center top;
|
||||
}
|
||||
|
||||
.floating-card--approval {
|
||||
.floating-card--agents {
|
||||
right: -10px;
|
||||
}
|
||||
|
||||
@@ -1792,9 +1777,8 @@ p {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.floating-card--approval {
|
||||
.floating-card--agents {
|
||||
right: 0;
|
||||
bottom: 34px;
|
||||
}
|
||||
|
||||
.proof-grid {
|
||||
@@ -1985,6 +1969,8 @@ p {
|
||||
|
||||
.app-layout {
|
||||
grid-template-columns: minmax(0, 1fr);
|
||||
height: auto;
|
||||
min-height: 420px;
|
||||
}
|
||||
|
||||
.app-sidebar {
|
||||
@@ -2003,7 +1989,7 @@ p {
|
||||
.tool-card strong,
|
||||
.tool-card span,
|
||||
.app-content-header span,
|
||||
.mode-pill {
|
||||
.runtime-pill {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
@@ -2017,9 +2003,9 @@ p {
|
||||
right: 2px;
|
||||
}
|
||||
|
||||
.floating-card--approval {
|
||||
.floating-card--agents {
|
||||
right: 2px;
|
||||
bottom: 18px;
|
||||
bottom: var(--space-2);
|
||||
}
|
||||
|
||||
.floating-card {
|
||||
|
||||
Reference in New Issue
Block a user