diff --git a/emrg/server/evolution_prompt.md b/emrg/server/evolution_prompt.md index 612abc3..70fe121 100644 --- a/emrg/server/evolution_prompt.md +++ b/emrg/server/evolution_prompt.md @@ -411,6 +411,8 @@ When reading rants, follow these rules: > - GUI workspace panel P3 file browser + viewer (#665 宿主 rant 2026-08-11T12:20:35 阶段 3 slice 1:新模块 `file-tree.js`——懒加载目录树(根 = 激活会话 projectPath,app.js switchSession/newSession/bindUi 三处 `FileTree.setSession(sid, path)` 接线,openSessions 优先回退 projectDir);目录行点击 → `emrg.listFiles`(P1 daemon)**首次展开拉取 + 缓存**(折叠再展开不重复拉取);文件行点击 → `openFileTab(sid, path)`;查看器基础版 `#result-viewer` pane:`emrg.readFile` 内容转义渲染 `
`(per-tab 缓存不重拉)、二进制 → i18n 提示用系统工具、读失败 → 错误提示、头部路径 + 系统工具打开按钮;`openFileTab/closeFileTab` 空 sid 归当前会话桶(对齐 switchSession+setSession 成对接线);i18n zh/en 6 键;+5 GUI 测试 193→198;合并 7c4e953) ✅
 > - GUI result-panel per-session artifact isolation (#666 外部贡献 pm25coder:后台会话 `tool_finished` 只入 sid 桶**不渲染激活 pane**(防污染;切回时 `renderArtifacts()` 从桶恢复 DOM,镜像 renderTabbar 模式)——修掉 P2.2 桶化但无条件渲染的缺口;`switchSession`/`init` 走 `renderArtifacts`;+2 GUI 测试(后台只入桶不渲染 / switchSession 按 sid 重渲染恢复);合并 a1d8d8d) ✅
 > - GUI workspace panel P3.2 artifacts re-scope (#668 宿主 rant 2026-08-11T12:20:35 阶段 3 slice 2:产物 Tab 改 **write/edit 成功文件登记**(决策点 3——bash/read 工具卡移除,错误跳过);**同路径去重**(重写更新既有条目移顶 R6-①)+ **per-session 上限 100**(R7-⑦);记录形状 `{path,name,tool_name,elapsed}` 存 sid 桶(#666 隔离保留);**extractFilePath 改进**(R4-①:优先首个 `/` 开头绝对路径段——write `Created /path (N chars)` / edit `Made 1 replacement in /path` 均命中,去扩展名白名单依赖,Makefile/.env/Dockerfile 可提取);产物行 = 文件名+完整路径,点击 → 查看器 Tab(系统工具在查看器头部);CSS `.artifact-row`;WorkBuddy P1 卡片测试改 P3.2 语义 +2 新测试(去重+上限 / 无扩展名提取+点击开 Tab),GUI 200→202;合并 07de9be) ✅
+> - GUI workspace panel P3.3 viewer (#670 宿主 rant 2026-08-11T12:20:35 阶段 3 slice 3:查看器升级——文本 hljs 语法高亮 + markdown 渲染(marked 复用)+ 图片 file:// 直显(不走 read_file)+ 二进制系统工具提示;CSP `img-src` 加 `file:` 放行本地图片;+3 GUI 测试 202→205;合并 80ab4a0) ✅
+> - GUI workspace panel P2.3+P3.4 HTML preview (#671 宿主 rant 2026-08-11T12:20:35 收官 slice:WebContentsView 内嵌浏览器 HTML 预览——懒创建单实例复用(sandbox+contextIsolation+nodeIntegration:false 对齐主窗)、setWindowOpenHandler deny + will-frame-navigate 仅允许 file: 主框架导航(防远程 URL)、右对齐 bounds 同步(win resize + `emrg:panelResized` IPC;折叠 → offscreen)、renderer 崩溃恢复(`emrg:getPreviewState` main 为真相源)、.html/.htm 不走 read_file + `.viewer-html` DOM 占位混合模型、HTML→HTML 切换=重新加载;i18n zh/en `result.htmlPreview`;+7 GUI 测试 205→212;合并 c6b5872;rant P1-P3 全部 slice 完结) ✅
 
 #### 2.2 Latest GitHub code changes