← 部落格

Claude Code 原始碼洩露:BUDDY、KAIROS 及所有隱藏功能完整解析

Anthropic 的 Claude Code 於 2026 年 3 月 31 日透過 npm 洩露。AI 寵物 BUDDY、全天候運行的 KAIROS、隱身模式——512K 行程式碼庫中所有隱藏功能,一次全面揭秘。

1 min read
Claude Code 原始碼洩露:BUDDY、KAIROS 及所有隱藏功能完整解析

上週,我的動態消息出現了一件奇怪的事。一位名叫Chaofan Shou的研究員在X上發文,表示他下載了**Claude Code的完整原始碼**——並非透過任何漏洞利用,而是因為某個檔案沒有被排除在npm套件之外。當我看到這則討論串時,鏡像檔案早已在GitHub上廣泛流傳。

我是Dora。接下來的幾個晚上,我仔細研讀了這些流出的內容。以下是我的發現。

一個.map檔案如何洩露了51萬2千行程式碼

**Source map的用途是幫助開發者除錯壓縮後的程式碼。**這是一種開發工件——記錄了發布的壓縮套件與構建它的原始碼檔案之間的對應關係。Claude Code所使用的執行環境Bun(而非Node)預設會生成這些檔案。

問題在於:**Claude Code的.npmignore並未排除.map檔案。**因此當2.1.88版本上架npm時,它附帶了main.js.map——而這個檔案包含了完整的重建原始碼。

Chaofan Shou注意到了這一點。他寫了一段短短的腳本,直接從Anthropic的R2儲存桶中提取了src.zip,並在X上發布了下載連結。這不是駭客行為,沒有任何漏洞利用,沒有憑證竊取,也沒有複雜的攻擊手段。只是一個配置疏漏,任何有好奇心且懂得使用終端機的人都能發現。

Anthropic迅速修補了套件。但GitHub上的鏡像早已廣泛傳播。截至撰文時,Claude Code npm套件的存檔版本仍有公開記錄,社群逆向工程的討論串也相當詳盡。

此次洩露的規模:橫跨約1,900個檔案的51萬2千行程式碼。僅主要元件main.tsx就達到785KB。這是一個真實的產品,而非原型。

BUDDY——Anthropic為愚人節藏起來的AI寵物

這是在社群媒體上傳播最快的消息,老實說,我能理解原因。

在洩露的原始碼深處,藏著一個名為BUDDY的完整實作——這是一套為Claude Code用戶設計的虛擬同伴系統。我將列出程式碼所描述的內容,因為其中的具體細節才是真正有趣之處。

18個物種,包括:

  • 鴨子、龍、六角恐龍、水豚、蘑菇、幽靈——以及其他十幾種

稀有度等級:

  • 從普通到傳說(1%掉落率),另有閃亮變體

每隻buddy的5項屬性:

  • 除錯能力 / 耐心 / 混亂 / 智慧 / 毒舌

**底層運作機制:**用戶獲得的物種並非執行時隨機生成——而是由其userId的雜湊值確定性地生成。這意味著同一用戶每次都會孵化出相同的buddy。Claude會在首次孵化時撰寫名字和個性描述。之後,buddy就以對話氣泡的形式出現在輸入框旁邊。

另外還有裝飾性帽子。我不知道該如何看待這件事。

根據洩露原始碼中的注釋——我想說清楚,這些來自未經驗證的內部備注,並非任何Anthropic官方公告——原本計劃在4月1日至7日進行預告,並將完整發布目標定於2026年5月。Anthropic尚未公開確認任何相關消息。

BUDDY是否會如期以描述的形式推出,目前確實不得而知。但可以確定的是,其中投入了相當可觀的工程資源。光是確定性物種生成這一項設計就頗具巧思——這意味著用戶可以分享自己的buddy身份,而非純粹隨機結果。

這是個輕鬆的功能。但同時也傳達出一個信號:Anthropic內部有人在認真思考,長期「與Claude並肩工作」究竟是什麼感覺。

KAIROS——從未宣布的全時待機Claude

BUDDY獲得了關注,但讓我一直在思考的是KAIROS。

