给女朋友配了个 AI 助手——Hermes Agent 多用户 Profile 实战

2026年05月23日8 次阅读0 人喜欢

前阵子一直在折腾 Hermes Agent,把自己的微信、Telegram、Discord 都接上了,用着挺顺手的。女朋友看着眼馋,也想来一个。

那就安排吧。

需求很简单

给她单独弄一个 AI 助手,通过微信聊天。核心要求就几个:

  1. 跟我完全隔离——她的对话、记忆、人格设置我都看不到
  2. 用微信——她日常最常用的聊天工具
  3. 不会误操作到我这边的东西

Hermes Agent 有个 Profile 功能,完美契合这个需求。

第一步:创建独立 Profile

Hermes 的 Profile 可以理解为一个完全独立的实例,有自己的配置、记忆、技能库、会话历史。

bash 复制代码
hermes profile create helen --clone

--clone 会从默认配置复制一份,包括 API Key、技能库等。这样不用从零开始配。

创建完成后,自动生成了快捷命令 helen,用 helen chat 就能直接启动。

第二步:写专属 SOUL.md

Hermes 的人格定义在 SOUL.md 文件里。我给她写了一份:

  • 说话温柔靠谱,不废话
  • 认识到自己是 Helen 的私人助手
  • 明确写了"绝对不要把 Helen 的信息分享给山哥的会话"
  • 结尾风格像贴心朋友,有分寸感
markdown 复制代码
## 关于 Helen

- Helen,山哥的女朋友
- 你是 Helen 的私人助手,不是山哥的
- 说话温柔一点,但不要油腻

第三步:独立 Linux 账号

之前已经给女朋友建了一个 Linux 账号(Helen,uid=1001),之前用来跑邮件助手的。

把 Profile 搬到她的 home 目录下:

bash 复制代码
mv ~/.hermes/profiles/helen /home/Helen/.hermes
chown -R Helen:Users /home/Helen/.hermes

这样配置、会话、记忆都存放在她自己的目录里,跟我(root)完全隔离。

这是踩坑最多的地方。

误区:共用一个 Bot

一开始我天真地以为,我可以直接让她给我现有的微信 Bot 发消息,通过 DM Policy 控制权限就行。

但试了一圈发现不行。iLink Bot(微信个人号机器人)的架构是:

  • 每个微信账号扫码绑定一个独立的 Bot 身份(格式像 xxxxx@im.bot
  • 别人没法通过搜索、扫码添加 Bot 为好友
  • Bot 只能接收直接发给它的消息

Helen 搜不到我的 Bot,所以只能给她单独搞一个。

重新扫码登录

切换到 Helen 的账号,运行:

bash 复制代码
hermes gateway setup

选择微信,用她自己的微信扫码登录。成功后会生成一个全新的 iLink Bot ID。

注意: 我这边已经有一个 Gateway 在跑(root 用户),Helen 需要单独跑一个。好消息是两个 Gateway 完全独立,不冲突——不同的 Bot ID,不同的 systemd 服务。

第五步:各种踩坑

###坑 1:/home/Helen 目录权限问题

Helen 的 home 目录 owner 是 root(之前创建账号时遗留的),导致她没有写权限。hermes gateway install 要写 ~/.config/systemd/user/,直接报 Permission denied

bash 复制代码
chown Helen:Users /home/Helen
mkdir -p /home/Helen/.config/systemd/user
chown -R Helen:Users /home/Helen/.config

坑 2:XDG_RUNTIME_DIR 未设置

su 切换用户时,XDG_RUNTIME_DIR 不会自动设置。Hermes 的 systemd --user 检查会读到 /run/user/0/bus(root 的),然后报权限错误。

解决:在 .bashrc 里加上:

bash 复制代码
export XDG_RUNTIME_DIR="/run/user/$(id -u)"

坑 3:没有 ll 命令

Helen 的账号之前就是个空壳,没有 .bashrc,什么 alias 都没有。给她写了一个基础配置,加了 llls --color、history 格式化等。

坑 4:DM Policy 拦截

克隆配置时 WEIXIN_DM_POLICY=pairing,所有陌生人都被拦截。改成 open 才能让 Helen 发消息通过。

bash 复制代码
WEIXIN_DM_POLICY=open
WEIXIN_ALLOW_ALL_USERS=true

坑 5:Telegram/Discord 冲突

克隆的 .env 里有我的 Telegram 和 Discord Bot Token。两个 Gateway 不能用同一个 Bot 同时连接——会互相踢。把 Helen 的 .env 里这两个 token 注释掉就好了。

坑 6:开机自启

Helen 没有 systemd linger,机器重启后 user service 不会自动运行:

bash 复制代码
loginctl enable-linger Helen

最终架构

搞完之后,这台零刻 Mini 上跑着两个完全独立的 Hermes Gateway:

复制代码
┌─────────────────────────────────────────────┐
│  零刻 Mini (Debian 12)                       │
│                                             │
│  ┌─ root (systemd) ────────────────────┐    │
│  │  Hermes Gateway                     │    │
│  │  ├─ 微信 iLink Bot A                │    │
│  │  ├─ Telegram Bot                    │    │
│  │  ├─ Discord Bot                     │    │
│  │  └─ SOUL.md → 山哥风格              │    │
│  └─────────────────────────────────────┘    │
│                                             │
│  ┌─ Helen (systemd --user) ─────────────┐   │
│  │  Hermes Gateway                     │    │
│  │  ├─ 微信 iLink Bot B                │    │
│  │  └─ SOUL.md → 温柔靠谱风格           │    │
│  └─────────────────────────────────────┘    │
│                                             │
│  完全隔离:配置、会话、记忆、人格             │
└─────────────────────────────────────────────┘

总结

整个过程大概花了两个多小时,大部分时间在踩坑。Hermes 的 Profile 功能本身设计得很好,配置隔离开箱即用,主要的问题都是 Linux 层面的权限和环境配置。

如果以后还要给其他人配,流程大概是:

  1. 创建 Linux 用户 + .bashrc 基础配置
  2. loginctl enable-linger 开启持久化
  3. hermes profile create + 写 SOUL.md
  4. hermes gateway setup 扫码登录
  5. 清理 .env 里不需要的平台 token
  6. hermes gateway install && hermes gateway start

其实不难,就是踩坑多。写下来省得下次再踩一遍。


工具有了,JARVIS 的第一步算是走完了。接下来就看怎么让它更好用了。

加载评论中...