作者注: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 獲取測試額度並與我們交流
