Show HN: Oak – 为AI代理设计的Git替代方案
摘要
Oak是一个为AI代理设计的开源版本控制系统,提供每会话分支工作流、内容寻址懒挂载,以及比Git更快的性能。目前处于公开测试阶段,可作为CLI工具和可复用的Rust库使用。
Oak是我一直在开发的、专为AI代理设计的版本控制系统(<a href="https://oak.space" rel="nofollow">https://oak.space</a>)。它提升了代理在处理严肃项目时所需的速度和上下文。通过虚拟挂载,本地和云端的代理不再需要完整克隆仓库即可开始工作。你可以并行处理多个任务,无需下载全部内容或与工作树周旋。版本控制不应浪费你或代理的时间。它应该快速、富有创意,并且让与代理一起构建变得有趣。<p>Oak仍处于早期开发阶段。目前没有Windows版本,且缺少许多功能(无CI、无议题、无评论)。我们仍使用GitHub Actions来构建Oak,但我们已经完全在Oak上自举,且数月没有Git备份:<a href="https://oak.space/oak/oak" rel="nofollow">https://oak.space/oak/oak</a>。<p>博客文章:<a href="https://oak.space/blog#git-is-forever" rel="nofollow">https://oak.space/blog#git-is-forever</a><p>文档:<a href="https://oak.space/docs" rel="nofollow">https://oak.space/docs</a>
查看缓存全文
缓存时间: 2026/06/22 19:35
# oak
Source: https://oak.space/oak/oak
README.md 95 行 · 3.9 KB
这个仓库是 Oak(https://oak.space/)的开源核心:**为智能体提供速度级别的版本控制**。它作为 Cargo 工作区开发:一个可复用的 VCS 库以及智能体驱动的命令行客户端 `oak`。
带上你自己的智能体(Claude Code, Codex, Cursor, ...);Oak 是它们进行读取、写入、分支和协作的基础。这个基底围绕智能体的实际工作方式设计——以每会话分支(branch-per-session)作为工作单元,用分支描述替代逐次提交消息,以及内容寻址的惰性挂载(lazy mounts),让智能体在数秒内就能编辑任何仓库。由于采用内容寻址并按需加载(hydrates on demand),它在智能体工作负载下比 git 快得多——但速度是设计的结果,而非噱头。
| Crate | Path | crates.io | 说明 |
|---|---|---|---|
| `oakvcs-core` | `core/` (https://oak.space/oak/core/) | `oakvcs-core` (https://crates.io/crates/oakvcs-core) | VCS 基础:BLAKE3 内容哈希、内容定义的分块、差异/合并、Blob/Manifest/Commit/Tree 数据模型,以及可选的客户端本地仓库(SQLite + git 后端)。 |
| `oakvcs-cli` | `cli/` (https://oak.space/oak/cli/) | `oakvcs-cli` (https://crates.io/crates/oakvcs-cli) | 基于 `oakvcs-core` 构建的 `oak` 二进制文件。 |
## 在自有项目中使用库
`oakvcs-core` 可以独立使用——例如,将 Oak 集成到其他工具或引擎中。在关闭默认功能的情况下,仅引入内容寻址数据模型和哈希(无需 SQLite/git):
```
[dependencies]
oakvcs-core = { version = "0.99.0", default-features = false }
```
该包以 `oakvcs-core` 名称发布,但在代码中作为 `oak_core` 导入。
当你还需要磁盘上的 `Repository`(SQLite + 只读 git)后端时,添加默认的 `local-repo` 特性。
## 安装 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 上,从最新的 GitHub 发布页面(https://github.com/oakdotspace/oak/releases/latest)获取预构建的 `oak-windows-x86_64.exe`(重命名为 `oak.exe` 并添加到 `PATH`),或者通过 `cargo install oakvcs-cli` 从 crates.io 构建。随后 `oak upgrade` 会原地更新它。
Windows 上的 `oak mount` 使用 **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`(https://oak.space/oak/docs/release-readiness.md)。
## 许可证
Apache-2.0。参见 LICENSE(https://oak.space/oak/LICENSE)。
## AI
这个仓库几乎完全由 AI 编写,并有人类监督。如果您发现任何需要修复的问题或有贡献意愿,请发送邮件至 [\[email protected\]](https://oak.space/cdn-cgi/l/email-protection) 或通过 Discord(https://discord.gg/UUPfUaeDnS)联系我们。
相似文章
Show HN:面向AI代理的Git
re_gent 是一个开源的版本控制系统,专为AI代理活动设计,记录每一次工具调用及其相关提示,使开发者能够审查和回滚代理的变更。
Show HN: Gitdot – 一个更好的 GitHub。开源、反 AI、用 Rust 编写
Gitdot 是一个开源的、反 AI 的、用 Rust 编写的 Git 托管平台,旨在作为 GitHub 的更好替代方案。
@akshay_pachaar:斯坦福大学的研究人员又做到了。他们刚刚构建了智能体原生的 Git 版本。当智能体在较长的任务上工作…
斯坦福大学的研究人员发布了 Shepherd——一个运行时层,对 AI 智能体的运行而言就像 Git 一样:它记录类型化事件,并支持写时复制(copy-on-write)分支,让智能体可以回滚到之前的状态并复用 KV 缓存。早期测试显示,多智能体协作任务的通过率有所提升。
Grit:用Rust和智能体重写Git
本文介绍了Grit,这是一个用Rust重新实现的Git新版本,通过了超过99%的Git测试套件,并且是通过AI智能体创建的。它旨在提供一种基于库、内存安全的替代方案,以取代原版Git。
@omarsar0: 随着智能体工作变得更加复杂,这将变得非常重要。我们对智能体产生的代码进行版本控制。但下一步是…
AgentGit 是一个开源平台,专为AI智能体会话协作设计,使用户能够保存、恢复和分享工作,以在任务交接期间保留上下文。