Skip to content

这些工作流在宿主上解析凭据,供本地沙箱使用。云的机密设置请参阅 Authenticate cloud agents。

沙箱代理会自动处理模型提供方的 API 凭据,但智能体通常还需要 gh、docker 或机密 管理器这类工具的凭据。在你的宿主上配置凭据来源,代理就会把解析出的值注入沙箱发出的 匹配请求中。动态机密来源可以从已认证的宿主 CLI 获取值,无需把该值复制进机密存储。

关于机密作用域以及变更如何作用于已有沙箱,请参阅 Store a secret。

GitHub CLI ​

把你的 GitHub token 存为沙箱机密。代理会把它注入出站请求,因此 gh 在沙箱内无需 任何额外配置即可使用:

console
$ sbx secret set github --command 'gh auth token'

daemon 在宿主上运行 gh auth token,默认缓存其输出 55 分钟。缓存过期后,它会再次 运行该命令,因此 gh 中 token 的更新无需手动复制到 sbx。使用 --refresh on-demand 可以让每次使用凭据时都运行该命令。

之后智能体就能像在宿主上一样创建 pull request、开启 issue、在 PR 上评论,以及与 GitHub API 交互:

console
# 在沙箱内
$ gh pr create --title "feat: my feature" --body "..."
$ gh issue list

该 token 绝不会以明文形式存储在沙箱内。详情请参阅 GitHub token。

Docker 镜像仓库 ​

使用 Docker Hub 时,认证会自动处理;sbx 会复用你已有的登录会话。对于其他镜像仓库, 你需要为 sbx 配置凭据,这样它在创建沙箱时才能拉取私有 模板 和 kit:

console
$ gh auth token | sbx secret set --all-sandboxes --registry ghcr.io \
    --username <github-username> --password-stdin
$ echo "$ACR_PASSWORD" | sbx secret set --all-sandboxes \
    --registry myregistry.azurecr.io \
    --username myuser --password-stdin

当智能体需要在沙箱内运行需认证的 docker pull 或 docker push 命令时,添加 -g 或一个沙箱名称。宿主侧的代理会处理镜像仓库登录,而不会把凭据写入沙箱。

在沙箱内构建的镜像和容器运行在沙箱私有的 Docker daemon 上,而不是你的宿主上。 它们会在沙箱被删除时一并删除。

关于镜像仓库凭据与其他机密的区别、各镜像仓库的用户名要求,以及全沙箱作用域与 单沙箱作用域的区别,请参阅 Registry credentials。

从 1Password 获取凭据来源 ​

安装 1Password CLI,在宿主上登录,然后把一个 op:// 引用传给 sbx secret set。 机密存储会记录该引用,当代理需要凭据时,daemon 会在宿主上使用 op read:

console
$ sbx secret set github --ref 'op://Work/GitHub/token'
$ sbx secret set anthropic --ref 'op://Work/Anthropic/credential'

真实值留在你的宿主上,沙箱看到的只是由代理管理的占位符。服务机密默认缓存 55 分钟。 要每次使用凭据时都从 1Password 取值,请设置刷新策略:

console
$ sbx secret set anthropic \
    --ref 'op://Work/Anthropic/credential' \
    --refresh on-demand

有关 provider 的安装和配置要求,请参阅 Use a dynamic secret source。

从 AWS Secrets Manager 获取凭据来源 ​

在宿主上安装并认证 AWS CLI,然后注册该机密的 ARN。当代理需要该值时,daemon 会调用 AWS Secrets Manager:

console
$ sbx secret set anthropic \
    --ref 'arn:aws:secretsmanager:us-west-2:123456789012:secret:anthropic-api-key'

关于 provider 的安装和配置要求、刷新策略、验证选项、自定义机密以及账号或配置文件的选择, 请参阅 Use a dynamic secret source。