展示 HN: Oak – 为代理设计的 Git 替代品
README.md 95 行 · 3.9 KB 这个仓库是 Oak 的开源核心:以代理的速度进行版本控制。它作为一个 Cargo 工作区开发:一个可重用的 VCS 库加上代理驱动的 oak 命令行客户端。带上你自己的代理(Claude Code、Codex、Cursor 等);Oak 是它读取、写入、分支和协作的基础。这个基础围绕代理的实际工作方式构建——以会话为单位的分支作为工作单元,用分支描述代替每次提交的信息,以及内容寻址的懒加载挂载,让代理在几秒钟内编辑任何仓库。因为它是内容寻址的并且根据需要进行加载,所以在代理工作负载下,它的速度也远快于 git——但这种速度是设计的结果,而非宣传的噱头。 Crate Path crates.io 它是 oakvcs-core 核心/ oakvcs-core VCS 基础:基于 BLAKE3 的内容哈希、内容定义的分块、diff/merge、Blob/Manifest/Commit/Tree 数据模型,以及一个可选的客户端本地仓库(SQLite + git 后端)。 oakvcs-cli cli/ oakvcs-cli oak 二进制文件,建立在 oakvcs-core 之上。 在你的项目中使用这个库 oakvcs-core 可以独立使用——例如,构建将 Oak 集成到另一个工具或引擎中。仅引入内容寻址的数据模型和哈希(无 SQLite/git),并将默认功能关闭:[dependencies] oakvcs-core = { version = "0.99.0", default-features = false } 这个 crate 被发布为 oakvcs-core 但按 oak_core 导入。添加默认的本地仓库功能,当你需要磁盘上的仓库(SQLite + 只读 git)后端时。 安装 CLI Oak 正在进行公共 beta 测试 (v0.99.0)。最快的方式是预构建的 oak 二进制文件:curl -fsSL oak.space/install | sh 安装程序支持 macOS(Apple Silicon)和 Linux(x86_64)。安装后,oak upgrade 可以就地更新二进制文件。Windows(x86_64)的 curl … | sh 安装程序是仅限 Unix 的。在 Windows 上,从最新的 GitHub 发布中获取预构建的 oak-windows-x86_64.exe(重命名为 oak.exe 并将其放在你的 PATH 中),或者使用 cargo install oakvcs-cli 从 crates.io 构建。然后,oak upgrade 可以就地更新它。在 Windows 上,oak mount 使用的是投影文件系统(ProjFS),这是一个可选的 Windows 功能。在提升的 PowerShell 中每台机器启用一次:Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart(或 设置 → 应用 → 可选功能 → “Windows 投影文件系统”)。其他一切——克隆、推送、拉取、提交——在未启用的情况下也能正常工作。更喜欢从 crates.io 构建?用 Cargo 安装(在 macOS、Linux 和 Windows 上都能工作——TLS 堆栈使用 rustls + ring,因此不需要 C/NASM 构建工具链):cargo install oakvcs-cli # 构建并安装 `oak` 二进制文件 从源代码构建 cargo build --workspace # 构建 oak-core + oak 二进制文件 cargo test -p oakvcs-cli # CLI 测试(包括 wiremock HTTP 测试)make build # 发布构建 + CLI 发布工具 make release-proof # 不会改变的启动/发布准备证明 CLI 通过工作区路径依赖于 oak-core,因此普通的 cargo build 可以在没有额外设置的情况下针对本地 core/ 检出。请参见 docs/release-readiness.md 以获取发布证明和 crates.io 发布顺序检查。 许可证 Apache-2.0。见 LICENSE。AI 此仓库几乎完全由 AI 编写,并由人类监督。如果你看到需要修正的内容或想要贡献,请发送电子邮件到 [email protected] 或在 Discord 上联系。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