Files
obsidian-vault/personal/tech/hermes-pairing-multi-profile.md
T

137 lines
5.6 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Hermes pairing — approve пользователей, multi-profile
created: '2026-09-29'
updated: '2026-09-29'
type: tech
namespace: personal
status: active — процедура проверена 2026-09-29
tags:
- hermes
- pairing
- telegram
- mattermost
- multi-profile
related:
- '[[personal/tech/hermes-whale-mattermost-transport.md]]'
- '[[personal/projects/personal-os/eagle-dashboard.md]]'
---
# Hermes pairing — approve пользователей (multi-profile)
Процедура выдачи доступа новому пользователю к боту Hermes. Проверена 2026-09-29
на инстансе **whale** для telegram и mattermost.
## 🔴 ГЛАВНОЕ: pairing — per-profile, и это легко перепутать
`hermes pairing` работает **внутри того профиля, который задан `HERMES_HOME`**.
На этой машине профилей несколько (минимум **eagle** и **whale**), и у каждого свой
список одобренных пользователей.
```
/Users/admin/.hermes/ ← базовый профиль (Eagle)
/Users/admin/.hermes/hermes-whale/ ← профиль Whale (Кит)
```
🔴 **Перед любым approve — проверить инстанс:**
```bash
echo "HERMES_HOME=$HERMES_HOME"
```
Ожидаемо для Кита: `HERMES_HOME=/Users/admin/.hermes/hermes-whale`.
Alex отдельно предупреждает: **не трогать eagle** (он остановлен, но конфиг живой).
## Команды
```bash
# назначить профиль явно (надёжнее, чем полагаться на окружение)
export HERMES_HOME=/Users/admin/.hermes/hermes-whale
# список: pending + approved
hermes pairing list
# одобрить
hermes pairing approve <platform> <code>
```
Полный путь к бинарю (если `hermes` не в PATH):
```bash
/Users/admin/.hermes/hermes-agent/venv/bin/python -m hermes_cli.main pairing list
```
Подкоманды: `list` · `approve` · `revoke` · `clear-pending`.
## Как выглядит рабочий прогон
```
$ hermes pairing list
Pending Pairing Requests (1):
Platform Code User ID Name Age
-------- ---- ------- ---- ---
telegram fb7ba963 312016878 Alexey 1m ago
No approved users.
$ hermes pairing approve telegram AYJ6JPM9
Approved! User Alexey (312016878) on telegram can now use the bot~
They'll be recognized automatically on their next message.
```
После обоих approve (2026-09-29):
```
Approved Users (2):
Platform User ID Name
---------- ------- ----
telegram 312016878 Alexey
mattermost cbwsorzwoigbtrdnteugnx4aqo admin
```
## 🔴 Питфолл: код в pending ≠ код, который даёт Alex
В обоих прогонах 2026-09-29 **код в `pending` отличался** от того, что прислал Alex:
| Платформа | В pending | Alex прислал | Итог |
|---|---|---|---|
| telegram | `fb7ba963` | `AYJ6JPM9` | ✅ approve прошёл |
| mattermost | `f8c6ca55` | `QHYL8TB9` | ✅ approve прошёл |
Оба раза approve по присланному коду **сработал**, очередь опустела, одобрен ровно
один пользователь на платформу. То есть код из pending — не единственный валидный
(вероятно, привязка идёт по последнему запросу пользователя, а не по показанной строке).
📌 **Практика:** получив код от Alex — выполнять его как есть, не «исправлять» на код
из `pending`. И **всегда сверять `pairing list` после**: должно стать
`Pending: 0` и появиться ожидаемый user id.
## Связка platform ↔ user id (этот сетап)
| Платформа | User ID | Name | Что это |
|---|---|---|---|
| telegram | `312016878` | Alexey | `MY_TELEGRAM_ID` из `~/Documents/documentation/tokens/` |
| mattermost | `cbwsorzwoigbtrdnteugnx4aqo` | admin | аккаунт Alex в MM (`admin@qentra.top`) |
## Что pairing НЕ делает
- **Не поднимает платформу.** Транспорт должен быть подключён отдельно
(env-переменные + блок в `config.yaml`). Для MM — 5 ключей `MATTERMOST_*`,
см. [[personal/tech/hermes-whale-mattermost-transport.md]].
- **Не выдаёт токен бота.** Это разные вещи: токен — доступ бота к платформе,
pairing — доступ человека к боту.
- **Не влияет на другой профиль.** Одобрение в whale не даёт доступа в eagle и наоборот.
## Проверка после approve
```bash
export HERMES_HOME=/Users/admin/.hermes/hermes-whale
hermes pairing list # ожидаем Pending: 0 + нужный user в Approved
```
**Приёмка — сообщение от Alex в UI платформы и ответ бота**, не «pairing list показывает строку».
## Связанные заметки
- [[personal/tech/hermes-whale-mattermost-transport.md]] — транспорт MM + Telegram, env-ключи
- [[personal/projects/personal-os/eagle-dashboard.md]] — управление сервисами Hermes (Eagle/Whale)