使用本地模型运行 Hermes Agent

在 DGX Spark 上安装并运行 Hermes 自我改进型 AI Agent

基本理念

Hermes 智能体是一款可自我改进的 AI 智能体 Nous Research。它在您的机器上作为终端 TUI 运行,还可以通过内置网关通过 微信、Telegram、Discord 和 Slack 等消息传递平台访问。它通过经验创建技能,在使用过程中进行改进,在不同会话中持久保留内存,并且可以通过其内置 cron 运行计划任务。

在您的 DGX Spark 上完全运行 Hermes 及其 LLM,可保护对话和数据的私密性,并避免持续的云 API 成本。DGX Spark 非常适合此用途:它运行 Linux,专为保持运行状态而设计,具有 128GB 内存,因此您可以为大型本地模型提供服务,以提高推理质量,并通过手机 微信连接到智能体,同时在本地运行繁重的工作。

您将完成的任务

您将在 DGX Spark 中安装 Hermes,并将其连接到 Ollama 提供服务的本地 LLM。您可以通过 DGX Spark 终端以及手机或笔记本电脑上的微信与智能体聊天。网关作为系统服务运行,因此在重启后无需任何人登录即可访问代理。

  • 安装 Ollama 并提取本地模型

  • 安装 Hermes,并根据本地 Ollama 端点对其进行配置

  • 设置微信机器人,这样您就可以从任何微信客户端向 Hermes 发送消息

  • 使用 hermes CLI

开始之前需要了解的内容

  • 具备 Python 虚拟环境和包管理的经验

  • 熟悉命令行操作和终端使用

  • 基本了解深度学习模型的部署和检查点

  • 了解容器工作流和 GPU 加速概念

  • 理解用于访问 Web 服务的网络配置

热门用例

  • 手机上的个人助理:模型在 Spark 上运行时,通过微信与 Hermes 聊天 - 随时随地管理电子邮件草稿、总结文档或回答问题。

  • 多步骤任务自动化:让智能体引导您完成配置 (例如,设置电子邮件) ;在完成不重要的任务时,Hermes 可以自主保留可重复使用的技能,以供下次使用。

  • 定期检查:使用内置的检查程序在线查看产品价格或运行每日检查,并将结果传递到您的 微信聊天框。

  • 通过推理解决可见问题:使用 /reasoning show 在 TUI 中遵循智能体对复杂问题的中间推理。

重要:安全和风险

能够执行命令并提供外部服务的 AI 智能体带来了切实的风险。阅读上游指南,尤其是专门的安全主题:Hermes 智能体 – 安全

主要风险:

  • Linux 终数据暴露:DGX Spark 上的个人信息或文件可能会通过智能体操作或消息传递渠道泄露。端和文本编辑器的基本用法

  • 未经授权的访问:微信ClawBot对任何人开放,任何人只要发现它可能被误用;模型端点暴露在 localhost 可能被滥用。

您无法消除所有风险;风险完全由您自己承担。推荐的安全措施:

  • 在安装期间,通过在“Allowed user IDs” (允许的用户 ID) 提示符下输入一个或多个数字 微信用户 ID 来限制微信机器人。如果将此空白,找到机器人的任何人都可以使用它。

  • 将 Ollama 端点绑定到 localhost 仅;请勿暴露 http://:11434 连接到 LAN 或公共互联网,无需强身份验证。

  • 尽可能在专用于此目的的 Spark 上运行 Hermes,并仅在其中放置允许代理访问的文件。

  • 监控活动:定期查看网关服务日志 ( sudo journalctl -u -e ) 和 Hermes 会话历史记录。

预备知识

  • 运行 Linux 的 DGX Spark,连接到您的网络

  • 终端 (通过 SSH 或本地) 访问 Spark

  • curl 以及 git 已安装 (已在说明的步骤 1 中验证)

  • 交互式终端访问设置向导和 sudo 密码提示。“Instructions” (说明) 选项卡中的 config-command fallback 支持非交互式 SSH。

  • 为您计划提供服务的 Ollama 模型提供足够的磁盘和 GPU 显存 (操作手册使用 qwen3.6:27b 以示例为例;如果您希望首次安装的速度更快,请选择较小的模型)

  • 微信帐户以及通过微信 ClawBot 如果您计划使用消息传递网关

