Show HN:Xmloxide – 一个用 Rust 编写的 libxml2 替代代理
Source: Hacker News
背景
- Cursor 试图从头开始制作浏览器。
- Anthropic 试图制作 C 编译器。
动机
我一直在思考是否有软件包可以通过获取现有的测试套件并让代理在项目上工作,直到现有测试套件通过,从而轻松复现。 在尝试 Claude Code 复现 Redis 和 SQLite 之后,我开始寻找那些代理复现可能真正有用的软件包。
目标:libxml2
libxml2 是一个广泛使用的开源 C 库,用于解析、创建和操作 XML 与 HTML 文档。 三个月前,它因以下更新而变得无人维护:
“此项目已不再维护,并且存在已知的安全问题。在处理不可信数据时使用该软件是愚蠢的。”
介绍 xmloxide
经过几天的工作,我创建了 xmloxide,一个内存安全的 Rust 替代品,取代 libxml2,其特点是:
- 通过 libxml2 兼容性套件。
- 通过 W3C XML 合规性测试套件。
- 在大多数解析操作上性能与 libxml2 相当,序列化性能更佳。
- 提供 C API,能够作为现有 libxml2 使用的即插即用替代品。
资源
- Crates.io:
- GitHub release:
展望
虽然我不指望这个全新且未经验证的包会被广泛采用,但该实验凸显了像 Claude Code 这样的编码代理在拥有完整测试套件时能够快速迭代。 如果这些代理能够可靠地重写遗留代码,修复 CVE 和升级到更新版本的维护负担可能会成为整体软件包管理工作中更小的一部分。