Agent Sandbox Registry
公开目录。它拉取 awesome-templates 和 awesome-providers 的文件,生成可阅读的页面,再部署到香港的函数计算。
网页上可以看模板说明、provider 能力、Markdown 和源码。它不保存云账号密钥,也不会替访问者创建沙箱。
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 的
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 触发器。部署只更新代码和启动命令,不新建触发器。
本地预览
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
python -m pip install markdown pyyaml
python build.py
python server.py
打开打印出来的地址。页面在 dist/www,函数入口是 dist/server.py。