Version control system for AI agents
617
Stars
17
Forks
5
Watchers
46
Issues
面向 AI Agent 的语义化版本控制系统
[!NOTE] Lix 处于 Alpha 阶段 · 追踪 v1.0 开发进度 →
Lix 是一个面向 AI Agent 的语义化版本控制系统。
Lix 并非 Git 的替代品,也并非专门为软件工程设计。其目标是将版本控制引入医疗、金融、政策制定、设计等非软件工程领域。
Lix 的独特之处:
.docx、.pdf、.json 等格式的变更。如果你的应用程序或 Agent 需要修改文档(如 Word、PDF 等),请使用 Lix。如果你的主要用例并非修改文档,或者文档只是一次性生成的、不会发生变化的制品,则不建议使用 Lix。
JavaScript · Python · Rust · Go
npm install @lix-js/sdk
import { openLix, selectWorkingDiff } from "@lix-js/sdk";
const lix = await openLix({
environment: new InMemorySQLite()
});
await lix.db.insertInto("file").values({ path: "/hello.txt", data: ... }).execute();
const diff = await selectWorkingDiff({ lix }).selectAll().execute();
与 Git 基于行的差异对比不同,Lix 通过插件理解文件结构。Lix 能识别出 price: 10 → 12 或 cell B4: pending → shipped,而不是“第 4 行已更改”或“二进制文件不同”。
变更前:
{"theme":"light","notifications":true,"language":"en"}
变更后:
{"theme":"dark","notifications":true,"language":"en"}
Git 的识别结果:
-{"theme":"light","notifications":true,"language":"en"}
+{"theme":"dark","notifications":true,"language":"en"}
Lix 的识别结果:
property theme:
- light
+ dark
相同的方法也适用于二进制格式。通过 XLSX 插件,Lix 可以展示单元格级别的变更:
变更前:
| order_id | product | status |
| -------- | -------- | -------- |
| 1001 | Widget A | shipped |
| 1002 | Widget B | pending |
变更后:
| order_id | product | status |
| -------- | -------- | -------- |
| 1001 | Widget A | shipped |
| 1002 | Widget B | shipped |
Git 的识别结果:
-Binary files differ
Lix 的识别结果:
order_id 1002 status:
- pending
+ shipped
Lix 使用 SQL 数据库作为查询引擎和持久化层,并在其上公开 file 和 file_history 等虚拟表:
SELECT * FROM file_history
WHERE path = '/orders.xlsx'
ORDER BY created_at DESC;
当文件被写入时,插件会对其进行解析并检测实体级别的变更。这些变更(Deltas)存储在数据库中,从而实现分支、合并和审计追踪功能。
┌─────────────────────────────────────────────────┐
│ Lix │
│ │
│ ┌────────────┐ ┌──────────┐ ┌─────────┐ ┌─────┐ │
│ │ Filesystem │ │ Branches │ │ History │ │ ... │ │
│ └────────────┘ └──────────┘ └──────────┘ └─────┘ │
└────────────────────────┬────────────────────────┘
│
▼
┌─────────────────────────────────────────────────┐
│ SQL database │
│ (SQLite, Postgres, etc.) │
└─────────────────────────────────────────────────┘
Lix 是一个专为人工智能体设计的语义化版本控制系统,旨在解决非代码领域的数据版本管理难题。它不属于 Git 的替代品,而是专注于为医疗、金融、政策制定及设计等行业提供超越代码仓库层面的版本控制方案。
基于语义的变更追踪能够识别内容逻辑层面的改动,而非传统的行级代码差异。通过插件支持,系统能够跨越文件格式限制,实现对 DOCX、PDF、JSON 等多种文档格式的追踪。具备高度嵌入性,既可作为独立存储库使用,也能无缝集成在现有 SQL 数据库之上。
该项目适用于需要记录 AI 代理操作过程的应用场景,尤其适合在医疗、文档处理等涉及频繁文件修改的行业中实现任务沙箱化、上下文追踪及内置版本审计。