# pi-based headless harness: Node 22 + pi + selected pi-agent-config parts + our phase extension. # File tools and builds are delegated to the model host over SSH (pi's ssh.ts example), so this image holds no toolchain. FROM node:22-bookworm-slim RUN apt-get update && apt-get install -y --no-install-recommends git openssh-client ca-certificates curl python3 && rm -rf /var/lib/apt/lists/* RUN npm i -g @earendil-works/pi-coding-agent@0.85.1 ENV HOME=/root RUN mkdir -p /root/.pi/agent/extensions /root/.pi/agent/skills /root/.pi/agent/prompts /root/.pi/agent/agents /work /out # s1lver091/pi-agent-config: skills, prompts, agents, and the subagent extension (gates and UI extensions left out on purpose) COPY pi-agent-config/skills/ /root/.pi/agent/skills/ COPY pi-agent-config/prompts/ /root/.pi/agent/prompts/ COPY pi-agent-config/agents/ /root/.pi/agent/agents/ COPY pi-agent-config/extensions/subagent/ /root/.pi/agent/extensions/subagent/ # ours COPY agent/harness.ts /root/.pi/agent/extensions/harness.ts COPY agent/models.json /root/.pi/agent/models.json COPY agent/round.sh agent/orient.sh /usr/local/bin/ COPY agent/ssh_config /root/.ssh/config RUN chmod +x /usr/local/bin/round.sh /usr/local/bin/orient.sh && chmod 600 /root/.ssh/config WORKDIR /work ENTRYPOINT ["/usr/local/bin/round.sh"]