Run it live during internal install work
Internal operations checklist for creating client installs of Hermes Agent and Paperclip. Clients may see this during the install call, but it is written for the internal installer/operator. Keep terminal commands visible and run them live as verification points. Tailscale/private-network access is a default requirement so the installer can support and maintain the environment after handoff.
Work through the four SAGE phases: Scope → Automate → Generate → Evaluate. Tick items as they are confirmed. Pause whenever client approval, credential entry, OAuth, payment, or public exposure is involved.
Security rule: do not ask for raw card details or passwords in chat or shared docs. The client should approve signups, payments, OAuth prompts, and credential entry directly.
Operator note: keep command blocks visible. Copy terminal commands directly when appropriate, and record final URLs, Tailscale IPs, restart commands, credential locations, output folders, and open risks before handoff.
1. Scope
Clarify the install target, accounts, access, safety rules, defaults, and maintenance path before changing the machine. Tailscale/private access is treated as a standard part of the install so internal ops can provide upkeep later.
Installation goal
By the end of the session, the client should have:
Pre-install decisions
Confirm these decisions before touching the server.
Client prerequisites
Ask the client to prepare these before the session.
Accounts and access
Local information
Security expectations
Target machine requirements
Use a modern Linux host for the smoothest install.
Internal/client account setup
git ls-remote git@github.com:OWNER/REPO.gitTailscale-first remote access default
ssh USER@100.x.x.xssh -L 9119:127.0.0.1:9119 -L 3100:127.0.0.1:3100 USER@100.x.x.xThreat model, permissions, and approvals
2. Automate
Install Hermes and Paperclip, configure required tools and integrations, expose dashboards through the approved private path, and prove the two systems can run useful automation safely.
Environment preparation
Run these checks before installation.
whoami
id
sudo -vuname -a
cat /etc/os-releasegit --version
python3 --version
node --version || true
npm --version || true
curl --versionHermes installation
Hermes is installed first because it becomes the operator interface for the rest of the setup.
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bashhermes --versionhermes setuphermes authhermes chat -q "Reply with: Hermes is working."hermes doctorHermes configuration checklist
Complete the Hermes configuration before connecting external systems.
hermes config pathhermes config env-pathhermes confighermes tools list
hermes toolsRecommended initial toolsets for a client operator install:
Optional Hermes messaging gateway setup
Skip this section if the client will use Hermes only from the terminal.
hermes gateway setuphermes gateway runhermes gateway install
hermes gateway statushermes gateway restartls ~/.hermes/logs/Verification:
Paperclip installation
Paperclip should not run as root when using its embedded PostgreSQL. Create a dedicated runtime user.
/opt/paperclipsudo git clone --depth 1 https://github.com/paperclipai/paperclip.git /opt/paperclipsudo id paperclip 2>/dev/null || sudo useradd -m -s /bin/bash paperclip
sudo chown -R paperclip:paperclip /opt/paperclipcd /opt/paperclip
sudo corepack enable
sudo corepack prepare pnpm@9.15.4 --activatesudo runuser -u paperclip -- bash -lc 'cd /opt/paperclip && pnpm install'sudo runuser -u paperclip -- bash -lc 'cd /opt/paperclip && pnpm paperclipai onboard --yes --bind loopback'Expected important paths:
/home/paperclip/.paperclip/instances/default/config.json
/home/paperclip/.paperclip/instances/default/dbStart and verify Paperclip
sudo runuser -u paperclip -- bash -lc 'cd /opt/paperclip && pnpm dev:once'For a long-running install, start it through a service, tmux session, or helper script rather than leaving it tied to a temporary SSH session.
curl -sS --max-time 5 http://127.0.0.1:3100/api/healthExpected result includes a healthy status such as:
{"status":"ok"}curl -sS --max-time 5 http://127.0.0.1:3100/api/companieshttp://127.0.0.1:3100or the client’s configured private/public URL.
Verification:
Recommended Paperclip helper commands
Create helper commands so the client can start, stop, and inspect Paperclip after handoff.
sudo tee /usr/local/bin/paperclip-start >/dev/null <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
cd /opt/paperclip
exec runuser -u paperclip -- bash -lc 'cd /opt/paperclip && pnpm dev:once'
EOFsudo tee /usr/local/bin/paperclip-stop >/dev/null <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
cd /opt/paperclip
exec runuser -u paperclip -- bash -lc 'cd /opt/paperclip && pnpm dev:stop || true'
EOFsudo tee /usr/local/bin/paperclip-status >/dev/null <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
curl -sS --max-time 5 http://127.0.0.1:3100/api/health || true
printf '\n'
runuser -u paperclip -- bash -lc "cd /opt/paperclip && pnpm dev:list" || true
EOFsudo chmod +x /usr/local/bin/paperclip-start /usr/local/bin/paperclip-stop /usr/local/bin/paperclip-statuspaperclip-statusCreate the first Paperclip organization
Use the UI if the client prefers a guided experience. Use the local API for repeatable setup in trusted loopback mode.
Example local trusted API flow:
curl -sS -X POST http://127.0.0.1:3100/api/companies \
-H 'Content-Type: application/json' \
--data-binary '{"name":"Client Agent Team","description":"Initial client Paperclip organization.","budgetMonthlyCents":0}'For a safe placeholder Hermes CEO/operator agent, use a process adapter that prints a harmless heartbeat rather than executing real work.
Checklist:
Optional Codex-backed Paperclip agents
Only complete this section if the client wants Paperclip agents to execute work through local Codex.
sudo npm install -g @openai/codexsudo runuser -u paperclip -- bash -lc 'codex --version'sudo runuser -u paperclip -- bash -lc 'codex login --device-auth'sudo runuser -u paperclip -- bash -lc 'codex login status && test -f ~/.codex/auth.json && echo auth-json-present'Expected success includes:
Logged in using ChatGPT
auth-json-presentAdapter verification:
curl -sS --max-time 120 -X POST http://127.0.0.1:3100/api/companies/$COMPANY_ID/adapters/codex_local/test-environment \
-H 'Content-Type: application/json' \
--data-binary '{"adapterConfig":{"cwd":"/opt/client-workspace","model":"gpt-5.3-codex","modelReasoningEffort":"medium","dangerouslyBypassApprovalsAndSandbox":true,"timeoutSec":900}}'Expected checks include:
Hermes + Paperclip operating configuration
Configure the system so the client knows who is responsible for what.
Dashboard access and Hermes + Paperclip connection
ssh -L 9119:127.0.0.1:9119 -L 3100:127.0.0.1:3100 USER@100.x.x.xTools and integrations
3. Generate
Create the first useful outputs so the install becomes an activated agent team, not just working infrastructure.
Onboarding interview
Onboarding Interview Prompt:
I want you to run a deep onboarding interview with me as my agent.
Your job is to learn enough about me to become genuinely useful: how I think, what I’m building, what matters to me, how I make decisions, how I like to communicate, what I’m responsible for, and what success looks like.
Treat this conversation as foundational context for our future work together. Use it as a reference point whenever a task requires judgment, prioritization, strategy, or alignment with my goals.
Begin by presenting the interview structure in full, organized into categories. Then ask your questions one at a time, in sequence. Be curious, specific, and adaptive. Ask follow-up questions when something is important or unclear. Keep the conversation focused on gathering the context that will help you support me well over the long term.Starter context and operating notes
First Paperclip artifact
Maintenance notes generated by Hermes
Generate completion check
4. Evaluate
Verify the install with health checks, restart checks, real project tests, troubleshooting coverage, handoff notes, and internal/client sign-off.
Verification script for final install review
Run a final verification before handoff.
Hermes verification
hermes --versionhermes doctorhermes chat -q "Say 'Hermes verification passed' and nothing else."hermes config pathhermes gateway statusPaperclip verification
curl -sS --max-time 5 http://127.0.0.1:3100/api/healthcurl -sS --max-time 5 http://127.0.0.1:3100/api/companiespaperclip-statusOptional Codex agent verification
Troubleshooting guide
Hermes command not found
Hermes cannot call the model
Hermes gateway is silent
Paperclip fails with a PostgreSQL/root error
Cause: embedded PostgreSQL cannot run as root.
Paperclip health endpoint fails
Paperclip UI loads but agents do not work
Paperclip creates recovery or stalled issues
Host blocks Codex sandboxing
Handoff notes template
Complete this before the install session ends.
Client:
Install date:
Installer:
Hermes
- Installed for user:
- Hermes version:
- Config path:
- Env/secrets path:
- Provider/model:
- Enabled toolsets:
- Gateway enabled: yes/no
- Gateway platforms:
- Gateway restart command:
- Known warnings:
Paperclip
- Install path:
- Runtime user:
- Config path:
- Data path:
- UI URL:
- API URL:
- Health endpoint result:
- Start command:
- Stop command:
- Status command:
- Organization/company ID:
- Initial agents:
- Initial projects:
- Adapter type(s):
- Codex auth verified: yes/no/not applicable
- Live runs at handoff:
- Known warnings:
Security and operations
- Who owns credentials:
- Backup plan:
- Approval gates:
- External actions allowed:
- Reporting cadence:
- Escalation contact:
Final verification
- Hermes doctor run: yes/no
- Hermes model test passed: yes/no
- Paperclip health passed: yes/no
- Paperclip UI verified: yes/no
- Paperclip agents verified: yes/no/not applicableClient sign-off
Ask the client to confirm each item before closing the session.
Minimum acceptance checklist
The installation is not complete until these are true: