> For the complete documentation index, see [llms.txt](https://unsloth.ai/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://unsloth.ai/docs/zh/ji-cheng/hermes-agent.md).

# 如何使用 Hermes Agent 运行本地 AI 模型

本指南使你能够在本地运行开源 LLM，使用 **Hermes Agent** 通过 [**Unsloth**](https://github.com/unslothai/unsloth)。Nous Research 的 Hermes Agent 是一个 **开源** 自主 AI 代理，它连接到模型端点，执行任务，并通过记忆和学习到的技能不断改进。

{% columns %}
{% column width="58.333333333333336%" %}
Hermes 可与任何 **本地模型** 配合使用，这些模型通过 Unsloth 的 **OpenAI 兼容 API**公开，包括：DeepSeek、Qwen、Gemma 等。Hermes 充当代理客户端，而 Unsloth 通过 [本地 API](/docs/zh/ji-chu-zhi-shi/api.md) 完全离线。

完成设置后，通过 Hermes 发送的每个提示都会使用你设备上的本地模型运行。
{% endcolumn %}

{% column width="41.666666666666664%" %}

<figure><img src="/files/a52b96e2d89aed91db4be9eaf73657a9a6282d8b" alt=""><figcaption><p>在 Hermes 中通过 Unsloth 本地运行的 Qwen3.5。</p></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

<a href="https://unsloth.ai/docs/integrations/hermes-agent#setup-hermes-agent" class="button primary" data-icon="caduceus">设置 Hermes</a><a href="https://unsloth.ai/docs/integrations/hermes-agent#integrate-hermes-with-unsloth-api" class="button primary">🦥 连接你的本地模型</a>

{% hint style="info" %}
在本教程中，你将安装 Hermes 并将其配置为使用 `unsloth/Qwen3.6-27B-GGUF` 从 Unsloth 提供。想用其他模型？只需在 Unsloth 中加载另一个模型并更新配置即可。
{% endhint %}

### <i class="fa-caduceus">:caduceus:</i> 设置 Hermes Agent

**先决条件：**

该 [Hermes](https://github.com/NousResearch/hermes-agent/blob/main/website/docs/getting-started/installation.md) 命令行安装程序支持 Linux、macOS 和 WSL2。请确保 **Git** 已安装；在 Linux 上，还要安装 **curl** 和 **xz-utils**。安装程序会自动配置 `uv`、Python 3.11、Node.js 22、 `ripgrep`，以及 `ffmpeg`.

#### 1. 运行安装程序

```bash
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
```

安装程序：

* 检测你的平台并检查依赖项。
* 将 Hermes 克隆到 `~/.hermes/hermes-agent/`.
* 创建 Python 虚拟环境并安装 Python 依赖。
* 安装浏览器工具依赖项和 Playwright 的 Chromium 引擎。
* 添加 `hermes` 命令并启动设置向导。

{% columns %}
{% column %}
Playwright 可能会请求 `sudo` 安装 Chromium 的共享系统库。Hermes 本身不需要 root 权限。
{% endcolumn %}

{% column %}

<figure><img src="/files/04d6404e95fe6674852d1a9fb6e770993754442a" alt="" width="375"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

#### **2. 重新加载你的 shell** 以便 `hermes` 命令位于你的 `PATH`:

{% code title="bash" %}

```bash
source ~/.bashrc
```

{% endcode %}

{% code title="zsh" %}

```bash
source ~/.zshrc
```

{% endcode %}

#### **3. 验证安装：**

```bash
hermes --version
```

如果该命令能正确解析，说明 Hermes 已安装。一切内容都位于 `~/.hermes/`:

| Path                                    | 它是什么                    |
| --------------------------------------- | ----------------------- |
| `~/.hermes/config.yaml`                 | 主要设置（模型、提供方、工具、TTS 等）   |
| `~/.hermes/.env`                        | API 密钥和其他机密信息           |
| `~/.hermes/hermes-agent/`               | Hermes 源码 + 虚拟环境        |
| `~/.hermes/cron/`, `sessions/`, `logs/` | 运行时数据                   |
| `~/.hermes/skills/`                     | 已安装的技能（从 Skills Hub 同步） |

{% hint style="info" %}
完整安装参考： [hermes-agent.nousresearch.com/docs/getting-started/installation](https://hermes-agent.nousresearch.com/docs/getting-started/installation)。如果安装程序报告缺少先决条件，请先安装它，然后重新运行这一行命令。安装程序是幂等的。
{% endhint %}

### ⚡ 快速开始

安装 Hermes 后，我们还需要安装 Unsloth Studio，以便 Hermes 能够提供服务并对本地模型进行推理。

1. **安装或更新 Unsloth Studio。** 较早版本不暴露外部 API。参见安装。
2. **启动 Unsloth。** 注意它启动时使用的端口通常是 `8000` 或 `8888`。你会在终端输出以及浏览器 URL 中看到它（`http://localhost:PORT`).
3. **加载模型。** 点击 **新建聊天**，选择或搜索一个模型（GGUF），并等待其加载完成。
4. **连接 Hermes。** 运行 `unsloth start hermes`。它会生成一个 API 密钥，写入配置，并让 Hermes 基于你已加载的模型启动。

### ⚡ 使用 Hermes Agent 运行 `unsloth start`

要直接用模型启动 Hermes，请运行：

```bash
unsloth start hermes \\
  --model unsloth/gemma-4-E2B-it-GGUF:UD-Q4_K_XL \\
  --context-length 32768
```

在 Unsloth Studio 中加载了模型后，运行：

```bash
unsloth start hermes
```

<figure><img src="/files/d6fe3eafb5eefb4f06186d6f0243413b8259a331" alt="Hermes Agent connected to a local model through Unsloth Studio"><figcaption><p>通过其 Unsloth Studio 提供方运行的 Hermes Agent。</p></figcaption></figure>

Unsloth 会从一个单独受管的主目录启动 Hermes，并且已预先配置好 Unsloth 提供方、模型和上下文设置。你现有的 Hermes 设置将保持不变。

默认情况下，这个受管主目录是临时的。要保留你的会话和状态，请添加 `--persist` 到你的首次启动命令中：

```bash
unsloth start hermes --persist
```

稍后若要返回到你最近的会话，请运行：

```bash
unsloth start hermes --persist --continue
```

要重新打开特定会话，请使用 `--resume <session-id-or-title>` 来替代。

查看完整的 [unsloth start](/docs/zh/ji-cheng/unsloth-start.md) 用于模型选择、远程连接和高级选项的参考。

如果你更愿意自己管理 Hermes 提供方，下面的设置向导仍然可用。

### 🔑 创建 API 密钥

1. 打开侧边栏，点击左下角的 **Unsloth** 头像。
2. 前往 **设置** → **API**.
3. 输入一个友好的名称（例如 `hermes-agent-macbook`).
4. *（可选）* 设置过期时间。
5. 点击 **创建**.
6. **立即复制该密钥。** Unsloth 只存储哈希值，你将无法再次查看它。

<figure><img src="/files/3432517ab3e4dadf17eb7ea5f319b43cc5902dd2" alt="" width="375"><figcaption></figcaption></figure>

所有密钥都以 `sk-unsloth-` 前缀开头。你可以随时在同一页面撤销密钥。使用已撤销密钥发出的请求将失败，并返回 `401 未授权`.

### 🦥 将 Hermes 与 Unsloth API 集成

Hermes 会将每一轮聊天发送到已配置的推理提供方，并连接到 **兼容 OpenAI 的** 端点。可在安装过程中或之后通过设置向导配置该提供方。

**1. 打开设置向导：**

{% columns %}
{% column %}

```bash
hermes setup
```

选择 **模型与提供方** 在“你想做什么？”菜单中，仅配置推理端点，或者 **完整设置** 以逐步完成所有内容（TTS、工具、消息网关、代理设置）。
{% endcolumn %}

{% column %}

<figure><img src="/files/20c0847f2c95efbf12dd192e60073358e5c626b0" alt="" width="539"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

**2. 选择自定义的 OpenAI 兼容端点** 当 Hermes 提示你选择推理提供方时。

<figure><img src="/files/55bd2e2cc388c2e79277f009b1e32e6e7119c685" alt="" width="563"><figcaption></figcaption></figure>

**3. 填写提示项** ，按 Hermes 的引导逐项填写：

| 提示                    | 值                                                    |
| --------------------- | ---------------------------------------------------- |
| **API 基础 URL**        | `http://localhost:8888/v1` *（你的 Unsloth 端口 + `/v1`)* |
| **API 密钥**            | 你的 `sk-unsloth-…` 密钥                                 |
| **检测到的模型：…… 使用此模型吗？** | `Y` *（Hermes 会通过以下方式自动检测模型： `GET /v1/models`)*       |
| **以 token 计的上下文长度**   | *（留空以自动检测）*                                          |
| **显示名称**              | 任意你喜欢的名称，例如 `unsloth-api`                            |

