<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>文件版本 on 小景</title>
        <link>https://jingyuan-zheng.github.io/zh/tags/%E6%96%87%E4%BB%B6%E7%89%88%E6%9C%AC/</link>
        <description>Recent content in 文件版本 on 小景</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-Hans</language>
        <copyright>Jingyuan Zheng</copyright>
        <lastBuildDate>Thu, 22 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://jingyuan-zheng.github.io/zh/tags/%E6%96%87%E4%BB%B6%E7%89%88%E6%9C%AC/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>Mac 多个文件版本怎么判断？用 Compare Files Viewer 查看比较结果与依据</title>
            <link>https://jingyuan-zheng.github.io/zh/p/compare-files-viewer/</link>
            <pubDate>Wed, 30 Sep 2026 00:00:00 +0000</pubDate>
            <guid>https://jingyuan-zheng.github.io/zh/p/compare-files-viewer/</guid>
            <description>&lt;img src=&#34;https://jingyuan-zheng.github.io/img/compare-files-viewer/featured.png&#34; alt=&#34;Featured image of post Mac 多个文件版本怎么判断？用 Compare Files Viewer 查看比较结果与依据&#34; /&gt;&lt;p&gt;Compare Files Viewer 是一个原生 Mac 结果查看器，用来展示快捷指令或其他工具生成的文件比较报告。&lt;/p&gt;&#xA;&lt;p&gt;目录里同时出现“最终版”“最终版 2”“修改后最终版”时，真正想知道的往往是：它们是什么关系，应该先打开哪一份？如果报告还能展示路径、时间、哈希或文字差异，判断就会更有依据。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Jingyuan-Zheng/CompareFilesViewer&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Compare Files Viewer&lt;/a&gt; 负责把这些结果放进原生窗口。&lt;strong&gt;它本身不执行文件比较&lt;/strong&gt;，需要上游工具先分析，再传入结构化报告。&lt;/p&gt;&#xA;&lt;h2 id=&#34;从源码构建查看器&#34;&gt;从源码构建查看器&#xA;&lt;/h2&gt;&lt;p&gt;项目要求 macOS 14 或更新版本，以及 Xcode Command Line Tools，目前没有 GitHub Release 安装包。&lt;/p&gt;&#xA;&lt;p&gt;下载源码，在项目根目录执行：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;swift build -c release&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;生成的可执行文件位于 &lt;code&gt;.build/release/&lt;/code&gt;。可以先打开仓库提供的示例：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;.build/release/CompareFilesViewer --file ExamplePayload.json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;示例中的路径不一定存在于自己的 Mac，它只是展示报告格式，不会比较你的实际文档。&lt;/p&gt;&#xA;&lt;p&gt;第一次打开示例时，可以先看“建议主版本”和文件顺序，再展开详情找支持这个判断的证据。这样能先熟悉窗口，再决定是否值得把自己的比较流程接进来；运行示例不会读取你文件夹里那些叫“最终版”的文档。&lt;/p&gt;&#xA;&lt;h2 id=&#34;一份报告可以展示什么&#34;&gt;一份报告可以展示什么&#xA;&lt;/h2&gt;&lt;p&gt;输入包含 &lt;code&gt;files&lt;/code&gt;、&lt;code&gt;analysis&lt;/code&gt; 和可选的 &lt;code&gt;local_evidence&lt;/code&gt;。根据上游提供的数据，界面可以显示：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;整体关系、置信度与建议的主版本。&lt;/li&gt;&#xA;&lt;li&gt;版本顺序，以及每份文件的路径、大小和修改时间。&lt;/li&gt;&#xA;&lt;li&gt;Finder 图标、在 Finder 中显示等操作。&lt;/li&gt;&#xA;&lt;li&gt;本地 SHA-256 元数据、文字差异或图像比较依据。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;应用支持中英文，也提供详情页帮助检查结论。但这些字段是否可靠，取决于上游比较过程。没有哈希不代表内容不同，AI 分组也不能直接当作字节完全相同的证明。&lt;/p&gt;&#xA;&lt;p&gt;例如两份报告可能只差一个数字。修改时间较晚的那份可以先打开，但真正决定保留哪份的是具体差异和文件来源；如果上游只给出日期，没有提供文字差异或哈希，查看器也无法凭空补出证据。&lt;/p&gt;&#xA;&lt;h2 id=&#34;接入自己的比较工作流&#34;&gt;接入自己的比较工作流&#xA;&lt;/h2&gt;&lt;p&gt;应用支持 &lt;code&gt;--file&lt;/code&gt; 读取 JSON 文件、&lt;code&gt;--json&lt;/code&gt; 接收文本，以及从标准输入读取结果。编写快捷指令或脚本时，可以用 &lt;code&gt;ExamplePayload.json&lt;/code&gt; 对照字段。&lt;/p&gt;&#xA;&lt;p&gt;仓库提供查看器源码和 &lt;code&gt;ExamplePayload.json&lt;/code&gt;，但没有可直接导入的 &lt;strong&gt;Compare Files.shortcut&lt;/strong&gt; 文件。想比较自己的文件，需要先准备能生成这种 JSON 报告的快捷指令或脚本；只打开查看器不会开始比较。&lt;/p&gt;&#xA;&lt;p&gt;如果已经有一套文件比较流程，只是想把长文本报告换成更清楚的原生窗口，这个项目会更合适。&lt;/p&gt;&#xA;&lt;h2 id=&#34;按一个具体例子读懂报告&#34;&gt;按一个具体例子读懂报告&#xA;&lt;/h2&gt;&lt;p&gt;仓库示例把 &lt;code&gt;report.pdf&lt;/code&gt;、&lt;code&gt;report-v2.pdf&lt;/code&gt; 和 &lt;code&gt;report-final.pdf&lt;/code&gt; 放在同一组。它列出了建议主版本和先后顺序，还给出“增加章节”“页数变化”这样的说明。读的时候先看三份文件是否真的属于同一个主题，再看后两份与前一份具体差在哪里；不要从名字里有 &lt;code&gt;final&lt;/code&gt; 就直接跳到保留决定。&lt;/p&gt;&#xA;&lt;p&gt;接着展开详情，对照文件路径、大小和修改时间。下载目录里的一份“最终版”，可能只是别人重新发送的旧稿；云盘中的另一份文件，也可能包含尚未并入主稿的批注。路径能告诉你材料从哪里来，差异才能告诉你内容是否值得保留。这两类线索放在一起，才有助于处理实际工作里的版本混乱。&lt;/p&gt;&#xA;&lt;p&gt;示例中的哈希值带有省略号，路径也使用演示账户，因此它适合熟悉界面，不能拿来证明本机文件的关系。如果想看自己的结果，需要让上游工具读取自己的文件并输出完整数据。更改示例里的文件名，只会改变报告内容，不会触发重新分析。&lt;/p&gt;&#xA;&lt;h2 id=&#34;哈希文字差异和建议分别说明什么&#34;&gt;哈希、文字差异和建议分别说明什么&#xA;&lt;/h2&gt;&lt;p&gt;完整的文件哈希适合判断两个文件的字节内容是否一致。文字哈希针对提取后的文字；两份 PDF 的文字相同，页面布局、批注或内嵌图片仍可能不同。因此，看到“文字相同”时，应先确认自己关心的是正文，还是整个文件的全部内容。&lt;/p&gt;&#xA;&lt;p&gt;文字差异也可能只是节选。示例里有新增行数、删除行数和部分样本，并标记样本被截断。遇到这样的报告，可以先用节选定位变动区域，再打开原文件确认上下文。比如只看到新增了一个数字，不知道对应的是金额、日期还是页码，就还不能据此选择版本。&lt;/p&gt;&#xA;&lt;p&gt;建议主版本属于汇总判断，适合帮助决定阅读顺序。对带批注的合同、带修订记录的文稿，或者不同格式的导出件，最好保留原有分工：一个用于继续编辑，一个用于最终发送。文件有不同用途时，不必强行选出唯一版本。&lt;/p&gt;&#xA;&lt;h2 id=&#34;自己接入时从-json-文件开始&#34;&gt;自己接入时，从 JSON 文件开始&#xA;&lt;/h2&gt;&lt;p&gt;第一次接入，优先让脚本先把结果保存成一个 JSON 文件，再用 &lt;code&gt;--file&lt;/code&gt; 打开。这样报告不对时，可以回头查看输入，而不必同时调试文件分析和窗口显示。等文件方式稳定后，再考虑用标准输入串成一步操作。&lt;/p&gt;&#xA;&lt;p&gt;以仓库的 &lt;code&gt;ExamplePayload.json&lt;/code&gt; 为结构参考：&lt;code&gt;files&lt;/code&gt; 放文件清单，&lt;code&gt;analysis&lt;/code&gt; 放关系与建议，&lt;code&gt;local_evidence&lt;/code&gt; 放实际取得的比较依据。缺少的证据就明确缺少，不要用看似合理的文字填充。文件路径也应对应真实文件，才能让“在 Finder 中显示”有用。&lt;/p&gt;&#xA;&lt;p&gt;如果启动后出现读取或解析错误，先核对命令指向的文件是否存在、内容是不是有效 JSON，再检查字段结构。特别要区分 JSON 文件路径和报告内原始文件路径：前者负责打开报告，后者负责定位被比较的材料。两层路径都正确，界面才能帮你回到真正需要检查的文件。&lt;/p&gt;&#xA;&lt;h2 id=&#34;建议主版本不等于可以直接删其他文件&#34;&gt;建议主版本，不等于可以直接删其他文件&#xA;&lt;/h2&gt;&lt;p&gt;修改时间不一定代表内容新旧。复制、导出都会影响日期，两份文件之间也可能只有很小、却关键的差异。&lt;/p&gt;&#xA;&lt;p&gt;可以把建议版本当作阅读起点：先打开，再核实重要差异，确认关系以前保留原文件。查看器不合并文档，也不应该成为自动删除其他版本的依据。&lt;/p&gt;&#xA;&lt;p&gt;应用本身不发送网络请求或上传文件；如果上游使用 AI，隐私与内容处理方式由上游决定。&lt;/p&gt;&#xA;&lt;p&gt;陌生格式先看 &lt;a class=&#34;link&#34; href=&#34;https://jingyuan-zheng.github.io/zh/p/what-file-is-this/&#34; &gt;What File Is This&lt;/a&gt;，确定保留版本后再考虑 &lt;a class=&#34;link&#34; href=&#34;https://jingyuan-zheng.github.io/zh/p/auto-filename-helper/&#34; &gt;Auto Filename Helper&lt;/a&gt; 的命名流程。接入入口见 &lt;a class=&#34;link&#34; href=&#34;https://github.com/Jingyuan-Zheng/CompareFilesViewer&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;README 与示例 JSON&lt;/a&gt;。&lt;/p&gt;&#xA;</description>
        </item></channel>
</rss>
