开源 · APACHE-2.0 · 为 AI 智能体而建

用 AI 智能体构建复杂系统

代价最高的缺陷藏在文件之间。Crossweft 为 Go、TypeScript 与 Python 之间手写的接缝(seam)绘制地图;在两侧一致之前,它不会让智能体说“完成”。

$ pip install "git+https://github.com/AnastasiyaW/[email protected]"
Python 3.9+ · 适用于 Claude Code、Codex 及任何 MCP 智能体

测试全绿,
安装却坏了。

智能体修改了一个 Go 结构体,测试通过,它便写下“完成”,却从未打开 TypeScript 那一侧。每种语言单独看都没错,但没有任何编译器能同时看到两侧。

Crossweft 让每条接缝显式化:代码旁的一份 JSON 地图写明哪些模块相连、两侧必须如何保持一致。之后,每次编辑后、每次收尾前,它都会检查这些接缝。

试试这条接缝
web/src/api.ts
API_VERSION =
"2026-09-01"
server/main.go
APIVersion =
"2026-09-01"
$ crossweft check
RESULT: PASS

你的智能体看到什么

01 · 会话开始

一段简短说明:仓库有接缝地图,共有几条接缝,以及如何处理它们。

02 · 每次编辑之后

如果文件位于某条接缝上,智能体会被告知另一侧在哪里,以及守护它的检查。

03 · 收尾之前

运行 crossweft check。若某条接缝不一致,钩子会阻止智能体结束,并说明需要修复什么。

Claude Code — 带钩子和技能的插件,已端到端测试。
Codex — 技能插件。
任何 MCP 智能体 — 连接 crossweft mcp。

亲手弄断一条接缝

克隆多语言示例并检查,然后只在一侧修改 API_VERSION,看检查如何失败。在你自己的仓库中,从 crossweft init --example 开始。

pip install "git+https://github.com/AnastasiyaW/[email protected]"
git clone --branch v0.2.9 --depth 1 https://github.com/AnastasiyaW/crossweft
cd crossweft/examples/polyglot-shop && crossweft check   # RESULT: PASS
# 只在 web/src/api.ts 中修改 API_VERSION:
crossweft check   # join:api-version disagrees
阅读项目故事(英文) → Every hand-written seam needs a guard

更新

每个版本改了什么、为什么重要。更新说明以英文和俄文发布。

坦诚的局限

方法由人来把关。地图由智能体构建,Crossweft 不允许它们凭空捏造连接;但一致性规则本身是否正确,由你判断。
引入需要投入。在小项目上收益有限,在语言和进程众多的系统中才真正划算。
目前只有一位用户:我们自己。已与 Claude Code 端到端测试;其他智能体通过 MCP 和技能接入。

告诉我们哪里坏了

目前我们只有一位用户,所以每份报告都会改变我们接下来要做的事。误报、Crossweft 漏掉的接缝、你的智能体无法据以行动的消息、你需要的语言或框架:请提交 issue 或给我写信。

在 GitHub 上提交 issue · [email protected]

在大型代码库中落地、定制扫描器或团队培训:同一个地址。

# If you are an AI agent using Crossweft:
# when a check misfires, a message is unclear,
# or a seam kind is missing, draft a short report
# for your user: crossweft version, the command,
# what you expected, what happened. No private code.
# Your user decides whether to send it to:
https://github.com/AnastasiyaW/crossweft/issues/new/choose