Hermes 会根据以下内容验证端点： `/v1/models` 并在继续之前确认检测到的模型。

<figure><img src="/files/798728f0782b24a51720a0282ec31117bd055955" alt=""><figcaption></figcaption></figure>

**4. 其余提示项接受默认值** （TTS、工具、消息网关、代理设置），你之后都可以重新配置。Hermes 会将所有内容写入 `~/.hermes/config.yaml` 和 `~/.hermes/.env`.

<figure><img src="/files/a9c7dc16e1b551a3d5d18708d8c9173dbf1057b9" alt=""><figcaption></figcaption></figure>

**5. 启动 Hermes：**

```bash
hermes
```

启动横幅会在状态栏中显示你的 Unsloth 模型名称（例如 `unsloth/Qwen3.6-27B-GGUF`），提示符即可输入。

<figure><img src="/files/0a57c1749d3ab6ec7d6153c364c30bb7651ce3e2" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
若之后只想重新配置模型，请运行 `hermes setup model`。若要直接编辑配置文件， `hermes config edit` 会在 `~/.hermes/config.yaml` 中打开 `$EDITOR`.
{% endhint %}

### 可选：调整 Unsloth 服务器

`unsloth run` 会启动本地 API 服务器并加载一个模型供你的应用连接。你还可以在启动时自定义服务器的行为。

