Oxen
Oxen 是一款专为机器学习数据集打造的高速数据版本控制系统,旨在让管理数据像使用 Git 管理代码一样简单高效。它主要解决了大型数据集(涵盖图像、音频、视频、文本及 Parquet 等表格数据)在索引、同步和协作过程中面临的性能瓶颈与版本混乱难题。无论是处理百万级文件还是 TB 级数据,Oxen 都能实现秒级索引与快速传输,确保团队能轻松追踪数据随时间的变化,避免状态丢失。
这款工具非常适合 AI 开发者、数据科学家及研究人员使用,尤其是那些需要频繁迭代大规模训练数据集的团队。Oxen 的最大亮点在于其兼容 Git 的操作逻辑,用户无需重新学习即可上手;同时它底层针对大数据进行了深度优化,支持原生 DataFrame 处理与元数据自动提取。此外,Oxen 还提供了独特的“工作区”功能,允许用户在不下载完整数据的情况下直接交互,并配合 OxenHub 平台实现更直观的数据可视化与团队协作。通过命令行、Python 及 Rust 接口,Oxen 能灵活融入各类开发工作流,成为构建可靠数据流水线的得力助手。
使用场景
某自动驾驶初创公司的算法团队正在迭代一个包含 50 万张路况图像及对应标注文件的感知模型,急需在多人协作中频繁回溯数据状态。
没有 Oxen 时
- 版本混乱难追溯:团队成员手动复制数据集文件夹(如
dataset_v1_final_really),一旦模型效果回退,根本无法确定具体是哪一批标注数据出了问题。 - 大文件同步极慢:使用传统 Git 或网盘同步数百 GB 的图像和 Parquet 标注文件时,网络传输耗时数小时,且容易因中断导致文件损坏。
- 协作冲突频发:多名标注员同时修改数据时缺乏合并机制,经常发生文件覆盖,导致珍贵的长尾场景标注丢失。
- 元数据查询困难:想要筛选特定天气或光照条件的图片进行复训,只能写脚本遍历整个文件系统,效率极低。
使用 Oxen 后
- 像代码一样管理数据:团队直接使用
oxen commit记录每次数据变更,通过oxen log清晰查看历史,随时一键回滚到任意版本的“黄金数据集”。 - 秒级索引与增量同步:Oxen 能在几秒内索引完 50 万张图片,后续协作仅同步变动部分,将原本数小时的同步时间缩短至分钟级。
- 无缝团队协作:成员通过
oxen push/pull与中央服务器同步,自动处理并发修改,确保每位算法工程师本地的数据状态严格一致。 - 原生数据框支持:利用 Oxen 内置的 DataFrame 处理能力,可直接对百万行标注数据进行快速过滤和分析,无需额外编写加载脚本。
Oxen 将原本杂乱无章的大数据管理变成了像代码开发一样流畅、可追溯且高效的标准化流程。
运行环境要求
- Linux
- macOS
未说明
未说明

快速开始

