Weave: 基于语言结构而非行的合并
摘要
Weave 是 Git 的一个实体级语义合并驱动,它通过 tree-sitter 解析代码来解决冲突,合并函数和类而不是行。它支持 28 种语言,并提供额外的协调和 MCP 服务器功能,适用于多智能体工作流程。
暂无内容
查看缓存全文
缓存时间: 2026/06/14 07:37
# weave — 无冲突合并
来源: https://ataraxy-labs.github.io/weave/
weave (https://ataraxy-labs.github.io/weave/index.html) 是一个基于实体级别的 Git 语义合并驱动。两个代理编辑同一文件中的不同函数?干净合并。每次都能做到。
``
# 两个代理编辑了不同的函数
$ git merge feature-b
CONFLICT (content): Merge conflict in src/lib.ts
自动合并失败。
# Git 检测到重叠的行。
# 实际上这些函数并不重叠。
``
``
# 相同合并,配置了 weave
$ git merge feature-b
weave [src/lib.ts]:
2 个实体匹配,2 个被修改,0 个冲突
由 'ort' 策略完成合并。
# 不同函数 = 无冲突。
``
复制$ brew install weave
## 31 / 31。
跨 7 种语言的 31 个合并场景。完整报告 → (https://ataraxy-labs.github.io/weave/benchmarks.html)
83 个真实世界胜出
0 个在 C、Python、Go 上的回归
4,917 个文件合并测试
1,500+ 次下载
## 三层结构
仅使用合并驱动。或者为多代理工作流添加协调。完整文档 → (https://ataraxy-labs.github.io/weave/docs.html)
合并
### 合并驱动
替代 Git 的行级合并。使用 tree-sitter 解析代码,按函数和类进行合并。
协调
### CRDT 状态
代理在编辑前声明实体。在冲突发生前检测冲突。
连接
### MCP 服务器
通过模型上下文协议提供 15 个工具。Claude 和其他 AI 代理可直接调用。
## 28 种语言
实体提取由 sem-core (https://github.com/Ataraxy-Labs/sem) 和 tree-sitter 驱动。外加 5 种数据格式。完整列表 → (https://ataraxy-labs.github.io/weave/docs.html#languages)
TypeScript JavaScript Python Go Rust Java C C++ C# Ruby PHP Swift Kotlin Elixir Bash HCL Fortran Dart Perl OCaml Scala Zig Vue Svelte XML ERB JSON YAML TOML CSV Markdown
## 试试看。5 秒钟。
``
$ brew install weave
$ cd my-project && weave setup
✓ 合并驱动已配置
$ git merge feature-branch
由 'ort' 策略完成合并。
``
相似文章
weave: 用于不同语言的结构合并
Weave 是一个 Git 扩展,它通过使用 tree-sitter 将代码解析为函数、类和键,执行实体级语义合并以解决冲突,在 AI 驱动的开发中特别有用。
Weave
Weave 是一款将口述想法转化为动态地图的工具。
Mergiraf: 一种语法感知的 Git 合并驱动程序,支持不断增长的编程语言和文件格式集合
Mergiraf 是一种语法感知的 Git 合并驱动程序,增强了对各种编程语言和文件格式的合并处理。
若无底层 Git,你会如何捕获两个即将执行不兼容变更的智能体?
作者介绍了 Foremerge——一个为并行编码智能体设计的开源协调协议,它能在变更发生前检测冲突,并探讨了该协议在非代码领域的应用可能性,同时寻求实际案例。
展示 HN: Foremerge – 捕捉并行编码代理间的意图冲突
Foremerge是一个开源协调协议,用于AI编码代理,通过基于Git的数据库共享代理计划,在意图冲突导致代码问题之前进行检测。