时间和风险

  • 预计时间:安装和首次设置约 30 分钟;模型下载时间取决于大小和网络速度。

  • 风险等级:中等 – 智能体可以执行命令、坚持技能,并且可以通过微信访问。如果您跳过允许的用户 ID 限制或将本地模型端点暴露在 localhost 。始终遵循上述安全措施。
  • 回滚:运行 hermes uninstall (使用 sudo 如果您已将网关作为系统服务安装) ,则需删除 Hermes、网关服务和 shell-profile 条目。数据目录 ~/.hermes 之后可能仍然存在;如果您希望完全重置,请手动将其删除 (请参阅“清理”和“故障排除”选项卡) 。如果需要,单独卸载 Ollama。

  • 最后更新:2026 年 5 月 8 日
    • 首次发布

第 1 步 - 验证您的环境

在安装 Hermes 之前,请确认您的 DGX Spark 正在运行 DGX 操作系统,具有网络访问权限,并公开安装期间使用的基本命令行工具。

uname -a
curl --version
git --version

注意事项:DGX Spark 随附 DGX 操作系统,这是一个基于 Ubuntu 的专用 Linux 镜像。这个 uname -a 该行并不总是包含字符串“DGX OS”。正常运行的 Spark 通常会在该输出中显示 Linux、Ubuntu 和 nvidia (内核或平台标识符) 。确认 curl --version 以及 git --version 打印版本行而不会出现错误。

第 2 步:安装 Ollama 并提取模型

我们会针对本地 Ollama 端点配置 Hermes,因此在运行 Hermes 安装程序之前,必须先安装 Ollama 并为至少一个模型提供服务。如果您已完成 Ollama on Spark 操作手册您可以跳过此步骤。

安装 Ollama:

curl -fsSL https://ollama.com/install.sh | sh

注意:

期间 install.sh 您可能会看到一条消息,指出 systemd 未运行或无法启用服务。在装有 systemd 的普通 DGX Spark 设备上,这种情况并不常见。如果您处于最小容器、chroot 或不寻常的环境中,Ollama 仍然可以通过 ollama 安装二进制文件后使用 CLI;在标准 Spark 上,首选修复服务 ( systemctl status ollama ) ,如果安装程序发出警告。如果 Ollama 以其他方式启动并应答端口 11434,您可以将一次性安装程序警告视为信息。

验证 Ollama 守护程序是否正在运行,11434 上的 HTTP API 是否响应。以下命令要求 Ollama 提供拉取模型列表 ( GET /api/tags ) 。运行良好的守护程序会返回带有顶层信息的 JSON "models" array (在您拉取模型之前,它可能为空) :

curl -sS http://localhost:11434/api/tags

可选:确认守护程序构建字符串:

curl -sS http://localhost:11434/api/version

提取您打算与 Hermes 一起使用的模型 (此操作手册剧本使用 qwen3.6:27b 示例) :

ollama pull qwen3.6:27b

第 3 步:安装 Hermes

从 Spark 上的交互式终端运行安装程序。如果您已通过 SSH 连接,请使用正常的 SSH 会话,您可以在其中回答提示并输入您的 sudo 需要时输入密码。如果您在非交互式自动化 shell 中运行安装程序,则可以安装 Hermes,但系统可能会跳过设置向导和可选的系统包提示;在这种情况下,请使用下方的非交互式 SSH 回退。

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

安装程序将引导您完成交互式设置。按照每个提示出现的顺序作出响应:

重要提示:

