Pierre 到底有什么技术?拆解 Codex 正在使用的 Trees、Diffs 与 Code Storage 等 5 款产品

Pierre 到底有什么技术?拆解 Codex 正在使用的 Trees、Diffs 与 Code Storage 等 5 款产品

作者注:OpenAI 宣布拟收购 Pierre,本文拆解 Pierre 的 5 款产品:Codex 已在使用的 Trees、Diffs,以及 Highlights、DiffsHub 和收费的 Code Storage,帮你分清哪些开源组件可以直接用。

2026 年 11 月 4 日,OpenAI 发布公告,宣布 拟收购开发者工具公司 Pierre Computer Company。很多人第一反应是“OpenAI 又买了一家 Git 托管公司”,但这个理解并不准确。Pierre 拥有一整套技术体系,覆盖代码浏览、差异对比、在线编辑、语法高亮和 Git 存储,而且其中两件产品早就在 Codex App 里运行。

这不是坊间传言,也不是一篇只讲新闻的速报。 OpenAI 官方公告已经确认 Codex 正在使用 Pierre 的 Trees 和 Diffs 库,Pierre 的开源仓库和 NPM 包也都可以公开查看。需要说明的是,交易目前还没有完成交割,收购金额也没有披露。

核心价值:读完本文,你会拿到一张清楚的 Pierre 产品技术地图,分清开源组件、在线工具和收费存储服务的边界,并知道哪些组件今天就能装进自己的项目。

pierre-trees-diffs-code-storage-codex-explained-image-0


Pierre 收购事件核心信息速览

先把已经确认的事实和尚未确认的信息分开。下面这张表只收录 OpenAI 公告和 Pierre 官方渠道明确说过的内容。

信息项 已确认内容 尚未公开或未确认
交易状态 2026-11-04 宣布拟收购,需满足常规交割条件和监管批准 交割时间、收购金额、估值
Codex 现状 Codex App 已在使用 Trees 与 Diffs 库 Codex 用户代码是否迁往 Code Storage
后续计划 逐步探索把 Code Storage 能力带入 Codex 完整整合时间表与新价格
开源承诺 Pierre 开源项目继续开源,OpenAI 继续贡献 各版本长期维护计划
现有客户 Code Storage 现有客户交易后可继续使用 长期收费政策与数据迁移安排

交割之前,两家公司继续独立运营。Axios 把这笔交易解读为 Codex 向 GitHub 长期主导的代码协作领域延伸,但这是媒体对竞争方向的判断,OpenAI 并没有宣布推出完整的 GitHub 替代品。


Pierre 技术地图:开源组件、在线工具与收费存储

理解 Pierre 的关键,是先把它的产品拆成三层。Pierre 不是专门训练大语言模型的公司,也不卖模型 API,它做的是代码展示、编辑、存储和管理所需的软件与基础设施。官网把自己定位为“为机器驱动的工作负载提供底层、可组合的基础设施”。

产品 层级 解决的问题 获取方式
Trees 开源组件 如何浏览项目文件 pnpm add @pierre/trees
Diffs 开源组件 如何查看、比较、编辑代码变化 pnpm add @pierre/diffs
Highlights 高亮能力(Beta) 如何快速、流式地呈现语法高亮 见 Diffs 官方文档
DiffsHub 在线工具 如何在网页中浏览 GitHub 代码变化 访问 diffshub.com
Code Storage 商业服务 如何通过 Git 和 API 大规模存储代码 按量计费,有最低月消费

开源部分集中在 GitHub 仓库 pierrecomputer/pierre,采用 Apache License 2.0。截至 2026-11-05,该仓库约有 6,500 个 Stars、266 个 Forks、约 1,320 次提交,这些是动态快照数据。要注意的是,这个仓库并不等于 Code Storage 的全部商业后端代码。

pierre-trees-diffs-code-storage-codex-explained-image-1


Pierre Diffs 拆解:Edit Mode、审查 UI 与 Merge Conflict

