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: 通过插件支持任何文件格式,将更新转换为语义变化。