期间 install.sh 您可能会看到一条消息,指出 systemd 未运行或无法启用服务。在装有 systemd 的普通 DGX Spark 设备上,这种情况并不常见。如果您处于最小容器、chroot 或不寻常的环境中,Ollama 仍然可以通过 ollama 安装二进制文件后使用 CLI;在标准 Spark 上,首选修复服务 ( systemctl status ollama ) ,如果安装程序发出警告。如果 Ollama 以其他方式启动并应答端口 11434,您可以将一次性安装程序警告视为信息。

  1. “安装 ripmrep 以更快地搜索 TTS 语音消息的 ffmpeg 文件?【Y/n】" - 按 Enter 键接受默认设置并安装这两个辅助工具。如果 sudo 系统要求您输入密码,然后输入您的 Linux 用户密码。如果您跳过此步骤或在没有终端的情况下运行,则 Hermes 仍可正常工作,但文件搜索会回退到速度较慢的工具,并且 TTS 语音消息支持有限。稍后您可以使用 sudo apt install -y ripgrep ffmpeg 。

  2. “您想如何设置 Hermes?”- 选择“Quick setup” (快速设置) 以继续执行推荐的默认设置。

  3. “Select Provider” (选择提供程序) - 选择“Custom endpoint” (自定义端点) (手动输入 URL) ,以便指向 DGX Spark 上运行的模型端点。

  4. " API 基础 URL【例如。https:// api.example.com/v1】:" - 如果出现此提示,请输入本地模型服务器的 URL。对于本地 Ollama 端点,请使用 http://localhost:11434/v1 。(根据安装程序版本或之前的配置,在已推理出端点时,系统有时会跳过此问题,请继续按照您看到的提示操作。)

  5. “API 密钥【可选】”- 留空并按 Enter;本地模型不需要任何密钥。

  6. 模型选择:安装程序会列出您本地 Ollama 实例中可用的模型。选择一个与 Hermes 一起使用 (例如, qwen3.6:27b ) 。

  7. "上下文长度 (以 token 表示) 【留空以用于自动检测】:" - 按回车键可让 Hermes 自动检测所选模型的上下文长度。

  8. "Display name【Local ( localhost:11434) 】" - 按 Enter 键可接受建议的标签,或键入自定义名称以在 Hermes 用户界面中识别此端点。

  9. Select terminal backend: 推荐选择 Local - run directly on this machine

  10. “连接消息传递平台?( WeChat、Telegram、Discord 等) ”- 选择“Set up messaging now” (立即设置消息传递) (推荐) 以在安装期间配置网关。

  11. “选择要配置的平台:”- 选择 Weixin/WeChat。本操作手册中的其余步骤以 WeChat 为例;同样的流程也适用于其他受支持的网关。

    提示:

    如果跳过 WeChat 问题:一些用户在选择 WeChat 后立即看到“Setup complete” (设置完成) 或“Messaging Platforms (网关) configuration complete!” (消息平台 (网关) 配置完成!) ,没有令牌或用户 ID 提示。这通常意味着安装程序认为 WeChat 已配置,或存在先前的部分状态。退出任何 TUI,重新加载 shell ( source ~/.bashrc ) ,然后运行 hermes gateway setup 然后选择“Weixin/WeChat” (not configured) 以提供机器人令牌和允许的用户 ID。(如果 CLI 建议 hermes setup gateway 但该流程仍然会跳过提示,请使用 hermes gateway setup - 这是大多数用户报告正在进行完整 WeChat重新配置的命令。)按照印刷版 sudo 注册网关服务 (请参阅 Sudo 和 hermes 路径如下) 。

  12. 提示 Start QR login now? - 按 Enter 键接受。“请使用微信扫描二维码:网址” 得到二维码网址后浏览器打开,通过微信扫描二维码,显示微信ClawBot名片,点击添加/继续。

  13. 添加微信 ClawBot名片后,终端提示How should direct messages be authorized? 推荐选择Use DM pairing approval

  14. 提示 How should group chats be handled? 按需选择

  15. " 使用您的微信用户 ID (< your-id>) 作为主频道?【Y/n】:" - 按 Enter 键接受。这将指定您自己的 微信 帐户,因为用于主动消息和定期交付的默认通道是 Hermes。

  16. “立即启动 hermes chat?【Y/n】:" - 按回车键可立即启动 Hermes TUI 并端到端验证安装。打开 TUI 后,输入 hello 然后按 Enter;智能体应做出响应,确认模型端点和 Hermes 已正确连接。完成后,输入 /exit 退出聊天并返回 shell。退出后,Hermes 会打印稍后恢复此对话所需的确切命令 hermes --resume 。如果您想从上次中断的位置继续取车,可以保存。

  17. 重新加载 shell 让hermes 命令可用,然后验证命令解析:                                                                                                                                         

    source ~/.bashrc
    export PATH="$HOME/.local/bin:$PATH"
    which hermes

