【教程】在Docker中部署Hermes Agent

转载请注明出处:小锋学长生活大爆炸xfxuezhagn.cn

如果本文帮助到了你,欢迎点赞、收藏、关注哦~

如果这是你第一次运行 Hermes Agent,请在主机上创建一个数据目录,并以交互方式启动容器以运行设置向导:

bash 复制代码
mkdir -p ~/.hermes
docker run -it --rm \
  -v ~/.hermes:/opt/data \
  nousresearch/hermes-agent setup

/opt/data 卷是 Hermes 所有状态的唯一数据源。它映射到主机上的 ~/.hermes/ 目录,并包含:

Path 内容
.env API 密钥和密钥
config.yaml 所有Hermes的配置
SOUL.md Agent个性/身份
sessions/ 对话历史
memories/ 持久内存存储
skills/ 已安装技能
cron/ 计划作业定义
hooks/ 事件钩子
logs/ 运行时日志
skins/ 自定义 CLI skins

切勿同时对同一数据目录运行两个 Hermes网关容器------会话文件和内存存储并非设计用于并发写入访问。与网关并行运行仪表盘容器是安全的,因为仪表盘仅读取数据。

这将引导你进入设置向导,该向导会提示你输入 API 密钥并将其写入 ~/.hermes/.env 文件。你只需执行此操作一次。强烈建议你此时为网关设置一个聊天系统。

配置完成后,将容器作为持久网关在后台运行。

创建 hermes目录,并在里面创建 docker-compose.yaml:

bash 复制代码
mkdir  -p  ~/hermes
cd  ~/hermes
vim  docker-compose.yaml

写入以下内容:

bash 复制代码
services:
  hermes:
    image: nousresearch/hermes-agent:latest
    container_name: hermes
    restart: unless-stopped
    command: gateway run
    ports:
      - "8642:8642"
    volumes:
      - ~/.hermes:/opt/data
    networks:
      - hermes-net
    deploy:
      resources:
        limits:
          memory: 4G
          cpus: "2.0"

  dashboard:
    image: nousresearch/hermes-agent:latest
    container_name: hermes-dashboard
    restart: unless-stopped
    command: dashboard --host 0.0.0.0
    ports:
      - "9119:9119"
    volumes:
      - ~/.hermes:/opt/data
    environment:
      - GATEWAY_HEALTH_URL=http://hermes:8642
    networks:
      - hermes-net
    depends_on:
      - hermes
    deploy:
      resources:
        limits:
          memory: 512M
          cpus: "0.5"

networks:
  hermes-net:
    driver: bridge
  • 如果不需要dashboard (比如只是Channel访问),可以把上面dashboard那部分给删了。
  • 端口 8642 暴露了网关的OpenAI 兼容 API 服务器和健康检查端点。如果你仅使用聊天平台(例如 Telegram、Discord 等),则此端口为可选;但如果你希望仪表盘或外部工具能够访问网关,则此端口为必需。在面向互联网的计算机上打开任何端口都存在安全风险。除非你了解这些风险,否则不应这样做。
Environment variable Description Default
GATEWAY_HEALTH_URL 网关 API 服务器的基本 URL,例如 http://gateway:8642 (未设置 --- 仅进行本地 PID 检查)
GATEWAY_HEALTH_TIMEOUT 健康探测超时时间(秒) 3
  • 如果没有 GATEWAY_HEALTH_URL ,仪表板将回退到本地进程检测------这仅在网关在同一容器或同一主机上运行时才有效

然后构建镜像:

bash 复制代码
docker compose down
docker compose up -d 

可以监控启动日志:

bash 复制代码
docker compose logs -f

要针对正在运行的数据目录打开交互式聊天会话:

bash 复制代码
docker run -it --rm \
  -v ~/.hermes:/opt/data \
  nousresearch/hermes-agent
相关推荐
杨浦老苏14 小时前
网络连接实时可视化利器TapMap
网络·docker·可视化·监控·群晖
阿里云大数据AI技术15 小时前
基于阿里云 DataWorks Data Agent 进行大模型热度分析
人工智能·agent·nvidia
香气袭人知骤暖15 小时前
PG数据库 Docker 容器自动备份方案
数据库·docker·容器
AI服务老曹15 小时前
解耦异构算力:基于 Docker 与 GB28181/RTSP 的边缘计算 AI 视频管理平台架构设计与源码交付实践
人工智能·docker·边缘计算
weixin_4684668515 小时前
Prometheus监控服务部署与实战指南
服务器·后端·python·docker·自动化·prometheus
maomao大哥闯天下15 小时前
K8s对象deployment、job、service应用详解
java·容器·kubernetes
cup1115 小时前
[开源] 全屏时钟 / Full Clock:放弃 time.is,用 Svelte 5 写了一个极致纯净的全屏时钟,解决秒数焦虑
开源·工具·时钟·效率·svelte
IT策士16 小时前
第 20 篇 搭建 Kubernetes 实验环境:Minikube 与 kubectl
云原生·容器·kubernetes
HjhIron16 小时前
从零开始掌握Prompt工程:大模型调教指南
api·agent