# /reset и /stop — Слеш-команды в gateway ## /stop **Обрабатывается gateway'ом** на уровне `_message_handler` (строка 7719 run.py): 1. `_message_handler` перехватывает /stop **ДО** роутинга в `_route_to_active_session` 2. Вызывает `_interrupt_and_clear_session()` — принудительное прерывание + чистка сессии 3. Interrupt в `_route_to_active_session` (строки 3500-3504) тоже срабатывает, но это не ломает — /stop должен прерывать агента ## /reset **Не обрабатывается gateway'ом как отдельная команда.** Идёт агенту как текст промпта. В коде есть `/new` (строка 7736), который делает interrupt + reset. /reset же агент видит как обычный текст. **Способ:** писать `@**Кит** /new` (синтаксис gateway) а не `/reset`. Либо положиться на то, что агент сам увидит `/reset` в тексте и остановится. ## /approve и /deny Обрабатываются отдельно — см. `personal/projects/zulip-router-approval-reactions.md`. ## Системные оповещения о действиях агента не приходят Hermes **не отправляет пользователю нотификации** о действиях агента. Когда агент пишет/читает/изменяет файлы, запускает команды, вызывает инструменты (MCP, skills, terminal, и т.д.) — пользователь об этом **не узнаёт**, если агент сам не напишет об этом в чат. **Способ узнать:** только дождаться ответа агента в чат или спросить «что сделано». ## Системные оповещения о действиях агента не приходят Hermes **не отправляет пользователю нотификации** о действиях агента. Когда агент пишет/читает/изменяет файлы, запускает команды, вызывает инструменты (MCP, skills, terminal, и т.д.) — пользователь об этом **не узнаёт**, если агент сам не напишет об этом в чат. Пример: когда я пишу этот доку через `mcp_obsidian_write_note` — пользователь не получает никакого уведомления. Увидит только когда агент напишет «Готово». **Способ узнать:** только дождаться ответа агента в чат или спросить «что сделано».