← Home

Guide

Hermes Agent + Paperclip AI: Wire Paperclip File Tasks to a Hermes Backend

Paperclip AI handles document-grounded tasks — summarize this PDF, extract this CSV, label these images. Hermes Agent runs the long-running agent layer that decides when to call Paperclip, where to put the results, and which channel (Telegram, Discord, web) to reply on.

What Paperclip AI Does Well

  • Multi-format document ingestion (PDF, DOCX, XLSX, CSV, images)
  • Structured extraction (table-to-JSON, form fields, OCR)
  • Long-doc summarization with citations

What Hermes Does Well

  • Stateful agent loops — remembers what you uploaded yesterday
  • Multi-channel reach — the same agent fields requests on Telegram, Discord, web
  • Tool calls — can chain Paperclip extraction into a Slack message, a DB write, a follow-up email

Architecture

Telegram / Discord / Web → Hermes Agent
                                ↓ tool_call: paperclip.extract
                            Paperclip API
                                ↓ structured JSON
                            Hermes Agent → reply / store / forward

Step 1: Get a Paperclip API Key

Sign up at paperclip.ai, generate an API key in the dashboard.

Step 2: Add Paperclip as a Hermes Skill

Create a skill at ~/.hermes/skills/paperclip-extract/SKILL.md:

---
name: paperclip-extract
description: Send a file URL to Paperclip AI for structured extraction. Use when user uploads a PDF/DOCX/XLSX and asks to extract / summarize / parse.
---

# Paperclip Extract

Pipe a file through Paperclip AI's extraction endpoint.

## Steps

1. Get the file URL from the user message or attached file
2. Call `scripts/extract.sh <url> <prompt>`
3. Return the JSON output formatted for the channel

And the script:

#!/bin/bash
# ~/.hermes/skills/paperclip-extract/scripts/extract.sh
curl -s -X POST https://api.paperclip.ai/v1/extract \
  -H "Authorization: Bearer $PAPERCLIP_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"url\": \"$1\", \"prompt\": \"$2\"}"

Step 3: Pass the Key to Hermes

docker run -d \
  -e PAPERCLIP_API_KEY="pk_..." \
  -v $HOME/.hermes:/root/.hermes \
  ghcr.io/nousresearch/hermes-agent:latest

Step 4: Test From a Channel

Send a Telegram message: “Summarize this PDF: https://example.com/report.pdf”. Hermes routes to the paperclip-extract skill, which posts the URL to Paperclip, gets the structured response, and replies in Telegram.

Hermes on OpenClaw Launch + Paperclip

For managed Hermes, drop the same skill into the Skills Hub installer. The Hermes Agent Skills guide covers Dashboard-driven skill installation. Set PAPERCLIP_API_KEY in the env tab of your instance.

Why Not Use Paperclip Standalone?

Paperclip is request/response — you give it a file, it gives you JSON. It doesn't remember previous extractions, doesn't talk on Telegram, doesn't chain calls. Hermes provides the agent loop around Paperclip's file-processing primitive.

Limits

  • Paperclip rate-limits at 100 req/min on the free tier — queue Hermes calls if you expect bursts.
  • Max file size: 50MB per request — split larger docs before extraction.
  • Cold-start latency for first request after idle — Hermes should fall back gracefully on 503.

What's Next?

Deploy Hermes

Hermes Agent with skills like paperclip-extract pre-installed, managed on OpenClaw Launch.

Deploy Hermes