非交互式 SSH 回退

如果安装程序打印“跳过了设置向导程序 (无终端可用) ”,或者您正在通过非交互式 SSH 验证操作手册,请使用 Hermes 的 config 命令配置本地 Ollama 端点:

export PATH="$HOME/.local/bin:$PATH"
hermes config set model.provider custom
hermes config set model.base_url http://localhost:11434/v1
hermes config set model.default qwen3.6:27b
hermes -z "Reply exactly HERMES_OK"

最后一条命令应返回 HERMES_OK 即确认 Hermes 可以在不打开 TUI 的情况下调用本地 Ollama 模型。

Sudo 和 hermes 路径

sudo 在最小环境中运行,并且通常不会继承您的用户 PATH 因此 sudo hermes … 可能会失败 hermes: command not found 尽管 hermes 无需 sudo 。使用真实的二进制路径,例如:

export PATH="$HOME/.local/bin:$PATH"
HERMES_BIN="$(command -v hermes || printf '%s\n' "$HOME/.local/bin/hermes")"
sudo "$HERMES_BIN" uninstall

或者粘贴打印的绝对路径 which hermes 取代 hermes 在任何 sudo 命令安装程序打印。对于启动时的 Linux 系统服务,当前的 Hermes CLI 支持:

sudo "$HERMES_BIN" gateway install --system --run-as-user "$USER"

第 4 步:切换到其他 Ollama 模型 (可选)

您在安装期间配置了初始模型。要在之后切换到其他模型,请使用 Ollama 提取新模型,然后将 Herme 重新指向同一本地端点。

  1. 使用 Ollama 拉取新模型 (替换) 所需模型) :                                                                                                                                                                 

    ollama pull <model-name>
  2. 启动 Hermes 模型选取器:                                                                                                                                                                                             

    hermes model
  3. 在“Select Provider” (选择提供程序) 提示下,选择“Custom endpoint” (自定义端点) (手动输入 URL) 。

  4. 如果您看到“API base URL”提示,请输入与之前相同的本地 Ollama 端点:                                                                                                              

    http://localhost:11434/v1
  5. 当安装程序列出 Ollama 提供的模型时,请选择刚才提取的模型。在后续会议中,Hermes 会使用它。

如果您处于非交互式 SSH 会话中,请使用 config 命令切换模型:

hermes config set model.provider custom
hermes config set model.base_url http://localhost:11434/v1
hermes config set model.default <model-name>
hermes -z "Reply exactly MODEL_OK"

第 5 步:恢复之前的 Hermes 对话

要回顾过去的对话,请使用 --resume 退出聊天时打印的标志和会话 ID:

hermes --resume <sessionId>

TUI 将重新打开,并恢复之前的对话历史记录,为后续提示做好准备。

第 6 步:通过微信 与 Hermes 交流

您可以在没有终端会话的情况下从任何微信客户端访问 Hermes。

  1. 打开 微信· (移动版或台式电脑) ,展开与微信ClawBot的聊天

    打开聊天机器人,发送消息 hello 。Hermes 将通过机器人回复”Hi~ I don't recognize you yet.Here’s your pairing code:XXXXXXXX. Ask the bot owner to run:” 请在终端执行:

    hermes pairing approve weixin XXXXXXXX

  2. 配置完成后即可在微信与机器人自由聊天, 

    在此处,您可以发送任何您通常在 TUI 中输入的提示 — — Hermes 将在您的 DGX Spark 上运行,并将响应流式传输回 微信。

第 7 步:更新 Hermes

如要将现有的 Hermes 安装升级到最新版本,请运行:

hermes update

该命令会提取最新的 Hermes 版本,应用任何必要的依赖项更改,然后重新启动网关服务,以便新版本生效。

第 8 步:清理

警告:

