作者注: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 收购事件核心信息速览
先把已经确认的事实和尚未确认的信息分开。下面这张表只收录 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 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 技术栈快速上手:用 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 的定位差异,也有人批评流量收费。几十条评论无法代表整个开发者群体,目前也没有独立的大样本评测。

常见问题 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 的技术核心可以概括为三点:
- 界面层已经验证:Trees 与 Diffs 已在 Codex 中运行,是今天就能免费集成的开源组件。
- 存储层是战略重点:Code Storage 把 Git 变成面向 Agent 的可编程基础设施,但规模与性能数据仍是厂商自报。
- 边界需要分清:拟收购未交割,Pando 与 Code Storage 无关,存储价格与模型价格是两套体系。
如果你正在做 AI 编程工具或内部代码审查平台,最务实的做法是先用 @pierre/diffs 和 @pierre/trees 搭出界面,再接入大模型生成审查意见。推荐通过 API易 apiyi.com 快速验证效果,一个接口即可对比多个模型在你代码库上的表现。
📚 参考资料
- OpenAI 收购公告:OpenAI to acquire Pierre Computer Company, Inc.
- 链接:
openai.com/index/openai-to-acquire-pierre -
说明: 交易状态、Codex 已使用组件及开源承诺的一手来源
-
Diffs 官网与文档:Diffs 组件、Edit Mode 与 Highlights 说明
- 链接:
diffs.com/docs -
说明: 含可交互示例与完整 API 文档
-
Trees 官网:文件树组件演示
- 链接:
trees.software -
说明: Git 状态、虚拟化与可访问性说明
-
Code Storage 定价:官方计费标准与价格模拟器
- 链接:
code.storage/pricing -
说明: 最低月消费与按量计费明细
-
Pierre SDK and CLI 发布说明:2026-11-03 更新
- 链接:
code.storage/changelog/pierre-sdk-and-cli -
说明: 安装命令、环境要求与统一命名
-
Pierre 开源仓库:Apache-2.0 开源代码
- 链接:
github.com/pierrecomputer/pierre -
说明: 组件源码与社区动态
-
Scaling Git at OpenAI:OpenAI 自研 Pando 介绍
- 链接:
openai.com/index/scaling-git-at-openai - 说明: 用于区分 Pando 与 Code Storage
作者:APIYI 技术团队
技术交流:如需在 AI 代码审查项目中对比多种大模型,欢迎访问 API易 apiyi.com 获取测试额度并与我们交流
