Z ZPI 文档 v0.3.8
介绍页

文件树、预览格式、备注与交付卡片

使用入口:文件与预览。标签生命周期见面板,Diff 见审查。

文件树数据流

main/workspace-files 读取目录和 Git 状态,renderer 的 tree hooks 管理展开、缓存、监听、刷新和可见行。初始只读根目录,展开后读子目录,不沿符号链接递归扫描。目录优先排序,压缩连续单子目录,删除文件保留状态行但不提供读取动作。

虚拟行高 28 像素,sticky folder 显示当前滚动位置的祖先链。监听只覆盖根和已展开目录,变化约 300 毫秒合并,目录刷新并发最多两个。折叠、切换 scope 和卸载会释放订阅,迟到响应必须检查请求所属目录状态。

文件管理器使用目录/预览双栏。目录默认约 192 像素,最大占 60%;窄宽度下最小栏宽按 min(160, floor(width/3)) 计算。手动显隐和宽度偏好按 cwd 共享,选择文件不会自动折叠目录。

文件读取边界

主进程验证路径、文件类型和读取大小,renderer 不直接读盘。文本预览最多 2 MiB,过大文件需显示明确限制。二进制格式使用各自有界读取或共享文件接口;格式插件不能通过任意 URL 绕过本地文件边界。

Markdown 链接、图片、文件位置和代码引用先分类解析,再选择应用内预览、系统默认程序或网页浏览器。SVG 经过清理;外部资源和危险 href 不直接传给文档渲染器。HTML 文件页显示源码,网页运行走独立浏览器视图。

格式引擎

格式 管线 主要边界
文本/代码 FilePane 与代码显示 大小、行范围、语言识别、换行
Markdown/Mermaid 共享 Markdown 与图表组件 链接分类、图表预算、异步失败
图片/音视频 文件协议与媒体元素 实际文件类型、受控 URL、生命周期
PDF PDF.js、本地字体/CMap/WASM 资源 大于 2 MiB 时分段读取,页与缩放状态
DOCX/DOC 本地 Office 预览器 解析错误、外链与样式范围
XLSX/XLSM/XLS 工作簿解析、工作表模型 表切换及单元格展示
PPTX @aiden0z/pptx-renderer、ZIP 资源、slide 模型 按需页渲染、元素选择、缩略图、导出

PPTX 的控制、元素模型、引用和导出拆在 presentation 目录。它是只读预览,不提供 Office 原样编辑。旧 .ppt 不在支持范围内。格式解析失败由 FilePreviewBoundary 等局部边界接住,不应拖垮全部对话。

PDF 导出

演示文稿经受控打印/导出管线生成 PDF,在同一窗口请求保存对话框。导出结果有 50 MiB 上限,取消与生成失败分别处理。目标文件由用户选择,不能用幻灯片内容自带的路径决定写入位置。生成任务核对当前预览身份,关闭/切换后丢弃不再适用的结果。

行备注

行号选择生成结构化引用,包含路径、行范围、选中文本和可选评论,加入目标会话草稿。选择范围要有非空白代码;空评论仍可作为代码引用。它不修改源文件,也不自动发送。

草稿引用与预览标记保持对应 ID,移除一条评论不能误删普通文字引用。主任务和辅助对话各有目标 scope;异步选区或文件切换不能把备注送到另一个输入框。

交付卡片筛选

从助手内容解析文件/URL 候选,按最近出现顺序去重并校验,候选最多 15,展示最多 10。Markdown/HTML 文件需有同轮实际文件变更;Office、PDF、媒体需满足存在与格式规则。普通文本和图片不因路径被提及就自动生成交付卡片。

网站卡片只接收允许的 localhost/127 地址与 HTTP(S) 形式,禁止 credentials,保留 path/query;不主动探测站点是否能打开。同轮网站卡片可抑制重复 HTML 卡片。

PPTX 自动打开只针对当前观察到的成功 run 完成,恢复历史、错误、取消不触发;异步验证要核对当前 run 和任务,防止旧结果弹到新任务。

源码:文件服务、预览读取、文件树、文件容器、PPTX、PDF 导出、卡片规则。回归:文件树、预览、PPTX 生命周期、卡片。