让 AI 助手住进你的微信:2C16G免费VPS+Hermes Agent + Web UI + 微信个人号全攻略
从零开始,手把手教你搭建一个带网页管理界面、能用微信聊天的 AI 助手
一、先知道几个名字
在开始之前,我先像介绍朋友一样,把这篇文章里出现的几个”人物”给大家认识一下。不用紧张,你不需要记住它们的技术细节,只要知道它们各自负责什么就行。
Hermes Agent —— 你的 AI 管家
想象你请了一位管家,他 24 小时待命,你发消息他就回复,你吩咐的事情他帮你做。他还能记住跟你的每次对话,越用越了解你。这就是 Hermes Agent(以下简称 Hermes)。
Hermes 最大的特点是自己会学习:他会从和你的对话中总结经验,把这些经验保存成”技能”,下次遇到类似问题直接调用,不需要从头再来。这就像管家把你的喜好记在笔记本上,下次不用你重复交代。
Hermes 支持十多种聊天平台(Telegram、Discord、Slack 等等),也可以在终端命令行里用。但是,Hermes 自带的管理界面比较简陋,而且微信这样国内最常用的聊天工具,Hermes 原生并不支持。这就是后面两个”朋友”出场的原因。
hermes-web-ui —— 给管家配一间豪华办公室
Hermes 自带的管理界面叫 hermes dashboard,你可以把它想象成管家的小隔间——功能有了,但只有一张桌子和一把椅子,能看一些基本信息,要做复杂的事情还是得打电话(敲命令行)。
而 hermes-web-ui 就像是给管家重新装修了一间豪华办公室,里面什么都有了:
- 聊天室:直接在网页上跟 AI 对话,不用敲命令行,就像用微信聊天一样自然
- 频道管理:一个页面管理所有聊天平台(Telegram、Discord、微信、飞书……),不用一个个改配置文件
- 用量统计:清楚地看到你用了多少 token、花了多少钱,每天的趋势一目了然
- 定时任务:设置闹钟让 AI 定时干活,比如每天早上给你发天气预报
- 模型管理:在同一界面上切换不同的 AI 模型(OpenAI 的、Google 的、国内的……随便换)
- 文件管理:直接在网页上浏览和管理服务器上的文件
- 网页终端:在浏览器里打开一个命令行窗口,需要的时候随时操作
- 多代理聊天室:可以建一个”聊天群”,里面放好几个 AI,互相协作帮你解决问题
- 认证保护:可以设置 Token 或密码,防止别人偷看你和 AI 的私聊
微信 iLink —— 让管家用上微信
微信对我们中国人来说就像空气一样自然,但微信一直以来没有给个人用户开放”机器人接口”。以前想用微信控制 AI,要么用灰色手段(容易被封号),要么只能放弃微信用别的平台。
2026 年 3 月,腾讯终于推出了 iLink 协议,这是微信官方首次为个人账号提供合法的 Bot API。简单说,就是腾讯同意你把 AI 接到自己的微信上,而且不会封你的号。
iLink 的工作方式是:你在微信里会发现多了一个好友叫”ClawBot”(小龙虾),跟它聊天就等于跟你的 AI 聊天。消息从微信出发,经过腾讯的服务器中转,到达你的 AI,AI 的回复再原路返回到微信。
二、为什么选 hermes-web-ui?跟其他方案比一比
目前市面上有三个主要的 Hermes 网页界面方案,我用一个生活中的例子来帮你理解它们的区别:
对比一:hermes-web-ui vs. hermes dashboard(Hermes 官方自带)
| hermes dashboard | hermes-web-ui | |
|---|---|---|
| 比喻 | 管家的小隔间 | 管家的豪华办公室 |
| 能不能跟 AI 聊天 | ❌ 只能看,不能聊 | ✅ 完整聊天功能,实时流式回复 |
| 管理聊天平台 | ❌ 需要手动改配置文件 | ✅ 网页上点一点就能配好 |
| 微信扫码登录 | ❌ 不支持 | ✅ 直接在网页上扫码 |
| 看花了多少钱 | ❌ 没有 | ✅ 每日趋势图、模型分布图 |
| 定时任务管理 | ❌ 只能命令行 | ✅ 图形界面增删改查 |
| 模型切换 | ❌ 需要改配置文件 | ✅ 下拉菜单直接选 |
| 文件管理 | ❌ 没有 | ✅ 完整的文件浏览器 |
| 网页终端 | ❌ 没有 | ✅ 浏览器里开命令行 |
| 多代理协作 | ❌ 没有 | ✅ 建聊天室让多个 AI 一起干活 |
| 有没有密码保护 | ❌ 没有 | ✅ Token 认证 + 可选密码 |
| 技术栈 | Python(FastAPI) | Vue 3 + Koa(现代前端) |
一句话总结:hermes dashboard 是”够用就行”的管理工具,hermes-web-ui 是”啥都能干”的全功能控制台。
对比二:hermes-web-ui vs. nesquena/hermes-webui(另一个社区项目)
社区里还有另一个名字很像的项目叫 hermes-webui(没有中间的短横线),为了避免混淆,我下面叫它”nesquena 版”。
| nesquena/hermes-webui | EKKOLearnAI/hermes-web-ui | |
|---|---|---|
| 比喻 | 管家的自建书房 | 管家的专业办公室 |
| 开发技术 | Python + 原生 HTML/JS(无框架) | Vue 3 + Koa(现代前端框架) |
| 界面风格 | 暗色主题,简洁 | 支持多主题(亮色/暗色/自定义) |
| 微信支持 | ❌ 没有 | ✅ 扫码登录 + 自动保存凭据 |
| 飞书支持 | ❌ 没有 | ✅ App ID / Secret 配置 |
| 企业微信支持 | ❌ 没有 | ✅ Bot ID / Secret 配置 |
| 国内平台 | ❌ 全部不支持 | ✅ 微信 + 飞书 + 企业微信 |
| 用量分析 | ❌ 没有 | ✅ 30天趋势图 + 成本追踪 |
| 多代理群聊 | ❌ 没有 | ✅ Socket.IO 实时群聊 |
| 安装方式 | Python 启动,需要装依赖 | npm install -g 一行搞定 |
| 适合什么人 | 喜欢极简、不怕折腾的技术爱好者 | 想要开箱即用、功能齐全的普通用户 |
关键区别:nesquena 版是纯 Python 做的,界面朴素,不支持任何国内平台。hermes-web-ui 是专门为中国用户考虑的——微信扫码登录、飞书、企业微信全都有。如果你主要用微信聊天,hermes-web-ui 是唯一的选择。
三、整体架构:它们是怎么连在一起的
下面我用一个”寄信”的比喻来解释整个系统的工作方式。不用担心看不懂,我不用任何代码。
3.1 系统架构全景
你的手机微信
↕(消息通过腾讯 iLink 服务器中转)
Hermes 网关(Gateway)
↕(AI 处理消息)
你的浏览器(网页管理界面)
↕(通过 BFF 服务器中转请求)
Hermes 网关(Gateway)
具体的连接路径是这样的:
- 你打开电脑浏览器 → 输入你的 Space 网址 → 看到 hermes-web-ui 的网页界面
- 你在网页上发消息给 AI → 消息先送到 BFF 服务器(你可以理解为”前台”)→ BFF 服务器把消息转给 Hermes 网关(”管家本人”)
- 你在微信上发消息 → 消息经过腾讯的 iLink 服务器 → 到达 Hermes 网关
- Hermes 网关收到消息后 → 调用 AI 模型生成回复 → 回复原路返回
3.2 三个关键角色
| 角色 | 好比是 | 端口号 | 干什么的 |
|---|---|---|---|
| Hermes 网关(Gateway) | 管家本人 | 8642 | 接收所有消息,调用 AI 回复,管理定时任务 |
| BFF 服务器 | 前台接待 | 7860 | 接待浏览器请求,转交给管家,处理网页特有的事务 |
| 数据同步服务 | 档案室管理员 | 无 | 定期把数据备份到云端,防止丢失 |
3.3 数据安全设计
你的 AI 聊天记录、配置信息都存在 /data/.hermes/ 目录下,数据同步服务会定期把这些内容备份到 Hugging Face Dataset(一种免费的云存储)。这样即使 Space 重建,你的数据也不会丢。
重要的安全机制:
- AUTH_TOKEN:就像你家的门锁密码,第一次启动时系统会自动生成一个,一定要记下来。别人没有这个 Token 就进不了你的网页界面。
- API_SERVER_KEY:网关的内部通信密钥。在我们的部署中默认不设置(因为 BFF 和网关在同一台机器上,不需要额外加密),安全性由 AUTH_TOKEN 保障。
- .env 文件:存储所有凭据(API Key、微信 Token 等),权限设置为仅管理员可读写。
3.4 配置持久化:你的设置重启后还在吗?
这是很多人最关心的问题:我在 Web UI 上做了各种设置(加了模型、配了飞书、改了 AI 行为参数),Space 重启后这些设置还会保留吗?
答案:会保留。 但这件事并不像看起来那么简单,需要特别的设计才能实现。我来解释一下为什么需要特殊设计,以及我们是怎么解决的。
问题出在哪里?
Hugging Face Space 每次启动时,都会从零创建一个全新的运行环境。你的数据能保留,全靠数据同步服务把数据备份到 Hugging Face Dataset,启动时再从 Dataset 恢复回来。
但这里有一个矛盾:系统启动时,entrypoint.sh 脚本需要根据你在 HF Spaces 设置的环境变量(比如你选了哪家 AI 模型供应商)来重新生成 config.yaml 文件。如果只是简单地把备份的 config.yaml 恢复回来,那你最新设置的环境变量就不会生效;反过来,如果直接用新生成的 config.yaml 把旧的覆盖掉,那你在 Web UI 里做的所有个性化设置就全丢了。
打个比方:就像你同时拥有两份笔记——一份是你今天早上新写的(代表环境变量的最新设定),一份是你昨天精心修改过的(代表 Web UI 里你调的设置)。你该怎么办?如果只留一份,总会丢东西。
我们的解决方案:智能合并
我们采用了一个”分区合并”的策略,就像把两份笔记的优势结合起来:
- 环境变量控制的部分(AI 模型选择、辅助模型、代理设置、API 服务器):用新生成的值。因为这些由你在 HF Spaces Settings 中设置的环境变量决定,必须始终以环境变量为准。
- 你在 Web UI 修改的部分(平台频道行为、显示偏好、AI 行为参数、记忆设置、压缩设置、定时任务、终端设置):用恢复的旧值。因为这些是你亲手调的个性化设置,不能被覆盖。
- 未分类的部分:用恢复的旧值。这是保守策略——宁可多保留你的设置,也不轻易丢弃。
具体工作流程是这样的:
Space 启动
│
├─ 1. data_sync 从 Dataset 恢复数据
│ ├─ .env、auth.json、SOUL.md、sessions/ 等直接恢复
│ └─ config.yaml → 恢复到 config.yaml.restored(临时文件,不直接覆盖)
│
├─ 2. entrypoint.sh 根据环境变量生成新的 config.yaml
│
├─ 3. 合并:读取新生成的 config.yaml + config.yaml.restored
│ ├─ model / auxiliary / delegation / api_server → 取新生成的
│ └─ platforms / display / agent / memory 等 → 取恢复的旧值
│
└─ 4. 删除 config.yaml.restored,写入最终合并后的 config.yaml
各种操作的重启持久化一览
下面这张表列出了你在 Web UI 中能做的所有操作,以及它们是否能在重启后保留:
| 你在 Web UI 中做的事 | 存到哪个文件 | 改完后自动备份? | 重启后还在? | 原因 |
|---|---|---|---|---|
| 添加模型供应商 / API Key | auth.json |
✅ 实时 | ✅ | data_sync 监听+恢复,entrypoint.sh 不动它 |
| Channel 凭据(微信/飞书 Token) | .env |
✅ 实时 | ✅ | .env 合并写入,不会覆盖已有凭据 |
| Channel 行为设置(如飞书”不需@提及”) | config.yaml 的 platforms 区块 |
✅ 定时 | ✅ | 合并策略:用户偏好区块取恢复值 |
| 显示偏好(紧凑模式、流式输出等) | config.yaml 的 display 区块 |
✅ 定时 | ✅ | 同上 |
| AI 行为参数(最大迭代、超时等) | config.yaml 的 agent 区块 |
✅ 定时 | ✅ | 同上 |
| 记忆设置(开关、字符限制) | config.yaml 的 memory 区块 |
✅ 定时 | ✅ | 同上 |
| 压缩设置 | config.yaml 的 compression 区块 |
✅ 定时 | ✅ | 同上 |
| 定时任务 | cron/ 目录 |
✅ 定时 | ✅ | 目录整体备份恢复 |
| AI 自学技能 | skills/ 目录 |
✅ 定时 | ✅ | 目录整体备份恢复 |
| 对话记录 | sessions/ + state.db |
✅ 定时 | ✅ | 文件+目录备份恢复 |
| AI 人格(SOUL.md) | SOUL.md |
✅ 定时 | ✅ | 直接恢复 |
| 登录密码(AUTH_TOKEN) | /data/.hermes-web-ui/.token |
✅ 定时 | ✅ | webui_token 路径映射 |
| 切换默认模型(通过环境变量) | — | — | ✅ | 环境变量永远权威,不受合并影响 |
简单记法:你在 Web UI 界面上做的任何修改都会在重启后保留。只有你在 HF Spaces Settings 页面改的环境变量才会覆盖对应的设置。
四、部署全流程:从注册到可用
下面我按照实际操作的顺序,把每一步都详细写出来。你只需要按照顺序一步步做就行。
4.1 准备工作
在开始之前,你需要准备好这些东西:
| 需要什么 | 怎么获取 | 免费吗 |
|---|---|---|
| Hugging Face 账号 | 去 huggingface.co 注册 | ✅ 免费 |
| 一个 AI 模型的 API Key | 推荐从 NVIDIA NIM 或 SiliconFlow 获取 | ✅ 都有免费额度 |
| 微信账号 | 你自己的个人微信 | 当然有 |
| Git | 电脑上装 Git(去 git-scm.com 下载) | ✅ 免费 |
关于 API Key 的说明:API Key 就像是你向 AI 模型公司买服务时拿到的”充值卡号”。大部分 AI 公司都会给新用户一定免费额度,足够你试用。推荐从 NVIDIA 或 SiliconFlow 获取,因为它们有国内可直接访问的接口,速度更快。
4.2 第一步:创建 Hugging Face Space
Hugging Face Spaces(简称 Space)可以理解为一个免费的云电脑,你的 AI 助手就住在那里。
- 打开 huggingface.co,登录你的账号
- 点击右上角头像 → “New Space”
- 填写信息: Space name:随便起个名字,比如 my-hermes-bot License:选 MIT SDK:选 Docker(这一步很重要,必须选 Docker) Hardware:选免费的 CPU 就行
- 点 “Create Space”
创建好后,你会看到你的 Space 页面,上面显示构建中(Building)。先放着,我们接下来要往里面放文件。
4.3 第二步:创建数据存储 Dataset
你的 AI 助手的记忆、设置、聊天记录都需要一个地方保存,这就是 Dataset。
- 去 huggingface.co/new-dataset
- 填写信息: Name:起个名字,比如 hermes-data License:选 MIT Private:勾选上(设为私有,保护你的聊天记录)
- 点 “Create Dataset”
- 记下你的 Dataset 名称,格式是 你的用户名/hermes-data
4.4 第三步:获取 Hugging Face Token
Token 是你的”万能钥匙”,让你的 Space 可以读写 Dataset 中的数据。
- 去 huggingface.co/settings/tokens
- 点 “New token”
- 名字随便写,权限选 Write(必须选 Write,否则备份不了数据)
- 复制生成的 Token,保存好
4.5 第四步:上传项目文件
把项目的所有文件上传到你的 Space。你可以用 Git 命令行,也可以在网页上手动上传。
用 Git 命令行的方式:
# 1. 克隆你的 Space(把下面的地址换成你自己的)
git clone https://huggingface.co/spaces/你的用户名/my-hermes-bot
# 2. 进入目录
cd my-hermes-bot
# 3. 把 hermes-agent 项目的文件全部复制到此目录
# 包括:Dockerfile、entrypoint.sh、requirements.txt、src/、config/ 等
# 4. 添加、提交、推送
git add .
git commit -m "Initial deployment"
git push
需要上传的文件清单:
| 文件 | 说明 |
|---|---|
Dockerfile |
告诉 Space 怎么构建你的 AI 环境 |
entrypoint.sh |
启动脚本,负责按顺序启动各个服务 |
requirements.txt |
Python 依赖包列表 |
src/data_sync.py |
数据备份恢复服务 |
config/config.yaml |
初始配置模板 |
4.6 第五步:配置环境变量
这是最关键的一步。在你的 Space 页面点击 Settings → Variables and secrets,添加以下环境变量:
必须设置:
| 变量名 | 填什么 | 例子 |
|---|---|---|
HF_DATASET_REPO |
你的 Dataset 名称 | zhangsan/hermes-data |
HF_TOKEN |
你的 Hugging Face Token | hf_xxxxxxxxxxxxx |
NVIDIA_API_KEY |
你的 AI 模型 Key(至少设置一个) | nvapi-xxxxxxxxxxx |
可选但推荐:
| 变量名 | 填什么 | 什么时候需要 |
|---|---|---|
MODEL_PROVIDER |
AI 模型供应商名 | 想手动指定用哪家 AI(如 nvidia、siliconflow) |
MODEL_NAME |
模型名称 | 想用特定模型(如 moonshotai/kimi-k2-thinking) |
SILICONFLOW_API_KEY |
SiliconFlow 的 Key | 想用国内模型(推荐,速度更快) |
GEMINI_API_KEY |
Google Gemini 的 Key | 想用视觉能力(让 AI 看懂图片) |
OPENROUTER_API_KEY |
OpenRouter 的 Key | 想用免费模型做辅助任务 |
AUTH_TOKEN |
自定义网页登录密码 | 不设的话系统会自动生成一个 |
如果你已经有了多个 API Key,可以都填上,系统会自动选择可用的那个作为主模型。
4.7 第六步:等待构建完成
推送代码后,Space 会自动开始构建(Building)。这个过程大约需要 5-15 分钟,你可以在 Space 页面的 “Logs” 标签下查看进度。
看到日志中出现以下内容,就说明启动成功了:
✅ API Server 已就绪 (http://127.0.0.1:8642)
✅ Web UI 已就绪 → http://localhost:7860
✅ 模型配置验证通过
4.8 第七步:登录网页界面
- 在浏览器中打开你的 Space 网址:https://你的用户名-my-hermes-bot.hf.space
- 你会看到一个登录界面,要求输入 Token
- 第一次启动:查看 Space 的日志(Logs),找到类似下面这段的内容:
╔══════════════════════════════════════════════════╗
║ 🔑 Web UI 认证 Token (请保存!) ║
║ 743f9872556571f12e6845b7279e04f0
║ ║
║ 在 Web UI 登录页面输入此 Token ║
║ 也可在 HF Spaces Settings 设置 AUTH_TOKEN 覆盖 ║
╚══════════════════════════════════════════════════╝
- 把这个 Token 复制下来,粘贴到登录界面,点确定
如果以后忘了 Token:你可以在 Space 的 Settings → Variables 中设置 AUTH_TOKEN 环境变量为你自己想要的密码,这样重启后就用你设的密码登录了。
4.9 常见构建问题
| 问题 | 日志中的表现 | 解决办法 |
|---|---|---|
| NODE_ENV 导致构建失败 | vue-tsc: not found |
确保 Dockerfile 中 NODE_ENV=production 在构建步骤之后设置 |
| API Server 启动失败 | API Server 未在 30 秒内就绪 |
检查 config.yaml 中 api_server.host 是 127.0.0.1 而不是 0.0.0.0 |
| npm prepare 钩子报错 | npm install 时执行了不该执行的脚本 |
Dockerfile 中需要 npm pkg delete scripts.prepare |
| Token 找不到 | 登录时不知道密码 | 查看 Space 启动日志,或设置 AUTH_TOKEN 环境变量 |
五、Web UI 主要功能上手指南
登录成功后,你就进入了 AI 助手的”豪华办公室”。先熟悉一下各个区域的功能,后面再接入微信也不迟。
5.1 聊天(Chat)
点击左侧的 Chat 按钮,进入聊天界面。
- 新建对话:点左上角的 + New Chat 按钮
- 切换模型:在聊天框上方的下拉菜单中切换不同的 AI 模型
- 搜索历史:按 Ctrl+K 可以搜索所有历史对话
- 上传文件:点击聊天框旁边的附件按钮,可以上传图片或文件让 AI 分析
- 下载文件:AI 生成的文件可以在对话中直接下载
5.2 模型管理(Models)
点击左侧的 Models 按钮。
- 这里列出了你所有可用的 AI 模型供应商
- 点击任意供应商可以看到该供应商下有哪些模型
- 你可以添加新的供应商(支持任何 OpenAI 兼容的接口)
- Nous Portal 和 OpenAI Codex 还支持 OAuth 登录,直接在网页上点击授权就行
5.3 频道管理(Channels)
点击左侧的 Channels 按钮。
这是管理所有聊天平台的地方。你会看到好几个平台的卡片:
| 平台 | 能配什么 |
|---|---|
| Telegram | Bot Token、是否需要@提及、表情反应、自由回复聊天 |
| Discord | Bot Token、是否需要@提及、自动建子帖、频道白名单/黑名单 |
| Slack | Bot Token、是否需要@提及、是否允许 Bot 消息 |
| 开关、是否需要@提及、提及模式 | |
| Matrix | Access Token、服务器地址、自动建子帖 |
| 飞书(Feishu) | App ID / App Secret、是否需要@提及 |
| 微信(Weixin) | 扫码一键登录(QR Login)、也可手动填 Token |
| 企业微信(WeCom) | Bot ID / Secret |
每次在频道页面修改设置后,数据会自动保存并备份。如 3.4 节所述,重启后这些设置都会保留。
5.4 用量统计(Usage)
点击左侧的 Usage 按钮。
- 你可以看到 token 使用量的每日趋势图
- 每个模型的使用占比
- 估算的费用(基于公开的模型定价)
- 缓存命中率(缓存命中越多,速度越快、费用越低)
5.5 定时任务(Jobs)
点击左侧的 Jobs 按钮。
- 你可以创建定时任务,让 AI 在指定时间自动做事
- 比如每天早上 8 点总结新闻、每周一整理待办事项
- 支持 Cron 表达式(高级用户),也有简单的预设可选
- 可以随时暂停、恢复或手动触发执行
5.6 技能和记忆(Skills & Memory)
点击左侧对应的按钮。
- Skills:查看 AI 自己学到的技能。AI 会在使用过程中自动创建技能,比如”如何调用某个 API”或”用户喜欢的代码风格”
- Memory:查看和编辑 AI 关于你的记忆。你可以修改这些记忆来让 AI 更了解你
5.7 设置(Settings)
点击右上角的齿轮图标。
- Display:调整显示偏好(流式输出、紧凑模式等)
- Agent:AI 的行为参数(最大迭代次数、超时时间等)
- Memory:记忆系统的开关和限制
- Session:会话超时和重置设置
- Privacy:隐私保护(自动去除个人信息)
六、微信个人号接入:让 AI 住进你的微信
这是整个项目最激动人心的部分——把 AI 接入你自己的微信,随时随地用微信跟 AI 聊天。
6.1 前提条件
- 你的 Hermes + Web UI 已经成功部署并能正常打开
- 你有一个可以正常使用的个人微信账号
- 你的手机上安装了微信
6.2 微信接入步骤
第 1 步:打开频道管理页面
在网页界面中,点击左侧导航栏的 Channels(频道)按钮。
第 2 步:找到微信设置区域
在频道页面中,你会看到好几个平台的卡片(Telegram、Discord、Slack……),往下滚动,找到写着 Weixin(微信)的卡片。
第 3 步:点击 QR Login 扫码登录
在微信卡片中,你会看到一个 QR Login 按钮。点击它。
系统会为你生成一个二维码,并且自动在新的浏览器标签页中打开这个二维码。
第 4 步:用微信扫码
- 打开手机微信
- 点击右上角的 + → 扫一扫
- 扫描浏览器中显示的二维码
第 5 步:在微信中打开 ClawBot
扫码成功后,你的微信中会出现一个叫 ClawBot(小龙虾)的新好友。点击它,进入对话界面。
第 6 步:发一条消息测试
在 ClawBot 的对话界面中,随便发一条消息,比如”你好”。如果一切正常,你会在几秒钟内收到 AI 的回复。
6.3 扫码登录的注意事项
二维码登录过程中,网页上会有状态提示。以下是各种状态的含义:
| 状态 | 含义 | 你要做什么 |
|---|---|---|
| 加载中(Loading) | 正在从腾讯服务器获取二维码 | 等一下就好 |
| 等待扫码(Waiting) | 二维码已生成,等你扫 | 打开微信扫一扫 |
| 已扫码(Scanned) | 你已经扫了,但还没确认 | 在手机上确认 |
| 已确认(Confirmed) | 扫码成功!凭据已保存 | 不需要做任何事,系统会自动重启网关 |
如果二维码过期了:每个二维码有有效期(通常几分钟),过期后网页会提示”已过期”(Expired)。没关系,重新点 QR Login 按钮生成新的二维码就行。
6.4 微信连接后能看到什么
成功连接后,你会发现:
- 在 Web UI 中:Channels 页面的 Weixin 卡片中,Account ID 和 Token 字段会自动填上值。Gateway Status 应该显示为绿色运行状态。
- 在 Space 日志中:会看到类似 ✓ weixin connected 的提示,说明微信平台已连接。
- 在微信中:你的 ClawBot 好友可以正常聊天。
七、微信日常使用注意事项
微信 iLink 是腾讯新推出的功能,跟 Telegram Bot 比还有一些限制。使用之前一定要了解清楚,免得遇到问题时不知道怎么回事。
7.1 只能一对一私聊
iLink 目前只支持 1对1 私聊。也就是说,ClawBot 不能加入微信群,你只能在单独的聊天窗口里跟它对话。
如果你想在群里用 AI,可以考虑飞书(Feishu)或企业微信(WeCom),它们在 hermes-web-ui 的 Channels 页面中也有对应的配置卡片。
7.2 只能被动回复,不能主动搭话
AI 不能主动给你发消息——必须是你先发一条消息,AI 才能回复。它不会像真人朋友一样突然给你发消息说”在吗”。
这意味着:
- ✅ 你发”今天天气怎么样”,AI 回复 — 正常
- ❌ AI 突然给你发消息 — 不可能
7.3 Space 重启后需要重新”激活”
每次 Space 重启(比如你改了环境变量、或者 Space 休眠后唤醒),ClawBot 的回复能力可能暂时丢失。这是因为重启后 AI 跟微信之间的”会话凭证”(context_token)被清空了。
解决办法很简单:重启后,在微信中给 ClawBot 发一条消息(比如”你好”),AI 收到消息后会自动获取新的会话凭证,之后就能正常回复了。
7.4 没有明确的每日消息限制
好消息:腾讯目前没有公开 iLink 的每日消息条数硬限制。实际测试中,正常使用(每天几十到上百条消息)完全没问题。
但是,请注意以下几点:
- 不要短时间内疯狂发消息:一次性发几百条可能会触发腾讯的安全机制
- 腾讯随时可能调整策略:今天没限制不代表明天也没有
- 核心业务要有备用方案:如果你的 AI 助手承担重要任务,建议同时配置 Telegram 或飞书作为备用通道
7.5 不能查看历史消息
iLink 协议没有”查看聊天记录”的功能。也就是说:
- 你在微信里看过但 AI 已经处理过的消息,AI 不会再次收到
- 如果你想要 AI 处理之前的消息,需要重新发送
不过好消息是,Hermes 自身会在 /data/.hermes/sessions/ 中保存所有对话记录,你可以在 Web UI 的聊天页面中查看完整的对话历史。
7.6 二维码登录不是永久的
微信扫码登录后,凭据会保存在 .env 文件中,但这个凭据可能会过期。如果有一天你发现微信发消息 AI 不回复了,可能需要重新扫码登录。
重新扫码的方法跟第一次一样:打开 Channels 页面 → Weixin → QR Login。
7.7 Space 休眠问题
Hugging Face 的免费 Space 在48 小时没有访问后会自动休眠。休眠后你的 AI 助手就像睡着了一样——微信发消息不会收到回复。
解决方法:
- 设置外部唤醒服务:推荐使用 UptimeRobot(免费): 注册账号 添加一个监控:类型选 HTTP(s),URL 填 https://你的用户名-my-hermes-bot.hf.space/health,间隔设 5 分钟 这样每 5 分钟就会有请求访问你的 Space,它就不会休眠了
- 升级到付费 Space:付费的 Space 不会休眠,但每月需要几美元
- 手动唤醒:休眠后,在浏览器中打开你的 Space 网址,等一两分钟它就会重新启动。启动后记得在微信中给 ClawBot 发一条消息”激活”它。
7.8 安全提醒
| 注意事项 | 为什么重要 |
|---|---|
| 不要把 AUTH_TOKEN 告诉别人 | 别人有了你的 Token 就能看你的聊天记录、改你的设置 |
| Dataset 设为私有 | 你的聊天记录和 AI 记忆存储在 Dataset 中,设为私有才安全 |
| 不要在微信中发送银行卡号等敏感信息 | 虽然数据存在你自己的空间,但谨慎总是好的 |
| 定期检查 Space 日志 | 看看有没有异常的访问或错误 |
| HF_TOKEN 要保密 | 有了你的 Token 别人可以读写你的所有 Hugging Face 资源 |
八、故障排除:常见问题和解决办法
Q1:网页打不开怎么办?
- 检查 Space 是否在运行(Building/Running 状态)
- 清除浏览器缓存再试
- 换一个浏览器试试
- 查看 Space 日志有没有错误
Q2:微信消息发出去 AI 不回复?
按这个顺序排查:
- Space 是不是休眠了? → 在浏览器中打开 Space 网址,等一两分钟
- 微信连接还在吗? → 打开 Web UI 的 Channels 页面,看 Gateway Status 是否绿色
- 是不是刚重启过? → 在微信中给 ClawBot 发一条消息”激活”
- API Key 还有额度吗? → 检查 Space 日志中有没有 “insufficient quota” 之类的错误
Q3:重启 Space 后设置丢失了怎么办?
现在的版本已经解决了这个问题(详见 3.4 节)。系统会在启动时智能合并配置,保证:
- 你在 HF Spaces Settings 设的环境变量(模型选择等)始终生效
- 你在 Web UI 里做的个性化设置(频道行为、显示偏好等)不会丢失
如果你使用的是旧版本,可能还会遇到这个问题,请确保更新到包含以下修复的版本:
- .env 合并写入(不被覆盖)
- config.yaml 智能合并(用户偏好区块不被覆盖)
Q4:AI 回复很慢怎么办?
AI 的回复速度主要取决于:
- 模型选择:小模型快、大模型慢。如果只是简单对话,用 gpt-4o-mini 或 gemini-2.0-flash 等小模型就够了
- API 供应商:国内供应商(SiliconFlow、NVIDIA NIM)通常比国外的快
- Space 资源:免费 CPU 的计算能力有限,升级付费硬件可以提升速度
Q5:我想让多个微信好友用同一个 AI 怎么办?
iLink 协议是绑定到一个微信个人号的,也就是说只有你自己能看到 ClawBot。如果你想让别人也能用,有两个方案:
- 让他们在网页上直接聊天:让朋友打开你的 Space 网址,输入 Token 登录
- 改用飞书或企业微信:这些平台支持群聊,可以让多人在群里跟 AI 对话
Q6:数据会不会丢?
不会。数据同步服务每隔 5 分钟(默认)会把数据备份到 Hugging Face Dataset。即使 Space 重建,数据也能从 Dataset 恢复。
但请注意:
- 首次部署不需要预先创建 Dataset 中的数据,系统会自动创建
- 改配置后最好等一个同步周期(5 分钟)再重启,确保最新数据已备份
九、进阶:自定义你的 AI 助手
9.1 更换默认模型
如果你对默认的 AI 模型不满意,可以在 Space 的 Settings → Variables 中设置:
- MODEL_PROVIDER:供应商名称(如 siliconflow、openai、google)
- MODEL_NAME:模型名称(如 Pro/moonshotai/Kimi-K2.5)
支持的供应商和推荐模型:
| 供应商 | 环境变量名 | 推荐模型 | 特点 |
|---|---|---|---|
| NVIDIA | NVIDIA_API_KEY |
moonshotai/kimi-k2-thinking |
推理能力强 |
| SiliconFlow | SILICONFLOW_API_KEY |
Pro/moonshotai/Kimi-K2.5 |
国内访问快 |
| OpenAI | OPENAI_API_KEY |
gpt-4o |
性能均衡 |
GEMINI_API_KEY |
gemini-2.5-flash |
免费额度多、支持视觉 | |
| OpenRouter | OPENROUTER_API_KEY |
免费模型可选 | 聚合多个供应商 |
9.2 配置 AI 的人格
你可以通过编辑 SOUL.md 文件来定义 AI 的人格。这个文件决定了 AI “说话的口吻”和”行为准则”。
方法:在 Web UI 中找到文件浏览器,定位到 /data/.hermes/SOUL.md,直接编辑保存。
9.3 让 AI 记住重要的事
AI 有自己的记忆系统,它会自动记住跟你的对话中的重要信息。你也可以手动添加记忆:
- 在 Memory 页面中编辑 USER.md,写入关于你自己的信息(比如”我喜欢 Python 语言”、”我在北京”)
- AI 会在每次对话开始时参考这些记忆
十、总结
通过 Hermes + hermes-web-ui + 微信 iLink 的组合,你可以拥有一个:
- 网页可管理的 AI 助手——不用敲命令行
- 微信可聊天的 AI 助手——手机上随时用
- 自动备份的 AI 助手——数据不丢失
- 配置持久化的 AI 助手——重启后设置不丢
- 会自我学习的 AI 助手——越用越懂你
整个部署过程的核心就是三个步骤:
- 在 Hugging Face 上创建 Space 和 Dataset
- 上传项目文件并配置环境变量
- 在 Web UI 中扫码登录微信
如果遇到问题,先看日志,再参照本文的故障排除部分。大多数问题都能自己解决。
📝 本文基于 Hermes Agent v0.10.0 + hermes-web-ui v0.4.9 + 微信 iLink 协议(2026年4月)撰写。软件版本更新可能导致界面和操作流程有所变化,请以实际版本为准。