从零搭建 24 小时个人 AI Agent:Ubuntu + Hermes Agent + Xiaomi MiMo V2.5 Pro

Ubuntu 部署 Hermes Agent 并接入 Xiaomi MiMo V2.5 Pro

本文记录如何在一台 Ubuntu Linux 主机上部署 Hermes Agent,接入 Xiaomi MiMo V2.5 Pro,并进一步配置搜索、记忆、技能、定时任务以及微信/QQ 消息入口。

推广声明:本文包含 Xiaomi MiMo 邀请链接。通过该链接注册或购买,作者可能获得平台奖励,但不会增加读者的额外费用。请根据自己的实际需求决定是否使用。

Xiaomi MiMo V2.5 Pro:填写邀请码可得 ¥10 Token


一、最终能得到什么

完成本文后,你会拥有一个运行在自己 Linux 主机上的个人 AI Agent:

  • 主模型使用 Xiaomi MiMo mimo-v2.5-pro
  • 能在终端中持续对话;
  • 能调用终端、文件、代码执行、搜索、记忆、技能和定时任务;
  • 可选接入微信、QQ Bot 等消息平台;
  • 可作为 systemd 用户服务后台运行;
  • 退出 SSH 或锁屏后仍然在线;
  • API Key 和普通配置分离保存。

整体架构如下:
Hermes Agent、MiMo V2.5 Pro、工具、记忆和消息平台的部署架构


二、环境准备

本文以 Ubuntu 22.04/24.04、普通用户安装为例。服务器、旧笔记本、迷你主机、云主机都可以,不需要本地显卡,因为模型运行在 Xiaomi MiMo API 上。

建议配置:

  • 2 核 CPU 或以上;
  • 4 GB 内存或以上;
  • 10 GB 可用磁盘;
  • 稳定互联网连接;
  • 一个普通 Linux 用户;
  • 已开通 Xiaomi MiMo API。

先检查基础工具:

git --version
curl --version
xz --version

Ubuntu 缺少依赖时执行:

sudo apt update
sudo apt install -y git curl xz-utils

不建议直接使用 root 运行个人 Agent。普通用户安装更容易控制文件权限,Hermes 的配置也会保存在当前用户目录下。


三、开通 Xiaomi MiMo API

进入 Xiaomi MiMo 开放平台,注册并创建 API Key。

创建 Key 后,请只在本机或服务器终端中使用。不要把完整 Key 发到聊天、截图、GitHub、CSDN 或日志中。

本文使用:

Provider: Xiaomi MiMo
Model: mimo-v2.5-pro
Base URL: https://api.xiaomimimo.com/v1

MiMo Token Plan 是额度套餐,并非真正无限调用。个人用户可以先从较低档位开始,根据控制台的实际消耗再决定是否升级。


四、安装 Hermes Agent

官方 Linux 安装命令:

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

安装脚本会准备 Hermes 所需的运行环境。普通用户安装后,核心目录通常位于:

~/.hermes/

重新加载 Shell:

source ~/.bashrc

检查命令:

hermes --help
hermes doctor

如果出现 hermes: command not found,先检查:

ls -l ~/.local/bin/hermes
echo "$PATH"

临时补充 PATH:

export PATH="$HOME/.local/bin:$PATH"

五、选择 Full Setup

运行:

hermes setup

首次会看到三种方式:

Quick Setup (Nous Portal)
Full setup
Blank Slate

因为本文使用自己的 Xiaomi MiMo API Key,所以选择:

Full setup — configure every provider, tool & option yourself

Quick Setup 更适合使用 Nous Portal;Blank Slate 则只打开最基础能力。


六、配置 Xiaomi MiMo V2.5 Pro

在 Provider 列表中选择:

Xiaomi MiMo

随后填写:

Xiaomi MiMo API key: 你的 API Key
Base URL: https://api.xiaomimimo.com/v1
Default model: mimo-v2.5-pro

Base URL 如果已经显示默认值,直接按 Enter 即可。

配置完成后,Hermes 会把敏感信息和普通配置分开保存:

~/.hermes/.env          # API Key、Token 等敏感信息
~/.hermes/config.yaml   # 模型、工具、Gateway 等普通配置

不要把 .env 上传到 GitHub。

也可以只运行模型向导:

hermes model

官方原生 Provider 使用的环境变量是:

XIAOMI_API_KEY=你的_API_Key

对应配置应类似:

model:
  provider: xiaomi
  default: mimo-v2.5-pro

