Agent Sandbox Registry
View on GitHub ↗Agent Sandbox Registry
Agent Sandbox 的开源目录:模板、提供方(provider)和各仓库文档,站点为 registry.agent-sandbox.cn。English: the open catalog of templates, providers and docs for Agent Sandbox. It is a static Astro site that shares one design system with the website.
构建时读取这几个仓库,生成页面和机器可读的目录,再部署到香港的函数计算:
| 来源仓库 | 用在哪里 |
|---|---|
awesome-templates |
模板列表、详情、README、文件 |
awesome-providers |
提供方详情、能力、配置项,以及可下载的安装包 |
agent-sandbox、python-sdk、nodejs-sdk |
文档聚合页 |
它不保存云账号密钥,也不会替访问者创建沙箱。
站点内容
/templates/、/templates/<name>/:筛选、能力过滤、README、各提供方上的使用方式/providers/、/providers/<id>/:18 项能力矩阵、配置项(环境变量)、网络范围、安装命令、安装包 sha256/docs/、/source/<repo>/<path>/:各仓库的文档和源码页/search/、顶部搜索框、/快捷键/publish/、/help/:发布指南和常见问题- 同样的页面在
/en/下有英文版 - 与官网互通:顶部的「官网 | Registry」切换和页脚链接
机器可读接口
| 地址 | 内容 |
|---|---|
/providers/index.json |
SDK 安装和更新检查读这个。每项有 id、version、相对 url、sha256 |
/providers/<id>/<id>-<version>.tar.gz |
可复现的安装包,单一顶层目录,修改时间归零 |
/catalog.json |
模板和提供方的完整元数据 |
/search.json、/en/search.json |
站内搜索索引 |
安装 abx 0.3.0:curl -fsSL https://raw.githubusercontent.com/Alibaba-Agent-Sandbox/agent-sandbox/main/install.sh | sh(Windows:irm https://raw.githubusercontent.com/Alibaba-Agent-Sandbox/agent-sandbox/main/install.ps1 | iex)。然后安装目录里的提供方:abx provider install alibaba-agent-sandbox/awesome-providers//<id> --allow-unpinned --yes。abx 没有 registry:。Python 安装器读上面的索引:python -m agent_sandbox.providers install registry:<id> --yes。客户端 agent-sandbox-client(导入 agent_sandbox)和镜像内运行时 agent-sandbox-server(导入 agent_sandbox.server)都是 0.3.0,还没发到 PyPI。pip install agent-sandbox-client 即将提供。在那之前:pip install "agent-sandbox-server @ git+https://github.com/Alibaba-Agent-Sandbox/python-sdk@35da216a300f1e2e84254a1cf4b4a7ea98681505#subdirectory=server-sdk" "agent-sandbox-client @ git+https://github.com/Alibaba-Agent-Sandbox/python-sdk@35da216a300f1e2e84254a1cf4b4a7ea98681505#subdirectory=client-sdk"。不要执行 pip install agent-sandbox,PyPI 上那个名字是另一个项目。
English: install abx 0.3.0 with curl -fsSL https://raw.githubusercontent.com/Alibaba-Agent-Sandbox/agent-sandbox/main/install.sh | sh (Windows: irm https://raw.githubusercontent.com/Alibaba-Agent-Sandbox/agent-sandbox/main/install.ps1 | iex). Then install a catalog provider with abx provider install alibaba-agent-sandbox/awesome-providers//<id> --allow-unpinned --yes. abx has no registry: form. The Python installer reads the index above: python -m agent_sandbox.providers install registry:<id> --yes. agent-sandbox-client (import agent_sandbox) and agent-sandbox-server (import agent_sandbox.server) are both 0.3.0 and are not on PyPI yet. pip install agent-sandbox-client is coming. Until then: pip install "agent-sandbox-server @ git+https://github.com/Alibaba-Agent-Sandbox/python-sdk@35da216a300f1e2e84254a1cf4b4a7ea98681505#subdirectory=server-sdk" "agent-sandbox-client @ git+https://github.com/Alibaba-Agent-Sandbox/python-sdk@35da216a300f1e2e84254a1cf4b4a7ea98681505#subdirectory=client-sdk". Do not pip install agent-sandbox; that PyPI name is a different project.
目录结构
data/ 站点自己维护的数据:内置提供方、展示文案、帮助和发布指南(zh / en)
scripts/build_data.py 读取来源仓库,写 src/data/generated、public/providers、public/catalog.json
scripts/package.mjs 把 build/ 打成函数计算包 dist/
src/ Astro 页面(src/pages 是路由,src/views 是中英共用的视图)
ui/ 与官网共用的设计系统,源头在 website 仓库,用 scripts/sync-ui.mjs 同步
本地预览
需要 Node 22.12 或更高,以及 Python 3.10 或更高。
git clone --depth 1 https://github.com/Alibaba-Agent-Sandbox/awesome-templates.git sources/awesome-templates
git clone --depth 1 https://github.com/Alibaba-Agent-Sandbox/awesome-providers.git sources/awesome-providers
git clone --depth 1 https://github.com/Alibaba-Agent-Sandbox/agent-sandbox.git sources/agent-sandbox
git clone --depth 1 https://github.com/Alibaba-Agent-Sandbox/python-sdk.git sources/python-sdk
git clone --depth 1 https://github.com/Alibaba-Agent-Sandbox/nodejs-sdk.git sources/nodejs-sdk
python -m pip install markdown pyyaml
npm ci
npm run build # build_data.py + astro build,输出 build/
npm run preview # http://127.0.0.1:43211
来源仓库放在别处时,用 REGISTRY_SOURCES=/path/to/dir npm run build。npm run dev 只做页面开发,需要先 npm run data 生成数据。官网地址可用 PUBLIC_WWW_URL、Registry 自己的地址可用 PUBLIC_REGISTRY_URL 覆盖,本地联调两个站时用得到。
Actions secrets
在这个仓库的 Settings → Secrets and variables → Actions → New secret 里加两个:
| Name | 填什么 |
|---|---|
ALIBABA_CLOUD_ACCESS_KEY_ID |
阿里云 AccessKey ID |
ALIBABA_CLOUD_ACCESS_KEY_SECRET |
阿里云 AccessKey Secret |
这两个名字和阿里云 CLI、Serverless Devs 的环境变量一致。账号 ID 不用单独存。部署时用这对密钥调用 STS GetCallerIdentity 得到。
这对密钥需要函数计算的部署权限(创建和更新 cn-hongkong 里的函数 agent-sandbox-registry,以及匿名 HTTP 触发器)。用 RAM 子账号,不要用主账号的长期密钥。
CI/CD
工作流是 .github/workflows/sync.yml。它使用本仓库的 ALIBABA_CLOUD_ACCESS_KEY_ID 和 ALIBABA_CLOUD_ACCESS_KEY_SECRET,把站点部署到香港函数 agent-sandbox-registry。
会自动跑的情况:
- 本仓库
main有 push - 每小时第 17 分钟。它拉取 awesome-templates、awesome-providers、agent-sandbox、python-sdk、nodejs-sdk 的
main(后三个提供文档页)。五个仓库的提交都没变就不重复部署 - 上游仓库发来
catalog-updated - Actions 里手动运行 Sync catalogs and deploy
上游如果配置了 REGISTRY_DISPATCH_TOKEN,模板或 provider 一推送到 main 就会马上通知本仓库。没配这个 token 时,最迟一小时内的定时任务会拉到更新。
域名
部署成功后,函数计算控制台会给出 *.cn-hongkong.fcapp.run 地址。自定义域名 registry.agent-sandbox.cn 绑在香港地域的函数 agent-sandbox-registry 上。这个仓库不创建 DNS 记录。函数现有运行时是 custom.debian10,已有一个 HTTP 触发器。部署只更新代码和启动命令,不新建触发器。
打包
npm run package 生成 dist/:www/(站点)、busybox、httpd.conf、bootstrap、server.py,与 s.yaml 对应。busybox 在打包时从 busybox.net 下载并缓存在 .cache/,也可以用 BUSYBOX_PATH 指向本地文件。
注意:这个版本的 busybox 不支持自定义 404 页,未知地址返回它自带的简易 404。