Diffs 的开源包是 @pierre/diffs,核查时官方主页显示版本为 v1.6.4,React 入口为 @pierre/diffs/react。它的基础能力是在网页里渲染代码文件、Patch 和两个版本之间的差异,支持 Split 左右并排和 Stacked/Unified 上下合并两种视图,并能做到行内字符、单词级别的差异高亮。开发者既可以传入文件的两个版本,也可以直接传入 Patch 文件。

Diffs Edit Mode:在差异视图里直接改代码

OpenAI 公告中专门点名了这个功能:审查者可以在 Diff 视图里直接修改某一行代码。Edit Mode 支持选区与多选、自动缩进、Undo/Redo、文件内搜索、Lint 标记、自定义编辑动作,以及本地与远程光标,官方提供 EditProvider 及相关 Editor API。部分编辑能力目前仍标注为 Beta。

它解决的是一个很具体的痛点:在传统流程里,你看到 AI 生成的某行代码有问题,需要切换到完整编辑器、定位文件、修改、再回到审查界面。Edit Mode 把“发现问题”和“修复问题”放进同一个界面,对 Agent 生成大量改动、人类逐段把关的场景尤其有用。

Diffs 代码审查 UI:可插拔的 Annotation 框架

Diffs 提供灵活的 Annotation 框架,可以把行级评论、CI 检测结果、AI 审查意见、第三方工具输出挂到具体代码行上。开发者还能在差异视图里加入 Accept Change、Reject Change 这类自定义按钮,支持评论回复和对选中代码行附加解释。

这里要划清边界:Diffs 是展示与交互组件,不是自动发现漏洞的 AI 模型。审查意见从哪里来,是你自己的系统决定的,例如接入大模型 API 生成建议,再交给 Diffs 渲染。

Diffs Merge Conflict:结构化的冲突处理

普通文本 Diff 遇到合并冲突时,只能显示一堆冲突标记。Diffs 提供专门的冲突处理 UI,把冲突区域呈现为结构化的新增与删除内容,用户可以选择保留当前版本、采用传入版本或保留两者,然后预览解决后的文件。

技术实现上,官方文档提到它支持 Vanilla JavaScript 和 React,使用 Shiki 做语法高亮,用 CSS Grid 与 Shadow DOM 组织部分渲染结构,还提供 SSR 工具、Worker Pool 和虚拟化渲染。虚拟化的目的是避免浏览器一次性渲染大量不可见内容。


Pierre Trees 与 Highlights:大型文件树和流式高亮

Trees:为大型仓库设计的文件树组件

Trees 的开源包是 @pierre/trees,核查时官方展示版本为 v1.0.0-beta.6。它负责 Codex 这类工具左侧的文件浏览栏,功能包括目录展开折叠、按名称和路径搜索过滤、自动压缩单层空目录链、文件与目录拖拽、新建与重命名、自定义右键菜单和文件图标。

最贴近 AI 编程场景的是 Git 状态显示。文件旁可以标注 M(已修改)、A(已新增并暂存)、D(已删除)、R(已重命名)、U(未跟踪),包含变化文件的父目录也能显示标记。当 Agent 一次改动几十个文件时,开发者扫一眼文件树就能知道改动落在哪里。

性能方面,Trees 采用自动虚拟化,只优先渲染当前可见的行。官网演示了一个全部展开后包含 2,956 个文件的目录树,并展示了数万个条目的虚拟化渲染。这些属于官方演示,不是独立 Benchmark,也不代表所有设备上表现一致。可访问性上,Trees 提供方向键导航、Tab 焦点管理、ARIA tree/treeitem 角色等,官方表示设计遵循 WCAG 2.1 相关指导。

Highlights:跟得上 Agent 输出速度的高亮器

Highlights 目前以 Beta 形式出现在 Diffs 官方文档中。文档披露它内置 152 种语言 Lexer,基于 WebAssembly,可以在浏览器、Node.js 和 Cloudflare Workers 中运行,输出 HTML 或 Shiki 兼容的 Token 对象。

它的四个主要 API 分工清晰:codeToHtml() 处理完整代码,codeToTokens() 输出按行组织的 Token,StreamTokenizer 适合逐步接收内容、输出已完成的行,LiveTokenizer 则针对编辑中的文档做增量更新。简单说,Highlights 解决的是“Agent 正在流式吐代码时,界面高亮如何跟上”的显示问题,并不提升模型本身的编程能力。

