数据、保存和导出
保存会创建一个项目包,而不是可互换的 JSON 文件:规范文档、派生代理上下文和相关的产物。仅应打开具有 canonical_project 角色的文件进行编辑。
保存后出现的内容
| 路径 | 所有者和目的 | 创建时 |
|---|---|---|
<name>.json | Selector,json_role=canonical_project。唯一可编辑的事实来源。 | 每次成功保存。 |
<name>_artifacts/ | 源图像、特征、CV 项目引用的输出/清单和树模块文件夹。 | 与规范的 JSON 一起通过暂存发布。 |
<name>.for_ai_agent.json | json_role=for_ai_agent 用于 Screph Code、IDE/代理切换和适配器的投影。这不是第二个项目。 | 规范保存后自动;写入失败会导致整个保存流程失败。 |
<name>.timeline-state.json | Capture 时间线源、剪辑和位置。 | 仅当时间线状态存在时;删除一个空的陈旧伴随文件。 |
<name>.frame-bound-image-series-index.json | 图像系列捕获与帧和区域的绑定。 | 仅当这些绑定存在时。 |
<name>.temporal-markup.json | Selector 拥有的修订轨迹、观察结果和多达 100 个本地历史/重做状态。一个单独的 selector_temporal_markup 伴随文件,位于规范模式和 _artifacts 之外。 | 确认时间轨迹后,在已保存或打开的项目中应用或编辑。 |
.screph_ai_assistant/ | 助理消息、时间线/操作和会话引用的项目本地镜像。它不是规范架构的一部分,也不需要打开项目。 | 启用镜像并且助手写入项目上下文时;禁用该选项不会删除现有目录。 |
视频 CV:运行时、标注和导出的是不同的数据
| 边界 | 位置/格式 | 目的 |
|---|---|---|
| Temporal run store | ScrephData/screen_selector/cv/results/temporal | 快照、配置、出处、覆盖范围、问题和分块观察。中断的运行恢复为部分/失败;隐藏活动运行不会删除数据,也没有发现自动修剪。 |
| Applied temporal markup | <project>.temporal-markup.json | 使用修订保护和撤消/重做确认或编辑轨道。它需要项目路径,并且不会由规范编写器自动嵌入。 |
| Neutral run export | json_role=screph_temporal_cv_neutral_export | 用户选择的一次活动运行的快照,包括观察结果和可选的 codegen IR。它既不是可执行文件,也不是项目包。 |
| Annotated preview | MJPG AVI | 使用当前时间轴映射和选定的开始/结束边界重新投影轨道和运动框。它不是一般的数据集/视频导出器。 |
规范项目包含什么
project_info,坐标合约和画布对象/图层状态;- 上下文、Capture 上下文、源图像引用和时间线选择;
gui_elements、图像特征/匹配、几何、注释、键入edges、区域和标注组;- 所选的保存配置文件、树模块注册表项和 CV 结果清单参考;
- 写入报告、特征诊断、产物-完整性报告并保存摘要。
JSON Schema Draft 2020-12 在加载过程中验证结构。然后,产物验证器检查丢失的文件、哈希值、绝对或转义路径、坐标和一致性。成功的模式验证本身并不能证明每个文件都存在。
CV 结果如何进入项目包
CV 运行时、图像序列和规范标注是三个不同的边界。现场预览保持工作状态。在主面板中,手册Apply通常存储经过验证的捆绑包,并附加或替换选定的元素的cv_result; 向结果添加掩码 附加单独的 cv_mask 条目。这些图像系列突变参与撤消/重做并弄脏项目,但不会创建新的规范几何或语义。
Save在ScrephData/screen_selector/cv/results下创建一个名为运行时的存档;这是项目包之外的技术/调试历史记录。- 在规范保存期间,导入器仅获取附加的 CV 图像系列条目,将源/配方/配置/指标/输出复制到暂存中
<name>_artifacts,并构建项目本地result_manifest.json。 - 主 JSON 存储
cv_result_manifest_path,而图像系列条目仍然是具有运行/输出标识的轻量级投影。清单在所需的产物写/读回后发布。 添加为元素或确认的促销单独应用会改变规范标注。 General/GUI 升级验证已接受的决策和过时的上下文,构建应用预览/计划,并通过回滚尝试以事务方式运行。
保存配置文件实际更改的内容
项目环境选择下游策略,保存范围选择目标目录,代码工具开关控制写入后的尽力启动/上下文切换。特征输出配置文件的范围较窄:完整/紧凑/自动化/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_elements; for_ai_agent不是它的直接输入合约。 GUI Automation 保存目标还可以准备:
| Target | 物化结果 | 边界 |
|---|---|---|
| Screph Automate | main.py + guide | 打开结果按钮打开自动化管理器;需要输入后端。 |
| PyAutoGUI | main.py + guide | 需要可用的 script.runtime。 |
| 仅限项目 | <name>.json + package | 没有脚本自动执行。 |
规范/代理包是在自动化坐标验证和目标准备之前编写的。因此,这些阶段的失败不会回滚已创建的项目文件,并且可能会留下部分准备好的指南或脚本;当前项目路径和干净状态不会更新。纠正原因后再次保存。
Screph CV 并未实现特殊的 CV 工作空间产物:它使用与“仅项目”相同的基本规范编写器。区别仅在于显式的 Open Result 操作,该操作会切换到现有的内部 CV 选项卡,而不是打开项目目录。
磁盘上的架构并不总是意味着面向用户的导出
规范项目、for_ai_agent、树模块、CV 结果清单、特征存在正式模式, automation_export 和 llm_export。当前物化用户路径直接产生规范/代理/树输出和 CV/特征数据; automation_export 和 llm_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 将当前域加载报告与保存的保存诊断结合起来。
安全切换序列
- 审核标注并显式应用所需的 CV 候选结果。
- 保存规范项目并确保保存诊断报告没有失败。
- 选择使用者:运行时目标、Screph Code/IDE、树模块或您自己的适配器。
- 仅传递该消费者所需的包文件和资产。
- 在自动化执行之前,审核封装诊断,然后显式处理返回的
(ok, error)validate_project;load_project不会自动执行此操作。 - 在每个输入操作后验证目标窗口、坐标投影、选定的输入监视器/后端以及单独的后置条件。
隐私
本地保存不会自动上传包。但是,规范/代理 JSON 可能包含注释、OCR 文本、窗口/捕获上下文以及对敏感图像的引用。在使用云 LLM、语音服务、支持上传或共享目录之前,不仅要检查 JSON,还要检查_artifacts、时间线源、指南和生成的脚本。
项目本地 Assistant 镜像可能包含提示、响应、路径和操作元数据;全球 180 天清理并不能消除它。有关完整的存储和清理图,请参阅 本地数据指南。