此操作将删除 Hermes 安装和网关服务。默认情况下, ~/.hermes/ 除非您选择在屏幕提示符下完全卸载,否则系统会保留 (配置、对话历史记录和技能) 。

从交互式终端运行清理。卸载程序可能会拒绝非交互式子进程,但仍然会要求您选择是否保留数据或执行完全卸载。如需完全擦除,请选择“Full uninstall” (完全卸载) ,然后输入 yes 在确认提示符处查看。

由于网关是在第 15 步中作为系统服务安装的,因此请使用 sudo 因此,它有权删除系统范围 systemd 单元。如果 sudo hermes uninstall 使用与 Sudo 中相同的完整路径模式 hermes 以上路径:

export PATH="$HOME/.local/bin:$PATH"
HERMES_BIN="$(command -v hermes || printf '%s\n' "$HOME/.local/bin/hermes")"
sudo "$HERMES_BIN" uninstall

按照屏幕提示确认删除。卸载程序通常:

  • 停止并移除 systemd 网关服务。

  • 删除 hermes 将包装器脚本和 PATH 条目添加到 shell 配置文件中。

  • 删除 Hermes 应用程序目录。

数据目录: ~/.hermes 目录 (配置、会话、技能) 并不总是被 uninstall 具体取决于您在提示时选择的选项。卸载后,检查其是否仍然存在:

ls -la ~/.hermes

如果您打算完全删除,请手动将其删除 (此操作不可逆转) :

rm -rf ~/.hermes

第 9 步:后续步骤

  1. 检查智能体的推理。在 TUI 中,运行 /reasoning show 展示模型的中间推理及其响应。这对于跟踪智能体在多步骤或复杂问题上的进展以及调试意外答案特别有用。

  2. 尝试多步骤任务以激发技能创造。例如,询问智能体如何设置电子邮件,Hermes 将与您一起介绍配置,在完成这样一项不简单的任务后,可以自主坚持一项可重复使用的技能,以便更快地处理下一个与电子邮件相关的请求。

  3. 通过内置 cron 配置调度自动化。例如,让 Hermes 每天在线查看一次产品的价格,并在价格低于值时通过 微信 通知您。Hermes 将使用其内置 cron 调度任务,并通过您设置的消息传递网关提供每个结果。

