No description
  • Go 66.9%
  • TypeScript 28%
  • Shell 4.4%
  • Dockerfile 0.5%
  • HTML 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-20 23:50:02 -07:00
cmd/studio fix: preserve Hermes runtime ownership and provider credentials 2026-09-20 23:50:02 -07:00
deploy feat: add deployable single-container runtime 2026-09-19 19:45:46 -07:00
docs docs: record Hermes profile compatibility findings 2026-09-19 19:30:28 -07:00
internal fix: preserve Hermes runtime ownership and provider credentials 2026-09-20 23:50:02 -07:00
scripts test: verify asynchronous Agent creation 2026-09-19 20:52:12 -07:00
web feat: add profile testing imports and agent metrics 2026-09-20 19:40:48 -07:00
.dockerignore build: exclude runtime data from image context 2026-09-19 20:17:19 -07:00
.env.example feat: add administrator authentication 2026-09-19 19:54:38 -07:00
.gitignore feat: add deployable single-container runtime 2026-09-19 19:45:46 -07:00
Dockerfile feat: complete advanced V1 management workflows 2026-09-20 01:16:45 -07:00
go.mod feat: complete advanced V1 management workflows 2026-09-20 01:16:45 -07:00
go.sum feat: complete advanced V1 management workflows 2026-09-20 01:16:45 -07:00
Makefile feat: initialize Hermes Studio foundation 2026-09-19 19:17:30 -07:00
README.md feat: complete V1 management and recovery workflows 2026-09-20 09:31:05 -07:00

Hermes Studio

Hermes Studio is a Dockerized control plane for managing multiple Hermes Agent containers and profiles.

Toolchain

  • Go 1.26.8
  • React 19 + TypeScript
  • PostgreSQL
  • Docker-in-Docker
  • Studio Certified Hermes: nousresearch/hermes-agent:v2026.9.14

Development

go test ./...
go run ./cmd/studio

In another terminal:

cd web
npm ci
npm run dev

The backend listens on 127.0.0.1:8080 by default. Set HERMES_STUDIO_LISTEN_ADDR to override it.

Database credentials are runtime-only environment variables documented in .env.example. Never commit a populated .env file. On startup, the backend applies embedded, advisory-lock-protected migrations and inserts missing non-secret defaults without overwriting operator changes.

See docs/DEVELOPMENT_PLAN.md and docs/architecture/OVERVIEW.md.

Offline maintenance

Run these commands while the normal Studio server is stopped, using the same runtime environment and /data volume:

hermes-studio reset-admin-password <username> <new-password>
hermes-studio restore-full /data/backups/<backup-id>.tar.gz <sha256>

Full restore refuses a target that already contains Agents or Agent data. It validates the archive path list, checksum and manifest, restores PostgreSQL, pulls the recorded Hermes images by digest, and recreates Agent containers. Agent and Profile backups can be restored from the web UI after their original IDs/names have been removed; conflicts are never overwritten automatically.