Floe Agent
文档

储存空间诊断与安全清理

状态:源码已实现,尚未进行真机验收。本文描述当前行为。数据管理页面只统计 Floe 自己的数据;App 的系统占用以 iOS“储存空间”为准,界面不会给出猜测的上限。最后更新:2026-10-16(基于实测的 APFS 克隆计量、共享快照缓存、仅统计 Floe 数据的概览与独立的“共享文件”区域)。

背景

真机曾报告 Floe 的数字远高于 iOS“储存空间”。旧检查器本就在读取主机已分配大小键(totalFileAllocatedSize),仅用逻辑长度无法解释差异。本地探针随后证明了一个具体的重复计入机制:APFS 克隆家族的每个成员都会报告完整的已分配大小,直接累加会把同一批共享块算进多次。现在计量改为实测而不是猜测,页面也只展示能被诚实支持的数字。开发主机无法访问该用户设备,设备上的具体数值仍未确认;计量本身不涉及隐私内容,也绝不通过删除用户数据来改变结果。

计量引擎

FloeAgent/Sources/FloeCore/StorageAccounting.swift、StorageCloneAccounting.swift 与 StorageReportBuilder.swift:

快照缓存

一个共享的 StorageSnapshotCenter(门面 StorageDiagnosticService.shared)会立即渲染上次有效数字:

App 接线

安全清理

FloeAgent/Sources/FloeCore/StorageCleanup.swift(引擎)+ FloeApp/Settings/StorageDiagnosticService.swift(注册计划):

测试

引擎行为已由针对补丁源码运行的聚焦检查覆盖:普通文件、稀疏磁盘(逻辑 vs 已分配)、硬链接只计一次、嵌套根、parent/未归属文件、不跟随符号链接、隐藏与消失文件、取消、报告算术;纯克隆家族去重、实测独占字节、卷不支持时的退回;快照缓存重入、失效、失败冷却、持久化与存储隐私/损坏处理。App 宿主测试、完整 App 构建与真机验收仍由集成负责人执行。FloeApp 编译包含在完整 App 构建中。

诚实边界

搜索文档

    搜索结果会跳到对应章节。