数据、保存和导出

保存会创建一个项目包,而不是可互换的 JSON 文件:规范文档、派生代理上下文和相关的产物。仅应打开具有 canonical_project 角色的文件进行编辑。

保存后出现的内容

路径所有者和目的创建时
<name>.jsonSelector,json_role=canonical_project。唯一可编辑的事实来源。每次成功保存。
<name>_artifacts/源图像、特征、CV 项目引用的输出/清单和树模块文件夹。与规范的 JSON 一起通过暂存发布。
<name>.for_ai_agent.jsonjson_role=for_ai_agent 用于 Screph Code、IDE/代理切换和适配器的投影。这不是第二个项目。规范保存后自动;写入失败会导致整个保存流程失败。
<name>.timeline-state.jsonCapture 时间线源、剪辑和位置。仅当时间线状态存在时;删除一个空的陈旧伴随文件。
<name>.frame-bound-image-series-index.json图像系列捕获与帧和区域的绑定。仅当这些绑定存在时。
<name>.temporal-markup.jsonSelector 拥有的修订轨迹、观察结果和多达 100 个本地历史/重做状态。一个单独的 selector_temporal_markup 伴随文件,位于规范模式和 _artifacts 之外。确认时间轨迹后,在已保存或打开的项目中应用或编辑。
.screph_ai_assistant/助理消息、时间线/操作和会话引用的项目本地镜像。它不是规范架构的一部分,也不需要打开项目。启用镜像并且助手写入项目上下文时;禁用该选项不会删除现有目录。

视频 CV:运行时、标注和导出的是不同的数据

边界位置/格式目的
Temporal run storeScrephData/screen_selector/cv/results/temporal快照、配置、出处、覆盖范围、问题和分块观察。中断的运行恢复为部分/失败;隐藏活动运行不会删除数据,也没有发现自动修剪。
Applied temporal markup<project>.temporal-markup.json使用修订保护和撤消/重做确认或编辑轨道。它需要项目路径,并且不会由规范编写器自动嵌入。
Neutral run exportjson_role=screph_temporal_cv_neutral_export用户选择的一次活动运行的快照,包括观察结果和可选的 codegen IR。它既不是可执行文件,也不是项目包。
Annotated previewMJPG AVI使用当前时间轴映射和选定的开始/结束边界重新投影轨道和运动框。它不是一般的数据集/视频导出器。

视频 CV 工作流并跟踪应用→

规范项目包含什么

  • project_info,坐标合约和画布对象/图层状态;
  • 上下文、Capture 上下文、源图像引用和时间线选择;
  • gui_elements、图像特征/匹配、几何、注释、键入 edges、区域和标注组;
  • 所选的保存配置文件、树模块注册表项和 CV 结果清单参考;
  • 写入报告、特征诊断、产物-完整性报告并保存摘要。

JSON Schema Draft 2020-12 在加载过程中验证结构。然后,产物验证器检查丢失的文件、哈希值、绝对或转义路径、坐标和一致性。成功的模式验证本身并不能证明每个文件都存在。

CV 结果如何进入项目包

CV 运行时、图像序列和规范标注是三个不同的边界。现场预览保持工作状态。在主面板中,手册Apply通常存储经过验证的捆绑包,并附加或替换选定的元素的cv_result向结果添加掩码 附加单独的 cv_mask 条目。这些图像系列突变参与撤消/重做并弄脏项目,但不会创建新的规范几何或语义。

  • SaveScrephData/screen_selector/cv/results 下创建一个名为运行时的存档;这是项目包之外的技术/调试历史记录。
  • 在规范保存期间,导入器仅获取附加的 CV 图像系列条目,将源/配方/配置/指标/输出复制到暂存中<name>_artifacts,并构建项目本地result_manifest.json
  • 主 JSON 存储 cv_result_manifest_path,而图像系列条目仍然是具有运行/输出标识的轻量级投影。清单在所需的产物写/读回后发布。
  • 添加为元素或确认的促销单独应用会改变规范标注。 General/GUI 升级验证已接受的决策和过时的上下文,构建应用预览/计划,并通过回滚尝试以事务方式运行。

CV 面板操作及其副作用 →

保存配置文件实际更改的内容

项目环境选择下游策略,保存范围选择目标目录,代码工具开关控制写入后的尽力启动/上下文切换。特征输出配置文件的范围较窄:完整/紧凑/自动化/LLM/调试,坐标空间、颜色格式、资产和摘要适用于预览或显式特征投影,而不适用于规范表示。

  • Canonical JSON 始终存储完整的特征有效负载、摘要、链接资产和 screenshot_raw_px 几何图形;所选的输出配置文件存储为元数据。
  • 主保存流程不会写入单独的特征投影文件。 InfoPanel 可以为预览构建它,代码或外部使用者必须明确请求它。
  • “将创建”显示主 JSON 和选定的目标脚本/指南,但它不是完整的包清单,并且省略了自动代理导出、产物和条件伴随文件。

图像检查:项目状态和临时数据

图像检查将持久的画布状态与临时测量分开。 measurements 图层的存在并不意味着项目包中包含测量线。

  • 规范项目中的 canvas_layer_state 保存六个图层 ID,以及可见性、不透明度和顺序。锁定状态不包含在其中,并会在恢复时重置。
  • A/B/C/D 布局、分配、显示模式、链接窗格、选定的证据选项卡和导航器设置单独存储为本地 Selector 状态,而不是便携式项目标注。
  • 配置文件行及其本地撤消/重做仅适用于运行时会话,并且在源更改时被清除。 Copy 配置文件作为 TSV 写入剪贴板,而 Export 配置文件到 CSV 创建一个包含距离、x/y、RGB、亮度、采样层和源参考的独立文件。

