![]()
智東西
作者 王涵
編輯 心緣
Claude Code“開源”了?
智東西3月31日報道,剛剛,Anthropic的Claude Code的npm包在打包發(fā)布時誤將source map文件(.map)捆綁進了npm包,導(dǎo)致約1900個TypeScript文件以及超過51.2萬行代碼遭泄露。
這件事的發(fā)現(xiàn)者是區(qū)塊鏈基礎(chǔ)設(shè)施公司Solayer的實習(xí)生Chaofan Shou,他第一個在X上發(fā)帖并直接給出了R2存儲桶的src.zip下載鏈接。
![]()
用簡單的話解釋就是,Source map本來是給開發(fā)者調(diào)試用的“還原地圖”,它能把壓縮后的JS代碼對應(yīng)回原始TypeScript源碼。
結(jié)果Anthropic打包npm包時,不小心把.map文件也塞了進去,而且地圖里直接寫著他們Cloudflare R2存儲桶的公開地址。
于是任何人只要下載這個npm包,打開.map文件,就能順著地址下載到完整的、未混淆的TypeScript源碼文件,而這些TypeScript文件就是Claude Code軟件的完整源代碼。
目前,Anthropic已經(jīng)迅速更新了npm包,移除了source map,但社區(qū)已經(jīng)有人把源碼鏡像到了GitHub中,并且獲得了超2萬顆星:
![]()
https://github.com/instructkr/claude-code
還有網(wǎng)友已經(jīng)梳理出了Claude Code的運作邏輯,并發(fā)布了完整的“說明書”:
https://www.mintlify.com/VineeTagarwaL-code/claude-code/guides/authentication
那這約1900個TypeScript源碼文件,到底是什么呢?
簡單來說,這些文件就是Claude Code客戶端工具的實現(xiàn)細節(jié),包括它怎么架構(gòu)、用哪些工具、支持哪些命令、怎么和IDE交互、怎么管理記憶,以及一些還沒上線的功能,但不包含Claude大模型本身的權(quán)重、訓(xùn)練數(shù)據(jù)、服務(wù)器端代碼或用戶敏感信息。
具體內(nèi)容主要包括以下部分:
1、核心架構(gòu)和引擎
QueryEngine(查詢引擎):這是整個工具的大腦,負責(zé)接收用戶指令、拆解任務(wù)、調(diào)用Claude模型、處理流式輸出、做緩存、協(xié)調(diào)多步操作等。
多Agent協(xié)作系統(tǒng)(swarms):讓多個AI Agent一起分工合作完成復(fù)雜任務(wù)。
Memory記憶系統(tǒng):將之前的對話、文件內(nèi)容、上下文持久化保存下來,方便長期使用。
IDE Bridge:工具如何和VS Code、JetBrains等編輯器雙向通信(包括使用 JWT 認證機制)。
2、內(nèi)置工具:
這些工具讓Claude Code能真正“動手”幫你操作電腦、寫代碼、搜索信息,而不是只聊天。
![]()
3、命令系統(tǒng):
![]()
4、技術(shù)棧
![]()
5、關(guān)鍵文件
QueryEngine.ts(約46K行):LLM API 調(diào)用的核心引擎,包括處理流式響應(yīng)、工具調(diào)用循環(huán)、思考模式、重試邏輯和token計數(shù)等。
Tool.ts(約29K行):定義所有工具的基本類型和接口,即輸入模式、權(quán)限模型和進度狀態(tài)類型。
commands.ts(約25K行):管理所有斜杠命令的注冊和執(zhí)行,使用條件導(dǎo)入為每個環(huán)境加載不同的命令集。
main.tsx:基于Commander.js的CLI解析器和React/Ink渲染器初始化。啟動時,它會優(yōu)先處理MDM設(shè)置、鑰匙串預(yù)取和GrowthBook初始化,以加快啟動速度。
6、值得關(guān)注的設(shè)計模式
并行預(yù)取:通過在開始繁重的模塊評估之前并行預(yù)取MDM設(shè)置、鑰匙串讀取和API預(yù)連接來優(yōu)化啟動時間。
懶加載:大型模塊(OpenTelemetry、gRPC、分析和一些功能門控子系統(tǒng))通過動態(tài)方式延遲執(zhí)行,import()直到實際需要時才執(zhí)行。
智能體群:子Agent通過生成AgentTool,并coordinator/處理多代理編排。TeamCreateTool支持團隊級并行工作。
技能系統(tǒng):可重用工作流程中定義的組件skills/通過該組件執(zhí)行SkillTool,用戶可以添加自定義技能。
插件架構(gòu):內(nèi)置插件和第三方插件均通過plugins/子系統(tǒng)加載。
7、主要未發(fā)布特性標志及功能:
KAIROS:自主守護模式。支持后臺持續(xù)運行、后臺會話、自我記憶整合,讓Claude Code成為一個24×7在線的助手,能在無人值守時自主工作和總結(jié)。
PROACTIVE:主動模式。Claude Code能主動監(jiān)控項目、提出建議、提前處理任務(wù),增強AI的自主性和前瞻性。
VOICE_MODE:語音交互模式。支持通過語音輸入指令,目前部分命令可能已有限支持,但完整集成仍未發(fā)布。
DAEMON:后臺運行/守護模式。將工具轉(zhuǎn)為常駐后臺進程,支持長期任務(wù)執(zhí)行,而無需一直保持終端窗口打開。
BRIDGE_MODE:與IDE的深度橋接模式增強版本,可能包括更先進的雙向通信或認證邏輯。
BUDDY系統(tǒng):一個趣味虛擬寵物系統(tǒng),包含約18種不同物種,有鴨子、鵝、貓、龍、章魚、貓頭鷹、企鵝、烏龜、蝸牛、幽靈、軸足動物、卡皮巴拉、仙人掌、機器人、兔子、蘑菇等。有稀有度、閃光變體、實時狀態(tài)等玩法,是個隱藏的彩蛋式功能。
但要注意,這并不是Anthropic主動開源,Anthropic依然對源代碼擁有版權(quán)。開發(fā)者們可以看代碼、學(xué)架構(gòu),但不可以拿去修改后重新發(fā)布成自己的工具或做成產(chǎn)品。否則,Anthropic有權(quán)通過DMCA(版權(quán)刪除通知)讓GitHub刪除相關(guān)項目,或者追究法律責(zé)任。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.