AnyFrame – 為AI代理提供沙箱環境
AnyFrame是官方Python SDK,用於管理AI代理沙箱。它允許使用者將代理指向程式碼倉庫,並在沙箱中執行Claude Code。該SDK提供了代理管理、會話控制、技能配置、MCP聯結器、構建和預覽等功能,支援非同步操作,並內建了注意力軌道和錯誤處理機制。
AnyFrame 是 TinyHQ 推出的官方 Python SDK,旨在一站式管理 AI 代理的沙箱環境。透過該 SDK,開發者可以將一個 GitHub 倉庫指向代理,自動構建並啟動一個執行 Claude Code 的隔離沙箱。整個控制平面以 Python 介面呈現,同時相容同步與非同步程式設計模式。
快速上手
安裝只需一條命令 uv add anyframe,隨後在 Dashboard 中生成 afm_ 字首的 API 金鑰即可。SDK 支援透過環境變數 ANYFRAME_API_KEY 完成身份驗證,並可選設定 ANYFRAME_BASE_URL。對於已經透過 Web UI 啟動的會話,SDK 可以像第二個客戶端一樣附加到同一通道,傳送訊息並訂閱 SSE 事件流。
核心功能
代理管理
代理是沙箱內執行的基本單元,包含倉庫地址、系統提示、執行時(預設 Claude,也支援 Codex)及環境變數。建立後需要構建才能啟動會話。構建過程將依賴項打包為快取映象,構建日誌可透過 URL 或即時流獲取。
技能與 MCP
技能(Skills)是代理啟動時載入的指令包,用於執行部署、審查 PR 等任務。MCP 伺服器可透過代理級內聯配置,或透過使用者級聯結器(Connectors)統一管理。內建目錄收錄了 Linear、Sentry、Google 等常用服務,支援 OAuth 和 Bearer Token 兩種授權方式。聯結器可在代理間切換啟用。
會話與聊天
會話即即時沙箱,生命週期包括啟動、執行、快照和終止。支援“設定會話”用於手動初始化檔案系統,並將結果提升為代理的預熱映象。會話內提供完整的聊天介面,訊息和響應直接代理到沙箱的聊天伺服器,事件透過 SSE 即時推送,歷史記錄可隨時獲取。
預覽服務
沙箱內可啟動多個開發伺服器,並透過隧道暴露埠。預覽支援命名或埠定址,提供批次啟動、狀態查詢、日誌檢視和停止功能。此介面替代了舊的 serve_* 方法。
高階特性
注意力軌道(Attention Rail)以最新優先的順序列出操作者需要關注的事件,包括待處理許可權請求、空閒會話和已暫停會話。憑據管理支援設定 Claude OAuth、OpenAI Codex 令牌以及 GitHub PAT,所有令牌都僅顯示後四位。API 金鑰可透過 SDK 自身管理,建立時返回一次原始值,支援撤銷。
錯誤處理
所有異常都繼承自 anyframe.AnyFrameError,涵蓋 API 錯誤、認證錯誤、404、409 衝突、422 校驗、429 限速以及 5xx 服務端錯誤。限速錯誤明確提供重試等待時間。
AnyFrame 採用 MIT 許可,文件見 docs.anyfrm.com,Bugs 或問題可透過 Discord 反饋。