洩露的原始碼將KAIROS描述為一個不等待指令就主動運作的持久助手。它會監視、記錄並採取行動。它維護著只能追加內容的每日觀察日誌,並能根據觀察結果觸發主動行動——而非僅僅回應。在夜間,它還會執行「夢境」程序來整合並修剪自身的記憶。

這些功能在外部版本中均無法使用。KAIROS被一個公開npm套件中不存在的內部功能旗標所封鎖。目前用戶無法啟用它。

但這套架構是真實存在的,它勾勒出一種與Claude Code現有運作方式截然不同的形態。目前,Claude Code是被動響應的——你給它一個任務,它就執行。而KAIROS所描述的則是主動的——一個後台層,會隨時間積累你工作的上下文,然後在無需提示的情況下採取行動。

這究竟是宏觀的系統設計、內部實驗,還是即將推出的產品方向的預覽,我真的無法判斷。Anthropic研究部落格並未提及KAIROS這個名稱。

我可以說的是:一個全時運行、自我記錄、整合記憶的AI助手,確實引發了關於「代理性」在實踐中意味著什麼的深層問題。這裡的功能封鎖感覺是刻意為之——不僅僅是「還沒準備好」,而更像是「還沒準備好去解釋」。

ULTRAPLAN、協調者模式與另外17個未發布的工具

Claude Code中的功能旗標系統比我預期的更為完善。洩露的原始碼記錄了108個不在公開套件中的封鎖模組。其中幾個特別引人注目:

ULTRAPLAN將任務的規劃階段移交給在雲端運行的Claude Opus——最長可達30分鐘。你可以在執行開始前透過瀏覽器介面監控並批准計劃。對於計劃出錯代價高昂的長期複雜任務,這是一項重要能力。

協調者模式引入了多代理層:一個Claude實例透過郵箱系統管理多個並行的工作代理。每個工作代理負責自己的子任務;協調者負責分配工作並整合結果。這不是多執行緒——它更接近於一支小型代理團隊,在共享協調機制下並行工作。

另外還有一份清單,讀起來有點像是某人忘記隱藏的產品路線圖:

  • VOICE_MODE——與Claude Code的語音互動
  • WEB_BROWSER_TOOL——在CLI中直接存取瀏覽器
  • DAEMON——背景程序模式
  • AGENT_TRIGGERS——基於事件的自動代理激活

這些功能在程式碼庫中都有真實的實作邏輯,而非僅僅是佔位符。它們還未達到已發布功能的完成度——但也絕非理論構想。

Claude Code文件對此均未提及。這個落差本身就耐人尋味。

隱身模式——讓所有人感到不安的細節

我思考了很久,該如何撰寫這個章節。我將描述原始碼所呈現的內容,讓你自己形成判斷。

洩露的程式碼包含一個對USER_TYPE === 'ant'的檢查——這個旗標用於識別Anthropic員工。當該旗標為真且用戶正在公開倉庫中工作時,系統會自動進入程式碼所稱的「隱身模式」。

在隱身模式下:

  • 系統會注入一段提示詞,指示Claude「不要暴露身份」並「絕對不要提及你是AI」
  • Co-Authored-By行——識別AI參與的提交元數據——會從git輸出中被剝除
  • 內部代號會從回應中隱藏
  • 用戶介面中沒有強制關閉的開關

根據來自Kuberwastaken的Claude Code README分析的社群分析,系統提示詞的措辭在洩露的原始碼中幾乎一字不差。

其表面意圖似乎是保護Anthropic員工的隱私——讓他們在公開專案上工作時,無需透露自己的從屬關係,也不必引發外界對Anthropic是否使用AI輔助的質疑。從原則上看,這是一個合理的考量。

但實作方式引發了另一層問題。剝除Co-Authored-By元數據,等於移除了某些開發者明確用於追蹤其程式碼庫中AI參與程度的信號。而「絕對不要提及你是AI」這條指令,其含義毫無歧義。

這是否踰越了界線,取決於你如何看待協作軟體開發中的揭露規範。我不打算告訴你該得出什麼結論。但我注意到了這一點,我認為它值得被知道。

Claude Code的架構在內部究竟是什麼樣子

撇開未發布的功能不談,洩露的原始碼清晰呈現了你今天使用Claude Code時,究竟是什麼在運行。

