
十分钟用 Docker Compose 跑起 Hermes Agent一次配置长期省心的容器化部署【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agentHermes Agent 是一个能调用工具、驱动真实终端和浏览器的 AI 代理支持交互式 CLI、消息集成和定时任务。如果你的日常是装到一半报缺依赖、换台机器全部重来那用 Docker Compose 做容器化部署就是最省事的路配置写一次之后在哪台机器上都docker compose up -d一条命令拉起。部署前 30 秒 ⏱️开工前把这两样确认到位缺一个后面都会卡住Docker Engine 20.10.0 及以上Docker Compose v2.0 及以上一条命令自检docker --version docker compose version两个版本号都正常打出来就可以往下走。最小可用的 docker-compose.yml 写法Hermes Agent 支持多种终端后端local、docker、ssh、singularity、modal 等其中 Docker 后端是兼容性最好的选择。它的工作方式由~/.hermes/config.yaml里的terminal段决定最小配置如下terminal: backend: docker # 所有命令改在容器里执行 docker_image: python:3.11 cwd: /app意思是Agent 要跑任何命令时都丢进一个 Python 3.11 容器执行工作目录定在/app。危险命令被关在隔离环境里宿主机不受影响——这正是选容器方案的核心理由。为了让 Agent 本身也跑在容器里项目里没有现成的 compose 文件你按下面的最小配置自建一个即可每行都有存在的理由services: hermes-agent: image: python:3.11 volumes: - ~/.hermes:/root/.hermes # 配置、记忆、会话状态全部落在这容器删了也不丢 - ./:/app # 把工作目录映射成项目源码和上面 terminal.cwd 对齐 working_dir: /app environment: - TERMINAL_ENVdocker - HERMES_MAX_ITERATIONS60 command: [sh, -c, pip install -r requirements.txt python run_agent.py] restart: unless-stoppedvolumes里挂载~/.hermes是关键Agent 的记忆、技能和会话都存这里不挂载等于每次重启失忆working_dir与config.yaml的terminal.cwd保持一致Agent 对文件路径的引用才不会错乱restart: unless-stopped让你重启服务器后服务自动回来日常操作速查 全部命令集中在这一节用熟了基本不用翻文档git clone https://gitcode.com/GitHub_Trending/he/hermes-agent cd hermes-agent docker compose up -d # 首次克隆并后台启动 docker compose logs -f hermes-agent # 实时跟踪日志排障第一站 docker compose down # 停止并移除容器 git pull docker compose up -d --build # 升级拉新代码后重建 docker compose exec hermes-agent bash # 进容器内手动执行命令补充一点docker exec进去后看到的文件系统就是 Agent 真正操作的那个环境修路径、查权限都在这里做比猜要快得多。生产环境加固 ️自用跑通之后上生产前建议做三件事限制资源防止单容器吃满主机services: hermes-agent: deploy: resources: limits: cpus: 2 memory: 4G reservations: cpus: 1 memory: 2G网络按需开口默认容器只有出站能力。如果启用了 Web 界面需要被外部访问再显式加映射和网络services: hermes-agent: ports: - 8000:8000 networks: - hermes-network networks: hermes-network: driver: bridge降低权限只使用官方或可信来源的镜像API 密钥走环境变量或密钥管理服务注入不要写死在 yaml 里。如果你的宿主机用户不是 root把运行用户映射成自己的身份避免生成一堆 root 属主的文件services: hermes-agent: user: ${UID}:${GID}启动前export UID$(id -u); export GID$(id -g)即可。高频踩坑 现象容器里生成的文件权限错乱、Agent 读写报错原因容器内默认以 root 写文件属主和宿主机用户不一致。 解法按上一节的user: ${UID}:${GID}映射运行用户并确认~/.hermes挂载路径写对了错挂到别的路径等于没持久化。现象想查个东西却找不到在哪里跑命令原因很多人直接docker exec进一个交互式 shell忘了容器里还有前台进程在跑。 解法docker compose exec hermes-agent bash开的是独立会话不影响主进程查完exit即可需要长期改动则改 compose 文件重建。现象容器删了重建后配置还在 / 配置全没了原因状态是否保留只取决于~/.hermes有没有被挂载。 解法核对 compose 文件里这一行- ~/.hermes:/root/.hermes。只要它存在配置和会话状态就安全。下一步可以做什么当单机跑稳之后最自然的扩展是在同一个 compose 文件里加一个数据库或缓存服务比如 Postgres、Redis让 Hermes Agent 的定时任务和记忆存储不再只依赖本地文件——加一个 service、多一条挂载架构就从单机工具长成了一套小型微服务。【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考