DiffsHub:把 github.com 换成 diffshub.com

DiffsHub 是 Pierre 的在线工具,用来展示 Trees 与 Diffs 在真实场景中的效果。把 GitHub 上 Pull Request、Commit、Comparison、Patch、Diff 链接里的 github.com 换成 diffshub.com,就能用 Pierre 的界面浏览同一组改动,官方示例包括 oven-sh/bun、nodejs/node 等仓库。

访问私有仓库需要你自己提供有权限的 GitHub Personal Access Token,官网说明 Token 保存在浏览器 localStorage,并不意味着 Pierre 可以任意读取私人仓库。网站也提示移动浏览器在极大型 Diff 下可能崩溃。DiffsHub 既不是 GitHub 替代品,也不等于开源的 Diffs 库本身。


Pierre Code Storage 与普通 GitHub 仓库有何不同

如果说 Trees 和 Diffs 是“看代码”的界面层,Code Storage 就是“存代码”的基础设施层,也是这次交易的战略重点。它是基于 Git 的分布式、可编程存储服务,面向需要大量创建、读取、修改和同步仓库的 AI 产品。

GitHub 的核心是围绕人的协作:仓库、PR、Issues、CI/CD。Code Storage 强调 Headless 和 API-first,支持通过 API 创建仓库、Commit、分支和 Merge,直接写入文件、流式读取文件、对代码库做 Grep 和 Glob 筛选,提供临时分支(Ephemeral Branches)、Webhook、Git LFS,以及与 GitHub、GitLab、Bitbucket 的同步。标准 Git over HTTPS 的 Clone、Push、Fetch 同样可用。

在 Hacker News 的 Code Storage 讨论帖中(66 Points、42 条评论),Pierre 方面举了一个例子:Agent 修改 10 个文件后,若用 GitHub REST API 提交,需要依次获取分支 SHA、创建 Branch、Blob、Tree、Commit 并更新引用,约 15 次请求,高负载下还要处理最终一致性导致的 422 错误;而 Code Storage 可以用单次 createCommitFromDiff 提交完整 Diff。这是厂商在社区里的解释,不是独立对照测试。

指标(官网自报) 数值 性质说明
单仓库大小上限 32TB 产品规格
总存储与仓库数量 不设统一上限 产品规格
并发写入 30+ 产品规格
单仓库 Git 请求 曾观察到 500+ 次/秒 官方观察数据,非保证值
API 请求 曾观察到 15,000+ 次/秒 官方观察数据,非保证值
可用性 99.99% SLA 服务承诺,非独立统计的历史在线率

架构上,官方称采用 Git 三阶段提交协议和 “Spoke-like” 的基于 Quorum 的架构,以保证分布式环境下的一致性与持久性,但没有公开完整集群拓扑。企业侧还声明了 SOC 2 Type II、HIPAA 相关支持、每租户加密与年度渗透测试,采购时仍应核验报告和合同条款。

客户案例同样是 Pierre 自己发布的。Lovable 案例披露每周新增超过 800 万个仓库、仓库创建峰值 250 个/秒;Poke 用 Git 存 Agent 记忆和工作流配置,披露 Push 延迟 P95 为 90 毫秒;Skydive 让 150 多个 Agent 各自拥有私有仓库,保存身份定义、MCP 配置、Skills 和持久记忆。这些案例说明一个趋势:Git 仓库正在从“存代码”扩展为“存 Agent 状态”。


Pierre SDK、CLI 与 Agent Skills 最新变化

收购公告前一天,即 2026 年 11 月 3 日,Pierre 发布了新的统一 SDK 和 CLI。最大的变化是 SDK、CLI 与 HTTP API 采用一致的操作命名,例如创建分支在三处分别是 pierre.repos.branches.create()、pierre repos:branches create 和 /api/repos/{repo_name}/branches/create。Agent 可以用同一套“操作目录”在不同接口之间切换。

# TypeScript SDK(Node.js 22 / 24 / 26)
npm install @pierre/sdk

# Python SDK(Python 3.10+)
pip install pierre-sdk

# Go SDK(Go 1.25+)
go get github.com/pierrecomputer/sdk/go

# CLI
npm install -g @pierre/cli

# 为编程 Agent 安装 Pierre Skills
npx skills add pierrecomputer/skills

# 用 CLI 基于 main 创建分支
pierre repos:branches create feature/preview --repo-name my-repo --base-ref main

鉴权使用 PIERRE_ORG 和 PIERRE_PRIVATE_KEY 两个环境变量,SDK 会为每次操作签发权限范围匹配、有效期 5 分钟的 Token。新 SDK 取代了旧的 @pierre/storage、pierre-storage 和 code-storage-go,旧包仍可使用但不再发布新版本。需要强调,这套 SDK/CLI 服务于 Code Storage,并不意味着 OpenAI 的 Codex CLI 新增了内置命令。


Pierre Code Storage 定价怎么算

Code Storage 的价格最容易被误读。Starter 写着 $20/月、Scale 写着 $200/月,这两个数字是最低月度消费额,不是在用量费之外额外加收的固定订阅费。也就是说,Starter 用户当月用量若超过 20 美元,就按实际用量付费;不足 20 美元,则按 20 美元结算。

计费项 价格 说明
Starter 最低消费 $20/月 多租户、邮件支持
Scale 最低消费 $200/月 单租户选项、SSO、24/7 支持
Enterprise 定制合同 VPC 等网络选项,价格未公开
热存储 Hot $0.005/GB/小时 最近 7 天内访问过的数据
冷存储 Cold $0.0002/GB/小时 超过 7 天未访问的数据
写入 Push $0.06/GB 按月出账
读取 Clone/Fetch $0.15/GB 按月出账

官网模拟器给出的示例是:热存储 20GB、冷存储 250GB、写入与读取各 250GB,预估约 $162/月。按每月约 730 小时粗算,热存储约 $73、冷存储约 $36.5、写入 $15、读取 $37.5,合计正好 $162。可以看到读取流量占比不小,这也是 HN 上有开发者批评网络流量收费的原因之一。该示例是模拟估算,不是真实账单,而且这套价格与 Codex 订阅、OpenAI 模型 Token 价格是完全不同的计费体系。

pierre-trees-diffs-code-storage-codex-explained-image-2


Pierre 技术栈快速上手:用 Diffs 搭一个 AI 审查原型

Pierre 组件不提供模型能力,所以一个实用的组合是:git diff 取出改动,调用大模型 API 生成行级意见,再把结果作为 Annotation 交给 Diffs 渲染。下面是一个架构示意,不代表 OpenAI 已推出对应的一体化 API。

层级 代表产品 在审查流程中的角色 可用平台
存储层 Code Storage / GitHub 保存仓库、分支与历史 Pierre 官方、各 Git 托管平台
模型层 GPT、Claude、Gemini 等 阅读 Diff 并生成审查意见 API易 apiyi.com、各家官方 API
界面层 Diffs + Trees 展示改动、挂载意见、行内修改 @pierre/diffs、@pierre/trees

极简示例只需十几行,把 diff 交给模型并要求返回 JSON:

import subprocess, openai

client = openai.OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.apiyi.com/v1"  # OpenAI 兼容接口
)

diff = subprocess.run(["git", "diff", "HEAD~1"], capture_output=True, text=True).stdout
resp = client.chat.completions.create(
    model="gpt-4o-mini",  # 替换为平台上可用的任意模型
    messages=[{"role": "user", "content": f"逐行审查以下 diff,返回 JSON 列表 [{{file, line, comment}}]:\n{diff}"}]
)
print(resp.choices[0].message.content)
查看完整实现代码(含 JSON 解析与降级处理)
import json
import subprocess
from typing import List, Dict
import openai

client = openai.OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.apiyi.com/v1"
)

SYSTEM_PROMPT = (
    "你是资深代码审查员。只针对 diff 中新增或修改的行给出意见,"
    "严格输出 JSON 数组,每项包含 file、line、severity、comment 四个字段。"
)