优先推荐使用交互式向导,它能减少 YAML 缩进和字段名错误。


七、终端后端怎么选

个人 Linux 主机通常选择:

Local - run directly on this machine

或已有配置时选择:

Keep current (local)

几种后端的区别:

后端 特点 适用场景
Local 直接操作当前主机 个人服务器、开发机
Docker 隔离更强 希望限制 Agent 权限
SSH 在另一台远程机器执行 控制独立开发主机
Modal/Daytona 云端沙箱 临时或弹性任务

需要特别注意:Local 模式下,Agent 能使用当前 Linux 用户拥有的权限。不要随意给该用户免密码 sudo,更不要把 root 密码写进 .env


八、工具怎么选

Hermes 的工具可以按 CLI、QQ Bot、微信等入口分别配置。推荐先启用:

  • Terminal & Processes;
  • File Operations;
  • Code Execution;
  • Skills;
  • Task Planning;
  • Memory;
  • Clarifying Questions;
  • Cron Jobs;
  • Web Search。

以下功能建议按需开启:

  • Browser Automation:可以自动打开、点击网页;
  • Computer Use:可以操作图形桌面,权限较高;
  • Image/Video Generation:通常需要额外 Provider;
  • Task Delegation:会增加模型调用量;
  • Home Assistant:会控制真实智能家居设备。

免费搜索方案

不想额外申请 Key,可以选择:

DuckDuckGo (ddgs)

它免费、免 Key,但只负责搜索,不能稳定提取完整网页正文。需要深度抓取时,再配置 Firecrawl、Tavily、Exa 或自建 SearXNG。

免费语音方案

可以选择:

Microsoft Edge TTS

它无需 API Key,适合中文朗读。

本地浏览器

浏览器 Provider 可以选择:

Local Browser

它使用本机 Chromium,不需要云浏览器订阅。


九、先在 CLI 中测试

不要一装完就配置十几个平台。先确认基础对话正常:

hermes

输入:

你好,请告诉我当前使用的模型名称,并查看这台机器的磁盘剩余空间。

如果能正常回复并调用工具,说明 MiMo 模型和 Hermes 基础链路已经打通。

建议再运行:

hermes doctor

十、接入微信和 QQ Bot(可选)

运行:

hermes gateway setup

微信

选择:

Weixin / WeChat

向导会显示二维码,使用微信扫码确认。个人微信接入的是 iLink Bot 身份,并不是把普通微信号本身变成机器人。通常私聊更稳定,普通微信群事件可能无法投递。

安全策略建议:

DM pairing approval
Disable group chats

首次私聊会得到配对码,在服务器执行:

hermes pairing approve weixin 你的配对码

QQ Bot

选择:

QQ Bot

可以使用扫码自动添加,也可以手动填写 App ID 和 App Secret。私聊授权同样建议使用 Pairing Approval,不要直接允许所有陌生人。

出现配对码时,按终端提示批准,例如:

hermes pairing approve qqbot 你的配对码

QQ App Secret、微信 Token 和用户 OpenID 都不应出现在公开教程截图里。


十一、让 Gateway 后台运行并开机自启

向导询问后台运行方式时,个人服务器选择:

User service

然后同意:

Start the gateway now: Y
Start automatically on login/boot: Y

让用户服务在退出 SSH 后继续运行:

sudo loginctl enable-linger "$USER"

检查服务:

systemctl --user is-enabled hermes-gateway
systemctl --user is-active hermes-gateway
systemctl --user status hermes-gateway --no-pager

查看最近日志:

journalctl --user -u hermes-gateway -n 100 --no-pager

实时追踪:

journalctl --user -u hermes-gateway -f

退出日志追踪按 Ctrl+C

重启 Gateway:

systemctl --user restart hermes-gateway

注意:重启会短暂中断消息平台,也可能打断正在执行的 Agent 任务,不要把“每几分钟无条件重启”当作常规保活方案。


十二、配置个性、记忆和项目规则

Hermes 的主要目录结构:

~/.hermes/
├── config.yaml
├── .env
├── SOUL.md
├── memories/
├── skills/
├── cron/
├── sessions/
└── logs/

SOUL.md:全局身份与风格

编辑:

nano ~/.hermes/SOUL.md

示例:

# Identity

你是我的个人 Linux 与机器人开发助手。

# Style

默认使用中文,回答直接、清楚。复杂操作先给结论,再给步骤。

# Safety

涉及删除文件、修改网络、重启服务、sudo 或对外发送信息前,先说明风险并征求确认。
不得泄露密码、API Key、Token 和隐私文件。

AGENTS.md:项目规则

在具体项目根目录创建 AGENTS.md,记录编译方式、代码规范、禁止操作和测试命令。Hermes 在该目录工作时会按需加载。

Memory 与 Skills

  • Memory 适合保存简短且稳定的用户偏好与环境事实;
  • Skills 适合保存较长的可复用工作流;
  • 大型知识库建议单独放 Markdown 文件并按需读取,避免每轮对话都消耗上下文。

十三、创建第一个定时任务

接入微信后,可以直接对 Agent 说:

创建一个每天 07:30(Asia/Shanghai)执行的定时任务:查询成都当天的天气、温度、降雨概率和穿衣建议,并发送到当前微信聊天。创建后告诉我任务名称和执行时间。

查看定时任务:

hermes cron list

建议先创建低风险的信息类任务,再逐步尝试文件整理、监控和自动化。不要让无人值守的 Cron 自动执行删除、升级系统或修改网络配置。


十四、代理环境下的常见问题

部分 Python HTTP 客户端不接受:

socks://127.0.0.1:7890

如果你的代理端口同时支持 HTTP,可以在 ~/.hermes/.env 中使用:

HTTP_PROXY=http://127.0.0.1:7890
HTTPS_PROXY=http://127.0.0.1:7890
ALL_PROXY=http://127.0.0.1:7890
http_proxy=http://127.0.0.1:7890
https_proxy=http://127.0.0.1:7890
all_proxy=http://127.0.0.1:7890

修改后重启 Gateway 才能让后台服务读取新环境变量:

systemctl --user restart hermes-gateway

如果服务器本身承担家庭网络代理,请谨慎操作代理进程。停止代理可能同时让 Agent 和其他设备断网。


十五、常见故障排查

1. hermes: command not found

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

2. 模型配置完成但不能回复

检查:

hermes doctor
hermes config

确认:

  • API Key 有效;
  • Provider 是 xiaomi
  • Model 是 mimo-v2.5-pro
  • Base URL 是官方地址;
  • 套餐或账户仍有可用额度。

3. 微信首次聊天不回复

查看机器人返回的配对码,然后执行:

hermes pairing approve weixin 配对码

4. QQ 提示“机器人灵魂不在线”

先检查:

systemctl --user status hermes-gateway --no-pager
journalctl --user -u hermes-gateway -n 200 --no-pager

如果日志出现:

WebSocket closed: code=4009 reason=Session timed out

可能是 QQ WebSocket 会话已断开但主 Gateway 仍然存活。可先在确认没有重要任务运行时重启 Gateway:

systemctl --user restart hermes-gateway

若反复发生,应先升级到官方已修复版本或设计“确认 QQ 实际失联后才重启”的 Watchdog,不建议无条件定时重启整个 Gateway。

5. DuckDuckGo 能搜索但不能提取网页正文

这是 ddgs 的能力边界。需要 web_extract 时,配置 Firecrawl、Tavily、Exa、Parallel 或自建提取服务。


十六、常用命令速查

# 进入聊天
hermes

# 完整配置向导
hermes setup

# 切换模型/Provider
hermes model

# 配置工具
hermes tools

# 配置消息平台
hermes gateway setup

# 查看 Gateway 状态
hermes gateway status
systemctl --user status hermes-gateway --no-pager

# 查看日志
journalctl --user -u hermes-gateway -n 100 --no-pager

# 健康检查
hermes doctor

# 查看定时任务
hermes cron list

十七、总结

Hermes Agent 负责 Agent 的工具、记忆、技能、消息入口和自动化;Xiaomi MiMo V2.5 Pro 负责主模型推理。两者组合后,可以把一台普通 Ubuntu 主机变成长期在线的个人 AI Agent。

建议按这个顺序部署:

  1. 安装 Hermes;
  2. 配置 Xiaomi MiMo API;
  3. 先验证 CLI 对话;
  4. 再启用必要工具;
  5. 接入微信/QQ;
  6. 配置 systemd 用户服务和 linger;
  7. 最后增加记忆、技能和定时任务。

如果本文对你有帮助,可以通过我的邀请入口体验 Xiaomi MiMo:

欢迎在评论区交流 Hermes、MiMo、ROS2、家庭服务器和 AI Agent 的使用经验。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