导出的 for_ai_agent 导出

<name>.for_ai_agent.json 是从保存的规范包中自动生成的。它包含源项目 JSON 哈希、标准化元素/关系、特征和问题、CV 摘要、资产引用、树模块注册表和创作上下文。重体通常保留在项目包中的文件并由引用表示。

  • 主要保存流程使用此伴随文件(如果可用);规范的 JSON 仍然是回退上下文。Project Manager保存和一些旧版保存入口点当前直接传递规范路径。
  • 项目经理将伴随文件分类为代理导出,并且不会在 Selector 中将其作为项目打开。
  • 助理操作 project.export_for_automation 需要确认和显式输出路径,但目前还使用以下名称写入 for_ai_agent 角色automation_runtime_context 配置文件而不是单独的 automation_export

树模块是一个紧凑的切片,而不是子项目

在元素树中,打开 Module → 从子树创建模块...。 Screph 写入<name>_artifacts/modules/<slug>/module.json,一个 Python 帮助器类和一个自述文件,而规范项目仅存储注册表项和新鲜度/哈希信息。

  • refs_only 保留项目资产引用; self_contained 将使用过的文件复制到模块目录中并记录 SHA-256。
  • 该模块包括内部关系以及对所选分支外部对象的单独边界引用。
  • 分支更改后,徽章可能会显示陈旧状态;使用 更新模块 更新过时模块

Automation Runtime 消耗什么

当前 Python 运行时加载规范项目并读取gui_elementsfor_ai_agent不是它的直接输入合约。 GUI Automation 保存目标还可以准备:

Target物化结果边界
Screph Automatemain.py + guide打开结果按钮打开自动化管理器;需要输入后端。
PyAutoGUImain.py + guide需要可用的 script.runtime
仅限项目<name>.json + package没有脚本自动执行。

规范/代理包是在自动化坐标验证和目标准备之前编写的。因此,这些阶段的失败不会回滚已创建的项目文件,并且可能会留下部分准备好的指南或脚本;当前项目路径和干净状态不会更新。纠正原因后再次保存。

Screph CV 并未实现特殊的 CV 工作空间产物:它使用与“仅项目”相同的基本规范编写器。区别仅在于显式的 Open Result 操作,该操作会切换到现有的内部 CV 选项卡,而不是打开项目目录。

项目加载、坐标和输入后端 →

磁盘上的架构并不总是意味着面向用户的导出

规范项目、for_ai_agent、树模块、CV 结果清单、特征存在正式模式, automation_exportllm_export。当前物化用户路径直接产生规范/代理/树输出和 CV/特征数据; automation_exportllm_export 目前是适配器/测试的契约面,并且在主保存流程中没有单独的面向用户的编写器。

除了正式架构之外,Capture、时间线、诊断和 Action CV 使用版本化的运行时 JSON 角色,而无需单独的角色每个伴随文件的 JSON Schema 文件。检查 json_role 和两种版本形式,而不是依赖于 .json 扩展。

项目经理,搬迁和恢复

Ctrl+O 使用 Projects 打开Project Manager, 自动保存问题选项卡。它区分规范项目、代理导出、树模块、未知 JSON 和损坏的 JSON。

  • 对项目目录进行复制/重命名/恢复操作,并更新主 JSON 名称、时间线状态和帧绑定索引。
  • 重命名或复制后,在代理/代码切换之前再次保存项目;这将使用当前基本名称和 SHA 重建 for_ai_agent
  • Manager 导出的 GraphML、交互式 HTML 和项目图 JSON 可视化项目/模块图;它们不是规范项目或自动化脚本。 GraphML 需要 networkx
  • 代理导出显示为问题/派生条目,但当其引用存在时,Open 解析为链接的规范项目。树模块或任意 JSON 不会成为项目。
  • 管理器认为规范项目或自动保存仅可在域计数非零的情况下打开;仅屏幕截图的自动保存有单独的启动恢复路径。

管理器不会删除项目目录。 从历史记录中删除清除缺失仅更改ScrephData/local_state/selector_project_history.json。标签和注释位于单独的路径键控 selector_project_metadata.json 中;它们位于包外部,并且在复制、重命名或手动移动期间不会迁移。

管理器的预开放诊断涵盖 JSON 解码和角色、规范模式、特定类型的特征模式、缺失路径和空域。管理器在打开之前不会运行全新的完整产物扫描;加载后,InfoPanel 将当前域加载报告与保存的保存诊断结合起来。

崩溃报告,自动保存和诊断 →

安全切换序列

  1. 审核标注并显式应用所需的 CV 候选结果。
  2. 保存规范项目并确保保存诊断报告没有失败。
  3. 选择使用者:运行时目标、Screph Code/IDE、树模块或您自己的适配器。
  4. 仅传递该消费者所需的包文件和资产。
  5. 在自动化执行之前,审核封装诊断,然后显式处理返回的 (ok, error) validate_project; load_project 不会自动执行此操作。
  6. 在每个输入操作后验证目标窗口、坐标投影、选定的输入监视器/后端以及单独的后置条件。

隐私

本地保存不会自动上传包。但是,规范/代理 JSON 可能包含注释、OCR 文本、窗口/捕获上下文以及对敏感图像的引用。在使用云 LLM、语音服务、支持上传或共享目录之前,不仅要检查 JSON,还要检查_artifacts、时间线源、指南和生成的脚本。

项目本地 Assistant 镜像可能包含提示、响应、路径和操作元数据;全球 180 天清理并不能消除它。有关完整的存储和清理图,请参阅 本地数据指南