[2026-09-29] eagle: personal/projects/personal-os/eagle-dashboard.md personal/tech/docker-mac-disk-issues.md personal/tech/docker-service-administration-skill.md personal/tech/hermes-pairing-multi-profile.md personal/tech/hermes-whale-mattermost-transport.md
This commit is contained in:
1 parent
1cd3024808
commit
c8218ed89c
5 files changed
+285
-5
No files matched your search
@@ -0,0 +1,136 @@
|
||||
---
|
||||
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)
|
||||
Reference in new issue
Block a user