镜像构建历史
# 2026-10-20 01:10:51 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["tini" "--" "/opt/agent-canvas/entrypoint.sh"]
# 2026-10-20 01:10:51 0.00B 声明容器运行时监听的端口
EXPOSE map[8000/tcp:{}]
# 2026-10-20 01:10:51 0.00B 创建挂载点用于持久化数据或共享数据
VOLUME [/home/openhands/.openhands /projects]
# 2026-10-20 01:10:51 0.00B 指定运行容器时使用的用户
USER openhands
# 2026-10-20 01:10:51 0.00B 执行命令并创建新的镜像层
RUN |9 AUTOMATION_VERSION=1.22.0 AGENT_SERVER_VERSION=1.56.0 AGENT_SERVER_SDK_GIT_REF= OPENHANDS_BUILD_GIT_SHA=eeb11425ed87c5e83c5069797b706727834f9e46 OPENHANDS_BUILD_GIT_REF=refs/tags/v1.28.1 VITE_BASE_PATH=/canvas VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK AGENT_CANVAS_VERSION=1.28.1 DEBIAN_SNAPSHOT=20260930T000000Z /bin/sh -c mkdir -p /home/openhands/.openhands/agent-canvas/conversations /home/openhands/.openhands/agent-canvas/bash_events /home/openhands/.openhands/automation /projects && chown -R openhands:openhands /home/openhands/.openhands /projects # buildkit
# 2026-10-20 01:10:51 26.51KB 执行命令并创建新的镜像层
RUN |9 AUTOMATION_VERSION=1.22.0 AGENT_SERVER_VERSION=1.56.0 AGENT_SERVER_SDK_GIT_REF= OPENHANDS_BUILD_GIT_SHA=eeb11425ed87c5e83c5069797b706727834f9e46 OPENHANDS_BUILD_GIT_REF=refs/tags/v1.28.1 VITE_BASE_PATH=/canvas VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK AGENT_CANVAS_VERSION=1.28.1 DEBIAN_SNAPSHOT=20260930T000000Z /bin/sh -c chmod +x /opt/agent-canvas/entrypoint.sh # buildkit
# 2026-10-20 01:10:51 26.51KB 复制新文件或目录到容器中
COPY docker/entrypoint.sh /opt/agent-canvas/entrypoint.sh # buildkit
# 2026-10-20 01:10:51 460.00B 复制新文件或目录到容器中
COPY /tmp/defaults.env /opt/agent-canvas/defaults.env # buildkit
# 2026-10-20 01:10:51 6.49KB 复制新文件或目录到容器中
COPY tools/ /opt/agent-canvas/tools/ # buildkit
# 2026-10-20 01:10:51 8.56KB 复制新文件或目录到容器中
COPY scripts/runtime-services-info.mjs /opt/agent-canvas/runtime-services-info.mjs # buildkit
# 2026-10-20 01:10:51 7.46KB 复制新文件或目录到容器中
COPY /build/node_modules/totalist /opt/agent-canvas/node_modules/totalist # buildkit
# 2026-10-20 01:10:51 33.01KB 复制新文件或目录到容器中
COPY /build/node_modules/mrmime /opt/agent-canvas/node_modules/mrmime # buildkit
# 2026-10-20 01:10:51 4.82KB 复制新文件或目录到容器中
COPY /build/node_modules/@polka /opt/agent-canvas/node_modules/@polka # buildkit
# 2026-10-20 01:10:51 21.88KB 复制新文件或目录到容器中
COPY /build/node_modules/sirv /opt/agent-canvas/node_modules/sirv # buildkit
# 2026-10-20 01:10:51 60.93KB 复制新文件或目录到容器中
COPY /build/node_modules/httpxy /opt/agent-canvas/node_modules/httpxy # buildkit
# 2026-10-20 01:10:51 151.09KB 复制新文件或目录到容器中
COPY /build/node_modules/ws /opt/agent-canvas/node_modules/ws # buildkit
# 2026-10-20 01:10:51 8.97KB 复制新文件或目录到容器中
COPY scripts/tunnel-registry.mjs /opt/agent-canvas/tunnel-registry.mjs # buildkit
# 2026-10-20 01:10:51 10.17KB 复制新文件或目录到容器中
COPY scripts/tunnel-client.mjs /opt/agent-canvas/tunnel-client.mjs # buildkit
# 2026-10-20 01:10:51 3.18KB 复制新文件或目录到容器中
COPY scripts/mars-session.mjs /opt/agent-canvas/mars-session.mjs # buildkit
# 2026-10-20 01:10:51 8.67KB 复制新文件或目录到容器中
COPY scripts/mars-oauth.mjs /opt/agent-canvas/mars-oauth.mjs # buildkit
# 2026-10-20 01:10:51 7.08KB 复制新文件或目录到容器中
COPY scripts/mars-credentials.mjs /opt/agent-canvas/mars-credentials.mjs # buildkit
# 2026-10-20 01:10:51 11.89KB 复制新文件或目录到容器中
COPY scripts/mars-api.mjs /opt/agent-canvas/mars-api.mjs # buildkit
# 2026-10-20 01:10:51 14.25KB 复制新文件或目录到容器中
COPY scripts/mars-tunnel-bridge.mjs /opt/agent-canvas/mars-tunnel-bridge.mjs # buildkit
# 2026-10-20 01:10:51 20.70KB 复制新文件或目录到容器中
COPY scripts/mars-web-bridge.mjs /opt/agent-canvas/mars-web-bridge.mjs # buildkit
# 2026-10-20 01:10:51 1.02KB 复制新文件或目录到容器中
COPY scripts/http-body.mjs /opt/agent-canvas/http-body.mjs # buildkit
# 2026-10-20 01:10:51 12.44KB 复制新文件或目录到容器中
COPY scripts/proxy-utils.mjs /opt/agent-canvas/proxy-utils.mjs # buildkit
# 2026-10-20 01:10:51 2.45KB 复制新文件或目录到容器中
COPY scripts/bind-host.mjs /opt/agent-canvas/bind-host.mjs # buildkit
# 2026-10-20 01:10:51 29.71KB 复制新文件或目录到容器中
COPY scripts/static-server.mjs /opt/agent-canvas/static-server.mjs # buildkit
# 2026-10-20 01:10:50 10.55MB 复制新文件或目录到容器中
COPY /build/build /opt/agent-canvas/frontend # buildkit
# 2026-10-20 01:10:38 0.00B 执行命令并创建新的镜像层
RUN |9 AUTOMATION_VERSION=1.22.0 AGENT_SERVER_VERSION=1.56.0 AGENT_SERVER_SDK_GIT_REF= OPENHANDS_BUILD_GIT_SHA=eeb11425ed87c5e83c5069797b706727834f9e46 OPENHANDS_BUILD_GIT_REF=refs/tags/v1.28.1 VITE_BASE_PATH=/canvas VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK AGENT_CANVAS_VERSION=1.28.1 DEBIAN_SNAPSHOT=20260930T000000Z /bin/sh -c if [ -n "${AGENT_SERVER_SDK_GIT_REF}" ]; then BASE_GIT_URL="git+https://github.com/OpenHands/software-agent-sdk@${AGENT_SERVER_SDK_GIT_REF}" && uv pip install --system --force-reinstall "${BASE_GIT_URL}#subdirectory=openhands-sdk" "${BASE_GIT_URL}#subdirectory=openhands-tools" "${BASE_GIT_URL}#subdirectory=openhands-workspace"; fi # buildkit
# 2026-10-20 01:10:36 600.33MB 执行命令并创建新的镜像层
RUN |9 AUTOMATION_VERSION=1.22.0 AGENT_SERVER_VERSION=1.56.0 AGENT_SERVER_SDK_GIT_REF= OPENHANDS_BUILD_GIT_SHA=eeb11425ed87c5e83c5069797b706727834f9e46 OPENHANDS_BUILD_GIT_REF=refs/tags/v1.28.1 VITE_BASE_PATH=/canvas VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK AGENT_CANVAS_VERSION=1.28.1 DEBIAN_SNAPSHOT=20260930T000000Z /bin/sh -c uv pip install --system "openhands-automation==${AUTOMATION_VERSION}" "openhands-tools==${AGENT_SERVER_VERSION}" 2>/dev/null || pip install --no-cache-dir "openhands-automation==${AUTOMATION_VERSION}" "openhands-tools==${AGENT_SERVER_VERSION}" # buildkit
# 2026-10-20 01:10:31 397.00B 执行命令并创建新的镜像层
RUN |9 AUTOMATION_VERSION=1.22.0 AGENT_SERVER_VERSION=1.56.0 AGENT_SERVER_SDK_GIT_REF= OPENHANDS_BUILD_GIT_SHA=eeb11425ed87c5e83c5069797b706727834f9e46 OPENHANDS_BUILD_GIT_REF=refs/tags/v1.28.1 VITE_BASE_PATH=/canvas VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK AGENT_CANVAS_VERSION=1.28.1 DEBIAN_SNAPSHOT=20260930T000000Z /bin/sh -c if command -v apt-get >/dev/null 2>&1; then printf '%s\n' 'Types: deb' "URIs: http://snapshot.debian.org/archive/debian/${DEBIAN_SNAPSHOT}/" 'Suites: trixie' 'Components: main' 'Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg' 'Check-Valid-Until: no' '' 'Types: deb' "URIs: http://snapshot.debian.org/archive/debian-security/${DEBIAN_SNAPSHOT}/" 'Suites: trixie-security' 'Components: main' 'Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg' 'Check-Valid-Until: no' > /etc/apt/sources.list.d/debian.sources && apt-get update && apt-get upgrade -y --no-install-recommends && rm -rf /var/lib/apt/lists/*; fi # buildkit
# 2026-10-20 01:10:31 0.00B 定义构建参数
ARG DEBIAN_SNAPSHOT=20260930T000000Z
# 2026-10-20 01:10:31 0.00B 指定运行容器时使用的用户
USER root
# 2026-10-20 01:10:31 0.00B 设置环境变量 VITE_POSTHOG_API_KEY
ENV VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK
# 2026-10-20 01:10:31 0.00B 设置环境变量 AGENT_CANVAS_BASE_PATH
ENV AGENT_CANVAS_BASE_PATH=/canvas
# 2026-10-20 01:10:31 0.00B 设置环境变量 AGENT_CANVAS_BUILD_GIT_REF
ENV AGENT_CANVAS_BUILD_GIT_REF=refs/tags/v1.28.1
# 2026-10-20 01:10:31 0.00B 设置环境变量 AGENT_CANVAS_BUILD_GIT_SHA
ENV AGENT_CANVAS_BUILD_GIT_SHA=eeb11425ed87c5e83c5069797b706727834f9e46
# 2026-10-20 01:10:31 0.00B 添加元数据标签
LABEL org.opencontainers.image.revision=eeb11425ed87c5e83c5069797b706727834f9e46
# 2026-10-20 01:10:31 0.00B 添加元数据标签
LABEL org.opencontainers.image.version=1.28.1
# 2026-10-20 01:10:31 0.00B 添加元数据标签
LABEL org.opencontainers.image.source=https://github.com/OpenHands/OpenHands
# 2026-10-20 01:10:31 0.00B 添加元数据标签
LABEL org.opencontainers.image.description=All-in-one agent-canvas: Agent Server + Automation + Frontend
# 2026-10-20 01:10:31 0.00B 添加元数据标签
LABEL org.opencontainers.image.title=agent-canvas
# 2026-10-20 01:10:31 0.00B 定义构建参数
ARG AGENT_CANVAS_VERSION=dev
# 2026-10-20 01:10:31 0.00B 定义构建参数
ARG VITE_POSTHOG_API_KEY=
# 2026-10-20 01:10:31 0.00B 定义构建参数
ARG VITE_BASE_PATH=/canvas
# 2026-10-20 01:10:31 0.00B 定义构建参数
ARG OPENHANDS_BUILD_GIT_REF=unknown
# 2026-10-20 01:10:31 0.00B 定义构建参数
ARG OPENHANDS_BUILD_GIT_SHA=unknown
# 2026-10-20 01:10:31 0.00B 定义构建参数
ARG AGENT_SERVER_SDK_GIT_REF=
# 2026-10-20 01:10:31 0.00B 定义构建参数
ARG AGENT_SERVER_VERSION
# 2026-10-20 01:10:31 0.00B 定义构建参数
ARG AUTOMATION_VERSION
# 2026-10-19 21:36:43 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["tini" "--" "/usr/local/bin/openhands-agent-server"]
# 2026-10-19 21:36:43 0.00B 设置环境变量 LD_LIBRARY_PATH
ENV LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu:/usr/lib:/usr/lib/x86_64-linux-gnu:
# 2026-10-19 21:36:43 0.00B 执行命令并创建新的镜像层
RUN |1 USERNAME=openhands /bin/sh -c chmod +x /usr/local/bin/openhands-agent-server # buildkit
# 2026-10-19 21:36:43 113.48MB 复制新文件或目录到容器中
COPY --chown=openhands:openhands /agent-server/dist/openhands-agent-server /usr/local/bin/openhands-agent-server # buildkit
# 2026-10-19 21:35:36 0.00B 定义构建参数
ARG USERNAME
# 2026-10-19 21:35:36 0.00B 声明容器运行时监听的端口
EXPOSE map[8000/tcp:{}]
# 2026-10-19 21:35:36 0.00B 设置环境变量 OH_ACP_SKILL_SOURCING
ENV OH_ACP_SKILL_SOURCING=openhands_managed
# 2026-10-19 21:35:36 0.00B 设置环境变量 LOG_JSON
ENV LOG_JSON=true
# 2026-10-19 21:35:36 0.00B 设置工作目录为/
WORKDIR /
# 2026-10-19 21:35:36 0.00B 指定运行容器时使用的用户
USER openhands
# 2026-10-19 21:35:36 687.49MB 执行命令并创建新的镜像层
RUN |4 USERNAME=openhands INSTALL_CAPABILITIES=vscode,browser,docker RELEASE_TAG=openvscode-server-v1.109.5 RELEASE_ORG=gitpod-io /bin/sh -c set -eux; case ",$INSTALL_CAPABILITIES," in *,browser,*) apt-get update; apt-get install -y --no-install-recommends "$(if grep -q "ubuntu" /etc/os-release; then echo "chromium-browser"; else echo "chromium"; fi)"; apt-get clean; rm -rf /var/lib/apt/lists/*; ;; esac # buildkit
# 2026-10-19 21:35:08 0.00B 设置环境变量 CHROME_BIN PUPPETEER_EXECUTABLE_PATH CHROMIUM_FLAGS
ENV CHROME_BIN=/usr/bin/chromium PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium CHROMIUM_FLAGS=--no-sandbox --disable-dev-shm-usage --disable-gpu
# 2026-10-19 21:35:08 42.79MB 执行命令并创建新的镜像层
RUN |4 USERNAME=openhands INSTALL_CAPABILITIES=vscode,browser,docker RELEASE_TAG=openvscode-server-v1.109.5 RELEASE_ORG=gitpod-io /bin/sh -c set -eux; mkdir -p -m 755 /etc/apt/keyrings; wget -nv -O /etc/apt/keyrings/githubcli-archive-keyring.gpg https://cli.github.com/packages/githubcli-archive-keyring.gpg; chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg; echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" > /etc/apt/sources.list.d/github-cli.list; apt-get update; apt-get install -y gh; apt-get clean; rm -rf /var/lib/apt/lists/* # buildkit
# 2026-10-19 21:35:05 414.41MB 执行命令并创建新的镜像层
RUN |4 USERNAME=openhands INSTALL_CAPABILITIES=vscode,browser,docker RELEASE_TAG=openvscode-server-v1.109.5 RELEASE_ORG=gitpod-io /bin/sh -c set -eux; case ",$INSTALL_CAPABILITIES," in *,docker,*) ;; *) echo "INSTALL_CAPABILITIES excludes docker; skipping Docker Engine"; exit 0;; esac; if grep -q "ubuntu" /etc/os-release; then install -m 0755 -d /etc/apt/keyrings; curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc; chmod a+r /etc/apt/keyrings/docker.asc; echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null; else install -m 0755 -d /etc/apt/keyrings; curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc; chmod a+r /etc/apt/keyrings/docker.asc; echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian bookworm stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null; fi; apt-get update; apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin; apt-get clean; rm -rf /var/lib/apt/lists/*; mkdir -p /etc/docker; echo '{"mtu": 1450}' > /etc/docker/daemon.json # buildkit
# 2026-10-19 21:34:55 1.15KB 执行命令并创建新的镜像层
RUN |4 USERNAME=openhands INSTALL_CAPABILITIES=vscode,browser,docker RELEASE_TAG=openvscode-server-v1.109.5 RELEASE_ORG=gitpod-io /bin/sh -c set -eux; case ",$INSTALL_CAPABILITIES," in *,vscode,*) ;; *) exit 0;; esac; mkdir -p ${OPENVSCODE_SERVER_ROOT}/extensions; cp -r /tmp/vscode_extensions/. ${OPENVSCODE_SERVER_ROOT}/extensions/; chown -R ${USERNAME}:${USERNAME} ${OPENVSCODE_SERVER_ROOT}/extensions # buildkit
# 2026-10-19 21:34:54 243.76MB 执行命令并创建新的镜像层
RUN |4 USERNAME=openhands INSTALL_CAPABILITIES=vscode,browser,docker RELEASE_TAG=openvscode-server-v1.109.5 RELEASE_ORG=gitpod-io /bin/sh -c set -eux; case ",$INSTALL_CAPABILITIES," in *,vscode,*) ;; *) echo "INSTALL_CAPABILITIES excludes vscode; skipping OpenVSCode Server"; exit 0;; esac; mkdir -p $(dirname ${OPENVSCODE_SERVER_ROOT}); arch=$(uname -m); if [ "${arch}" = "x86_64" ]; then arch="x64"; elif [ "${arch}" = "aarch64" ]; then arch="arm64"; elif [ "${arch}" = "armv7l" ]; then arch="armhf"; fi; wget https://github.com/${RELEASE_ORG}/openvscode-server/releases/download/${RELEASE_TAG}/${RELEASE_TAG}-linux-${arch}.tar.gz; tar -xzf ${RELEASE_TAG}-linux-${arch}.tar.gz; if [ -d "${OPENVSCODE_SERVER_ROOT}" ]; then rm -rf "${OPENVSCODE_SERVER_ROOT}"; fi; mv ${RELEASE_TAG}-linux-${arch} ${OPENVSCODE_SERVER_ROOT}; cp ${OPENVSCODE_SERVER_ROOT}/bin/remote-cli/openvscode-server ${OPENVSCODE_SERVER_ROOT}/bin/remote-cli/code; rm -f ${RELEASE_TAG}-linux-${arch}.tar.gz; chown -R ${USERNAME}:${USERNAME} ${OPENVSCODE_SERVER_ROOT} # buildkit
# 2026-10-19 21:34:50 0.00B 定义构建参数
ARG RELEASE_ORG=gitpod-io
# 2026-10-19 21:34:50 0.00B 定义构建参数
ARG RELEASE_TAG=openvscode-server-v1.109.5
# 2026-10-19 21:34:50 0.00B 设置环境变量 EDITOR VISUAL GIT_EDITOR OPENVSCODE_SERVER_ROOT
ENV EDITOR=code VISUAL=code GIT_EDITOR=code --wait OPENVSCODE_SERVER_ROOT=/openhands/.openvscode-server
# 2026-10-19 21:34:50 0.00B 执行命令并创建新的镜像层
RUN |2 USERNAME=openhands INSTALL_CAPABILITIES=vscode,browser,docker /bin/sh -c set -eux; for capability in $(echo "$INSTALL_CAPABILITIES" | tr ',' ' '); do case "$capability" in vscode|browser|docker) ;; *) echo "Unknown capability '$capability' in INSTALL_CAPABILITIES" "(expected one of: vscode, browser, docker)" >&2; exit 1;; esac; done # buildkit
# 2026-10-19 21:34:50 55.19MB 复制新文件或目录到容器中
COPY /uv /uvx /bin/ # buildkit
# 2026-10-19 21:34:50 270.81MB 执行命令并创建新的镜像层
RUN |2 USERNAME=openhands INSTALL_CAPABILITIES=vscode,browser,docker /bin/sh -c set -eux; if command -v apt-get >/dev/null 2>&1; then apt-get -o Acquire::Retries=5 update; apt-get -o Acquire::Retries=5 install -y --no-install-recommends apt-transport-https apt-utils build-essential coreutils curl findutils gnupg grep jq lsb-release procps sed sudo tar util-linux wget xz-utils; rm -rf /var/lib/apt/lists/*; elif command -v apk >/dev/null 2>&1; then apk add --no-cache build-base coreutils curl findutils gnupg grep jq procps sudo tar util-linux wget xz; elif command -v microdnf >/dev/null 2>&1; then microdnf install -y coreutils curl findutils gcc gcc-c++ gnupg2 grep jq make procps-ng sed sudo tar util-linux wget xz; microdnf clean all; elif command -v dnf >/dev/null 2>&1; then dnf install -y coreutils curl findutils gcc gcc-c++ gnupg2 grep jq make procps-ng sed sudo tar util-linux wget xz; dnf clean all; elif command -v yum >/dev/null 2>&1; then yum install -y coreutils curl findutils gcc gcc-c++ gnupg2 grep jq make procps-ng sed sudo tar util-linux wget xz; yum clean all; elif command -v zypper >/dev/null 2>&1; then zypper --non-interactive install --no-recommends coreutils curl findutils gcc gcc-c++ gpg2 grep jq make procps sed sudo tar util-linux wget xz; zypper clean --all; fi; usermod -aG sudo "${USERNAME}" 2>/dev/null || true; echo "${USERNAME} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers # buildkit
# 2026-10-19 21:34:39 0.00B 指定运行容器时使用的用户
USER root
# 2026-10-19 21:34:39 0.00B 定义构建参数
ARG INSTALL_CAPABILITIES
# 2026-10-19 21:34:39 0.00B 定义构建参数
ARG USERNAME
# 2026-10-19 21:34:39 0.00B 声明容器运行时监听的端口
EXPOSE map[8000/tcp:{}]
# 2026-10-19 21:34:39 0.00B 设置环境变量 OH_ACP_SKILL_SOURCING
ENV OH_ACP_SKILL_SOURCING=openhands_managed
# 2026-10-19 21:34:39 0.00B 设置环境变量 LOG_JSON
ENV LOG_JSON=true
# 2026-10-19 21:34:39 0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
# 2026-10-19 21:34:39 0.00B 设置环境变量 LC_ALL
ENV LC_ALL=C.UTF-8
# 2026-10-19 21:34:39 0.00B 设置工作目录为/
WORKDIR /
# 2026-10-19 21:34:39 0.00B 指定运行容器时使用的用户
USER openhands
# 2026-10-19 21:34:39 49.00B 执行命令并创建新的镜像层
RUN |7 USERNAME=openhands UID=10001 GID=10001 PORT=8000 ENABLE_VSCODE=true OPENHANDS_BUILD_GIT_SHA=33d8aa29c3078d074799e2fbf5e847aeb2d71360 OPENHANDS_BUILD_GIT_REF=refs/tags/v1.56.0 /bin/sh -c mkdir -p /etc/claude-code && echo '{"permissions":{"allow":["Edit","Read","Bash"]}}' > /etc/claude-code/managed-settings.json # buildkit
# 2026-10-19 21:34:39 0.00B 执行命令并创建新的镜像层
RUN |7 USERNAME=openhands UID=10001 GID=10001 PORT=8000 ENABLE_VSCODE=true OPENHANDS_BUILD_GIT_SHA=33d8aa29c3078d074799e2fbf5e847aeb2d71360 OPENHANDS_BUILD_GIT_REF=refs/tags/v1.56.0 /bin/sh -c if ! "$ACP_NODE_DIR/bin/node" --version >/dev/null 2>&1; then echo "Warning: ACP Node 24 runtime is not compatible with this base image (likely older glibc or musl libc); ACP agents will not be available" >&2; if [ -f "$ACP_NODE_DIR/acp-wrappers.txt" ]; then while read -r bin; do rm -f "/usr/local/bin/$bin"; done < "$ACP_NODE_DIR/acp-wrappers.txt"; fi; rm -rf "$ACP_NODE_DIR"/*; fi # buildkit
# 2026-10-19 21:34:39 223.00B 复制新文件或目录到容器中
COPY /opt/acp-wrappers/. /usr/local/bin/ # buildkit
# 2026-10-19 21:34:39 1.03GB 复制新文件或目录到容器中
COPY /acp-node /acp-node # buildkit
# 2026-10-19 21:34:32 0.00B 设置环境变量 ACP_NODE_DIR
ENV ACP_NODE_DIR=/acp-node
# 2026-10-19 21:34:32 101.27MB 执行命令并创建新的镜像层
RUN |7 USERNAME=openhands UID=10001 GID=10001 PORT=8000 ENABLE_VSCODE=true OPENHANDS_BUILD_GIT_SHA=33d8aa29c3078d074799e2fbf5e847aeb2d71360 OPENHANDS_BUILD_GIT_REF=refs/tags/v1.56.0 /bin/sh -c set -eux; if command -v apt-get >/dev/null 2>&1; then apt-get -o Acquire::Retries=5 update; apt-get -o Acquire::Retries=5 install -y --no-install-recommends bash ca-certificates git tini tmux; rm -rf /var/lib/apt/lists/*; elif command -v apk >/dev/null 2>&1; then apk add --no-cache bash ca-certificates git shadow tini tmux; elif command -v microdnf >/dev/null 2>&1; then microdnf install -y bash ca-certificates curl git shadow-utils tmux; microdnf clean all; elif command -v dnf >/dev/null 2>&1; then dnf install -y bash ca-certificates curl git shadow-utils tmux; dnf clean all; elif command -v yum >/dev/null 2>&1; then yum install -y bash ca-certificates curl git shadow-utils tmux; yum clean all; elif command -v zypper >/dev/null 2>&1; then zypper --non-interactive install --no-recommends bash ca-certificates curl git shadow tmux; zypper clean --all; else echo "Unsupported base image: no known package manager found" >&2; exit 1; fi; if ! command -v tini >/dev/null 2>&1; then ARCH=$(uname -m); case "$ARCH" in x86_64|amd64) TARCH=amd64; TINI_SHA256=c5b0666b4cb676901f90dfcb37106783c5fe2077b04590973b885950611b30ee;; aarch64|arm64) TARCH=arm64; TINI_SHA256=eae1d3aa50c48fb23b8cbdf4e369d0910dfc538566bfd09df89a774aa84a48b9;; *) echo "Unsupported architecture for tini: '$ARCH'" >&2; exit 1;; esac; curl -fsSL --retry 5 --retry-delay 2 --retry-connrefused "https://github.com/krallin/tini/releases/download/v0.19.0/tini-static-${TARCH}" -o /usr/local/bin/tini; echo "$TINI_SHA256 /usr/local/bin/tini" | sha256sum -c -; chmod 755 /usr/local/bin/tini; fi; tini --version; grep -Eq "^[^:]*:[^:]*:${GID}:" /etc/group || groupadd -g "${GID}" "${USERNAME}"; grep -Eq "^${USERNAME}:" /etc/passwd || useradd -m -u "${UID}" -g "${GID}" -s /bin/bash "${USERNAME}"; mkdir -p /workspace/project; chown -R "${USERNAME}:${USERNAME}" /workspace # buildkit
# 2026-10-19 21:34:26 0.00B 设置环境变量 OPENHANDS_BUILD_GIT_REF
ENV OPENHANDS_BUILD_GIT_REF=refs/tags/v1.56.0
# 2026-10-19 21:34:26 0.00B 设置环境变量 OPENHANDS_BUILD_GIT_SHA
ENV OPENHANDS_BUILD_GIT_SHA=33d8aa29c3078d074799e2fbf5e847aeb2d71360
# 2026-10-19 21:34:26 0.00B 定义构建参数
ARG OPENHANDS_BUILD_GIT_REF=unknown
# 2026-10-19 21:34:26 0.00B 定义构建参数
ARG OPENHANDS_BUILD_GIT_SHA=unknown
# 2026-10-19 21:34:26 0.00B 设置环境变量 OH_ENABLE_VSCODE
ENV OH_ENABLE_VSCODE=true
# 2026-10-19 21:34:26 0.00B 定义构建参数
ARG USERNAME UID GID PORT ENABLE_VSCODE
# 2026-10-19 21:34:26 14.77MB 执行命令并创建新的镜像层
RUN |2 NPM_VERSION=11.21.0 DEBIAN_SNAPSHOT=20261004T000000Z /bin/sh -c set -eux; pip_version="$(python3 -m pip --version | cut -d' ' -f2)"; python3 -m pip install --no-deps --no-index --no-cache-dir --force-reinstall --disable-pip-version-check --root-user-action=ignore "/tmp/pip-dist/pip-${pip_version}-py3-none-any.whl" # buildkit
# 2026-10-19 21:34:24 4.72MB 执行命令并创建新的镜像层
RUN |2 NPM_VERSION=11.21.0 DEBIAN_SNAPSHOT=20261004T000000Z /bin/sh -c set -eux; ln -sfn ../lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm; ln -sfn ../lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx; ln -sfn ../lib/node_modules/corepack/dist/corepack.js /usr/local/bin/corepack; printf '%s\n' 'Types: deb' "URIs: http://snapshot.debian.org/archive/debian/${DEBIAN_SNAPSHOT}/" 'Suites: trixie' 'Components: main' 'Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg' 'Check-Valid-Until: no' '' 'Types: deb' "URIs: http://snapshot.debian.org/archive/debian-security/${DEBIAN_SNAPSHOT}/" 'Suites: trixie-security' 'Components: main' 'Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg' 'Check-Valid-Until: no' > /etc/apt/sources.list.d/debian.sources; apt-get update; apt-get upgrade -y; apt-get install -y --no-install-recommends ca-certificates libbz2-1.0 libdb5.3t64 libffi8 libgcc-s1 libgdbm6t64 liblzma5 libncursesw6 libreadline8t64 libsqlite3-0 libssl3t64 libstdc++6 libtinfo6 libuuid1 libzstd1 netbase tzdata zlib1g; rm -rf /var/lib/apt/lists/*; python3 --version; node --version; npm --version # buildkit
# 2026-10-19 21:34:18 46.13MB 执行命令并创建新的镜像层
RUN |2 NPM_VERSION=11.21.0 DEBIAN_SNAPSHOT=20261004T000000Z /bin/sh -c node /usr/local/lib/node_modules/npm/bin/npm-cli.js install --global "npm@${NPM_VERSION}" # buildkit
# 2026-10-19 21:33:51 12.79MB 复制新文件或目录到容器中
COPY /usr/local/lib/node_modules /usr/local/lib/node_modules # buildkit
# 2026-10-19 21:33:51 126.60MB 复制新文件或目录到容器中
COPY /usr/local/bin/node /usr/local/bin/node # buildkit
# 2026-10-19 21:33:42 32.36MB 复制新文件或目录到容器中
COPY /usr/local /usr/local # buildkit
# 2026-10-19 21:33:42 0.00B 定义构建参数
ARG DEBIAN_SNAPSHOT=20261004T000000Z
# 2026-10-19 21:33:42 0.00B 定义构建参数
ARG NPM_VERSION
# 2026-10-05 08:00:00 78.82MB
# debian.sh --arch 'amd64' out/ 'trixie' '@1791158400'
镜像信息
{
"Id": "sha256:e6bd4ac8a266c845715c550076122118b57469151f21b08e3eb269c9b4246663",
"RepoTags": [
"ghcr.io/openhands/agent-canvas:1.28.1",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openhands/agent-canvas:1.28.1"
],
"RepoDigests": [
"ghcr.io/openhands/agent-canvas@sha256:f121177b48330361c4fb608e342d76847411720eb270a110b01a22bea0dd8cfb",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openhands/agent-canvas@sha256:106a88437358027a725e1fe9a051b946d37b3708b37c40bbd9f9ee945a746b11"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-10-19T17:10:51.353162415Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "openhands",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"8000/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"OH_ENABLE_VSCODE=true",
"OPENHANDS_BUILD_GIT_SHA=33d8aa29c3078d074799e2fbf5e847aeb2d71360",
"OPENHANDS_BUILD_GIT_REF=refs/tags/v1.56.0",
"ACP_NODE_DIR=/acp-node",
"LC_ALL=C.UTF-8",
"LANG=C.UTF-8",
"LOG_JSON=true",
"OH_ACP_SKILL_SOURCING=openhands_managed",
"EDITOR=code",
"VISUAL=code",
"GIT_EDITOR=code --wait",
"OPENVSCODE_SERVER_ROOT=/openhands/.openvscode-server",
"CHROME_BIN=/usr/bin/chromium",
"PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium",
"CHROMIUM_FLAGS=--no-sandbox --disable-dev-shm-usage --disable-gpu",
"LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu:/usr/lib:/usr/lib/x86_64-linux-gnu:",
"AGENT_CANVAS_BUILD_GIT_SHA=eeb11425ed87c5e83c5069797b706727834f9e46",
"AGENT_CANVAS_BUILD_GIT_REF=refs/tags/v1.28.1",
"AGENT_CANVAS_BASE_PATH=/canvas",
"VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK"
],
"Cmd": null,
"Image": "",
"Volumes": {
"/home/openhands/.openhands": {},
"/projects": {}
},
"WorkingDir": "/",
"Entrypoint": [
"tini",
"--",
"/opt/agent-canvas/entrypoint.sh"
],
"OnBuild": null,
"Labels": {
"org.opencontainers.image.description": "All-in-one agent-canvas: Agent Server + Automation + Frontend",
"org.opencontainers.image.revision": "eeb11425ed87c5e83c5069797b706727834f9e46",
"org.opencontainers.image.source": "https://github.com/OpenHands/OpenHands",
"org.opencontainers.image.title": "agent-canvas",
"org.opencontainers.image.version": "1.28.1"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 3888420747,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/dbf8c7502c4242e24b97a58f1e65da2bf99cc332872132dde92fb30ac87e6db7/diff:/var/lib/docker/overlay2/404e115fa41d35e9a8a597fdc3370fbb0a78cc45b7fa688f578e3a4ea714900c/diff:/var/lib/docker/overlay2/332a7f6d398193f8767e65a4b4c71e839fcd7b32b4036d47bad081104a16d102/diff:/var/lib/docker/overlay2/4972940414cb426de744f6227b49f5317de01ba6a176bb9a48325abfa723a945/diff:/var/lib/docker/overlay2/93a8d51df31c5ea45f8c908f69c725a3f8a8e7dfbc5ada08c01c4590d14318c7/diff:/var/lib/docker/overlay2/519e1d3bc8679506ef298e5892b3bf86cea4f13152bdbd4d6c8e03626615bf6b/diff:/var/lib/docker/overlay2/5dc78e7a3c60963a07a764c22c548ce0c630bbc1d1a7ef88d35e2e0a50eed984/diff:/var/lib/docker/overlay2/decc08fac5592565fc96196e96e7e17a42b8e1cb9291a954a70089be82248517/diff:/var/lib/docker/overlay2/0affc478647ff042bc3c88e7f32135a50f3672a29e90efc3e20a8606c4caf804/diff:/var/lib/docker/overlay2/0abc49a8d9474ec63bdd88da4b5af16ba3773b94b9fbbfebbc449df80e1fcac7/diff:/var/lib/docker/overlay2/693eb330ebd35276b054b9ae9bab818955e9f57d5ede78565076a45bdcb4bd06/diff:/var/lib/docker/overlay2/9c885be80f8d1d47c1f68107f0ac4b6dd4bc103577718fc60c6764eb821b5caa/diff:/var/lib/docker/overlay2/7ce30ab27076cbbc9bc815ef2cfe80f47bce859bd609a676f9b20c1b4f3f071a/diff:/var/lib/docker/overlay2/37349f8a53becd7832ba990e9036c212a0bf5e1722ccdd6817d3ed423a8c48f8/diff:/var/lib/docker/overlay2/19aefc315bee39b24360f1f8293e4199463260ca6fabffdaaf9c4a8317c67952/diff:/var/lib/docker/overlay2/4510e183a2eb82851f0188ba8ed6ef06c9f95f163c5af580993ea178fffebd40/diff:/var/lib/docker/overlay2/74df700f3eaeadffb1a2a70007ff262e5c74c6a6a4c484132975999c6cb6faed/diff:/var/lib/docker/overlay2/d5e2f73044d5cfe5ee419d305f0ebeb3be28532a7d02b464b2b7257f8e8f93b6/diff:/var/lib/docker/overlay2/e8405247c42800de39ebc9924cff8bc6480797174077b7c0fbbbd2855ec5fc2d/diff:/var/lib/docker/overlay2/fdd520a586a6ca01a4cebb20a354962269d48cb7c29b3dffcc85c4c93f1c9fcf/diff:/var/lib/docker/overlay2/d599605e62708a3da843ef0c0e0dc960d9f86cdf6a84020e781609d6ff6f0e58/diff:/var/lib/docker/overlay2/607123f30aa8e2774a47f83eabb3026f6d8e8df376e59829129f1fefa5542625/diff:/var/lib/docker/overlay2/f2af00a737ca845177be1a6ab364e7e5243a9cdc95cc5a28db1e725d6049dc97/diff:/var/lib/docker/overlay2/145f5d148bcba2437cac62a22eeb28080f10381f7ab41a4e87d2cde905a3322b/diff:/var/lib/docker/overlay2/d5a3e7a2656f4d10eef47c22eaf1f9017401d3f62f1901a122629ca961f59d6d/diff:/var/lib/docker/overlay2/1412ccbe52ab928c5be049748757fd1fad247fe2c80b992506379105163fe3e1/diff:/var/lib/docker/overlay2/cdc46008459d6944f38507b79038e9fc59bd41694d978a1ddd6a2cc5ddbc5d7d/diff:/var/lib/docker/overlay2/838dab54cb595d1fadf8d61fee5526a995b6715a33414e3752e98a1986ef1682/diff:/var/lib/docker/overlay2/58144c8af9c34a2b1c7bfb750d5463565411a023ff81dbc1109abe4355fbf220/diff:/var/lib/docker/overlay2/09df19b63635524f3907bba3ca9b9b807460c02e657ac61df532cc29ca87f4a0/diff:/var/lib/docker/overlay2/8302ff72aefbf6179a8ecf3a8d38274bb7dd8d76243c9d15d1f6677693f06bbb/diff:/var/lib/docker/overlay2/f0849b5c034b7085ca45bb67842d574c32219139fd59610715852aec8e3e0238/diff:/var/lib/docker/overlay2/17ca155ecf81b37817317d57902f587bf7b59fe54a967d6b4b59cefb9930ba10/diff:/var/lib/docker/overlay2/94fc2aa15783b90a7481f83db8feaf1abaf6dc100527419dd12b977babfc5225/diff:/var/lib/docker/overlay2/e44eb85f5c8e45751235351c0e4093fc88d0fa82e0f0df01023ad7a478258273/diff:/var/lib/docker/overlay2/9ec0d88914d9beaa5c4277a316ad1a8db9602481fde89485778627aff1c197d1/diff:/var/lib/docker/overlay2/94c148f7300ec8da24d41238b80af0a4ca1fb0a91bcdb207ba2495b8636b35a0/diff:/var/lib/docker/overlay2/22f4c45214217e9b6999ef7c163e8bb0c2398444b6702fbb287d3845268a33cb/diff:/var/lib/docker/overlay2/e5e0b39b64c80142359fa37a03cad748449c31781fc3f059b151ff0edc4b8ae0/diff:/var/lib/docker/overlay2/8be23f2e9bc14fad8f083259a9021357864227da684203809fabebd40def3271/diff:/var/lib/docker/overlay2/ea2af479bf5cb839587e4aee7d7d84cb201bf8e40c81657ec293e5f2dfcdf0af/diff:/var/lib/docker/overlay2/551700aa40a2a75ac0c3823f86e2c93d6e95eb8110a3eb9f5d2ab08e28470184/diff:/var/lib/docker/overlay2/344c0ec8fb0f852cc069852ed8e2edf73d415d7136c9bb1f18d1c3e48cc62a94/diff:/var/lib/docker/overlay2/39a1ba46ed5f1aba8865af924f95e307efe35113b7c78624fd0461a2d84b80d8/diff:/var/lib/docker/overlay2/bde5f3fbd46978b4727a85cbe7762d24a43701f3af854ef62cd67286c4b0be60/diff:/var/lib/docker/overlay2/0374ae6fc5aacc585f809fc758bd8ff6e5bbd3a067c5fd7764ab43c6ab460ffb/diff:/var/lib/docker/overlay2/d64e643e2d7c1cb9619804b4743dafb3a3379679bd164aa92f47ce473ff982ea/diff:/var/lib/docker/overlay2/00cef9ab29f4fb9649ac3a297903947c31c8e5b16b54b4c5fce5ec3a41d5f374/diff:/var/lib/docker/overlay2/62bdc9ebfd322c5c09a76f4813bf876edc59cde42b304a9a04f01ab5e9cf1c16/diff",
"MergedDir": "/var/lib/docker/overlay2/8c0ba472ce33cf625c30691c38a6be75bd0f7cc7506edd12a990ca0bcfca31cf/merged",
"UpperDir": "/var/lib/docker/overlay2/8c0ba472ce33cf625c30691c38a6be75bd0f7cc7506edd12a990ca0bcfca31cf/diff",
"WorkDir": "/var/lib/docker/overlay2/8c0ba472ce33cf625c30691c38a6be75bd0f7cc7506edd12a990ca0bcfca31cf/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:15f1c8eb1ab18eae260c7fb6296434cbe1ff0e1e30fd814ae92a80dd54005e62",
"sha256:382655f74b6cb873ec3485836e92c25155fbda83fbafdcd13ff3038f1b278851",
"sha256:cbb34260c20a02fb973fab330db756def7787575e27d1b10b90012b60ff8a6e4",
"sha256:bd9dc4ec8c226ba889095cbd34d5c126b7cf00172efe666489d266ddbc1f1ffa",
"sha256:e169b4de623e5ae6249cfea0e0d562213a2af0d67440a2d0c867fe81ab052a3f",
"sha256:1bf63acf9a6c9a71047e3461245bde072a9f2408ad884587322328e1c8369250",
"sha256:173fae089f60b5be853141ae44dcfe6440f3731d8eefe345c27b1181f7a5f3f9",
"sha256:35dd5ec6d6466746920da59281457ddfb2a8860a3f7a52eebaeb1b833d0053b3",
"sha256:02bb6a4a4323fdf12c49170b4497bff32a13aed4a76155fc9581ea24e9c93ebe",
"sha256:8b5441ae80c9897c1631ddea1d171e25f6389ee9c0639eb2ccdd57839e21bd91",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:5b22c3819791a3f591ec9f43ec67c029962c079b1d153edd907c4d9a66797580",
"sha256:6a1f3fa07b937abc76b5b2a9b25b36dc5d65b669004fc152ec0e7387489929da",
"sha256:b55823951dded336d4bc4f68dcf02e470dc156a3a7cb94421912cdbea08ce82c",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:b412eb1d7cb0d259b9c0531e341be174fd72ce64af61a69408efdebde987b988",
"sha256:11f185c5fa4079ee779e1e8067d910fce2df718e706c60dede15dfc32df2fbe5",
"sha256:16f3a343fa64c0ff202e91c0a7f0fc096abe05bd2ccf71aecd94c9f2648a346e",
"sha256:2b7e1d30ef5019c4391839944a559db0ef358616fb8bbf9fb9fe571559009baf",
"sha256:9aa327f1aa274b8480bb1ee949c5068d449b84fe2aea8cdb77f32c7b3ea09812",
"sha256:46398d591678e2efedb7a16e989a88ede80774232442e8e22ea78a87855e5abc",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:c641cb2368e3862d7729143354497a8a64b867734555a430091e988593d692ff",
"sha256:b59f575ac72a6b156e05f03c7bc4748bc43cc10397bb7fb614971f1fa9b7283f",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:3117a62f4d76476da24ee938398016e8f31f9fd01c92b552cbe8bfcfa68a97cf",
"sha256:c0ba125508b65fc13e5553c33afcd12be4427217157c3bdcdc5bd462bf0dd2e8",
"sha256:64ea1ebed405dbb3e985683a900ca054734a4f76f0033489b333abba614b8cc2",
"sha256:3b5b1b4d65bbaf01770e7c2f9974c2d269a7b845ef8c29d6fb514f64b621415c",
"sha256:e93ea98689cc18f41ca87c6d6d5a8f62eb412d49751bd3ae941295b85c2d2d13",
"sha256:b03492d7c78a4a8cf743cbaf6f3bd4f44687d91bea05b9928df813b83e1974b6",
"sha256:f801c95304d43597f0b587ce02bef5615b969e335137a3f1181c2608d7e34458",
"sha256:8e8da8d84f6fec77b7b29c0c8ae0066ac0c9a04d7c9ddd90e7dd3aa2ba267320",
"sha256:21d275b0f252d6c0a7be12f4ea9d7a1197885764df33bd828cd5fd125900e99f",
"sha256:23e93b0ab5a830fdabeef254019adab1089cd42b8b9837d2edf63f2104c956f2",
"sha256:84e6d5c3410df00b9ec262f926fe93c700eeca2c0f5552c0aee42424a0141d1c",
"sha256:c4e0c82e6b0d8c5866de15ddc14c704a573b4aec02e585bf2276f05a9930bf8d",
"sha256:1ca9fbacbb9623fc604743d330fcbaa5cb55d0c065a687cd40f084d0f628dd0a",
"sha256:2835d2c8231508762b43477ae930c757dfe05c941fd297394093fc55104aefef",
"sha256:90ff6eda8961d97bdf1e1fb222a3ed63c2ea63919608950a251b762bee62e512",
"sha256:bee0c64931069f1e4ac298b27506eb49957e1bebc72a6288639fb33fc5b7d095",
"sha256:f0de5f956ac41b9d06cdc038f414064269c138e38d9228ffc6305f68941d8765",
"sha256:a20fd35694caca2a6f6c54dc72795fbd0429f1fb6aee1b4f8c62e1224d34c192",
"sha256:30ebcb495d8d873807b6c67b228eb25cbe9c6a6c40cbdf556edd1b1a820f0c98",
"sha256:48536fbd046d25f0b072da3825b130b27b9f8ccd94ad03215ddba8a60aabb662",
"sha256:e905f36b43b8c45f83c57eaaed0a1201adff6c0ced5602c107e3927849d5878d",
"sha256:a5e050a98137bb3e5cbcfb8f23ff578c69f653ac78b51b8ff25ad75ef6b30f0f",
"sha256:08aef51ce4eeb6c6832f0a087924da25d6cc7f8fcee2e23f23ca607336a18bc0",
"sha256:b14b16b70c354a2129cd74ef6bcf7ead403b2c9b6e7029be50a4b4cd95028e67",
"sha256:0c2b29c2c6873b3b0046494fd171ddbf16904e98a9c3f4d8711bb1c003876fb8"
]
},
"Metadata": {
"LastTagTime": "2026-10-20T09:10:19.629047574+08:00"
}
}