Show HN:Oak——专为代理设计的 Git 替代方案
Show HN: Oak——专为代理设计的 Git 替代方案
Oak 是开源版本控制系统,专为 AI 智能体(Claude Code、Codex、Cursor)设计。采用 BLAKE3 内容哈希、内容定义分块、diff/merge 及 Blob/Manifest/Commit/Tree 数据模型,可选 SQLite 和 git 后端。以分支-会话为基本工作单元,用分支描述替代逐次提交,通过内容寻址懒加载使智能体数秒内编辑任意仓库。速度远超 git。已发布公开测试版 v0.99.0,支持 macOS(Apple Silicon)、Linux(x86_64)及 Windows,可通过 curl 或 cargo 安装,Apache-2.0 开源。
专为 AI 代理打造的全新版本控制工具,分支作为会话单元、内容寻址懒加载,设计直接摆脱了 git 的包袱,用 agent 的开发者值得一试。
oak
oak
README.md
95 行 · 3.9 KB
Oak
本仓库是 Oak 的开源核心:以智能体的速度进行版本控制。它以 Cargo 工作区的形式开发:一个可复用的 VCS 库,加上供智能体驱动的 oak 命令行客户端。
带上你自己的智能体(Claude Code、Codex、Cursor……);Oak 是它读取、写入、分支和协作的基础。这一底层架构围绕智能体实际的工作方式而设计——以每个会话一个分支作为工作单元,用分支描述取代逐次提交信息,以及内容寻址的惰性挂载,让智能体在几秒内就能编辑任何仓库。由于它是内容寻址并按需加载的,对于智能体工作负载而言,它也远比 git 更快——但速度是这种设计的自然结果,而非卖点。
| Crate | Path | crates.io | 它是什么 |
|---|---|---|---|
oakvcs-core | core/ | oakvcs-core | 版本控制系统的基石: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 导入。
添加默认local-repo功能,当你还想要基于磁盘的Repository(SQLite + 只读 git)后端时。
安装 CLI
Oak 已进入 公开测试(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 上,请获取预编译的oak-windows-x86_64.exe来自最新 GitHub release(将其重命名为oak.exe并放到你的PATH),或者使用以下命令从 crates.io 构建cargo install oakvcs-cli. oak upgrade然后就地更新。
oak mount 在 Windows 上使用 Projected File System (ProjFS),这是一个可选的 Windows 功能。在每台机器上以管理员身份运行 PowerShell 启用一次即可:
Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart
(或通过 设置 → 应用 → 可选功能 → “Windows Projected File System”)。其余所有操作——clone、push、pull、commit——无需它即可正常工作。
更想从 crates.io 构建?改用 Cargo 安装(适用于 macOS、Linux 和 Windows——TLS 栈使用 rustls + ring,因此无需 C/NASM 构建工具链):
cargo install oakvcs-cli # builds and installs the `oak` binary
从源码构建
cargo build --workspace # builds oak-core + the oak binary
cargo test -p oakvcs-cli # CLI tests (incl. wiremock HTTP tests)
make build # release build + the CLI release tooling
make release-proof # non-mutating launch/release readiness proof
CLI 通过工作区内路径依赖 oak-core,因此直接运行 cargo build 即可针对本地 core/ 检出进行构建,无需额外配置。发布证明和 crates.io 发布顺序检查请参见 docs/release-readiness.md。
许可证
Apache-2.0。参见 LICENSE。
AI
本仓库几乎完全由 AI 在人工监督下编写。如果你发现任何需要修复的问题,或希望参与贡献,请发送邮件至 [email protected],或在 Discord 上联系我们。
| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 | |
| 8 | |
| 9 | |
| 10 | |
| 11 | |
| 12 | |
| 13 | |
| 14 | |
| 15 | |
| 16 | |
| 17 | |
| 18 | |
| 19 | |
| 20 | |
| 21 | |
| 22 | |
| 23 | |
| 24 | |
| 25 | |
| 26 | |
| 27 | |
| 28 | |
| 29 | |
| 30 | |
| 31 | |
| 32 | |
| 33 | |
| 34 | |
| 35 | |
| 36 | |
| 37 | |
| 38 | |
| 39 | |
| 40 | |
| 41 | |
| 42 | |
| 43 | |
| 44 | |
| 45 | |
| 46 | |
| 47 | |
| 48 | |
| 49 | |
| 50 | |
| 51 | |
| 52 | |
| 53 | |
| 54 | |
| 55 | |
| 56 | |
| 57 | |
| 58 | |
| 59 | |
| 60 | |
| 61 | |
| 62 | |
| 63 | |
| 64 | |
| 65 | |
| 66 | |
| 67 | |
| 68 | |
| 69 | |
| 70 | |
| 71 | |
| 72 | |
| 73 | |
| 74 | |
| 75 | |
| 76 | |
| 77 | |
| 78 | |
| 79 | |
| 80 | |
| 81 | |
| 82 | |
| 83 | |
| 84 | |
| 85 | |
| 86 | |
| 87 | |
| 88 | |
| 89 | |
| 90 | |
| 91 | |
| 92 | |
| 93 | |
| 94 | |
| 95 | |
来源:Hacker News 热门(buzzing.cc 中文翻译) · oak.space