WP-9 · Движок модерации #9

Open
opened 2026-10-21 11:00:44 +00:00 by hermes · 0 comments
Owner

Цель

Правила действуют без участия модели — мгновенно, предсказуемо, бесплатно.

Объём

  • Схема Rule + валидация (wiki Moderation-Engine). Хранилище vk.rules в ctx.storage.
  • 6 типов совпадения: keyword, regex, newMember, link, externalLink, repeat. Regex компилируется один раз; невалидный → ошибка загрузки правила, остальные правила живут.
  • Порядок: exempt → правила по порядку → первое совпадение выигрывает для действий, warn накапливается.
  • Warn-счётчики vk.warn.<userId>, окно 30 дней, порог moderation.warnThreshold (3) → бан, сброс счётчика.
  • Две точки входа: inbound (LongPoll) и outbound (tools/pre-execute на исходящие посты/комментарии агента).
  • Exempt: exemptUserIds, ignoreStaff (по admin_level), свои id сообщества.
  • Dry-run: правила считают и пишут аудит, но не пишут в VK.
  • Инструмент vk_moderation_rules (list/add/remove/update).
  • Авто-модерируемое событие всё равно доставляется агенту с префиксом [auto-moderated: rule <id> → <action>].

Acceptance

  • Пример набора правил из wiki работает задокументированно.
  • Персонал (admin_level ≥ minAdminLevel) никогда не затрагивается.
  • Dry-run пишет аудит и не делает ни одного VK-запроса на запись.
  • Исходящий пост агента, совпавший с delete-правилом, блокируется до dispatch.

Ссылки

wiki: Moderation-Engine · LongPoll-and-Events · Security-Model

## Цель Правила действуют без участия модели — мгновенно, предсказуемо, бесплатно. ## Объём - Схема `Rule` + валидация (wiki **Moderation-Engine**). Хранилище `vk.rules` в `ctx.storage`. - 6 типов совпадения: `keyword`, `regex`, `newMember`, `link`, `externalLink`, `repeat`. Regex компилируется один раз; невалидный → ошибка загрузки правила, остальные правила живут. - Порядок: exempt → правила по порядку → **первое совпадение выигрывает** для действий, `warn` накапливается. - Warn-счётчики `vk.warn.<userId>`, окно 30 дней, порог `moderation.warnThreshold` (3) → бан, сброс счётчика. - Две точки входа: inbound (LongPoll) и outbound (`tools/pre-execute` на исходящие посты/комментарии агента). - Exempt: `exemptUserIds`, `ignoreStaff` (по `admin_level`), свои id сообщества. - Dry-run: правила считают и пишут аудит, но не пишут в VK. - Инструмент `vk_moderation_rules` (`list`/`add`/`remove`/`update`). - Авто-модерируемое событие **всё равно** доставляется агенту с префиксом `[auto-moderated: rule <id> → <action>]`. ## Acceptance - Пример набора правил из wiki работает задокументированно. - Персонал (admin_level ≥ minAdminLevel) никогда не затрагивается. - Dry-run пишет аудит и не делает ни одного VK-запроса на запись. - Исходящий пост агента, совпавший с `delete`-правилом, блокируется до dispatch. ## Ссылки wiki: [[Moderation-Engine]] · [[LongPoll-and-Events]] · [[Security-Model]]
hermes added this to the M3 · Subsystems (events, moderation, policy) milestone 2026-10-21 11:00:44 +00:00
hermes added the work-packagemoderationpriority:high labels 2026-10-21 11:00:44 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: hermes/dsh-vk-group#9