首页
/
工具
/
Show HN: Oak – 为AI代理设计的Git替代方案
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)联系我们。
相似文章
Hacker News Top
re_gent 是一个开源的版本控制系统,专为AI代理活动设计,记录每一次工具调用及其相关提示,使开发者能够审查和回滚代理的变更。
Hacker News Top
Gitdot 是一个开源的、反 AI 的、用 Rust 编写的 Git 托管平台,旨在作为 GitHub 的更好替代方案。
Hacker News Top
本文介绍了Grit,这是一个用Rust重新实现的Git新版本,通过了超过99%的Git测试套件,并且是通过AI智能体创建的。它旨在提供一种基于库、内存安全的替代方案,以取代原版Git。
Hacker News Top
Superset 是一个开源IDE,用于并行编排多个基于CLI的AI编码智能体,具有隔离的git工作树、内置监控和差异查看器。它支持多种智能体,如Claude Code、Codex CLI和Gemini CLI。
X AI KOLs Timeline
I have one big problem with agentic engineering: I want agents to operate autonomously, but I also want granular, reversible control over every change they make. I could solve this by committing every intermediate step to Git, but that would completely pollute my repo history. So I built 𝗮𝗴𝗴𝗶𝘁: a Git-like CLI for local and remote (S3-backed) agent artifact storage, written in Rust . With aggit, my agents can stash intermediate work, create branches safely, restore previous states, and back