opral/lix

Version control system for any file format

What it solves

Lix 为非源码文件(如 DOCX、XLSX、JSON、PDF)提供版本控制。不同于传统依赖文本差异的版本控制系统,Lix 跟踪“语义变化”——对段落、电子表格单元格或 JSON 属性的具体修改——使得在不必读取整个文件的情况下,审阅和合并复杂文件格式的更改成为可能。

How it works

Lix 作为可嵌入的库运行在进程内(浏览器、服务器、CLI 或 Worker)。它管理版本控制模型——包括文件、blob 与历史记录——并暴露 SQL 接口。开发者可以使用 SQL 查询跨分支和文件的变更,而无需手动解析文件。支持多种存储后端,包括 SQLite、Postgres、S3 和 Cloudflare Workers。

Who it’s for

Lix 旨在为构建编辑器、知识库和 AI 工作流的开发者服务,这些场景下代理或用户需要跟踪、分支和回滚结构化或二进制文件的更改。

Highlights

  • Semantic Tracking: 在实体层面(例如电子表格中的特定单元格)跟踪更改,而不仅仅是逐行文本。
  • SQL-Powered History: 使用 SQL 精确查询何时、由谁、在所有版本中更改了什么。
  • C-style Branching: 支持并行分支,用于隔离草稿、用户或 AI 代理。
  • ACID Transactions: 通过单一事务提交多个文件和历史更新,确保数据完整性。
  • Format Agnostic: 通过插件支持任何文件格式,将更新转换为语义变化。