```bash
# 提供 Hermes 服务（--disable-tools 会透传代理自身的工具）
unsloth run \\
  --model unsloth/gemma-4-26B-A4B-it-GGUF \
  --disable-tools \
  --reasoning off \
  -p 8888
```

{% hint style="warning" %}
使用 `--disable-tools` 在驱动 Hermes（或任何带有自身工具的外部代理）时使用。默认情况下，Unsloth Studio 会运行其自己的服务端工具，这会吞掉代理的工具调用，因此 Hermes 会回答，但不会真正执行其工具。 `--disable-tools` 会切换为透传，因此会使用 Hermes 自己的工具。
{% endhint %}

使用 `--reasoning off` 用于关闭思考，或 `--reasoning on` 用于在支持推理的模型上开启它。

```bash
# 在本地网络中公开 API
unsloth run \\
  --model unsloth/gemma-4-26B-A4B-it-GGUF \
  -H 0.0.0.0 \\
  -p 8888
```

这会在 `0.0.0.0:8888`上启动服务器，允许本地网络中的其他设备连接。 `-p` 会更改服务器运行的端口。如果你希望手机、笔记本或网络中的其他设备连接到 API 服务器，请使用以下方式启动： `-H 0.0.0.0`.

某些应用仍可能为单个请求覆盖生成设置。有关更高级的运行时配置，请参阅主 [API 调优](https://unsloth.ai/docs/basics/api#unsloth-run-command) 部分。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://unsloth.ai/docs/zh/ji-cheng/hermes-agent.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