🐂 Oxen 是什么?
Oxen 是一个针对大型数据集的超快速数据版本控制系统。我们的目标是让数据版本控制像代码版本控制一样简单。
其接口与 Git 非常相似,但在许多 Git 或 Git LFS 存在短板的领域表现出色。Oxen 从头开始构建,适用于任何数据类型,并经过优化以处理包含数百万个文件、规模可达 TB 级别的仓库。
oxen init
oxen add images/
oxen add annotations/*.parquet
oxen commit "添加 20 万张图片及其对应标注"
oxen push origin main
Oxen 包含一个 命令行界面,以及用于 Rust 🦀、Python 🐍 和 HTTP 接口 🌎 的绑定,方便您将其集成到工作流中。
🌾 适用哪些数据?
Oxen 旨在高效管理各种格式的大数据——包括图像、音频、视频、文本,以及包含数百万行记录的 Parquet 文件等表格数据。在底层,Oxen 可以存储任何二进制大对象(Blob),但它为特定文件类型配备了专门的元数据提取器,并将这些信息缓存在 Merkle 树中,以便后续快速访问。
🚀 专为速度而生
数据集难以维护的主要原因之一,在于对数据进行索引和通过网络传输时的性能瓶颈。我们希望能够在几秒钟内完成对数十万张图像、视频、音频和文本文件的索引。
请观看下方演示,我们在几秒钟内就完成了 数十万张图像 的版本控制 🔥
但速度只是起点。
✅ 主要特性
Oxen 的设计注重人体工学、易用性和学习曲线的平缓性。只要会使用 Git,就能轻松上手 Oxen。
- 🔥 高速(高效的数据索引与同步)
- 🧠 易于学习(与 Git 使用相同的命令)
- 💪 能够处理大文件(图像、视频、音频、文本、Parquet、Arrow、JSON、模型等)
- 🗄️ 可索引海量文件(数百万张图片?毫无压力)
- 📊 原生 DataFrame 处理能力(索引、比较并提供 DataFrame)
- 📈 跟踪数据随时间的变化(再也不用担心数据状态丢失)
- 🤝 与团队协作(同步至 Oxen 服务器)
- 🌎 工作区 功能,无需下载即可直接操作数据
- 👀 在 OxenHub 上获得更好的数据可视化效果
🐮 学习基础知识
如需了解 Oxen 的全部功能,完整的文档请访问 https://docs.oxen.ai。
🧑💻 开始使用
您可以通过 Homebrew、pip 或我们的 发布页面 进行安装。
🐂 安装命令行工具
通过 Homebrew 安装:
brew install oxen
🐍 安装 Python 库
pip install oxenai
⬇️ 克隆数据集
从 OxenHub 克隆您的第一个 Oxen 仓库。
oxen clone https://hub.oxen.ai/ox/CatDogBBox
🤝 支持
如果您有任何问题、意见、建议,或只是想与团队取得联系,请随时发送邮件至 hello@oxen.ai。
👥 贡献
本仓库包含封装核心 Rust 代码库的 Python 库。我们非常欢迎对 Python 接口、文档或核心 Rust 库进行扩展的贡献。
可参与贡献的代码库:
如果您正在使用 Oxen.ai 构建项目,或有任何疑问,欢迎加入我们的 Discord 交流。
构建 🔨
每个代码库都有各自的构建说明,请参阅 Rust 构建说明 和 oxen-python 的构建说明 获取详细信息。
不过,所有代码库都共享相同的前置条件和提交前钩子。
先决条件
自动安装
您应该使用 bin/install-prereqs 来自动安装 Rust 和 Python 所需的开发工具和工具链。执行方式如下:
bin/install-prereqs
它支持 macOS 和基于 Debian 的 Linux 发行版。如果您使用的是其他操作系统或发行版,或者在运行安装脚本时遇到问题,您可以按照下面的手动安装步骤进行操作。
手动安装
Oxen 完全由 Rust 🦀 编写。您需要使用 rustup 安装 Rust 工具链。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
安装完 Rust 后,请安装以下开发者工具:
bacon:带有更改后自动重新加载功能的服务器运行工具cargo-machete:用于识别并移除未使用的依赖项cargo-llvm-cov:用于计算测试代码覆盖率cargo-sort:确保Cargo.toml文件的有序性cargo-nextest:用于运行单元测试
您可以通过以下命令一次性安装所有这些工具:
cargo install bacon cargo-machete cargo-llvm-cov cargo-sort
cargo install --locked cargo-nextest
请确保已安装 cmake。在 macOS 上,可以使用以下命令安装 CMake:
brew install cmake
Python 接口 使用 PyO3 提供的 liboxen 绑定。
oxen-python 代码库需要安装 uv:
curl --LsSf https://astral.sh/uv/install.sh | sh
如果您使用 mise 来管理您的 Python 安装,可能会遇到 oxen-py crate 无法找到要链接的 Python 动态库的问题,例如 dyld[31558]: Library not loaded: @rpath/libpython3.13.dylib。
您可以通过将以下内容添加到您的 mise 配置文件(~/.config/mise/config.toml)来解决此问题:
[env]
DYLD_LIBRARY_PATH = "{{ exec(command='mise where python') }}/lib"
Pre-Commit 钩子
我们使用 pre-commit-hooks 来检查提交的一致性。
使用 uv 作为工具进行安装:
uv tool install pre-commit
使用以下命令在本地安装 Oxen 的 pre-commit 钩子:
pre-commit install
生产环境发布构建
在部署时,请使用 production 特性标志和 --release 标志进行构建:
cargo build --workspace --release --features production
这将启用:
- OpenTelemetry 跟踪 (
otel) -- 将跟踪跨度导出到任何兼容 OTLP 的收集器(Jaeger、Tempo、Datadog 等)。有关运行时配置,请参阅 OpenTelemetry 跟踪。 - FFmpeg 缩略图 (
ffmpeg) -- 通过 FFmpeg 生成视频/图像缩略图(需要在主机上安装 FFmpeg 库)。 - 性能日志记录 (
perf-logging) -- 用于内部操作的额外计时监控。
如果不使用 --features production,默认构建将排除 OTel 依赖项和 FFmpeg 支持,从而使二进制文件更小,适合本地开发。
日志记录
Oxen 使用 tracing crate 进行结构化日志记录。默认情况下,所有日志输出都会以人类可读的格式发送到 stderr。这适用于 CLI(oxen)、服务器(oxen-server)以及任何使用 liboxen 的代码(包括 Python 绑定)。
控制日志级别
设置 RUST_LOG 环境变量来控制日志的详细程度。
# 显示 oxen 库的调试日志
RUST_LOG=debug oxen push origin main
# 仅显示警告和错误
RUST_LOG=warn oxen-server start
# 细粒度:liboxen 的日志为调试级别,其他部分为警告级别
RUST_LOG=warn,liboxen=debug oxen-server start
使用 OXEN_LOG_DIR 进行文件日志记录
设置 OXEN_LOG_DIR 可以在 stderr 之外启用基于文件的日志记录。该环境变量指定一个目录,用于存放轮转的日志文件。日志文件以 换行分隔的 JSON 格式(每行一个 JSON 对象)写入,并按天轮转。每行包含时间戳、日志级别、目标、线程 ID、源文件和行号。
OXEN_LOG_DIR=./logs/ RUST_LOG=warn oxen clone https://hub.oxen.ai/ox/CatDogBBox
OXEN_LOG_DIR=/var/log/oxen oxen-server start
日志文件在配置的目录中命名为 {app_name}.{date}(例如 oxen-server.2026-04-06)。
要使用标准工具摄取这些日志:
- Promtail / Grafana Loki -- 将
file_sd或静态目标指向日志目录;Loki 原生支持换行分隔的 JSON。 - Filebeat / Elasticsearch -- 配置一个
filebeat.inputs条目,设置type: filestream和parsers: [{ ndjson: {} }]。 - Vector -- 使用
file源,并设置decoding.codec = "json"。 jq-- 用于临时检查:
# 流式查看日志,筛选错误
tail -f ~/.oxen/logs/oxen-server.2026-04-06 | jq 'select(.level == "ERROR")'
Prometheus 指标
oxen-server 暴露了一个兼容 Prometheus 的指标端点。
有关详细信息,请参阅 Prometheus 指标。
OpenTelemetry 跟踪
oxen-server 可以将跟踪跨度导出到任何兼容 OTLP 的收集器(Jaeger、Tempo 等)。
需要使用 otel 特性标志进行构建。
有关详细信息,请参阅 OpenTelemetry 跟踪。
FmtSpan 事件
跨度生命周期事件可以作为日志行输出到 stderr,用于轻量级跟踪。 有关详细信息,请参阅 FmtSpan 事件。
为什么构建 Oxen?
Oxen 是由一支机器学习工程师团队构建的,他们在职业生涯中花费了无数时间来管理数据集。我们尝试过许多不同的工具,但没有一个像我们期望的那样易于使用且符合人体工学。
如果您曾经尝试过使用 git lfs 来版本化大型数据集并因此感到沮丧,那么我们深有同感。对于机器学习所需的海量数据来说,像 git-lfs 这样的解决方案速度太慢了。
如果您曾经将大量的图像、音频、视频或文本数据集上传到云存储桶,并为其命名:
s3://data/images_july_2022_final_2_no_really_final.tar.gz
我们构建 Oxen 的目的,就是让它成为我们一直渴望拥有的工具。
为什么叫 Oxen?
“Oxen” 🐂 这个名字来源于这样一个事实:该工具将像优秀的农民照料田地一样,耕耘、维护和版本化您的数据 🌾。让 Oxen 来承担您基础设施中的繁重工作,这样您就可以专注于对您的产品至关重要的更高层次的问题。
版本历史
v0.46.112026/04/11v0.46.102026/04/01v0.46.92026/03/31v0.46.72026/03/26v0.46.42026/03/21v0.46.32026/03/19v0.46.22026/03/15v0.46.12026/03/14v0.45.02026/03/06v0.44.22026/02/20v0.44.12026/02/14v0.43.12026/02/10v0.43.02026/01/29v0.42.52026/01/08v0.42.42026/01/05v0.42.32025/12/31v0.42.22025/12/20v0.42.02025/12/18v0.41.32025/12/13v0.40.32025/12/08相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器