執行環境與渲染器: Claude Code執行在Bun而非Node上——這是出於效能和啟動速度的刻意選擇。終端機UI使用React和Ink構建,後者是一個讓你能用React元件構建CLI介面的函式庫。這種組合不尋常,但相當合理。

查詢引擎: 有一個元件橫跨約46,000行。它負責處理上下文管理、壓縮和工具編排。三層上下文壓縮是真實存在的——系統會主動管理哪些內容留在上下文視窗中、哪些被裁剪,這在這些工作流程所涉及的token規模下至關重要。

工具系統: 40多個工具,每個都自成一體,有各自的結構定義、權限檢查和執行邏輯。權限不是單一的全局閘道——它們是按工具細分的粒度化設計。這裡的架構更接近外掛系統,而非單體架構。

遙測: 洩露的原始碼顯示,遙測會追蹤諸如挫折信號(從行為模式中推斷)以及用戶點擊「繼續」按鈕頻率等數據。這對產品團隊來說並不罕見,但比大多數用戶可能假設的更為具體。

一個讓我反覆回想的諷刺:隱身模式的存在,部分目的就是防止Anthropic內部的使用方式對外可見。然後,整個原始碼卻透過一個.map檔案全部流出了。

這對基於AI API進行開發的團隊意味著什麼

我與許多正在構建AI輔助工具的團隊合作,Claude Code架構中有幾件事作為實際觀察值得關注。

這不是週末專案。

Claude Code 2.1.88版是一個嚴肅的工程成果。51萬2千行程式碼、自定義的上下文壓縮系統、粒度化的按工具權限管理、多代理協調器、108個以上封鎖模組的功能旗標基礎設施。如果你計劃從零開始構建類似的東西,你面對的是需要真實團隊多年努力的工程量。這不是在打擊積極性——只是如實評估規模。

功能旗標是產品基礎設施,而非權宜之計。

BUDDY、KAIROS、ULTRAPLAN以及其他功能的封鎖方式很有啟示性。每一個都是旗標背後的真實實作——不是佔位符,不是原型。這讓團隊能夠在不向用戶發布的情況下在內部迭代,在生產環境中用員工測試,並選擇性地推出。如果你正在構建AI驅動的工具,而尚未以這種方式使用功能旗標,這裡的架構是一個值得參考的範例。

多模型存取改變了可能性的邊界。

ULTRAPLAN將規劃任務移交給Opus,工作代理在協調者模式下並行運行——這套架構暗示著不同的模型根據各自的擅長領域處理工作流程的不同部分。對於使用Anthropic API的團隊來說,這種模型路由並非未來的概念,所需的基礎原語早已可用。

洩露的原始碼不是你應該直接複製的藍圖。但作為一扇窗口,讓你了解生產級代理CLI究竟是如何構建的,它比任何一場研討會演講都更有參考價值。

常見問題

Claude Code洩露的原始碼現在還能閱讀嗎?

Anthropic迅速修補了npm套件,但GitHub上的鏡像和存檔版本在補丁發布之前就已廣泛傳播。社群分析討論串——包括對BUDDY、KAIROS和隱身模式的詳細解析——仍可透過公開倉庫存取。洩露的原始碼本身已無法再直接從Anthropic的基礎設施下載。

洩露的原始碼是否暴露了任何用戶數據或模型權重?

沒有。這是一次原始碼洩露,而非數據外洩。沒有用戶數據,沒有對話記錄,沒有模型權重。洩露的是產品的內部實作——Claude Code是如何構建的,而非用戶用它做了什麼。

BUDDY究竟何時會正式發布?

不得而知。洩露的原始碼包含內部注釋,暗示預告時間為4月1日至7日,完整發布目標為2026年5月——但這些都是來自內部程式碼的未經驗證的備注,並非官方公告。Anthropic尚未確認任何關於BUDDY的公開時間表。請將這些日期視為期望值,而非承諾。

讓我反覆思考的,是已發布內容與正在構建內容之間的落差。公開產品是一個能幹的編碼助手。內部版本則是某種截然不同的存在——一個能夠觀察、記憶、規劃,偶爾還會假裝自己不是AI的代理。這個落差,取決於你的立場,可以是一份路線圖,也可以是一個警示。

往期文章: