跳至内容
人工智能
AI 代理

在本地运行 Mythos 增强版 Qwen 模型并连接 Hermes Agent

使用 llama.cpp 和 Hermes Agent 在本地运行 Qwythos 9B,实现快速且私密的 AI 编码、浏览器聊天、Discord 自动化以及本地工具调用。
Abid Ali Awan's photo
Abid Ali Awan
已更新 · 9分钟 阅读

使用 AI 探索

ChatGPTClaudePerplexity

创建您的免费账户

实践并学习路径你的进步。

使用 Google 继续
继续操作即表示您接受我们的《使用条款》和《隐私政策》,并同意您的数据存储在美国。

Qwythos-9B-Claude-Mythos-5-1M 是一款基于 Qwen3.5-9B 的 9B 开放权重推理模型,训练数据来自 Claude Mythos 和 Fable 的推理轨迹。

它的亮点在于将强大的推理与工具使用能力相结合,提供 100 万 tokens 的上下文窗口、原生函数调用,以及通过 GGUF 量化实现的实用本地部署。

MTP 版本还在新版 llama.cpp 中支持多 token 预测与猜测式解码,有助于提升本地 Agent 工作流的生成速度。

empero-ai 在 Hugging Face 上的模型

来源:empero-ai (Empero)

本指南将演示如何使用 llama.cpp 在本地运行 Qwythos-9B MTP Q6_K GGUF,并在终端、浏览器和 Discord 中将其连接到 Hermes Agent。

您将下载模型、启动一个兼容 OpenAI 的本地端点、配置 Hermes 使用该端点,设置 Hermes Messaging Gateway 以访问 Discord,并设置 Hermes WebUI。

1. 安装 llama.cpp 以进行本地 AI 推理

本次设置我使用的是一块 RTX 5060 Ti,配备 16 GB 显存。Qwythos 9B Q6_K MTP 量化版可以在这块 GPU 上本地运行,但可用的上下文长度取决于显存和 KV-cache 设置。

使用官方安装器安装最新的 llama.cpp 构建:

curl -LsSf https://llama.app/install.sh | sh

将 llama.cpp 可执行文件添加到 shell 路径并重启终端:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

验证安装是否成功:

llama help

2. 下载 Qwythos 9B MTP GGUF 模型

安装 Hugging Face CLI 和 hf-xet,对于使用 Xet 存储的仓库,它能加速下载:

pip install -U "huggingface_hub[cli]" hf-xet

为模型文件创建文件夹:

MODEL_DIR="/workspace/qwythos"
mkdir -p "$MODEL_DIR"

多数带独显的笔记本大约有 6–8 GB 显存,因此 Q4 MTP 量化更适合这些系统。它占用更少显存,同时仍保留猜测式解码所需的 MTP 预测头。

我使用的是配备 16 GB 显存 的 RTX 5060 Ti,这让我有空间运行更高质量的 Q6_K 量化,并尝试更大的上下文窗口。

启用高性能传输,然后下载 Q6_K MTP 量化文件:

export HF_XET_HIGH_PERFORMANCE=1

下载 6 位量化的 Qwythos 模型 GGUF 文件:

hf download \
  empero-ai/Qwythos-9B-Claude-Mythos-5-1M-GGUF \
  --include "Qwythos-9B-Claude-Mythos-5-1M-MTP-Q6_K.gguf" \
  --local-dir "$MODEL_DIR"

从 Hugging Face 下载 Qwythos-9B-Claude-Mythos-5-1M-MTP-Q6_K.gguf

Q6_K MTP 文件是更高质量的 Qwythos 量化版本,包含猜测式解码所需的多 token 预测头。

3. 启动本地 llama.cpp 服务器

打开一个新终端,定位到您下载模型的文件夹:

MODEL_DIR="/workspace/qwythos"

然后使用 Qwythos MTP 模型启动 llama.cpp:

llama serve \
  -m "$MODEL_DIR/Qwythos-9B-Claude-Mythos-5-1M-MTP-Q6_K.ggUF" \
  --alias qwythos-9b-mtp \
  --host 0.0.0.0 \
  --port 8910 \
  --n-gpu-layers all \
  --ctx-size 100000 \
  --parallel 1 \
  --batch-size 1024 \
  --ubatch-size 512 \
  --flash-attn on \
  --cache-type-k q8_0 \
  --cache-type-v q8_0 \
  --spec-type draft-mtp \
  --spec-draft-n-max 6 \
  --threads 12 \
  --threads-batch 24 \
  --temp 0.6 \
  --top-p 0.95 \
  --top-k 20 \
  --repeat-penalty 1.05 \
  --jinja \
  --perf

最重要的设置是 --n-gpu-layers all 和 --ctx-size 100000。前者将完整模型卸载到 GPU 上以显著加速推理,后者为 Qwythos 提供 10 万 tokens 的大上下文窗口。更大的上下文窗口需要更多显存,因此在显存有限的 GPU 上可将其降至 32768 或更低。

Qwythos 使用多 token 预测,因此该 MTP 模型需要 --spec-type draft-mtp。--spec-draft-n-max 6 允许 llama.cpp 最多提前预测 6 个 token,可提升生成速度,特别是在编码等结构化任务中。

--flash-attn on 可提升注意力效率,而 Q8 KV-cache 设置有助于在更长提示下保持质量。 --temp、--top-p 与 --top-k 选项控制回复的创造性,上述取值在编码与 Agent 任务中表现较为均衡。

您的本地兼容 OpenAI 的端点将位于:

http://127.0.0.1:8910/v1

您也可以将 http://localhost:8910 粘贴到浏览器中,打开 llama.cpp 的 Web 界面直接测试模型。这有助于在将模型连接到 Hermes 之前快速检查回复。

做一个基础测试时,我让 Qwythos 分享一条随机冷知识。它给出了关于银河系的事实,平均生成速度约为每秒 64 个 token。

在 Llama.cpp WebUI 中使用 Qwythos-9B

随后我让它构建一个完整的 HTML 作品集网站。

在编码过程中,生成速度提升到大约每秒 102 个 token,这可能是因为在结构化代码中,MTP 模型能更有效地预测多个可能的下一个 token。

MTP 模型在结构化代码中更有效地预测多个可能的下一个 token

最终结果是一个排版良好、样式干净、可正常运行的作品集网站。对于一款本地运行的 9B 模型来说,输出质量相当令人惊喜。

image20.png

4. 安装并配置 Hermes Agent

打开另一个终端并安装 Hermes Agent:

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

在设置过程中,选择 Full Setup,以便配置自定义本地端点。

设置 Hermes

接着选择 Custom endpoint,并输入您的 llama.cpp 服务器地址:

Base URL: http://127.0.0.1:8910/v1
API key: leave blank

将 llma.cpp 端点集成到 Hermes

Hermes 应会验证端点,并检测到来自 llama.cpp 运行的 Qwythos 模型。

对于 API 兼容模式,保持默认的 Auto-detect 选项。它与诸如 llama.cpp 等标准 OpenAI 兼容端点配合良好。

在 Hermes 中自动检测模型名称

接下来,选择 Local 作为终端后端。

在 Hermes 中选择平台

这样 Hermes 就能直接在您的机器上运行,并访问您启动它的文件夹。

如果您希望现在配置消息网关以连接 Discord,也可以在平台设置中选择 Discord;否则可跳过,稍后再添加。

在 Hermes 中配置 Discord 消息网关

选择工具时,启用您工作流所需的项目。

对于编码任务,主要包括文件操作、终端与进程、代码执行,以及可选的网页搜索与抓取。

随后 Hermes 将完成安装,并将配置保存在 ~/.hermes/ 下。

为 Hermes 配置工具

如果您稍后再配置 API 服务,请将其 API 密钥存为环境变量,而不要直接添加到命令或配置文件中。

例如,对于 OpenAI 和 Tavily:

export OPENAI_API_KEY="your_openai_api_key"
export TAVILY_API_KEY="your_tavily_api_key"

Hermes 现已就绪。

Hermes 安装和设置完成

5. 在终端中运行 Hermes Agent 进行 AI 编码

进入您希望 Hermes 参与的项目所在文件夹。

此示例中,我新建了一个工作区:

mkdir /workspace/nonus
cd /workspace/nonus

然后启动 Hermes:

hermes

运行 Hermes-Agent

Hermes 会直接在您的项目文件夹内打开,并通过之前配置的 llama.cpp 端点连接到本地 Qwythos 模型。

它可以检查文件、编写代码、运行终端命令,并使用您在设置中启用的工具。

我首先让 Hermes 构建一个带 HTML 界面的小型 Flask 股票预测应用。

让 Hermes 构建一个小型 Flask 股票预测应用

它制定了工作计划,创建了所需文件,并给出了清晰的运行说明,包括在何处添加 Alpha Vantage API 密钥。

Qwythos-9B 模型在 Hermes CLI 中生成的总结

我还用一个更简单的需求进行了测试:创建一个可玩的贪吃蛇游戏。

Hermes 生成了 Python 游戏文件,添加了控制与重启逻辑,并提供了本地运行命令。

在 Hermes 中使用 Qwythos-9B 模型创建可玩的贪吃蛇游戏

为获得最佳效果,请将 Hermes 保持在您希望其编辑的项目目录内。

这有助于它理解可用文件,并避免在系统其他位置创建无关文件。

6. 通过消息网关将 Hermes Agent 连接到 Discord

Hermes Gateway 让您可以通过 Discord 与本地的 Qwythos 代理对话。

连接后,您可以向代理发送私信,或在服务器频道中提及它,同时它仍会使用您机器上的本地 llama.cpp 端点。

创建 Discord 机器人

打开 Discord Developer Portal 并创建一个 New Application。

为其命名,例如 OLO-Bot,然后在左侧边栏打开 Bot 部分。Discord 会为该应用创建一个机器人用户,Hermes 将使用它连接到您的服务器。

在 Privileged Gateway Intents 下,启用 Message Content Intent 和 Server Members Intent,然后保存更改。

Message Content 允许机器人读取您的消息,而 Server Members 有助于 Hermes 识别和授权用户。

仅当 Hermes 报告与意图相关的错误,或您计划使用在线状态或语音功能时,才启用 Presence Intent。

复制机器人令牌

仍在 Bot 页面,复制或重置机器人令牌,并妥善保管。

不要将其贴在截图中、提交到 GitHub,或与任何人分享。

机器人令牌可用于控制 Discord 机器人。

将机器人邀请到您的服务器

在 Discord Developer Portal 中打开 Installation。在 Guild Install 下,启用 bot 和 applications.commands 范围。

然后授予机器人所需权限,包括:

  • 查看频道(View Channels)
  • 发送消息(Send Messages)
  • 读取消息历史(Read Message History)
  • 嵌入链接(Embed Links)
  • 附加文件(Attach Files)
  • 在线程中发送消息(Send Messages in Threads)
  • 添加表情反应(Add Reactions)

复制生成的安装链接,在浏览器中打开,选择您的 Discord 服务器并授权该机器人。

Discord 机器人通过带有 bot 范围和所选权限的 OAuth2 URL 安装到服务器中。

查找您的 Discord 用户 ID

在 Discord 中打开 User Settings → Advanced,启用 Developer Mode。

右键单击您的用户名或头像,选择 Copy User ID。

Hermes 使用该数字 ID 作为允许列表条目。

这很重要,因为即使机器人识别了您的用户名,也可能在未添加该数字 ID 前拒绝您的消息。

配置 Hermes 网关

运行交互式设置命令:

hermes gateway setup

在提示时选择 Discord,然后输入您的机器人令牌和 Discord 用户 ID。

Hermes 提供该向导来配置消息平台,并可在设置完成后启动或重启网关。

您也可以手动将这些值添加到 Hermes 的环境文件中:

nano ~/.hermes/.env

添加您的令牌和用户 ID:

DISCORD_BOT_TOKEN=PASTE_YOUR_BOT_TOKEN
DISCORD_ALLOWED_USERS=PASTE_YOUR_DISCORD_USER_ID

启动网关

启动 Hermes Gateway:

hermes gateway

运行 Hermes 网关

几秒钟内,您的机器人应会在 Discord 上显示为在线。

随后您可以直接给它发消息,或在服务器频道中提及它:

@YourBotName Inspect this project and explain what it does.

测试 Hermes 的 Discord 网关

7. 在浏览器中运行 Hermes

Hermes 还包含一个浏览器仪表盘,提供与本地代理对话、回顾会话、查看日志、管理技能和浏览文件的可视化界面。

它使用的仍是您之前配置的本地 Qwythos 模型和 llama.cpp 端点。

首先,进入 Hermes 包目录:

cd ~/.hermes/hermes-agent

如果该文件夹不存在,试试系统级安装路径:

cd /usr/local/lib/hermes-agent

安装可选的仪表盘与终端依赖:

uv pip install -e ".[web,pty]"

然后启动仪表盘:

hermes dashboard \
  --host 0.0.0.0 \
  --port 9119 \
  --no-open

由于 --host 0.0.0.0 会让仪表盘可被本机以外访问,Hermes 将要求您设置身份验证。

选择 Username & password,为仪表盘创建用户名和强密码。

设置 Hermes WebUI

服务器启动后,在浏览器中打开以下地址:

http://localhost:9119/login

登录后,仪表盘将提供多个实用区域。

Chat 选项卡在浏览器中运行与终端相同的 Hermes 体验,包括实时流式回复与工具调用输出。

测试 Hermes WebUI 的聊天界面

您可以让它检查项目、编辑文件、运行命令或构建应用,而无需留在终端内。

Sessions 页面可回顾以往对话。

综合测试 Hermes WebUI

Skills 则展示可用的能力和集成。

在 Hermes WebUI 聊天界面查看 Agent 技能

您也可以通过侧边栏查看文件、日志、模型、计划任务以及网关状态。

当您希望以更直观的方式管理本地 Qwythos 代理时,该仪表盘非常有用。

总结

我之前听到很多关于 Hermes Agent 的讨论,很多人认为它是最强大的本地代理之一,优于 OpenClaw,能够记住过往工作,随时间构建上下文,并与项目一同成长。

用 Qwythos 测试之后,我能理解大家为何如此期待。

它的安装流程很完善,终端体验很强大,加之浏览器仪表盘、Discord 网关、技能、记忆与工具集成,让它更像是一个完整的代理平台,而不仅仅是简单的编码 CLI。

不过我的体验略有不同。我不太会在日常的常规编码工作中每天使用 Hermes。

它功能很多,但这也让它相较我在快速编辑、调试或构建小项目时的需求显得更“重”。

对于这些任务,我仍会选择 Pi Coding Agent 或 OpenCode,因为它们更简单、启动更快,也更契合我常用的工作流。

不过,我确实很喜欢使用 Qwythos 模型。

通过 llama.cpp 在本地运行时,它在编码任务上快速、响应灵敏且能力出乎意料地强。

MTP 模型也带来了出色的生成速度,尤其是在生成结构化代码时。

当您需要一个更完整的本地代理系统,涵盖浏览器访问、消息集成、工具、记忆和长期项目支持时,Hermes 值得一试。

但在我的日常编码环境中,我很可能会将大部分时间花在 Qwythos 搭配 Pi Coding Agent 或 OpenCode 上。

FAQs

“Mythos 增强版” Qwythos 9B 与标准基础模型有何不同?

基础模型通常在通用的互联网文本上训练,在结构化任务上可靠性较低。相比之下,Qwythos 9B 专门在合成推理数据与工具使用轨迹上进行微调。这种有针对性的训练显著提升了其逻辑能力、原生函数调用,以及在编码场景下对严格模式的遵循。

我可以用其他本地后端替代 llama.cpp 来配合 Hermes Agent 吗?

可以。Hermes Agent 与后端无关。您可以使用任何带有 OpenAI 兼容 API 服务器的后端,例如 Ollama、vLLM 或 LM Studio。只需在设置时将 Hermes 的 Base URL 指向正确的本地端口(如针对 Ollama 的 http://127.0.0.1:11434/v1)。

猜测式解码(MTP)究竟如何加速生成?

多 Token 预测(MTP)模型使用专门的头部同时草拟多个未来 token。在 llama.cpp 中使用 --spec-type draft-mtp 标志,会在一次前向传播中验证这些草拟的 token。当猜对时——这在代码等结构化文本中非常常见——它会一次性输出多个 token,在不额外占用显存的情况下显著提升速度。

为 Hermes Agent 授权终端与文件执行是否安全?

为任何本地代理授予终端访问权限都存在风险,因为它可能执行破坏性命令或覆盖文件。默认情况下,Hermes 不在隔离沙箱中运行。如果您要执行复杂的文件操作或给予代理较大的自主权,应在专用 Docker 容器或受限的虚拟机中运行 Hermes。


Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

作为一名持证的数据科学家,我热衷于利用前沿技术打造创新的机器学习应用。凭借在语音识别、数据分析与报告、MLOps、对话式人工智能以及自然语言处理方面的扎实背景,我不断打磨构建智能系统的能力,力求带来切实影响。除技术专长外,我也擅长沟通,能够将复杂概念提炼为清晰、简明的表述。因此,我成为数据科学领域备受关注的博主,与不断壮大的数据专业人士社区分享洞见与实践经验。目前,我专注于内容创作与编辑,借助大语言模型打造有力且吸引人的内容,帮助企业与个人更好地发挥数据价值。

主题
人工智能
AI 代理

DataCamp 精品课程

学习路径

使用 LangChain 开发应用程序

9 小时
了解如何使用 LangChain 框架构建有影响力的 LLM 应用,包括 RAG 工作流和智能体系统!
查看详情开始课程

创建您的免费账户

实践并学习路径你的进步。

使用 Google 继续
继续操作即表示您接受我们的《使用条款》和《隐私政策》,并同意您的数据存储在美国。
查看更多