用途与结果
最快了解这个项目
为什么需要它
现实材料常散在不同项目、设备或保存位置中。同名文件、草稿、签字版、交付版和回执容易混淆;反过来,为了避免遗漏而扫描整台电脑、复制全部文件、恢复本人已经删除的材料或建立中央个人知识库,又会制造更大的维护和判断问题。需要的是一条短路线:只在位置未知时查少量候选,在打开前证明选中的仍是那一份文件,并把可信文件管理器中的删除当作本人最终决定。
举个实际例子
我可以说:“帮我找那份延保合同,我忘了放哪了。”系统先给我几份能分清来源、日期和版本的候选;如果都不对,才去最相关的几个获准目录里查文件名。选中一份后,AI 会只读核对文件并继续读取;只有我要求桌面显示时才打开阅读器。找不到或文件已变化,就告诉我真正查过哪些地方,不把相似文件硬说成原件。
最后我会得到什么
找到时,先看到少量能分清来源、日期和版本的候选;选中后才得到重新核对、确实能打开的原件及所需页、段或行。找不到时,会说明本次实际查过哪里、哪里未查或暂时不可读。本人已删除的原件不会被旧记录当成待恢复对象。
找到并选中时
先交回少量可比较候选;选中一份后再核对当前文件确实还是同一版本,按请求只读内容或打开阅读器。
没有合适候选或原件变化时
没有候选、版本难分、搜索达到上限或文件已变化时,说明查过的范围与下一条最有用的线索;已删除原件不会继续作为当前候选。
来源或验证入口不可用时
索引或获准来源不可读、候选已过期或阅读器启动失败时只停在受影响步骤;整处来源离线不等于其中每个文件都被删除。
从哪里开始
直接说要找哪份非媒体文件,或让来源业务把已经确认的文件交给材料索引;网页不接收文件。
需要准备什么
- 文件名称、用途、来源或大致日期等记得的线索
- 候选出现后要选中的那一份
- 新接入时点名的非媒体文件及所属业务
从开始到拿到结果
- 1AI先判断该走哪条找回路线
已有可靠定位就核对这一份;照片和录音归媒体项目,非媒体且位置不清才进入已登记索引。
- 2候选不足才扩大一次
只到获准的相关目录看文件名与基本信息,达到范围或时间上限就停,并说明未搜索处。
- 3选中一份再验真
读回这一份原件;需要时定位页、段落或行,要求桌面展示才启动阅读器。
- 4返回原件或精确缺口
文件换版、本人删除或来源离线时不用旧文字冒充现行原件,交回实际检查范围。
从这些需求了解功能
从一个实际问题看它怎样处理、交回什么;当前能做到哪一步和仍有哪些限制,也写在对应说明中。
项目指标与相关入口查看规模、覆盖范围和关联能力
当前项目指标
- 已见路径下限
- ≥194,648
- 精确登记
- 154
- 按需发现下限
- ≥194,540
- 登记来源
- 47
找回非媒体原件 · 6 步
先给少量候选,再证明选中的确是那份文件
找到一个像的文件,与确认它就是现在要用的原件,是两步。用户只需说明线索并在有歧义时选择;项目负责控制范围、分清版本和重新核对。
- 判断入口已有可靠位置就直接核对
当前业务已经知道原件在哪儿,就不绕到查找;照片、视频和录音交给媒体项目。
- 先查记录返回少量非媒体候选
从已经登记的材料中找名称、来源、日期和版本能对上的文件,让人先选而不是看一整盘列表。
- 仍没找到时只到相关的获准目录找一次
只看文件名称与基本信息,到达本次范围和时间上限就停,并说明哪些地方尚未查。
- 人或当前任务选定先分清要看的版本
草稿、签字版和回执各有不同用途;看不出是哪一份时补一条能改变选择的线索。
- 重新核对只完整读取选中的一份
打开前确认文件仍在原来源、内容没有换掉;发现变化就停,不把旧候选交成新原件。
- 交回结果读到原件或说清缺口
需要内容时给出页、段或行;要求桌面显示时才打开阅读器。找不到时列出实际范围与下一步。
用户说明
目标与必要选择- 材料的名称、用途、时间或版本线索
- 候选有歧义时选一份或补一个新线索
- 是否还要在桌面打开或扩大到另一处获准来源
项目处理
有限查找与单件验真- 先查已登记材料,必要时才限量查看相关目录
- 先分清来源和版本,再核对选定原件的当前内容
- 返回内容位置或精确缺口;原件仍留在原处
其他项目负责
不另建中央资料库- 照片、视频和录音归媒体项目
- 材料的专业含义由工作、健康等所属领域判断
- 已删除文件不从旧索引或备份自动复活
它负责
- 按名称、用途、来源和日期,从已登记非媒体材料中找少量能分清版本的候选。
- 登记候选不合适且位置确实不清时,只在相关的获准目录中做一次有限查找。
- 候选阶段保留来源和版本差异,不把电脑内部路径和选择标识直接交给读者。
- 只对选中的一份重新确认内容;按需要找 PDF 页、Word 段落或文本行。
- 只有明确要求桌面显示时才启动阅读器;只验真或找内容可停在只读结果。
- 让来源业务把已确认值得以后查找的文件精确登记,原件字节继续留在原位置。
- 找不到、来源离线、文件变化或达到搜索上限时,交回实际检查范围和可继续的线索。
- 后续维护让索引跟随原件真实存在与否;日常查找不会顺手修改或恢复文件。
它不负责
- 不处理照片、视频、录音及其他视听媒体;这些原件只走 personal-media
- 不替正式事项、健康、工作或其他领域判断材料的意义、结论、重要性和现实状态
- 不建立人物、事件、关系、画像、跨来源推断或中央个人知识库
- 不默认扫描整台电脑、全部账号或所有登记来源,也不跟随目录链接
- 不复制、移动、改写、删除原件,也不把 OCR(光学字符识别)或提取文字冒充原件
- 不把零命中、索引状态、测试或迁移回执冒充用户已经拿到真实原件
- 不从旧 SQLite、绑定文字或备份把本人已删除的材料复活
产品思想与设计核心
本人删掉的原件不会被旧记录复活
文件管理器里的真实原件现状是准绳;查询只跳过不存在的文件,后续维护才收敛索引。整处来源离线时保留未决,不猜成逐件删除。
知道位置就直接核对
当前业务已经有可靠文件定位时不用再搜索;这里只负责位置未知、跨已获准来源查找或旧位置失效。
只定位文件,具体意义归所属领域
材料项目帮忙找来源、版本和原件;合同内容、健康含义或工作结论仍由对应领域判断。
少量可比较候选比长列表有用
草稿、签字版、交付版与回执要分清,数量多不能替代版本证据。
找到候选不等于验真
扩大目录时只看名称和基本信息;选中一份后才完整读取并确认内容没有被替换。
零命中只说明这次查过的范围
其他设备、离线介质和未获准位置仍是未知,结果必须说明查过哪里、没查哪里。
版本角色来自来源证据
文件叫签字版、交付版还是回执,要有来源自身的标记或内容依据;电脑里有签名文件不等于对方已收到。
原件始终留在原处
接入只记以后怎样找到并核对这份文件,不复制、移动、改写或删除原件。
媒体由媒体项目负责
照片、视频、音频和录音从登记、查找、扩大范围到打开都交给同一媒体入口。
失败停在可复核的位置
来源换了、文件改了或应用打不开时说清哪一步失败,不猜邻近路径,也不把半条记录写成成功。
小索引用来找文件,不代替个人理解
它只保存找回文件所需的最少记录,不建立统一的人物关系、事件图或所有私人问题的总入口。
项目怎样演化到现在
先找准版本,再打开原件
从名称、来源和版本定位非媒体文件;选中后重新核对真实原件,不把相似文件、旧副本或路径存在当成找对了。
阶段依据
- 2026-08-24 · 建立最小来源、版本和原件核验主链。 原记录的依据标签为“milestone-01”,未附Git提交编号。
- 2026-08-30 · 选择期间重新核对来源根与文件身份,冲突时不打开错误原件。 原记录的依据标签为“milestone-04”,未附Git提交编号。
查不到时有边界地扩找
已登记定位不足时只在相关来源查找,并交代实际范围和上限;照片、视频和音频回到媒体项目,不混建中央原件库。
阶段依据
- 2026-08-25 · 自然描述可触发获准范围内的有界发现。 原记录的依据标签为“milestone-02”,未附Git提交编号。
- 2026-08-26—2026-08-27 · 媒体职责完整移交个人媒体项目。 原记录的依据标签为“milestone-03”,未附Git提交编号。
从找到文件,走到找到内容位置
对选定原件返回页、段、表格或行位置;已有完整指纹可复用原件关系。可信原件的删除同步退出目录和绑定文字,整个来源不可用时不猜删除。
阶段依据
- 2026-09-02–09-12 · 从找到文件,走到找到内容位置
df7a9ad7f691904bc14977d506130be983f73bf0
完整项目状态与证据边界
已确认事实
- PRIVATE(私有) main df7a9ad的lookup-content实现未变:最多1000个不同SHA-256定位已登记非媒体原件,再复核命中的大小和哈希;不扫描目录或复制。此次实质变化在来源登记与可搜索文字覆盖,不把没有新源码误当没有新能力覆盖。
- 本轮47个登记来源有154份精确材料定位、4条关系、44份绑定检索文字;其余110份精确材料没有绑定文字。一次200,000文件上限的盘点已见至少194,648个非媒体路径,至少194,540个本轮可发现但未精确登记的路径;二者是不同覆盖集合,不用简单减154反推。
- status返回47来源、154精确定位、4关系和44份检索文字,比上次14份文字覆盖更多材料。绑定文字仍是来源证据,不证明每份正文已在本轮重读、每个原件仍在或所有内容都可全文检索。
- 154是已登记定位行,44是绑定检索文字行;≥194,648与≥194,540是本次有界文件系统盘点分别返回的非媒体路径下限与未精确登记候选下限。覆盖不足时不能把这些数混成整个电脑的文件总量或内容去重数。
- 2026-09-18T13:19:10Z现有inventory入口只读9.406秒,在200,000文件上限截止;检查199,994个去重路径,跳过5,346媒体项,47登记根中本轮只尝试25、完成21、3个root_missing,其余未完成或未尝试。深度12,未跟随链接、读正文、哈希或写库;上次扩额233,156仅保留历史,不能据较小下限推断删了材料。
- 已有可靠原件定位时由当前业务直接打开;只有位置未知、需要跨获准位置查找,或旧定位失效时才进入本项目。
- Skill 默认只取最多 4 个已登记非媒体候选;候选阶段保留来源、标题、版本角色与关系,但不向用户公开真实路径或内部标识。
- 没有合适登记候选且位置确实未知时,最多选择 8 个获准来源,共享 2500 个文件、每源 12 层和 8 秒上限;选择前不读正文、不算哈希。
- AI 选定候选后默认用 inspect / inspect-discovered 只读核对大小、SHA-256、来源根和文件身份,再用原件的原生阅读能力继续;不登记、不更新索引、不弹出阅读器。只有用户要求在桌面显示时才调用 open / open-discovered。
- locate-content 只读取已选中的一个非媒体原件:返回 PDF 可提取文字层页码、DOCX 顶层段落或表格单元格、TXT/MD 行号和有限片段,并绑定当前版本与 SHA-256。提取文字不是原件截图,未覆盖区域和单件 OCR(光学字符识别) 缺口单独说明。
- 项目只使用内置最小 SQLite(轻量元数据索引)保存定位与可重建文字;原件复制量为 0,也没有常驻后台进程或全盘扫描。
- PRIVATE(私有) main df7a9ad7f691904bc14977d506130be983f73bf0;2026-09-07 基线 66 项合成回归与 Ruff 通过;不覆盖后来新增的 lookup-content,本轮未重跑。已发布源码说明能力,旧测试说明当时的合成验证,当前 status/inventory 说明登记规模与可读来源下限;它们仍不证明某个自然请求已经找到用户真正想要的原件。
当前缺口
- 查询只读,日常同步才退役可达根下已确切删除的原件登记;本轮154份登记不等于逐件验真,未执行sync-current、原件哈希或删除。根不可达仍保留而非按整根删除。
- 当前已见至少 194,540 个来源范围文件没有精确 locator(原件定位记录);一轮 discover 仍只选择最多 8 个相关目录,共享 2500 个文件、8 秒与每源 12 层上限,不能把候选池大小写成一次查询保证。
- 至少 194,648 是路径去重条目,不是内容哈希去重数;同一内容位于不同路径时仍可能重复计数。
- 盘点触及文件上限:仅尝试25/47根,3根不可达,其余范围未完成或未尝试;没有把未检查范围当空目录。来源恢复或明确查找某件材料时再按实际最小范围补证。
- 154份登记材料中44份有绑定检索文字,其余110份没有;零正文命中不能证明原件没有该内容,仍可先按名称、来源或版本找候选,再只读取选定原件。
- 本页没有执行真实自然请求、选择候选或打开原件,因此当前端到端可用性仍须在用户真正需要时按精确范围验证。
- 实际来源不可达、定位漂移、文件变化或启动器失败时,只影响该次路线;页面不把局部失败扩大成材料不存在。
- 有界发现逐项消费文件系统枚举,达到上限时命中的具体子集可能随系统枚举顺序变化;它证明本次检查范围,不提供稳定的全目录排序。
- 打开前虽会再次核对同一文件,但 Windows os.startfile(默认应用入口)只能接收路径,不能接收已核验文件句柄;SQLite 与外部文件系统也不能组成一个原子事务,最后一次复验到路径被消费之间仍有极小窗口。
来源与公开边界
实现项目是 PRIVATE(私有)仓库。页面从显式只读 inventory 公开至少 194,648 个来源范围文件、154 个精确 locator(原件定位记录)、至少 194,540 个按需发现条目与覆盖缺口;不读取正文、材料标题、候选、账号/设备标识、真实 locator(原件定位记录)、文件指纹或个人结果。普通聚合、状态、路径类别、组件、命令、测试和失败事实正常展示。
当前关键技术事实
- 当前实际规模
- 本轮47个登记来源有154份精确材料定位、4条关系、44份绑定检索文字;其余110份精确材料没有绑定文字。一次200,000文件上限的盘点已见至少194,648个非媒体路径,至少194,540个本轮可发现但未精确登记的路径;二者是不同覆盖集合,不用简单减154反推。
- 登记与正文覆盖
- status返回47来源、154精确定位、4关系和44份检索文字,比上次14份文字覆盖更多材料。绑定文字仍是来源证据,不证明每份正文已在本轮重读、每个原件仍在或所有内容都可全文检索。
- 这三个数字分别意味着什么
- 154是已登记定位行,44是绑定检索文字行;≥194,648与≥194,540是本次有界文件系统盘点分别返回的非媒体路径下限与未精确登记候选下限。覆盖不足时不能把这些数混成整个电脑的文件总量或内容去重数。
- 使用入口
- 已有可靠原件定位时由当前业务直接打开;只有位置未知、需要跨获准位置查找,或旧定位失效时才进入本项目。
- 登记查找
- Skill 默认只取最多 4 个已登记非媒体候选;候选阶段保留来源、标题、版本角色与关系,但不向用户公开真实路径或内部标识。
- 即时发现
- 没有合适登记候选且位置确实未知时,最多选择 8 个获准来源,共享 2500 个文件、每源 12 层和 8 秒上限;选择前不读正文、不算哈希。
- 选中后验真
- AI 选定候选后默认用 inspect / inspect-discovered 只读核对大小、SHA-256、来源根和文件身份,再用原件的原生阅读能力继续;不登记、不更新索引、不弹出阅读器。只有用户要求在桌面显示时才调用 open / open-discovered。
- 在原件里定位内容
- locate-content 只读取已选中的一个非媒体原件:返回 PDF 可提取文字层页码、DOCX 顶层段落或表格单元格、TXT/MD 行号和有限片段,并绑定当前版本与 SHA-256。提取文字不是原件截图,未覆盖区域和单件 OCR(光学字符识别) 缺口单独说明。
完整执行流程
- 1先决定是否绕过
已有可靠 locator(原件定位记录)直接打开;媒体转 personal-media;只有位置未知、跨来源或旧定位失效才继续。
- 2查已登记索引
以用户原话执行快速查找,默认只取 4 个结果;优先已验证定位,再使用与原件绑定的可重建文字帮助召回。
- 3判断是否需要发现
已有合适候选就不扫描目录;只有无合适候选且位置真正未知时,用同一句描述为来源机械排序。
- 4执行一次有界发现
最多选择 8 个获准目录,共享 2500 个文件、每源 12 层、总计 8 秒;跳过媒体、链接和无法读取项。
- 5让用户只面对少量差异
展示来源、标题、原生容器、时间、版本角色和文件大小;真实路径、内部标识与内部选择凭据不进入用户答复。
- 6选中后重新验真
完整读取这一个文件计算 SHA-256,并在提交前后复核 stat 与来源根;身份冲突或中途变化时回滚。
- 7打开原件或说明找不到
匹配时只读交回已核验定位;需要内容位置时返回页、段落或行,要求桌面显示才打开阅读器;已删除就返回路径缺失,来源离线、哈希漂移、启动失败和未搜索范围分别说明。删除同步由计划维护负责,不挤进查找/检查路径。
本页用到的名词
需要核对专业含义时,可以在这里查看它在 个人材料查找 项目中的具体用法。
- Locator(原件定位记录)
- 指向真实非媒体原件的位置与版本身份;每次打开前仍须现场核对,旧记录不能替代当前文件。
- Registered lookup(已登记查找)
- 只查询项目内已经精确接入的来源、材料、版本、关系和绑定文字,不遍历原件目录。
- Bounded discovery(有界发现)
- 没有合适登记候选时,在少量获准来源内按文件名、原生目录名和 stat(文件元数据)即时查找。
- Selection credential(内部选择凭据)
- 把发现候选绑定到来源根、相对位置、大小和修改时间的内部数据;不作为用户可见结果,也不是永久定位。
- SHA-256
- 选中后对完整文件字节计算的内容指纹;完全相同的 SHA-256 才能证明精确字节重复。
- SQLite(轻量数据库)
- 项目内置的最小定位与文字索引;它不保存原件字节,也不是跨领域中央知识库。
- Coverage(覆盖状态)
- 来源明确声明 complete、partial 或 unknown,并附带缺口;它描述登记范围,不承诺整台设备或全部账号。
- Native evidence(来源原生证据)
- 来源自身提供的标题、目录、时间、版本角色和关系;草稿、签字、交付或回执只从这些事实判断。
- Derived text(可重建文字)
- 绑定到一份已选非媒体原件的原生文字、OCR 或提取文字;可以删除重建,不获得高于原件的事实地位。
- File-manager deletion(文件管理器删除)
- 原件不在了就从本次候选跳过;后续计划维护退出该索引及其独有关系/文字,不推断误删、不尝试恢复。
系统里实际有什么
下面是当前产品组件,不是概念分类。每一项都对应真实文件、入口或验证链。
承载初始化、精确接入、登记查找、有界发现、选中验真、打开和最小状态读取。
单个 Python 模块与标准库承载定位;PDF 文字层使用可选 pypdf,缺依赖时返回单件读取缺口。DOCX/TXT/MD 定位不另建全文索引,无服务、队列或专用运行时。
保存来源、材料定位、版本、原生关系、可打开状态和绑定文字。
严格 schema(数据结构)、应用身份与版本号防止把外部数据库误当成本项目;它不是跨域个人知识库。
让上游业务只交接经过明确选择的一小组非媒体来源与原件。
字段白名单、大小与 SHA-256 现场核对、事务写入;任何不一致对象整体拒绝,原件字节复制量为 0。
把普通请求与来源、标题、原生标识、版本角色和绑定文字进行有界匹配。
去除常见请求词并使用短语与中文二元片段评分;结果仍由来源原生证据解释,不让分数决定现实语义。
在未登记位置中只寻找少量可能的非媒体原件。
按请求路由来源,共享 8 个来源、2500 个文件、12 层和 8 秒上限;选择前不读正文、不计算文件哈希。
证明发现候选在选择、读取和登记期间没有换成另一份文件。
来源根承诺、相对位置、文件句柄 stat、完整 SHA-256、提交前后复核与身份冲突回滚共同闭合。
8 层证据分别证明什么
能证明:产品只负责定位、核验和打开非媒体原件,并明确媒体、领域语义、原件保护和零命中边界。
不能证明:不证明代码已经实现,也不证明当前来源可访问。
能证明:普通人可以理解何时使用、先 find 还是 discover、选中后怎样打开,以及不会发生什么。
不能证明:README 不是运行时事实,也不能替代源码和真实请求。
能证明:只读status为47来源/154定位/4关系/44文字;有界inventory尝试25根、完成21、3不可达,并在200,000文件上限截止,已见≥194,648非媒体路径、≥194,540未精确登记候选路径。
不能证明:不证明未尝试根为空、全机文件总数、内容去重或154份原件本次都已验真;下限变化不等于删除。
能证明:PRIVATE(私有) main df7a9ad7f691904bc14977d506130be983f73bf0 定义命令、限额、SQLite 表、状态、事务、媒体拒绝和完整性检查。
不能证明:不证明当前数据库内容、登记范围、设备挂载或系统默认启动器可用。
能证明:2026-09-07 基线 66 项合成回归与 Ruff 通过;不覆盖后来新增的 lookup-content,本轮未重跑;用于核对身份冲突、回滚、路径隐藏、范围报告、有界发现、来源根绑定、媒体拒绝和初始化身份。
不能证明:合成临时文件不能证明真实私人材料或自然请求已经成功。
能证明:当前能力说明会在位置未知、跨获准位置或 locator(原件定位记录) 失效时选择本项目,并把媒体和可靠定位分流。
不能证明:Skill source、安装、当前任务发现与真实端到端结果必须分别验证。
能证明:一条真实普通描述能自行进入正确路线,找到、选择、重新验真并打开真正原件。
不能证明:一次成功不代表未登记位置、其他账号、离线设备或所有材料类型均已覆盖。
能证明:返回的确实是用户要找、可继续使用的那份原件,范围和等待成本也可接受。
不能证明:不会把一次个人确认外推为全部来源的永久正确性。
维护入口
python materials.py lookup-content --hashes-json <UTF-8哈希数组.json>按内容核对现有原件:也可小批量重复传 --sha256;最多 1000 个不同值,只复算现有非媒体索引命中,返回 verified、unverified 或 not_indexed,不写库或复制原件。
python materials.py init初始化最小索引:只在项目索引尚不存在时建立空 schema(数据结构);已有合法索引会原样返回 ready,外部或损坏数据库不会被覆盖。
python materials.py inventory读取当前来源规模:显式按需枚举登记根的文件元数据,返回来源范围文件、精确 locator(原件定位记录)、按需发现条目、媒体跳过、错误与 cutoff;不读正文、不算文件哈希、不写数据库。
python materials.py find --text "<普通描述>" --limit 4查已登记材料:优先从已登记非媒体索引返回少量候选,不遍历原件目录。
python materials.py discover --text "<同一普通描述>" --limit 4有界即时发现:只有无合适登记候选且位置未知时,查看获准目录的文件名与原生目录名。
python materials.py inspect --id "<内部材料标识>"验真登记候选:AI 默认只读核对一份已登记原件的大小与 SHA-256,返回已核验定位;不写索引、不启动阅读器。
python materials.py inspect-discovered --token "<内部选择凭据>"只读验真发现候选:只验证已选发现候选的来源根、定位、大小和哈希,不把候选登记为新材料。
python materials.py locate-content --id "<内部材料标识>" --text "<原文线索>" --limit 5定位选定原件中的内容:也可传 --token;只读一个已核验原件,返回 PDF 文字层页码、DOCX 段落/单元格或 TXT/MD 行号;结束时重验当前原件,位置、片段和覆盖都绑定同一版本。
python materials.py open --id "<内部材料标识>"打开登记候选:核验通过后用系统默认应用打开真正原件。
python materials.py open-discovered --token "<内部选择凭据>"打开发现候选:只对选中的发现候选读取完整字节、登记定位并打开。
python materials.py intake --file "<personal-materials.handoff.v1.json>"精确接入:接收一小组经过明确选择并已携带预期大小与哈希的非媒体原件元数据。
python materials.py sync-current同步当前原件清单:现有每日备份任务调用;只清理已登记且确切不存在的非媒体索引及独有关系/文字,来源不可访问则跳过,不扫描新增来源、不复制或删除原件。
python materials.py status读取最小状态:只读返回来源、精确登记、关系及检索文字行数;精确登记不是整个来源文件数量,也不证明当前原件或自然请求端到端验收。
快照怎样更新
本页在项目用途、查找路线、限额、失败语义、媒体边界、完整性保证或当前来源规模发生实质变化时更新。公开快照保留来源范围文件数、精确 locator(原件定位记录) 数、按需发现数、覆盖与错误等安全聚合;不复制正文、标题、候选、真实 locator(原件定位记录)、内部选择凭据或文件指纹。仅提交、测试或观察时间变化而产品与实际规模含义不变时,不重写正文。
