我們希望您在 Cloudflare 上建構下一個 Git 平台
這篇文章亦提供 English、Deutsch、Español、Español (Latinoamérica)、Français、日本語、한국어和简体中文.

GitHub 的誕生是為了服務這樣一個世界:人類編寫程式碼,將其組織成儲存庫 (repositories),並透過分支 (branches)、提交 (commits)、議題 (issues) 和拉取請求 (pull requests) 進行協作。
但下一代軟體的開發方式將會截然不同,因為它們將由一種新型態的開發者來建構:智慧體 (Agents)。
智慧體編寫程式碼的規模已達到前所未有的水平——它們修復錯誤、開發功能、編寫測試、審查變更、更新依賴項,並執行維持應用程式運作所需的日常維護工作。
那麼,在這個數百甚至數千個智慧體同時處理同一程式碼庫的新世界裡,其底層架構該是怎麼樣的呢?
智慧體們如何知道其他智慧體正在做什麼?當它們做出互相衝突的變更時會發生什麼事?您要如何審查它們產出的所有內容?您該如何同時追蹤「改變了什麼」以及「為什麼要進行這項變更」?
因此,一個迫切的問題擺在眼前:下一代 GitHub 會是什麼樣子?
我們希望您能參與其中,親手建構它,以此來回答這個問題。
今年早些時候,我們推出了 Artifacts,這是一個支援 Git 的版本化檔案系統,能夠擴展至數百萬個儲存庫。從一開始,我們就將 Artifacts 設計為一組可程式化的基元 (primitives),讓開發人員可以用來建構自己的產品、工作流程和抽象層。

Artifacts 提供了基礎:可以透過程式化方式建立和分叉 (fork) 的儲存庫、用於程式碼和智慧體上下文的版本化儲存,以及智慧體們已經熟練掌握的 Git 操作。
有了這個基礎,您就可以專注於上層建構:智慧體如何協調工作、如何審查和合併變更,以及當成百上千個智慧體同時處理同一程式碼庫時,開發人員體驗應如何設計。
這就是我們希望您來建構的層。
現在 Artifacts 已進入公開測試階段,我們正在舉辦一場競賽,看看誰能使用 Workers 和 Artifacts 在 Cloudflare 上建構下一個 Git 平台。
Artifacts 已進入公開測試階段。以下是您應該在其上建構的理由
當我們推出 Artifacts 時,目標是讓使用者能夠為每個智慧體、工作階段、任務或使用者建立儲存庫,並滿足智慧體所需的規模化需求。
從那時起,我們看到開發人員以各種方式使用 Artifacts:Vibe 編碼平台正在使用它來儲存其使用者建立的專案。開發人員使用它來持久化智慧體工作階段中的程式碼和上下文。其他人則正在建立隔離的儲存庫,以便多個智慧體可以從相同的起點安全地工作,並在之後比較或合併結果。
以下是自首次發布以來我們新增的一些新功能。
將 Artifacts 儲存庫部署到 Workers
您現在可以透過 Workers Builds 將 Artifacts 儲存庫連接到 Worker。當您或智慧體將程式碼推送到 Artifacts 儲存庫時,Cloudflare 將建構該專案,並針對生產分支 (production branch) 部署更新後的 Worker。推送到其他分支的操作會自動建立或更新 Workers Previews,為您提供一個隔離的、可共用的 Worker 版本,讓您可以在變更上線前進行測試。
您可以將現有的 Worker 連接到 Artifacts 儲存庫,或是直接啟動一個新專案並自動將其儲存在 Artifacts 中。

