From e079b43b14a31b5495276aac43dd3d726b8f8785 Mon Sep 17 00:00:00 2001 From: orfelorfel23 Date: Thu, 1 Oct 2026 19:50:55 +0200 Subject: [PATCH] feat: Add Hermes Agent service - New service in services/hermes/ with docker-compose.yml - Uses nousresearch/hermes-agent:latest on paperclip-net - Hermes reachable internally at http://hermes:8642 (API) and :9119 (dashboard) - Public dashboard at hermes.orfel.de via Caddy - .env.age encrypted with age for OPENROUTER_API_KEY - README updated with Hermes architecture and PaperClip integration guide --- README.md | 29 +++++++++++++++++++++++++++++ services/hermes/.env.age | Bin 0 -> 349 bytes services/hermes/docker-compose.yml | 15 +++++++++++++++ services/hermes/hermes.caddy | 3 +++ services/hermes/service.enabled | 1 + 5 files changed, 48 insertions(+) create mode 100644 services/hermes/.env.age create mode 100644 services/hermes/docker-compose.yml create mode 100644 services/hermes/hermes.caddy create mode 100644 services/hermes/service.enabled diff --git a/README.md b/README.md index a9c7d93..d47dd58 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ Dieses Repository enthält die Infrastruktur, um PaperClip inklusive Caddy (Reve * **Reverse Proxy:** Caddy * **Datenbank:** Postgres 17 * **Anwendung:** PaperClip (via `ghcr.io/paperclipai/paperclip:latest`) +* **Agent-Runtime:** Hermes Agent (via `nousresearch/hermes-agent:latest`) — Dashboard: `hermes.orfel.de` Alle Volumes werden als lokale Mounts unter `/opt/PaperClip-Data/` auf dem Host abgelegt. @@ -59,3 +60,31 @@ Paperclip ist in seiner Benutzeroberfläche bei der Erstinstallation stark auf o * Klicke hier auf die Schaltfläche **OpenAI (API)**. * Füge exakt deinen **OpenRouter-** oder **Mistral-Key** in das Textfeld ein und klicke auf "Connect". * Paperclip testet den Key nun erfolgreich gegen deinen Provider und lässt dich ins Dashboard! + +## Hermes Agent + +[Hermes Agent](https://github.com/NousResearch/hermes-agent) ist ein Open-Source-KI-Agent von Nous Research, der als eigenständiger Docker-Service läuft und von PaperClip als "Mitarbeiter" eingestellt werden kann. + +### Architektur + +* **Container:** `hermes` (Image: `nousresearch/hermes-agent:latest`) +* **Netz:** Im selben `paperclip-net` — PaperClip erreicht Hermes intern über `http://hermes:8642` +* **Web-Dashboard:** `https://hermes.orfel.de` (Port 9119) +* **Daten:** `/opt/PaperClip-Data/hermes/` auf dem Host + +### Hermes in PaperClip einbinden + +Nachdem der Service gestartet ist, kann PaperClip Hermes als Agenten einstellen: + +1. Im PaperClip-Dashboard → **"Hire Agent"** +2. Adapter wählen: **`hermes_gateway`** +3. Gateway-URL eintragen: `http://hermes:8642` +4. Hermes-Agent konfigurieren und Tasks zuweisen + +### Umgebungsvariablen ändern + +Die `.env` für Hermes liegt unter `services/hermes/.env` (nicht committed). Nach Änderungen neu verschlüsseln: + +```bash +age -r -o services/hermes/.env.age services/hermes/.env +``` diff --git a/services/hermes/.env.age b/services/hermes/.env.age new file mode 100644 index 0000000000000000000000000000000000000000..fe5691bec6445ab6753d1030548fcf079f13a9ae GIT binary patch literal 349 zcmV-j0iyn4XJsvAZewzJaCB*JZZ2XnJ~KV@fhXT6%RgWmjZD zXJuzKIZbs=PBl_5OKV3^HZLz?cXtXcEiE8eYh-##RbxeKMmcI^Hf%Obcr#5kcu`7m zLv1ric6Mn*XK^?$T2V_;L^ujcGu|#3(AV~&g;pwnn{4P>Y2#XbL`}-?iS;4j091am z8iMJ6=XL>LT$vk!h2zi&YHF$my{I5EG2XsQ{L8sw7H?eEqdRSdOt;m7JULEH z=eKG3Uzao@FyYG*NhfS}WL?}mCUf%jR~WD5=HPEHfm_s)3b6aM