Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,6 @@

# Kaoto stacks
/stacks/kaoto/ @maximilianoPizarro @devfile/che-team

# Hermes stacks
/stacks/hermes/ @akurinnoy
117 changes: 117 additions & 0 deletions stacks/hermes/1.0.0/devfile.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# Hermes — Self-Improving AI Agent Stack
#
# Hermes Agent is a self-improving AI agent by Nous Research.
# Repo: https://github.com/NousResearch/hermes-agent
#
# The hermes container runs the agent runtime which provides:
# - Dashboard web UI on port 9119
# - Messaging gateway for Telegram, Discord, Slack, etc.
# - TUI and CLI chat interfaces
#
# The editor (VS Code, ttyd, etc.) is chosen separately in the dashboard
# and injected into the tools container.
#
# First boot: run `hermes setup` in the terminal to configure
# your API key and model.

schemaVersion: 2.2.2

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
schemaVersion: 2.2.2
schemaVersion: 2.3.0

metadata:
name: hermes
displayName: Hermes AI Agent
description: A self-improving AI agent with tool-calling, web dashboard, and 50+ integrations. By Nous Research.
icon: https://raw.githubusercontent.com/NousResearch/hermes-agent/main/apps/desktop/assets/icon.png
tags:
- AI
- Agent
- Hermes
- NousResearch
projectType: AI
language: Polyglot
version: 1.0.0

attributes:
controller.devfile.io/storage-type: per-workspace

components:
- name: tools
container:
image: quay.io/devfile/universal-developer-image:ubi9-latest
memoryLimit: 1Gi
memoryRequest: 256Mi
mountSources: true

# Hermes Agent container.
# Runs the agent runtime with dashboard on port 9119.
# The official image uses s6-overlay which requires root, so we
# bypass it and run the setup + dashboard directly.
# Config persists in the PVC at /opt/data (HERMES_HOME).
- name: hermes
container:
image: docker.io/nousresearch/hermes-agent:v2026.6.5
mountSources: false
memoryRequest: 512Mi
memoryLimit: 2Gi
command: ["/bin/bash", "-c"]
args:
- |
if ! whoami &>/dev/null; then
echo "user:x:$(id -u):0:user:/opt/data:/bin/bash" >> /etc/passwd
fi
export HOME=/opt/data
cd /opt/data

. /opt/hermes/.venv/bin/activate

for d in cron sessions logs hooks memories skills skins plans workspace home; do
mkdir -p /opt/data/$d
done
[ ! -f /opt/data/.env ] && cp /opt/hermes/.env.example /opt/data/.env 2>/dev/null && chmod 600 /opt/data/.env
[ ! -f /opt/data/config.yaml ] && cp /opt/hermes/cli-config.yaml.example /opt/data/config.yaml 2>/dev/null
[ ! -f /opt/data/SOUL.md ] && cp /opt/hermes/docker/SOUL.md /opt/data/SOUL.md 2>/dev/null

python /opt/hermes/tools/skills_sync.py 2>/dev/null || true

hermes dashboard --host 0.0.0.0 --no-open --insecure &
exec tail -f /dev/null
endpoints:
- name: dashboard
targetPort: 9119
exposure: public
protocol: https
attributes:
cookiesAuthEnabled: true
discoverable: false
urlRewriteSupported: false
volumeMounts:
- name: hermes-data
path: /opt/data

- name: hermes-data
volume:
size: 10Gi

commands:
- id: setup
exec:
label: "Configure Hermes (setup wizard)"
component: hermes
commandLine: hermes setup
workingDir: /opt/data
- id: status
exec:
label: "Show Hermes status"
component: hermes
commandLine: hermes status
workingDir: /opt/data
- id: doctor
exec:
label: "Run diagnostics"
component: hermes
commandLine: hermes doctor
workingDir: /opt/data
- id: restart-dashboard
exec:
label: "Restart Hermes dashboard"
component: hermes
commandLine: hermes dashboard --stop 2>/dev/null; hermes dashboard --host 0.0.0.0 --no-open --insecure
workingDir: /opt/data
7 changes: 7 additions & 0 deletions stacks/hermes/stack.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
name: hermes
displayName: Hermes AI Agent
description: A self-improving AI agent with tool-calling, web dashboard, and 50+ integrations. By Nous Research.
icon: https://raw.githubusercontent.com/NousResearch/hermes-agent/main/apps/desktop/assets/icon.png
versions:
- version: 1.0.0
default: true
1 change: 1 addition & 0 deletions tests/check_odov3.sh
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ ginkgo run --mod=readonly --procs 2 \
--skip="stack: java-websphereliberty" \
--skip="stack: java-quarkus" \
--skip="stack: ollama" \
--skip="stack: hermes" \
--slow-spec-threshold 120s \
--timeout 3h \
tests/odov3 -- -stacksPath "$stacksPath" -stackDirs "$stackDirs" ${args}
Loading