直接從 Workers 管理 Artifacts
您可以使用 Artifacts 繫結,從 Worker 中直接與 Artifacts 儲存庫互動,以建立或分叉儲存庫、檢查檔案和提交,以及發出儲存庫範圍的 Git 權杖。這讓您的 Git 工作流程變得可程式化。當新任務到達時,Worker 可以為智慧體分叉專案、讀取其所需的上下文檔案,並給予它一個工作儲存庫。當智慧體推送變更時,您的自動化系統可以檢查結果並啟動審查。您可以在程式碼中定義這些步驟,以適應您的智慧體運作方式。
例如,以下是如何為新的智慧體任務分叉專案並讀取其 AGENTS.md 以獲取指令:
using project = await env.ARTIFACTS.get("my-project");
const { defaultBranch } = await project.info();
const workspace = await project.fork(`task-${crypto.randomUUID()}`);
using repo = await env.ARTIFACTS.get(workspace.name);
const instructions = await repo.readFile({
ref: defaultBranch,
path: "AGENTS.md",
});
const agentTask = {
remote: workspace.remote,
token: workspace.token,
instructions: instructions ? await instructions.text() : null,
};透過事件訂閱對每個變更做出反應
每當儲存庫被建立、匯入、分叉、刪除、推送、克隆或擷取時,Artifacts 都會發布事件。您可以訂閱這些事件,以決定下一步該做什麼:執行 CI、啟動程式碼審查智慧體,或是部署變更。
例如,您可以訂閱 Artifacts 的推送事件,並讓 Worker 為每次推送啟動程式碼審查工作流程。該 Worker 將儲存庫、分支和新的提交傳遞給 Workflow,為審查智慧體提供檢查變更所需的上下文:
export default {
async queue(batch, env) {
for (const message of batch.messages) {
const event = message.body;
if (event.type !== "cf.artifacts.repo.pushed") continue;
await env.REVIEW_WORKFLOW.create({
params: {
namespace: event.source.namespace,
repo: event.source.repoName,
ref: event.payload.ref,
commit: event.payload.after,
},
});
}
},
};Artifacts 儲存庫的資料管轄權
您現在可以選擇 Artifacts 儲存和處理您儲存庫資料的位置。在建立命名空間時設定美國或歐盟管轄權,在該命名空間中建立的每個儲存庫都將自動遵循相同的限制。
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/artifacts/namespaces" \
-H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{"namespace":"my-eu-namespace","jurisdiction":"eu"}'檢視 Artifacts 指標
您現在可以在 Cloudflare 儀表板中查看 Artifacts 儲存庫的指標。對於每個儲存庫,您現在可以查看總操作數、拉取數、推送數、錯誤數和錯誤率,幫助您瞭解儲存庫的使用方式並發現故障。您也可以直接查詢 Artifacts 指標,以建立自己的儀表板或監控系統。

定價
Artifacts 的定價基於儲存庫操作次數和儲存的資料量。我們將於 2026 年 10 月 15 日開始對 Artifacts 的使用量進行收費。
競賽:在 Cloudflare 上建構下一個 Git 平台
我們希望您利用 Cloudflare Workers 和 Artifacts,建立您心目中屬於智慧體時代的 Git 平台。
您可以重新思考儲存庫、分支、拉取請求、工作樹 (worktrees)、程式碼審查和合併衝突——或者建立新的方法來保存智慧體上下文、同時比較多個變更,並決定哪一個應該上線發布。
我們想要的並不是在現有 GitHub 上疊加智慧體。至少,我們希望看到多個智慧體同時並行處理變更。除此之外,我們更期待您的創意——展現您對未來的構想。
如何參加
請提交以下內容:
- 一段 5 到 10 分鐘的影片,演示您的作品、它能讓智慧體和開發人員實現什麼功能,以及其工作原理
- 原始碼連結,必須採用寬鬆的開源授權(MIT、Apache、BSD)
- 執行或試用專案的操作說明
截止日期
提交作品的截止日期為 2026 年 10 月 14 日。
為什麼要參加?
我們將選出前三名的專案,並出資邀請每個團隊最多兩名成員前往舊金山參加 Cloudflare Connect,展示他們的作品。
冠軍團隊將獲得價值 25,000 美元的 Cloudflare 額度,並受邀參加 Connect 大會期間週一晚上的 VIP 演講嘉賓晚宴。
開始使用
Artifacts 現已開放給 Workers 付費方案的客戶進行公開測試。
與您的編碼智慧體一起開始使用:複製下面的提示,設定您的第一個 Artifacts 儲存庫並開始將程式碼推送到其中。


