Show HN:Code Airlock——在一次性微虛擬機器中執行Claude Code和Codex
Code Airlock是一個圍繞Docker Sandboxes的輕量級封裝,允許Claude Code、Codex、OpenCode等編碼代理在一次性微虛擬機器中安全執行,同時保持主機倉庫只讀,並支援透過常規git提交審查代理的工作成果。
Code Airlock是一個圍繞Docker Sandboxes構建的輕量級工具,旨在讓開發者更安全、更高效地使用AI編碼代理(如Claude Code、Codex、OpenCode等)。其核心思想是將代理執行在一次性微虛擬機器中,從而在賦予代理更大自主權的同時,確保主機系統的安全。
傳統上,為了防止代理誤操作,開發者往往需要嚴格限制每個命令的執行許可權,但這也會降低代理的效率。Code Airlock將安全邊界下移到執行環境層面:代理在微虛擬機器內可以自由安裝包、執行測試、檢視日誌等,而主機倉庫則保持只讀狀態。代理的所有更改都會以常規git提交的形式返回,供開發者審查後合併。
與直接使用Docker Sandboxes相比,Code Airlock提供了針對編碼代理工作流的最佳化。它預設啟用了克隆模式,為每個倉庫提供穩定的沙箱命名,並支援一鍵啟動代理。此外,它還提供了獲取(fetch)、差異比較(diff)、審查(review)和合並(merge)等命令,方便開發者管理代理的工作成果。
安裝Code Airlock需要先安裝Docker Sandboxes。可以透過npm或Homebrew進行安裝,也可以使用獨立的shell安裝指令碼。安裝後,透過簡單的命令即可啟動沙箱並執行代理:
code-airlock run "為使用者端點新增分頁功能並執行測試" code-airlock diff code-airlock merge
對於遠端伺服器執行,Code Airlock支援tmux會話,允許代理在SSH斷開後繼續工作。此外,它還支援透過配置檔案限制網路訪問,只允許代理訪問模型API和包登錄檔。
Code Airlock還提供了配置播種功能,允許將使用者級的自定義設定(如自定義命令、技能、子代理等)複製到沙箱中,這些設定預設不會透過克隆模式傳遞。透過--seed-config選項,可以在代理啟動前複製這些配置,使得代理能夠使用個人化的工具和指令。
總的來說,Code Airlock為AI編碼代理提供了一個安全、可重複的工作流程,既發揮了代理的自主能力,又保障了程式碼倉庫的安全。它的設計理念是將安全邊界置於代理之下,而不是僅僅依賴代理內部的策略規則。這使得開發者可以在不犧牲安全性的前提下,充分利用代理的自動化能力。