镜像构建历史
# 2026-10-12 11:22:10 0.00B 设置默认要执行的命令
CMD []
# 2026-10-12 11:22:10 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/opt/hermes/docker/entrypoint-dispatch.sh"]
# 2026-10-12 11:22:10 0.00B 创建挂载点用于持久化数据或共享数据
VOLUME [/opt/data]
# 2026-10-12 11:22:10 0.00B 设置环境变量 HERMES_PYTHON
ENV HERMES_PYTHON=/opt/hermes/.venv/bin/python
# 2026-10-12 11:22:10 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-12 11:22:10 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-12 11:22:10 1.12KB 复制新文件或目录到容器中
COPY --chmod=0755 docker/entrypoint-dispatch.sh /opt/hermes/docker/entrypoint-dispatch.sh # buildkit
# 2026-10-12 11:22:10 3.71KB 复制新文件或目录到容器中
COPY --chmod=0755 docker/hermes-exec-shim.sh /opt/hermes/bin/hermes # buildkit
# 2026-10-12 11:22:10 0.00B 设置环境变量 XDG_RUNTIME_DIR
ENV XDG_RUNTIME_DIR=/tmp/hermes-runtime
# 2026-10-12 11:22:10 0.00B 设置环境变量 HERMES_WRITE_SAFE_ROOT
ENV HERMES_WRITE_SAFE_ROOT=/opt/data
# 2026-10-12 11:22:10 0.00B 设置环境变量 HERMES_HOME
ENV HERMES_HOME=/opt/data
# 2026-10-12 11:22:10 0.00B 设置环境变量 HERMES_TUI_DIR
ENV HERMES_TUI_DIR=/opt/hermes/ui-tui
# 2026-10-12 11:22:10 0.00B 设置环境变量 HERMES_WEB_DIST
ENV HERMES_WEB_DIST=/opt/hermes/hermes_cli/web_dist
# 2026-10-12 11:22:10 2.23KB 复制新文件或目录到容器中
COPY --chmod=0755 docker/cont-init.d/02-reconcile-profiles /etc/cont-init.d/02-reconcile-profiles # buildkit
# 2026-10-12 11:22:10 4.00KB 复制新文件或目录到容器中
COPY --chmod=0755 docker/cont-init.d/015-supervise-perms /etc/cont-init.d/015-supervise-perms # buildkit
# 2026-10-12 11:22:10 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-12 11:22:10 4.98KB 复制新文件或目录到容器中
COPY docker/s6-rc.d/ /etc/s6-overlay/s6-rc.d/ # buildkit
# 2026-10-12 11:22:10 574.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-12 11:22:10 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-12 11:22:10 0.00B 指定运行容器时使用的用户
USER root
# 2026-10-12 11:22:10 3.97MB 执行命令并创建新的镜像层
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-12 11:22:10 79.86MB 复制新文件或目录到容器中
COPY --chmod=a+rX,go-w . . # buildkit
# 2026-10-12 11:22:09 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-12 11:22:09 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-12 11:22:09 3.19MB 复制新文件或目录到容器中
COPY /opt/products/web /opt/hermes/hermes_cli/web_dist # buildkit
# 2026-10-12 11:22:09 3.95MB 复制新文件或目录到容器中
COPY /opt/products/tui /opt/hermes/ui-tui # buildkit
# 2026-10-12 11:22:09 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-12 11:22:07 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-12 11:22:07 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-12 11:22:07 24.35MB 复制新文件或目录到容器中
COPY /opt/hermes/node_modules/typescript /opt/hermes/node_modules/typescript # buildkit
# 2026-10-12 11:21:53 471.10MB 执行命令并创建新的镜像层
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 --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-12 11:21:10 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-12 11:21:10 1.25MB 复制新文件或目录到容器中
COPY pyproject.toml uv.lock ./ # buildkit
# 2026-10-12 11:21:10 0.00B 设置环境变量 CC CXX
ENV CC=gcc CXX=g++
# 2026-10-12 11:21:10 0.00B 设置环境变量 HERMES_PYTHON
ENV HERMES_PYTHON=/usr/local/bin/python3
# 2026-10-12 11:21:10 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-12 11:21:09 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-12 11:20:47 7.97KB 复制新文件或目录到容器中
COPY scripts/bundles/payload.py scripts/bundles/payload.py # buildkit
# 2026-10-12 11:20:47 14.25KB 复制新文件或目录到容器中
COPY hermes_cli/__init__.py hermes_cli/runtime_state.py hermes_cli/ # buildkit
# 2026-10-12 11:20:47 63.91KB 复制新文件或目录到容器中
COPY hermes_constants.py hermes_constants.py # buildkit
# 2026-10-12 11:20:47 648.11KB 复制新文件或目录到容器中
COPY pm/ pm/ # buildkit
# 2026-10-12 11:20:47 0.00B 设置环境变量 HERMES_RUNTIME_DIR
ENV HERMES_RUNTIME_DIR=/opt/hermes/tools
# 2026-10-12 11:20:47 0.00B 设置工作目录为/opt/hermes
WORKDIR /opt/hermes
# 2026-10-12 11:20:47 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-12 11:20:47 2.73KB 复制新文件或目录到容器中
COPY --chmod=0755 docker/tini-shim.sh /usr/bin/tini # buildkit
# 2026-10-12 11:20:47 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-12 11:20:46 0.00B 定义构建参数
ARG S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e
# 2026-10-12 11:20:46 0.00B 定义构建参数
ARG S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581
# 2026-10-12 11:20:46 0.00B 定义构建参数
ARG S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563
# 2026-10-12 11:20:46 0.00B 定义构建参数
ARG S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf
# 2026-10-12 11:20:46 0.00B 定义构建参数
ARG S6_OVERLAY_VERSION=3.2.3.0
# 2026-10-12 11:20:46 0.00B 定义构建参数
ARG TARGETARCH=amd64
# 2026-10-12 11:20:46 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-12 11:20:46 1.72MB 复制新文件或目录到容器中
COPY /opt/sqlite-fixed/lib/libsqlite3.so.3.53.4 /usr/local/lib/ # buildkit
# 2026-10-12 11:20:29 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-12 11:20:29 0.00B 定义构建参数
ARG HERMES_BOT_DESKTOP=0
# 2026-10-12 11:20:29 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-12 11:20:29 0.00B 设置环境变量 PLAYWRIGHT_BROWSERS_PATH
ENV PLAYWRIGHT_BROWSERS_PATH=/opt/hermes/tools
# 2026-10-12 11:20:29 0.00B 设置环境变量 PYTHONDONTWRITEBYTECODE
ENV PYTHONDONTWRITEBYTECODE=1
# 2026-10-12 11:20:29 0.00B 设置环境变量 PYTHONUNBUFFERED
ENV PYTHONUNBUFFERED=1
# 2026-05-05 08:00:00 119.87MB
# debian.sh --arch 'amd64' out/ 'trixie' '@1777939200'
镜像信息
{
"Id": "sha256:c5b3d012904695f6de25584384b6c19d8ec575794928777c956cbc0d7dc90576",
"RepoTags": [
"nousresearch/hermes-agent:rc.15-v0.21.7",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nousresearch/hermes-agent:rc.15-v0.21.7"
],
"RepoDigests": [
"nousresearch/hermes-agent@sha256:444b42594e7f467425872fc35e077a227d377f0fe0726bc818706d62175fad8b",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nousresearch/hermes-agent@sha256:3140cc382d3f21a18019d28a1f89efb2af21ae9f86364895ccc019c7c7f8a446"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-10-12T03:22:10.956560515Z",
"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": 3193905350,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/f36bc334c504bd24e0b4a2b2988ad87095e311fe3ff5187b91dbe75283dd5c90/diff:/var/lib/docker/overlay2/b3ed85735b1f3bb4eed4264c191192c912e47f5a2ca64efc578e7c63b5190c02/diff:/var/lib/docker/overlay2/cd1cfbba70d9161fdf7291df5597232b17605199fc93fb5c7710f1bab04730d2/diff:/var/lib/docker/overlay2/60a212bb09cf626ffe9eb1dce6abeb91d37e82285fddfc95c16f0b918f42daeb/diff:/var/lib/docker/overlay2/ddb0338968bfd7265fc3d941335c9df74be20fbdeae466b2521c9bf337e86290/diff:/var/lib/docker/overlay2/82f55789334465a669644eeee270360ca6fbe62b785355111a1259ad9493f248/diff:/var/lib/docker/overlay2/f914eeb3e7b8232cfaf3a6b56f528e09059f7bd73a8855a84e15c4e3c6886c6c/diff:/var/lib/docker/overlay2/3b7d29a0e5f912e1b94080ed7271223be1b79548b0f734429af03913bd88c3f5/diff:/var/lib/docker/overlay2/723b6c3fce244436a0257341997bc90f2f459dab29952bb0f469ecf993cee65c/diff:/var/lib/docker/overlay2/84d816949bfa0917b71683b9946453ae645a7cff511170c0b4f7ff57b332bc3f/diff:/var/lib/docker/overlay2/0baccd92ffb87e0767ae2c557c5102fd85dc2c773ac469a73008f5ea621d5d14/diff:/var/lib/docker/overlay2/b0dd719f3b0cb596bcdcc8a6cdeac0a77f1ed7f49fc05bfa05858e5661a94b99/diff:/var/lib/docker/overlay2/2e97f17b20a31342672fcd78db02025ae238ff76ea275766dcc587373aab4372/diff:/var/lib/docker/overlay2/d959220b1e38cb15d6386a7cd0ca25d592af82b5bb055613a42260af4715eeb3/diff:/var/lib/docker/overlay2/c38bdd68a9f534e08abe73e790ba6a0ddab51ae146ef9b276ee9e28a8f4910ac/diff:/var/lib/docker/overlay2/af9dc62bcc16f0182b7886f2d86ab9a9b31df3497a68651d433a092e4394b21d/diff:/var/lib/docker/overlay2/77e1cc111a87c0afeb9157c590583481d442837ad77acc58d10eeb1f68bfeb13/diff:/var/lib/docker/overlay2/36632497d34d4d639eef28ba19a57d606b8e21839968a7eae4ec4bc099c146d9/diff:/var/lib/docker/overlay2/dbcb28dc78a1ec729e0f6f50a729dad3d271f320aca98c2624db6f4f02ea1c62/diff:/var/lib/docker/overlay2/99b5e515e26204139660be289458c25d5d8f9c3e13c09d44e1722543f890e823/diff:/var/lib/docker/overlay2/d9f910514203e04923a428bfa0eccedbd061282ae6aa9b309b89bbce512346ed/diff:/var/lib/docker/overlay2/358d99bf8071354dc4886c0aad3d3b0b81e5ea1b63610969bfd3a1487f0c4887/diff:/var/lib/docker/overlay2/c82d4177c1f0525a8f8cfced8ed5b14bc4bd43a6c452b15fa4d6082560481d2d/diff:/var/lib/docker/overlay2/f07f4d033b8a390bb99ef84b4632066d6126801f45a7c94b5c6829e44576871b/diff:/var/lib/docker/overlay2/b71f12dcc7409b75479bdb4c6108ee811f22933d197ae3a66922e6ee08d65b5e/diff:/var/lib/docker/overlay2/c6efe7343810fffff755c3b38403b75d1b605bb398114ad384f4ae6d2ba59938/diff:/var/lib/docker/overlay2/e3f265aecdfcb5ed83370e0a6e6f3879de25a14f67482149a1c5534488b837c9/diff:/var/lib/docker/overlay2/1d08cceafd9719c14373f8f035917484502f770bba6468ca9f125deda71084f3/diff:/var/lib/docker/overlay2/fe4fccb0f8eca7d1d5082c6f68d9521b7db3ba7e8a45a4464c0d7a63fc005f2d/diff:/var/lib/docker/overlay2/a4fb32e1b305b6d261da0f12efa13389cf7930e3935b9fc24120f4257cb1385a/diff:/var/lib/docker/overlay2/6218fa68ef2cdcc64b58bf75d51a8cff08eac7b69fbe591b44b3d800ad0d8b4c/diff:/var/lib/docker/overlay2/0f4b129df2a583bb52410b3e6ec6913cec94f558d0b69ff50882d0125144be20/diff:/var/lib/docker/overlay2/17bcc7a06c90bfa9ff699e9251d54b91dab46cbfe4e2f247ae1f4041e42d0110/diff:/var/lib/docker/overlay2/33d74e3dcc4fdc8e36295ce90f7bb135fd77f3386fe71beb6e4b2d5338a1d2f4/diff:/var/lib/docker/overlay2/3cb0ef847b78a8a12eb79f8ca25eee0027d676925d55e3baf841bf8529cbfed9/diff:/var/lib/docker/overlay2/4d8f2eaf753018ad270c794c2eae6cf7dce5ee164141fab0624be6b67a0b62df/diff",
"MergedDir": "/var/lib/docker/overlay2/afdfd63b811d122c303e3b242006b5dd533aa3a02817bbc06e9cc62accd23a2e/merged",
"UpperDir": "/var/lib/docker/overlay2/afdfd63b811d122c303e3b242006b5dd533aa3a02817bbc06e9cc62accd23a2e/diff",
"WorkDir": "/var/lib/docker/overlay2/afdfd63b811d122c303e3b242006b5dd533aa3a02817bbc06e9cc62accd23a2e/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:5222f025e44ae24949e8880713955891ae0bd339afd3adb699d66e1cd603e2fa",
"sha256:f7d382ee42d3543d5380b35d4a644ff9a4b856180dc2d81721e43ed1e5ddeca7",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:afaa650f41f10823743cbbecb71e334116151a89b1487b37988a7299c645c95e",
"sha256:253a43274aef174cd826a3f8d4162fbb8aaf37fa6e0ffacea372ab27a9f24ed1",
"sha256:b342ea4da0c0432382a9c9b54c3572d4f4c7e1b643abd66ed7545ece941680ef",
"sha256:61ed9325296fb3aa6845723a64c5b34d1799c18d262d58ae651cb5f2c2e4ffaf",
"sha256:635b3d12485a02f738949b8a79176ecbb4ac27139c6a403855f0d72d4f9600e4",
"sha256:62c3ff242326911fcc11b37177f2c3cf84e2bc427e8bce795510a38107561004",
"sha256:e327330f87e65b41650940a715d50b24fe745e1f6e39709c259d965c322db06a",
"sha256:4559a331baaa75d08170ec6dbb0309451a8c6019e800c72bf4a6d0926b2b1e46",
"sha256:132d103c7d54029a41d4bd1fab94d9ae841fc84ed990497238750204045ef6af",
"sha256:e2f2202f37dfcd0533011b45c4a0e7eaa09b6df91fa3469f50b3c131b542e9f9",
"sha256:cd1ea774b9ebd93f8f7c53f1252e621d0175b4f2a47ceabbba5fbee49f8bb94b",
"sha256:ba76f4b21c85a2fa0c85ef098351d8ea52cd006d3224da74c382cb7392855210",
"sha256:108e1a1666593c07fe79439b1280ed6ec7e4c75547178d565ef8523035c967bb",
"sha256:ebb43a153a6763cd79b094526f68cf338b94e7fdbd7b3a0dedc155cb1112e65a",
"sha256:0eeacf742f363a039ffcbfe3deb61427261de320e1f08b723f7f92b9f9c55f15",
"sha256:7c73d4e74b922c10d98548f423b3a9a216d76cdd598bd778522509f2a812c2e2",
"sha256:dedb059473334821f1adf81431397bbbbe3c440f6d06bca8fd55c974074ca0ab",
"sha256:d26cc66e8fa8a9c0d90dbf22ce41aa1052c4561d79618d4a84dfc656be818dc2",
"sha256:607e7f793f12d2b83a3deee7f77cd124bed4b1c71c1e2323c6e28f35f0e4e4e5",
"sha256:03f2cfa93b2e877f807096f22d144d0787262d5325ea1dcb74eb5f7dfbf4c020",
"sha256:d2d26d16f14cabc93b6c4a2ec61d8fb1f3e795c9972148d2d8e7cd1a6588864c",
"sha256:fbe48aab94c09e8f54bd4aadb6973f343c37ed68e297c9c0698b044392b91e44",
"sha256:24a4378b13ca849e8139e0360c6537ddc4556368599a577aa7a094b4b96d6f63",
"sha256:bf438dd539a4f74927500395bcf937469c2c9dc6be050d373d17aaf64a7a42ae",
"sha256:a33ec3be0995665f80a6681b5d87746d6e1513f0819684eac227463ecc7fa239",
"sha256:33759fb6cc01147285275e94d4716a90fdd1f77a30fe7a3065480e6a28ee7d4c",
"sha256:c75db202f3471b7906201339bbbed9fc9521aa15db00abe865e994c7581bb15a",
"sha256:b34d65fa34e36e0e5a65c8d4d8cd1778c0f74991c13a669abcdac4f019820d71",
"sha256:33ab6d26df58c7007332ac925f13b1c00f0924553aa955fa14969191b6a8593f",
"sha256:755d6f2e6cd2aecf435fe9a835be4c88ff5aac3222858008388b627aaaeaec69",
"sha256:664c655464b4baec00551a0854765559ab804703b5ce6791c1b52712c8f6f83c",
"sha256:6b96c338336c3d611c85ed0db8a1a3a0da89667a00ff3284cb2cf44d1d9da11b",
"sha256:92177148e8fdf9ddb3c0aa52922c50dbc806bd71b3d2e9d9c04f42079f888956",
"sha256:491009ff27c98ba14c0f845efd50621c27a8e1fe5ed05e96f6cebb3e800df486"
]
},
"Metadata": {
"LastTagTime": "2026-10-13T19:42:22.51016429+08:00"
}
}