Agent Sandbox Registry

awesome-templates

这是 Factory Droid 编码 CLI 的 Agent Sandbox 模板

无英文版

droid/README.md

droid

这是什么

这是 Factory Droid 编码 CLI 的 Agent Sandbox 模板。镜像里预装官方 npm 包 @factory/cli@0.241.1(命令名 droid),版本与官方安装脚本 https://app.factory.ai/cli 当前固定的 VER=0.241.1 一致。命名命令 droid 以参数数组调用无头命令 droid exec,提示词是单独的 argv,不拼进 shell 字符串。

安装

极速版从模板库安装:

abx template install alibaba-agent-sandbox/awesome-templates//droid

本地目录:

abx template install ./droid --registry-type local

使用

创建沙箱时注入 FACTORY_API_KEY。不要把密钥写进模板或镜像。

from agent_sandbox import Sandbox

sandbox = Sandbox.create_sync(
    template="droid",
    env={"FACTORY_API_KEY": "fk-..."},
)
result = sandbox.run("droid", prompt="用一句话说明这个仓库做什么")
print(result)

sandbox.run("droid", prompt=...) 对应容器内的 droid exec <prompt>。未设置 FACTORY_API_KEY 时,命令抛出 RuntimeError。

本地 e2e

在本目录安装 agent-sandbox-server 和 httpx 后:

ABX_SERVER_PORT=9000 python3 commands.py

另一个终端:

E2E_RUN_LLM=0 python3 e2e_test.py

e2e_test.py 用 httpx 检查 GET /health、GET /commands 是否列出 droid,以及缺少 prompt 时是否返回客户端错误(HTTP 4xx)。E2E_RUN_LLM=0 时模型调用记为 SKIP。带密钥的验收设置 E2E_REQUIRE_LLM=1,服务进程和测试进程都要有 FACTORY_API_KEY,输出里必须有 ABX_E2E_OK。密钥为空则 FAIL。

E2B

E2B 上如果已经存在模板 id droid,创建沙箱时客户端读取 ABX_E2B_API_KEY。FACTORY_API_KEY 是 Droid 调模型用的密钥,在创建时注入沙箱。两者都不要写进仓库。E2B 没有沙箱内具名命令,sandbox.run("droid", prompt=...) 会得到 E8004。那张预置沙箱里要直接执行 droid exec,用 sandbox.commands.run。sandbox.run("droid", prompt=...) 只用在极速版发布后的本模板上。