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 反馈。