用途:Shadow Testing 会创建隔离的 Docker/Podman 容器环境,让你在推送前测试本地未提交的改动。目标是精确测试本机工作树状态(含未提交改动),并在贴近 CI 的干净环境中验证。适合破坏性改动验证、多仓库协调、库开发、CI 一致性检查、依赖版本与安装流程验证;不适合已提交代码的单元测试、需实时调试代码、生产部署测试或测试覆盖良好的简单单文件改动。
主要能力:容器内含 Git Bundle 快照(保留完整历史和未提交改动)、内嵌 Gitea 服务(localhost:3000)、选择性 Git URL 重写(insteadOf 规则)、包管理器缓存隔离(UV、pip、npm、cargo、go)以及常见 API Key 自动透传。创建时可指定多个本地源,容器内对应仓库使用本地快照,其余 GitHub 地址仍访问真实源。
使用方式:Amplifier 用户可直接使用内建 shadow 工具:shadow.create、shadow.exec、shadow.extract、shadow.destroy。其他代理可用 CLI:uvx amplifier-shadow create --local ~/repos/my-library:myorg/my-library --name test-lib;再执行 amplifier-shadow exec test-lib "uv pip install git+https://github.com/myorg/my-library"、amplifier-shadow exec test-lib "cd /workspace && pytest",查看差异用 amplifier-shadow diff test-lib,清理用 amplifier-shadow destroy test-lib。也可通过 pip install amplifier-bundle-shadow 安装。前置要求:已安装并运行 Docker 或 Podman,以及 Git。
验证与限制:本地源会预克隆到 /workspace/{org}/{repo},可优先用可编辑安装;应核对快照 commit 与安装输出是否一致,并确认 API Key 已透传。UV 可能因缓存绕过重写,建议从 /workspace 安装或清理缓存;遇 PEP 668 需在容器内创建虚拟环境;镜像缺失可执行 amplifier-shadow build。资料未提供具体图像构建细节以外的收费、价格或性能数据。