Self-hosted Docker Compose stack where Paperclip orchestrates a company-style fleet of agents: across 9 departments (Executive, Game Dev, Web/UI, Language Engineers, Cloud/SRE, QA,...
概览
Self-hosted Docker Compose stack where Paperclip orchestrates a company-style fleet of agents: across 9 departments (Executive, Game Dev, Web/UI, Language Engineers, Cloud/SRE, QA, Security/Forensics, Data/AI, Ops) operating as "Heretek Autonomous Fleet". All versions are pinned — never latest (see Version upgrades). Paperclip source: extended from the official build in /tmp/paperclip (paperclipai/paperclip) — we layer on top of it, we do not fork it. 1. The board (or a heartbeat) assigns a ticket to an agent. Paperclip's opencode-local adapter spawns opencode run --format json … with the agent workspace as the process working directory. 2. The call lands on the (scripts/opencode-shim.sh, installed as /usr/local/bin/opencode), which translates the two v1-only flags Paperclip still emits and injects --auto, then execs the real OpenCode v2 binary (/usr/local/bin/opencode-bin). 3. OpenCode loads the agent's : Paperclip copies $XDG_CONFIG_HOME/opencode (i.e.
README
以下为原文 README 节选,完整内容请查看原文。
Heretek-Crew — Paperclip + OpenCode v2 Agent Fleet
Self-hosted Docker Compose stack where Paperclip orchestrates a company-style fleet of OpenCode v2 agents: 51 specialists across 9 departments (Executive, Game Dev, Web/UI, Language Engineers, Cloud/SRE, QA, Security/Forensics, Data/AI, Ops) operating as “Heretek Autonomous Fleet”.
All versions are pinned — never latest (see Version upgrades).
| Component | Pin | Where |
|---|---|---|
| Node base image | node:24-trixie-slim |
docker/Dockerfile (inherited from official Paperclip base) |
| PostgreSQL | postgres:17-alpine |
docker-compose.yml |
| OpenCode CLI | @opencode/[email protected] |
docker/Dockerfile (OPENCODE_CLI_VERSION) |
| OpenCode client SDK | @opencode/[email protected] |
docker/Dockerfile (OPENCODE_CLIENT_VERSION) |
| Reverse proxy (optional) | caddy:2.11.7-alpine |
docker-compose.yml |
| Mesh sidecar (optional) | tailscale/tailscale:v1.104.1 |
docker-compose.yml |
| Browser/QA MCP | @executeautomation/[email protected] |
roles/e2e-browser-qa, roles/ui-ux-designer, roles/a11y-specialist opencode.json (+ fe-perf-eng, mobile-web-eng) |
Paperclip source: extended from the official build in /tmp/paperclip
(paperclipai/paperclip) — we layer on top of it, we do not fork it.
Architecture
graph TD
Human(["Human board"]) -->|HTTPS / Tailscale| Proxy
Human -->|http://127.0.0.1:3100| Paperclip
subgraph HostNetwork ["Host / Docker network 'heretek' (private by default)"]
Proxy{"Caddy reverse proxyprofile: proxy+ Tailscale sidecarprofile: tailscale"}
Proxy -->|paperclip:3100| Paperclip
subgraph PaperclipContainer ["Paperclip container (user 'node' UID 1000)"]
Server["Paperclip server + UIPORT 3100"]
Shim["opencode shim/usr/local/bin/opencode"]
RealBin["real OpenCode v2 CLI/usr/local/bin/opencode-bin@opencode/[email protected]"]
Server -->|spawn opencode run --format jsoncwd = agent workspace| Shim
Shim -->|strips --dirmerges --variant into --model#variantinjects --auto| RealBin
end
Server -->|DATABASE_URLpostgres:5432| Postgres[("PostgreSQL 17volume pgdata")]
Server -->|reads company / agents / runs| Postgres
RolesDir(["./roles - mounted ro at /rolesper-role opencode.json"])
Server -->|agent env XDG_CONFIG_HOME=/roles/rolecopied to temp runtime config| RolesDir
RealBin -->|loads merged role config| RolesDir
Workspaces(["./workspaces - mounted at/paperclip/workspacesagent checkouts"])
RealBin -->|edits / runs in| Workspaces
end
EnvFile[".env - secrets, never baked into image"] -.->|POSTGRES_PASSWORDBETTER_AUTH_SECRETAPI keys| Paperclip
EnvFile -.-> Postgres
How a run flows:
推荐工具
换一个关键词,或者移除筛选条件。
安装
npx skillfish add heretek-ai/heretek-crew