镜像构建历史
# 2026-10-15 06:20:47 0.00B 设置默认要执行的命令
CMD []
# 2026-10-15 06:20:47 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/opt/hermes/docker/entrypoint-dispatch.sh"]
# 2026-10-15 06:20:47 0.00B 创建挂载点用于持久化数据或共享数据
VOLUME [/opt/data]
# 2026-10-15 06:20:47 0.00B 设置环境变量 HERMES_PYTHON
ENV HERMES_PYTHON=/opt/hermes/.venv/bin/python
# 2026-10-15 06:20:47 3.18KB 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c mkdir -p /opt/data && chmod 0644 /opt/hermes/tools/facts.json && rm -f /opt/hermes/.venv/.lock /opt/hermes/pm-runtime/.lock # buildkit
# 2026-10-15 06:20:47 0.00B 设置环境变量 PATH
ENV PATH=/opt/hermes/bin:/opt/hermes/.venv/bin:/opt/data/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2026-10-15 06:20:47 1.12KB 复制新文件或目录到容器中
COPY --chmod=0755 docker/entrypoint-dispatch.sh /opt/hermes/docker/entrypoint-dispatch.sh # buildkit
# 2026-10-15 06:20:47 3.71KB 复制新文件或目录到容器中
COPY --chmod=0755 docker/hermes-exec-shim.sh /opt/hermes/bin/hermes # buildkit
# 2026-10-15 06:20:47 0.00B 设置环境变量 XDG_RUNTIME_DIR
ENV XDG_RUNTIME_DIR=/tmp/hermes-runtime
# 2026-10-15 06:20:47 0.00B 设置环境变量 HERMES_WRITE_SAFE_ROOT
ENV HERMES_WRITE_SAFE_ROOT=/opt/data
# 2026-10-15 06:20:47 0.00B 设置环境变量 HERMES_HOME
ENV HERMES_HOME=/opt/data
# 2026-10-15 06:20:47 0.00B 设置环境变量 HERMES_TUI_DIR
ENV HERMES_TUI_DIR=/opt/hermes/ui-tui
# 2026-10-15 06:20:47 0.00B 设置环境变量 HERMES_WEB_DIST
ENV HERMES_WEB_DIST=/opt/hermes/hermes_cli/web_dist
# 2026-10-15 06:20:47 2.23KB 复制新文件或目录到容器中
COPY --chmod=0755 docker/cont-init.d/02-reconcile-profiles /etc/cont-init.d/02-reconcile-profiles # buildkit
# 2026-10-15 06:20:47 4.00KB 复制新文件或目录到容器中
COPY --chmod=0755 docker/cont-init.d/015-supervise-perms /etc/cont-init.d/015-supervise-perms # buildkit
# 2026-10-15 06:20:47 66.00B 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c mkdir -p /etc/cont-init.d && printf '#!/command/with-contenv sh\nexec /opt/hermes/docker/stage2-hook.sh\n' > /etc/cont-init.d/01-hermes-setup && chmod +x /etc/cont-init.d/01-hermes-setup # buildkit
# 2026-10-15 06:20:47 4.98KB 复制新文件或目录到容器中
COPY docker/s6-rc.d/ /etc/s6-overlay/s6-rc.d/ # buildkit
# 2026-10-15 06:20:46 565.00B 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c set -eu; if [ ! -f /opt/hermes/install-stamp.json ]; then printf '{"schemaVersion":2,"commit":"0000000000000000000000000000000000000000","distribution":"docker","source":"fallback","updateMechanism":"external"}\n' > /opt/hermes/install-stamp.json; fi; python3 -c 'import json; from pathlib import Path; path = Path("/opt/hermes/install-stamp.json"); stamp = json.loads(path.read_text()); stamp["pmRuntime"] = "/opt/hermes/pm-runtime"; path.write_text(json.dumps(stamp) + "\n")'; mkdir -p /etc/hermes; python3 -c 'import json, pathlib, tomllib; project = tomllib.loads(pathlib.Path("/opt/hermes/pyproject.toml").read_text(encoding="utf-8"))["project"]; stamp = json.loads(pathlib.Path("/opt/hermes/install-stamp.json").read_text(encoding="utf-8")); commit = stamp.get("commit"); revision = commit if commit and set(commit) != {"0"} else None; marker = pathlib.Path("/etc/hermes/image-provenance.json"); marker.write_text(json.dumps({"schema": 1, "deployment_kind": "image", "manager": "docker", "image": "nousresearch/hermes-agent", "version": project["version"], "revision": revision}, sort_keys=True, separators=(",", ":")) + "\n", encoding="utf-8"); marker.chmod(0o444)' # buildkit
# 2026-10-15 06:20:46 3.72KB 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c mkdir -p /opt/hermes/bin && cp /opt/hermes/docker/hermes-exec-shim.sh /opt/hermes/bin/hermes && chmod 0755 /opt/hermes /opt/hermes/bin/hermes && printf 'docker\n' > /opt/hermes/.install_method # buildkit
# 2026-10-15 06:20:46 0.00B 指定运行容器时使用的用户
USER root
# 2026-10-15 06:20:46 4.08MB 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c /opt/hermes/.venv/bin/python -m docker.build_agent # buildkit
# 2026-10-15 06:20:46 83.15MB 复制新文件或目录到容器中
COPY --chmod=a+rX,go-w . . # buildkit
# 2026-10-15 06:20:45 0.00B 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c mkdir -p /tmp/hermes-runtime && chmod 0700 /tmp/hermes-runtime # buildkit
# 2026-10-15 06:20:45 0.00B 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c mkdir -p /tmp/.X11-unix && chmod 1777 /tmp/.X11-unix # buildkit
# 2026-10-15 06:20:45 3.19MB 复制新文件或目录到容器中
COPY /opt/products/web /opt/hermes/hermes_cli/web_dist # buildkit
# 2026-10-15 06:20:45 4.06MB 复制新文件或目录到容器中
COPY /opt/products/tui /opt/hermes/ui-tui # buildkit
# 2026-10-15 06:20:45 88.02MB 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c cd plugins/platforms/photon/sidecar && npm ci --no-audit --fetch-retries=5 && npm cache clean --force # buildkit
# 2026-10-15 06:20:42 64.71KB 复制新文件或目录到容器中
COPY plugins/platforms/photon/sidecar/package.json plugins/platforms/photon/sidecar/package-lock.json plugins/platforms/photon/sidecar/patch-spectrum-mixed-attachments.mjs plugins/platforms/photon/sidecar/ # buildkit
# 2026-10-15 06:20:42 21.00B 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c mkdir -p /opt/hermes/node_modules/.bin && ln -s ../typescript/bin/tsc /opt/hermes/node_modules/.bin/tsc # buildkit
# 2026-10-15 06:20:42 24.35MB 复制新文件或目录到容器中
COPY /opt/hermes/node_modules/typescript /opt/hermes/node_modules/typescript # buildkit
# 2026-10-15 06:20:28 471.37MB 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c python3 -m pm.build_env --source /opt/hermes --python /usr/local/bin/python3 --cache /opt/hermes/uv-cache --out /opt/hermes/.venv --no-install-project --sealed --record-selection --extra all --extra messaging --extra otlp --extra anthropic --extra bedrock --extra azure-identity --extra matrix --extra google-chat # buildkit
# 2026-10-15 06:19:42 0.00B 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c touch ./README.md # buildkit
# 2026-10-15 06:19:42 1.25MB 复制新文件或目录到容器中
COPY pyproject.toml uv.lock ./ # buildkit
# 2026-10-15 06:19:42 0.00B 设置环境变量 CC CXX
ENV CC=gcc CXX=g++
# 2026-10-15 06:19:42 0.00B 设置环境变量 HERMES_PYTHON
ENV HERMES_PYTHON=/usr/local/bin/python3
# 2026-10-15 06:19:42 2.12MB 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c python3 -c 'from pathlib import Path; from pm import stage_manager_runtime; from scripts.bundles.payload import seal_pm_runtime; root = Path("/opt/hermes"); python = Path("/usr/local/bin/python3").resolve(); stage_manager_runtime(python=python, destination=root / "pm-runtime", project=root / "pm"); seal_pm_runtime(root, python)' # buildkit
# 2026-10-15 06:19:40 1.54GB 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c set -eu; python3 -c 'from pm import ensure; [ensure(name, explicit=True) for name in ("uv", "chromium", "npm", "ffmpeg", "ripgrep")]'; python3 -c 'from pathlib import Path; from pm import installed_package; [Path("/usr/local/bin", command).symlink_to(installed_package(package).binary) for command, package in (("python3", "python"), ("node", "node"), ("npm", "npm"), ("ffmpeg", "ffmpeg"), ("rg", "ripgrep"))]; Path("/usr/local/bin/ffprobe").symlink_to(installed_package("ffmpeg").binary.with_name("ffprobe"))'; ffmpeg -version >/dev/null; ffprobe -version >/dev/null; rg --version >/dev/null; python3 -c 'import shutil; from pathlib import Path; from pm import env_for; Path("/usr/local/bin/npx").symlink_to(shutil.which("npx", path=env_for("npm", base_env={})["PATH"]))'; node --version; npm --version; browser_bin="$(python3 -c 'from pm import installed_package; print(installed_package("chromium").binary)')"; test -n "$browser_bin"; "$browser_bin" --version; mkdir -p /etc/hermes; printf '%s' "$browser_bin" > /etc/hermes/agent-browser-executable-path # buildkit
# 2026-10-15 06:19:19 7.97KB 复制新文件或目录到容器中
COPY scripts/bundles/payload.py scripts/bundles/payload.py # buildkit
# 2026-10-15 06:19:19 14.25KB 复制新文件或目录到容器中
COPY hermes_cli/__init__.py hermes_cli/runtime_state.py hermes_cli/ # buildkit
# 2026-10-15 06:19:19 64.06KB 复制新文件或目录到容器中
COPY hermes_constants.py hermes_constants.py # buildkit
# 2026-10-15 06:19:19 660.64KB 复制新文件或目录到容器中
COPY pm/ pm/ # buildkit
# 2026-10-14 12:26:19 0.00B 设置环境变量 HERMES_RUNTIME_DIR
ENV HERMES_RUNTIME_DIR=/opt/hermes/tools
# 2026-10-14 12:26:19 0.00B 设置工作目录为/opt/hermes
WORKDIR /opt/hermes
# 2026-10-14 12:26:19 8.95KB 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c useradd -u 10000 -m -d /opt/data hermes # buildkit
# 2026-10-14 12:26:19 2.73KB 复制新文件或目录到容器中
COPY --chmod=0755 docker/tini-shim.sh /usr/bin/tini # buildkit
# 2026-10-14 12:26:19 6.01MB 执行命令并创建新的镜像层
RUN |7 HERMES_BOT_DESKTOP=0 TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c set -eu; case "${TARGETARCH:-amd64}" in amd64) s6_arch="x86_64"; s6_arch_sha="${S6_OVERLAY_X86_64_SHA256}" ;; arm64) s6_arch="aarch64"; s6_arch_sha="${S6_OVERLAY_AARCH64_SHA256}" ;; *) echo "Unsupported TARGETARCH=${TARGETARCH} for s6-overlay" >&2; exit 1 ;; esac; base="https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}"; curl -fsSL --retry 3 -o /tmp/s6-overlay-noarch.tar.xz "${base}/s6-overlay-noarch.tar.xz"; curl -fsSL --retry 3 -o /tmp/s6-overlay-symlinks-noarch.tar.xz "${base}/s6-overlay-symlinks-noarch.tar.xz"; curl -fsSL --retry 3 -o /tmp/s6-overlay-arch.tar.xz "${base}/s6-overlay-${s6_arch}.tar.xz"; { printf '%s %s\n' "${S6_OVERLAY_NOARCH_SHA256}" /tmp/s6-overlay-noarch.tar.xz; printf '%s %s\n' "${s6_arch_sha}" /tmp/s6-overlay-arch.tar.xz; printf '%s %s\n' "${S6_OVERLAY_SYMLINKS_SHA256}" /tmp/s6-overlay-symlinks-noarch.tar.xz; } > /tmp/s6-overlay.sha256; sha256sum -c /tmp/s6-overlay.sha256; tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz; tar -C / -Jxpf /tmp/s6-overlay-arch.tar.xz; tar -C / -Jxpf /tmp/s6-overlay-symlinks-noarch.tar.xz; rm /tmp/s6-overlay-*.tar.xz /tmp/s6-overlay.sha256 # buildkit
# 2026-10-14 12:26:18 0.00B 定义构建参数
ARG S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e
# 2026-10-14 12:26:18 0.00B 定义构建参数
ARG S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581
# 2026-10-14 12:26:18 0.00B 定义构建参数
ARG S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563
# 2026-10-14 12:26:18 0.00B 定义构建参数
ARG S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf
# 2026-10-14 12:26:18 0.00B 定义构建参数
ARG S6_OVERLAY_VERSION=3.2.3.0
# 2026-10-14 12:26:18 0.00B 定义构建参数
ARG TARGETARCH=amd64
# 2026-10-14 12:26:18 26.71KB 执行命令并创建新的镜像层
RUN |1 HERMES_BOT_DESKTOP=0 /bin/sh -c ln -sf libsqlite3.so.3.53.4 /usr/local/lib/libsqlite3.so.0 && ln -sf libsqlite3.so.3.53.4 /usr/local/lib/libsqlite3.so && printf '/usr/local/lib\n' > /etc/ld.so.conf.d/000-sqlite-fixed.conf && ldconfig && python3 -c "import sqlite3, sys; v = sqlite3.sqlite_version_info; sys.exit(f'linked SQLite {sqlite3.sqlite_version} still has the WAL-reset bug') if v < (3, 51, 3) else None; db = sqlite3.connect(':memory:'); db.execute(\"CREATE VIRTUAL TABLE docs USING fts5(content, tokenize='trigram')\"); db.execute(\"INSERT INTO docs VALUES ('hermes')\"); sys.exit('SQLite FTS5 trigram self-test failed') if db.execute(\"SELECT count(*) FROM docs WHERE docs MATCH 'erm'\").fetchone()[0] != 1 else None; db.close()" # buildkit
# 2026-10-14 12:26:18 1.72MB 复制新文件或目录到容器中
COPY /opt/sqlite-fixed/lib/libsqlite3.so.3.53.4 /usr/local/lib/ # buildkit
# 2026-10-14 12:25:54 0.00B 执行命令并创建新的镜像层
RUN |1 HERMES_BOT_DESKTOP=0 /bin/sh -c if [ "$HERMES_BOT_DESKTOP" = "1" ]; then apt-get -o Acquire::Retries=3 update && DEBIAN_FRONTEND=noninteractive apt-get -o Acquire::Retries=3 install -y --no-install-recommends tigervnc-standalone-server xfce4-panel xfwm4 xfdesktop4 xfce4-settings xfce4-terminal dbus-x11 x11-xserver-utils x11-utils x11-xkb-utils xauth fonts-dejavu-core chromium && rm -rf /var/lib/apt/lists/*; fi # buildkit
# 2026-10-14 12:25:54 0.00B 定义构建参数
ARG HERMES_BOT_DESKTOP=0
# 2026-10-14 12:25:54 847.36MB 执行命令并创建新的镜像层
RUN /bin/sh -c apt-get -o Acquire::Retries=3 update && apt-get -o Acquire::Retries=3 install -y --no-install-recommends ca-certificates curl iputils-ping python3 python-is-python3 gcc g++ make cmake python3-dev python3-venv libffi-dev libolm-dev libatomic1 procps git openssh-client docker-cli xz-utils libasound2t64 libatk-bridge2.0-0t64 libatk1.0-0t64 libatspi2.0-0t64 libcairo2 libcups2t64 libdbus-1-3 libgbm1 libglib2.0-0t64 libnspr4 libnss3 libpango-1.0-0 libx11-6 libxcb1 libxcomposite1 libxdamage1 libxext6 libxfixes3 libxkbcommon0 libxrandr2 && rm -rf /var/lib/apt/lists/* # buildkit
# 2026-10-14 12:25:54 0.00B 设置环境变量 PLAYWRIGHT_BROWSERS_PATH
ENV PLAYWRIGHT_BROWSERS_PATH=/opt/hermes/tools
# 2026-10-14 12:25:54 0.00B 设置环境变量 PYTHONDONTWRITEBYTECODE
ENV PYTHONDONTWRITEBYTECODE=1
# 2026-10-14 12:25:54 0.00B 设置环境变量 PYTHONUNBUFFERED
ENV PYTHONUNBUFFERED=1
# 2026-05-05 08:00:00 119.87MB
# debian.sh --arch 'amd64' out/ 'trixie' '@1777939200'
镜像信息
{
"Id": "sha256:72cd23dcea49ddb3a2ccf6cb24b9b38088034ab2b465c68913730d25678dd01f",
"RepoTags": [
"nousresearch/hermes-agent:v0.22.1",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nousresearch/hermes-agent:v0.22.1"
],
"RepoDigests": [
"nousresearch/hermes-agent@sha256:861c9756ed6c558530c73d5c27860343b00c0d5efd6997a1d8ec6416c8a2b485",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nousresearch/hermes-agent@sha256:cd9cb455576d27c9b6311de1104494ad7e221b6e68dc77e9ac2a8af661a4dc21"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-10-14T22:20:47.13836689Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "root",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/opt/hermes/bin:/opt/hermes/.venv/bin:/opt/data/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"PYTHONUNBUFFERED=1",
"PYTHONDONTWRITEBYTECODE=1",
"PLAYWRIGHT_BROWSERS_PATH=/opt/hermes/tools",
"HERMES_RUNTIME_DIR=/opt/hermes/tools",
"HERMES_PYTHON=/opt/hermes/.venv/bin/python",
"CC=gcc",
"CXX=g++",
"HERMES_WEB_DIST=/opt/hermes/hermes_cli/web_dist",
"HERMES_TUI_DIR=/opt/hermes/ui-tui",
"HERMES_HOME=/opt/data",
"HERMES_WRITE_SAFE_ROOT=/opt/data",
"XDG_RUNTIME_DIR=/tmp/hermes-runtime"
],
"Cmd": null,
"ArgsEscaped": true,
"Image": "",
"Volumes": {
"/opt/data": {}
},
"WorkingDir": "/opt/hermes",
"Entrypoint": [
"/opt/hermes/docker/entrypoint-dispatch.sh"
],
"OnBuild": null,
"Labels": null
},
"Architecture": "amd64",
"Os": "linux",
"Size": 3197687036,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/f2a1de6b83993769904fb9f453c0ec33dc1f847244ab8ef72e986bf4dd65aaeb/diff:/var/lib/docker/overlay2/706cedf20b8a573d30a6088682b87c6978a9f9066ad1c9b2670a580cfde7a90d/diff:/var/lib/docker/overlay2/e71c6e8f5921491fda5c970e425c07b4c872d8e2967e73654353964816b2bd7f/diff:/var/lib/docker/overlay2/2c5647f9a493d60df0727725a18970d03c3959304a8cece86229d4d253181b35/diff:/var/lib/docker/overlay2/6beaddc3dd2da33a1f6e61037d9a1d583cd4ff8ef46c6a9829289d65b4d0ab5b/diff:/var/lib/docker/overlay2/d3d9995350092e0a7e0b6014275df11603a18f2d8636ce15f76fb1aca3b978b8/diff:/var/lib/docker/overlay2/e0823cceaaf2dd3bbbfc2e5082630b8ed17ad5185e4fcbc22ef5420997df6de9/diff:/var/lib/docker/overlay2/58551f94557119f449a3eef5728fdf43af4b5f56eab8d792a38a253abf43c2a0/diff:/var/lib/docker/overlay2/d5293123762e71eb7fedb3b69db64d747050a9f4ff8f43dfa0a731f8ce211213/diff:/var/lib/docker/overlay2/e5c69dc64b9f46e518eca60241277e3e6cc8513cdd9fb58e775967524f2f4aa4/diff:/var/lib/docker/overlay2/7d3c1d12315f2aa9d8b4d9dd2d552f77654781622e4db69a564bfa9c332d5359/diff:/var/lib/docker/overlay2/6e20066d403d603533990e11397f2fbf97e580d8959f7b4e20ee344611d59b53/diff:/var/lib/docker/overlay2/6a6fe5e46290be553c64324eb2ec06e2278963ba79e0864b45cfcae350357b38/diff:/var/lib/docker/overlay2/b86b825df835cf9e8b0bd02f0b4803d8caac131295b1a54b05ec8b0db25e7183/diff:/var/lib/docker/overlay2/2b90f5489fabe6233555f30e88d3348b9321ee9bfac82e4008f69f1d0c7a7681/diff:/var/lib/docker/overlay2/6c50b7efdd6594b533418f8cd19ef374ab47a0039936ee50939c17d821fde576/diff:/var/lib/docker/overlay2/f2d52d3ccd0bd910c7d67473a57e428e0fb1dfe07cac42718386e19eb38084a8/diff:/var/lib/docker/overlay2/8791c3346348f407aa6c9df052f23e4ab3ed602be7c1798c085ec01b871a99b7/diff:/var/lib/docker/overlay2/fa3ab0ea481e2b1fbff005bdf8567acf7e9d42f0d79c9ad0eeab7d1ab029b652/diff:/var/lib/docker/overlay2/c4db97a0ef8c02a395ff485deb62b8ea44609af30bd98297858c2a037383659e/diff:/var/lib/docker/overlay2/9fd098d7af09a82a8291f8b9047daee65577ffa7b838ed1c634944bb074c5d15/diff:/var/lib/docker/overlay2/e08407e79225c39815bca80d286a6cb0c859675639dd91d3db12dbcb86e1b7b2/diff:/var/lib/docker/overlay2/ffd8c21eabbe87cd215825ef5d0a1cc3f0432e3916cee0c30177ae04af3cb882/diff:/var/lib/docker/overlay2/93a14ab9edbfb62126c83ab747cfbc466075fe00380ea7ecbd56d0ac5ab1ce55/diff:/var/lib/docker/overlay2/6f6ca3a9bd3b291ba77c8b5ce7f945a9dbcf2879d789108cbb46bb666cd02a68/diff:/var/lib/docker/overlay2/f6b21e92beb0507dc77bea1cceac78a569bc79b956574113156409db4acba544/diff:/var/lib/docker/overlay2/85eb839d1aa51be42061f850929e57492d1e083183eae0e33f1e9837e751c463/diff:/var/lib/docker/overlay2/510c208af84ac9f7280193dfc2c054ab2aa855eb18f329c98bb1ec64a6acefc5/diff:/var/lib/docker/overlay2/b8d5ce533460bb16280bd56de9119bcb4a888ab4f50abc79c1a7a5e72f2d334f/diff:/var/lib/docker/overlay2/6865ee9c0fca87ca49eb24256ab125fa1c1846b32e5d3f6b27b5b94aa97679bc/diff:/var/lib/docker/overlay2/edece3ddfda0e5b202dc5093efd46a063a3fd14dfe4bad4dd71544775a7c0eca/diff:/var/lib/docker/overlay2/b2917d17add9d27d81602a0c33f1e66328e56103f358ebfcfe2a1c0524992217/diff:/var/lib/docker/overlay2/42333765b2b8f94094c003c674282857ee9862181fad21238b3a4e8046a8be57/diff:/var/lib/docker/overlay2/2db40cd330124a9a4f14d8c446776c9b07c41dbd9344e09405717964f47331e0/diff:/var/lib/docker/overlay2/307926592f22dd5e6d9e7428c7f0d0a6766889312c6c2d1f5ec983c739b0b79e/diff:/var/lib/docker/overlay2/4d8f2eaf753018ad270c794c2eae6cf7dce5ee164141fab0624be6b67a0b62df/diff",
"MergedDir": "/var/lib/docker/overlay2/2233107df50fe0f375a83684b9bbf7a93836d2245f5ec398ab38685aacb6d7d8/merged",
"UpperDir": "/var/lib/docker/overlay2/2233107df50fe0f375a83684b9bbf7a93836d2245f5ec398ab38685aacb6d7d8/diff",
"WorkDir": "/var/lib/docker/overlay2/2233107df50fe0f375a83684b9bbf7a93836d2245f5ec398ab38685aacb6d7d8/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:5222f025e44ae24949e8880713955891ae0bd339afd3adb699d66e1cd603e2fa",
"sha256:48f1c3749cff6ded05873526832cb6e8fe3e36f3b86cf3a9f07aa4ed8a361fd8",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:3f9b95176ae8ae4b3289383afb515f5844a962a939902696c5cf682f31290633",
"sha256:e19d7fb46e14f3c28702d6a3b84ac006a19e7553d280919c4427998a5b551612",
"sha256:b342ea4da0c0432382a9c9b54c3572d4f4c7e1b643abd66ed7545ece941680ef",
"sha256:f7801c29234037c3d43c951e7659e62046e545c473c661b0a53e6ef9fab6f7c0",
"sha256:a2913f0f348f4a0cd9714c72b63dbc212affb018848a735fe2b43ff7d8702fe9",
"sha256:a3087878c4f69fc65da448ca94e7860049ec4c3cdb6c18d09e18df62ae5c585c",
"sha256:3c31fe2254d54d283dcba73c9574c08626fb0f0f0446b734a41c629c489c53bd",
"sha256:42ffba9a124133b573af9a8be6310b9c76980411446c64383cc1cd634ad439e8",
"sha256:a97eadfc079d658102970097ddd7667c955034541959998ba5ea5247c8b107a8",
"sha256:8197cf461fec9bd2f60c5fd31135f27e7baf7755910b86bce5d50bd13c3adbf1",
"sha256:15e356a33215448fbd40d0dde0b78ae7990af33ad59b6838c59998dce4ba7c8c",
"sha256:74c200323e4fb2809c16a2a9a5d44d036a85e6f57092d8f23d288cf62f2398e9",
"sha256:15a8f98a2ae05a9589425cbbfa96fb1d6a8531fc8b802e429d0b7de28067b046",
"sha256:bc319f057d784391d2a8cb19c7eba594888b6101c923fab8f04083456a5b7cf8",
"sha256:9fe2844babe056e6bd9a87d2e2543016ece203cef05c129778ff4edff63d7512",
"sha256:88a9bf41d88751608af7ec18c2fcf44be3040f2e613402ff5823def072746922",
"sha256:f2a22ddb21191b4b631121ae05be07f777d5492e19a1594314926eb08b8eab57",
"sha256:4e43c007a3098a0443f64ab884e9bd1e08650cda28be547a3a6f1a3d098dbf57",
"sha256:7c07df408bf44dd2f64d3fce1f010f74c3fe2104267ed6fb667cfc0c60c970e2",
"sha256:ac79816d365d3342db7c384fdfc270f52030ce7a5f587973fe840cce97b6c962",
"sha256:8e23928f2b3611d2f83f197ce3cfa2fb4c69d3b38aca543c6193e55df950cff4",
"sha256:53e1fd25e1602bfc40e5cbd0417088ee7617aa26104a874de03fff18e1a6c23f",
"sha256:ad2c37417c9ba98312aa3b00cb46b6077ef425713094dc4ed145dc2ea83ba696",
"sha256:a66af3de44629cbf4eb74974fda5fd7208fba167d0032e55ad240c8a34140b33",
"sha256:48fd779ab17338e235000fb4c5b017a9173ed7b0765a63b4ff96157212711682",
"sha256:0aa05dccde929e1c570c59f9ffad094367a5179cf8372d8bebb821594cb9a4ad",
"sha256:086917afd92a740e018fbcf6119d0841f37d8ee9080529dd3d57f5ae97149828",
"sha256:f6a26cabc37bb4e3c9b58f85945421ab4d28e615f1081bbb451c68d085362b12",
"sha256:6c44c86ad6eef77d0225d8897a46ac87ff2410c6106e0596e855fd0adf04a575",
"sha256:daa17475ae0c2d8c90dfc0398c6ce4d4c3a38508e09ad89dc22fde060f6ca297",
"sha256:2a7a735a0cb0c9602bcd138c042c5c6484599528e9ba4c37d8ab202bb3eaef4f",
"sha256:6733d3f2f99dfacc736a63440d53e9a544299c8c23d50d9be74a5316a0b285d9",
"sha256:b8ad147fa90cccf5f1937769865d096b66d761e87ffd62eb5bf42f1e81149838",
"sha256:4dbf06859356eef0d96e524ba04e7ed9512eefb4d90eb791ce8c617edea16557"
]
},
"Metadata": {
"LastTagTime": "2026-10-15T14:32:40.13202348+08:00"
}
}