Ataraxy-Labs/weave
Entity-level git merge driver. Resolves false conflicts git invents when independent agents edit the same file. ~95% reduction vs. line-based merge.
解決的問題
Git 的行級合併在兩個開發者(或 AI 代理)向同一檔案新增獨立程式碼(例如不同的函數)時,經常產生「假性衝突」。Weave 以實體級合併取代此方式,確保對不同函數、類別或 JSON 金鑰的變更能自動解決,無需人工介入。
工作原理
Weave 使用 tree-sitter 將程式碼解析為語意實體(函數、類別等),涵蓋檔案的三個版本:基礎版本、目前分支(ours)與傳入分支(theirs)。它透過身份(名稱、類型與作用域)匹配這些實體,並逐一合併。若兩個分支修改的是不同實體,將自動解決;若修改同一實體,Weave 會嘗試實體內合併,或標記語意衝突並提供詳細上下文。
適用對象
經常對同一程式碼庫進行並行編輯的軟體開發者與 AI 代理框架,希望減少合併衝突的負擔。
特色亮點
- 實體級細粒度:合併函數與類別而非行,解決 Git 無法處理的衝突。
- 廣泛的語言支援:支援 TypeScript、Python、Go、Rust、Java、C++ 等多種語言。
- MCP Server 集成:為代理框架提供 22 個工具,支援合併分析、實體檢視與透過 CRDT 實現的即時協作。
- 確定性合併:作為無狀態的三方合併驅動程式,相容 Git 與 Jujutsu (jj)。
- 詳細的衝突標記:提供合併被拒絕的具體原因(例如,哪個內部保護條件失敗)以及相關實體。
相關
- 專案
- 專案
- 專案
- Dispatch
- 專案