def get_diff(base: str = "HEAD~1") -> str:
    result = subprocess.run(
        ["git", "diff", base], capture_output=True, text=True, check=True
    )
    return result.stdout

def review_diff(diff: str, model: str = "gpt-4o-mini") -> List[Dict]:
    if not diff.strip():
        return []
    resp = client.chat.completions.create(
        model=model,
        messages=[
            {"role": "system", "content": SYSTEM_PROMPT},
            {"role": "user", "content": diff[:60000]},  # 简单截断,避免超长
        ],
        temperature=0.2,
    )
    text = resp.choices[0].message.content.strip()
    text = text.removeprefix("```json").removesuffix("```").strip()
    try:
        return json.loads(text)
    except json.JSONDecodeError:
        return [{"file": "", "line": 0, "severity": "info", "comment": text}]

if __name__ == "__main__":
    annotations = review_diff(get_diff())
    # 将结果写入文件,前端用 @pierre/diffs 的 Annotation 能力挂到对应行
    with open("review_annotations.json", "w", encoding="utf-8") as f:
        json.dump(annotations, f, ensure_ascii=False, indent=2)
    print(f"生成 {len(annotations)} 条审查意见")

前端部分安装 @pierre/diffs 后,把 review_annotations.json 中的意见按文件和行号挂到 Diff 视图上,再配合 Edit Mode 让审查者就地修改。具体组件参数请以 diffs.com/docs 官方文档为准。

🚀 快速开始:搭这类原型时,模型层建议通过 API易 apiyi.com 调用,一个 Key 即可切换 GPT、Claude、Gemini 等模型,方便对比不同模型在你的代码库上的审查质量,新用户还有免费测试额度。


Pierre 收购影响分析

对开发者的影响

  • 开源组件可以立即用:Diffs 和 Trees 已在 Codex 生产环境中运行,Apache-2.0 许可,适合做 AI 编程助手侧栏、内部审查平台或 Agent 工作台,OpenAI 也承诺继续开源。
  • 审查瓶颈正在前移:OpenAI 披露其内部每周 PR 数量相比此前 Q4 阶段增加超过一倍。代码生成变快之后,“看得清、改得快”的审查界面会成为新的效率关键。
  • Agent 状态存储有了新思路:Poke、Skydive 的案例表明,Git 可以用来存 Agent 记忆和配置,天然带历史与回滚能力。

对行业的影响

  • Codex 覆盖更长的开发生命周期:从生成、审查延伸到存储。但截至 2026-11-05,并无证据显示 GitHub 集成会被取消。
  • 别把 Pando 和 Code Storage 混为一谈:11 月 2 日 OpenAI 公布的 Pando 是自研 Git 后端,用于支撑内部单体仓库,与 Pierre 的 Code Storage 是两个独立项目。
  • 社区反馈尚无定论:HN 讨论里有人关心冷存储归档、与 GitHub 的定位差异,也有人批评流量收费。几十条评论无法代表整个开发者群体,目前也没有独立的大样本评测。

pierre-trees-diffs-code-storage-codex-explained-image-3


常见问题 FAQ

Q1:Pierre 是一家 Git 托管公司吗?

不完全是。Pierre 同时提供开源前端组件(Diffs、Trees)、高亮能力(Highlights)、在线工具(DiffsHub)和商业 Git 存储服务(Code Storage)。把它写成单一 Git 托管平台会漏掉 Codex 已经在用的界面层技术。

Q2:OpenAI 已经完成对 Pierre 的收购了吗?

没有。2026 年 11 月 4 日 OpenAI 只是宣布拟收购,交易仍需满足常规交割条件和监管批准,金额与交割时间都未公开,交割前双方独立运营。

Q3:Code Storage 的 $20/月是 Codex 的新收费吗?

不是。这是 Pierre Code Storage Starter 套餐的最低月度消费,与 Codex 订阅和模型 Token 价格无关,收购公告也没有宣布任何新的 Codex 套餐价格。

Q4:哪些 Pierre 组件可以直接用到我的项目里?

