Repository navigation
归一 Unyra v0.6.2
归一 Unyra v0.6.2 —— 工作区性能整治、「新建文件」草稿页签与 Agent 路径放行审批:常驻帧管线按需停摆、强制布局读清除、落盘分片让出主线程;空白页签就地变草稿、保存即另存;execute 沙箱新增 permission api,外部目录放行须经用户审批。
工作区性能整治(量测账目见 docs/performance.md)
- 常驻帧管线按需停摆:侧栏音频律动 canvas 在滚出视口(IntersectionObserver)或页面切后台(visibilitychange)时 cancelAnimationFrame,回来自动续上;主题色改由 MutationObserver 盯 data-theme,停掉每 90 帧一次的 getComputedStyle——砍掉 ~40fps 的常驻纯合成帧(约 20% 主线程占用)。
- 强制布局读清除:面包屑「滚到最右端」不再读 scrollWidth(省 49.9ms 强制布局结算),改为给 scrollTo 一个远超宽度的值让浏览器自己夹;页签栏同一套写法一并处理。
- 落盘分片让出主线程:buildDocs 改为生成器(同步版与分片版共用同一段逻辑),异步落盘走 buildDocsChunked——每片最多连跑 6ms,片间 yieldToMain(scheduler.yield → MessageChannel → setTimeout 逐级降级);98.77ms 的整块同步阻塞变成片间可插输入与帧的小片,关窗前的同步版保持一次算完。
- assetMoves 索引缓存:「节点 id → 所在目录」索引按快照 WeakMap 缓存,省去每次保存的逐份 parseJson。
- 性能量测基建:新增 perf-lab(trace 日志分析器 + 六开关页签切换实验台)与 npm run perf:trace / perf:lab / perf:lab:prod / perf:lab:check 四条命令,量测方法与全部结论记录在 docs/performance.md。
新建文件(草稿页签)
- 空白页签就地变草稿:空白页签上点「新建文件」,就地变成无类型、无落点的临时编辑页,正文写在暂存区;写过一个字才出现「未保存」圆点,空草稿关闭不弹确认框。
- 保存即另存:Ctrl+S(或页头「保存…」)走原生另存对话框定路径、文件名与后缀;成功后页签就地换成 local 页签(位置与创建时间不动),后缀决定视图——.md 进预览、.txt 进编辑、图片进媒体预览;local 通道白名单外的后缀不转换,草稿原样留在编辑区,改个后缀再存即可。
- 一栏一枚新页签:再点 + 只会切回已有的那枚(数据层构造不出「一格两枚」);草稿不受此限,同时开几份都正常。
Agent 路径放行审批(execute 沙箱新增 permission api)
- permission.list / revoke / request:查看当前可访问作用域(数据根 + 已放行目录)、撤销已放行目录、请求放行外部目录。
- agent-用户-系统的审批闭环:request 弹审批卡片给用户并阻塞等待,批准后由宿主直接写进放行配置——设置「工具」页那份清单实时更新,主进程逐次校验即刻生效;答案不回给模型,模型只拿到批准与否。已在作用域内不弹窗直接放行;放行目录的父目录不算覆盖,扩大作用域同样要过审批;被拒后回执明说不要反复重试。
- 子代理不可达:SUBAGENT_ALLOWED_GROUPS 不含 permission,改放行配置不从子代理手里过(通道口硬挡,不递归)。