运行时 · Liberate
数据还在里面。把它取出来——并附上证明。
Liberate 把遗留应用的文件转换为 SQLite、CSV、JSON 与可搜索文档——打包成你可以核验、可以提问、可以交付的验证数据包。
让一个死掉的应用复活是一个问题;另一个问题是锁在它文件里的数据——DBF 里的客户表、老 Access MDB 里的账簿、BIFF 时代 XLS 里积攒了几十年的电子表格。Liberate 接过这些文件,把它们转换为现代、可查询的格式:SQLite、CSV、JSON 与可搜索文档。Perslis/GhostBridge 负责获取文件;Liberate 负责提取、分析、作答与交付——全程不启动也不控制任何虚拟机。它产出的每一个数据包都携带哈希清单与一份回执,因此你交出去的东西可以被独立核验。你还可以在本地就恢复出的数据提问,AI 严格限于主动选用。
它转换什么
解析器覆盖的正是业务数据真正被困住的那些格式:
数据库
Jet 3/4 的 Access MDB 与 DBF/FoxPro 表,变成 SQLite 数据库和干净的导出文件。
电子表格
BIFF5/8 的 Excel XLS 工作簿——XML 之前的时代——提取后在 JSON 与 SQLite 中保存规范值。
配置与文本
CSV/TSV、INI、注册表导出与定宽文本文件,转化为结构化、可搜索的数据。
一套真实文件语料逐格式记录了确切的覆盖范围。这并非对通用格式兼容性的主张——所支持格式的边界是被记录下来的,而不是被暗示出来的。
一条命令:recover
$ liberate recover --source ~/restored/AcmeApp --system acme --job ~/acme-job
recover 一次跑完整个作业:清点所选文件、提取它们、构建分析报告与搜索索引,并在一个新的作业目录中写出一个经过验证的 bundle.zip。全程保持在本地。--strict 标志会在提取带有质量标记时拒绝完成,而作业回执同时记录完成情况与数据质量——数据包绝不会看起来比实际更干净。
验证数据包,而非散装导出
- 哈希清单:每个数据包都包含数据库、导出文件与文档的哈希;分析、报告与搜索索引携带一道单独的封印。
- 回执:获取记录、来源清单与观察证据随数据包同行——
liberate verify-job把它们绑定到最终归档上。 - 失败即关闭的消费端:CLI 消费端拒绝已被改动或不安全的产物;
verify --strict还会拒绝被跳过的来源或质量标记。
向数据提问——本地优先,AI 严格可选
$ liberate ask ~/acme-job/bundle "German customers" --no-ai
问题由恢复出的数据本身来回答——本地佐证摘录,扎根于经过验证的数据行。AI 仅限主动选用:除非你传入 --allow-ai,否则没有任何东西离开这台机器;即便选用,也只发送有界的、经过挑选的证据,底层 SQL 为只读且有界。--no-ai 永远享有最高优先级。默认形态就是一个完全在你机器上工作的恢复工具。
一条诚实的边界
Liberate 目前是 0.3.0 版——一个试点级、私有、面向单一组织的 CLI。企业验收仍以资格证据与部署关卡为前提、设门待过。直白地说,这不是对以下任何一项的主张:
- 通用格式兼容性——支持的格式就是所列的那些,覆盖范围对照一套真实文件语料记录在案。
- 多用户托管——它是面向单一组织的 CLI,不是一项托管服务。
- 认证或 SLA——两者目前都不存在,我们也不会暗示它们存在。
这条边界与 Perslis 其余部分遵循的是同一门纪律:给已被证明的贴标签,把尚未做到的点出来。
更多 Perslis 项目
Liberate 帮助团队重新利用旧数据,让恢复结果可以检查和分享。阅读 Perslis 的公开论文与项目指南,了解我们如何处理现有系统。浏览公开研究文库 →