最直接的是 `@pierre/diffs` 和 `@pierre/trees`,都是公开 NPM 包,提供 Vanilla JS 与 React 支持。Highlights 目前在 Diffs 文档中标注为 Beta,DiffsHub 是在线工具,Code Storage 需要付费使用。

Q5:如何给 Diffs 审查界面配上 AI 审查意见?

Diffs 只负责展示和交互,意见需要你自己生成。可以按本文示例把 `git diff` 发给大模型,再把返回的行级意见挂成 Annotation。模型层可以通过 API易 apiyi.com 的 OpenAI 兼容接口调用,只需改 base_url 即可复用现有代码,注册后可用免费额度先跑通流程。

Q6:API易 能直接接入 Pierre Code Storage 吗?

目前没有这样的接入。API易 apiyi.com 提供的是大模型 API 聚合服务,对应审查流程中的模型层;Code Storage 需要使用 Pierre 官方 SDK 或 CLI 单独接入,两者在架构中可以组合,但不是同一个产品。


Pierre Trees、Diffs 与 Code Storage 核心要点 Key Takeaways

  • 三层结构:Pierre 由开源组件、在线工具和收费存储服务组成,不是单一 Git 平台。
  • 已集成事实:Codex App 已在使用 Trees 与 Diffs,Code Storage 整合仍属后续计划。
  • Diffs 亮点:Edit Mode 行内修改、Annotation 审查 UI、结构化 Merge Conflict 处理。
  • Trees 亮点:虚拟化渲染大型文件树,原生显示 M/A/D/R/U 等 Git 状态。
  • Code Storage 定位:API-first 的 Git 基础设施,性能数据均为官方自报。
  • 定价要点:$20/$200 是最低月消费,按存储与流量计费,非额外订阅费。
  • 上手方式:装好 Diffs 组件,模型层通过 API易 apiyi.com 调用即可搭出审查原型。

总结

Pierre 的技术核心可以概括为三点:

  1. 界面层已经验证:Trees 与 Diffs 已在 Codex 中运行,是今天就能免费集成的开源组件。
  2. 存储层是战略重点:Code Storage 把 Git 变成面向 Agent 的可编程基础设施,但规模与性能数据仍是厂商自报。
  3. 边界需要分清:拟收购未交割,Pando 与 Code Storage 无关,存储价格与模型价格是两套体系。

如果你正在做 AI 编程工具或内部代码审查平台,最务实的做法是先用 @pierre/diffs 和 @pierre/trees 搭出界面,再接入大模型生成审查意见。推荐通过 API易 apiyi.com 快速验证效果,一个接口即可对比多个模型在你代码库上的表现。


📚 参考资料

  1. OpenAI 收购公告:OpenAI to acquire Pierre Computer Company, Inc.
  2. 链接: openai.com/index/openai-to-acquire-pierre
  3. 说明: 交易状态、Codex 已使用组件及开源承诺的一手来源

  4. Diffs 官网与文档:Diffs 组件、Edit Mode 与 Highlights 说明

  5. 链接: diffs.com/docs
  6. 说明: 含可交互示例与完整 API 文档

  7. Trees 官网:文件树组件演示

  8. 链接: trees.software
  9. 说明: Git 状态、虚拟化与可访问性说明

  10. Code Storage 定价:官方计费标准与价格模拟器

  11. 链接: code.storage/pricing
  12. 说明: 最低月消费与按量计费明细

  13. Pierre SDK and CLI 发布说明:2026-11-03 更新

  14. 链接: code.storage/changelog/pierre-sdk-and-cli
  15. 说明: 安装命令、环境要求与统一命名

  16. Pierre 开源仓库:Apache-2.0 开源代码

  17. 链接: github.com/pierrecomputer/pierre
  18. 说明: 组件源码与社区动态

  19. Scaling Git at OpenAI:OpenAI 自研 Pando 介绍

  20. 链接: openai.com/index/scaling-git-at-openai
  21. 说明: 用于区分 Pando 与 Code Storage

作者:APIYI 技术团队
技术交流:如需在 AI 代码审查项目中对比多种大模型,欢迎访问 API易 apiyi.com 获取测试额度并与我们交流

类似文章