错误
原因
修复
hermes: command not found after install
未在当前会话中重新加载 Shell 配置文件
运行 source ~/.bashrc (或 source ~/.zshrc ) ,然后重试。如果问题仍然存在,请打开新的终端。
source ~/.bashrc works in an interactive terminal, but hermes is still missing from a scripted SSH command
许多 Ubuntu .bashrc 在安装程序添加的 PATH 行运行之前,非交互式 shell 会提前返回文件
在自动化领域,运行 export PATH="$HOME/.local/bin:$PATH" 之前 hermes 或调用 ~/.local/bin/hermes 直接使用。
sudo: hermes: command not found during gateway install, uninstall, or printed sudo hermes … steps
sudo 重置 PATH 看不到用户级 hermes shim
运行 which hermes 作为您的普通用户,然后使用 sudo 调用该路径,例如。 sudo "$(which hermes)" uninstall 或 sudo /full/path/from/which/hermes gateway … 。
Installer prints "Setup wizard skipped (no terminal available)"
安装程序是从非交互式 shell、CI 作业或 SSH 命令启动的,而没有可用的 TTY
要么重新运行 hermes setup 在交互式终端中进行配置,或直接配置 Ollama: hermes config set model.provider custom 、 hermes config set model.base_url http://localhost:11434/v1 ,以及 hermes config set model.default qwen3.6:27b 。
Installer cannot install ripgrep / ffmpeg, or prints Non-interactive mode and no terminal available
可选辅助安装需求 sudo 但当前 shell 无法提示输入密码
在交互式终端中手动安装 sudo apt install -y ripgrep ffmpeg 。在不使用它们的情况下,仍然可以运行 Hermes,但文件搜索速度较慢,并且 TTS 语音消息支持有限。
Browser tools show system dependency not met, or Playwright Chromium install fails
需要通过以下方式安装 Linux 共享库: sudo 安装程序无法获得 sudo 访问权限
核心聊天 仍然有效。要启用浏览器工具,请运行 cd ~/.hermes/hermes-agent && npx playwright install --with-deps chromium 在交互式终端中输入 sudo 密码。
You want the gateway to start at boot, but hermes gateway install creates a user service
当前,除非 --system 提供
使用 sudo "$(which hermes)" gateway install --system --run-as-user "$USER" (或替换 $(which hermes) 使用 ~/.local/bin/hermes 如果需要) 。
hermes uninstall --yes says it requires an interactive terminal, or still prompts for uninstall options
卸载程序可保护数据删除,并期望获得真实的 TTY 以进行确认
直接在终端中运行,或通过 SSH 分配 TTY ( ssh -t 'hermes uninstall' ) 。如需完全擦除,请选择“Full uninstall” (完全卸载) ,然后输入 yes 出现提示时。
Installer asks about OpenClaw import / migration
之前安装了另一个智能体框架
对于本剧本,请回答 n 。OpenClaw 迁移超出了此处的范围,可能会导致网关状态混乱。如果您已错误迁移,请使用下方的从头开始。
Choosing WeChat during install immediately shows “setup complete” without token / user ID prompts
过时或部分的 Hermes 网关配置;安装程序短路
之后 source ~/.bashrc 、运行 hermes gateway setup 选择“Weixin/WeChat”,然后完成令牌和允许用户的步骤。使用打印的命令安装或重启 systemd 服务 sudo "$(which hermes)" 如有需要) 。
/start shows “Unknown command” (or similar) in WeChat
机器人没有定义自定义 /start 处理器
发送普通文本消息,例如 hello 之后 /start 。Hermes 会对对话文本做出响应,而不一定是斜杠命令。
~/.hermes still exists after uninstall
“Uninstaller” (卸载程序) 会保留数据,除非您明确删除该数据
在某些流程中,这是预期的结果。仅在需要完全擦除时手动删除: rm -rf ~/.hermes (请参阅从头开始) 。
Hermes installer can't list any models at the model-selection prompt
Ollama 未运行或未提取模型
在另一个终端中对 Ollama 进行完整性检查:使用 ollama list 点击 API curl http://localhost:11434/api/tags 并通过运行 ollama run (例如。 ollama run qwen3.6:27b ) 并发送测试提示。如果列表为空或无法使用 API,请启动 Ollama 并使用 ollama pull 然后重新运行 Hermes 安装程序。
Connection refused to http://localhost:11434/v1 from Hermes
Ollama 服务未在默认端口上运行
启动 Ollama 服务并确认其正在侦听 11434 。在 systemd 主机上: systemctl status ollama 以及 systemctl start ollama 。
Out-of-memory or very slow inference
选定的 Ollama 模型过大,无法容纳可用的 GPU 显存,或者其他 GPU 工作负载也无法满足要求
检查使用情况nvidia-smi 通过关闭其他工作负载来释放 GPU 显存,或者使用 ollama pull 并通过 hermes model 。
hermes update fails or the gateway does not restart
网关服务仍绑定到之前的版本,或者系统服务安装权限不足
重新运行 sudo "$(which hermes)" update 如果网关是作为系统服务安装的 hermes update 无法重启。如果服务遇到问题,请手动重启: sudo systemctl restart 。
Cannot resume a previous session
这个 值缺失或错误
使用 hermes --resume 打印的确切 ID 为“Hermes” /exit 聊天。如果 ID 丢失,请使用 hermes (省略) --resume ) 。

注意:

DGX Spark 采用统一内存架构 (UMA) ,可在 GPU 和 CPU 之间实现动态内存共享。 由于许多应用程序仍在更新以利用 UMA,您可能会遇到内存问题,即使在 DGX Spark 的内存容量。如果发生这种情况,请使用以下命令手动刷新缓冲区缓存:

sudo sh -c 'sync; echo 3 > /proc/sys/vm/drop_caches'

有关最新的已知问题,请查看 DGX Spark 用户指南


资源

Hermes Agent 文档

Hermes Agent — 安全

Hermes Agent GitHub 仓库

Nous Research

DGX Spark 用户性能指南

DGX Spark 论坛