Add vk-bridge skill with VK Long Poll worker template
This commit is contained in:
53
skills/vk-bridge/SKILL.md
Normal file
53
skills/vk-bridge/SKILL.md
Normal file
@@ -0,0 +1,53 @@
|
||||
---
|
||||
name: vk-bridge
|
||||
description: "Интеграция ВКонтакте (сообщество) через Bots Long Poll API: слушать message_new, извлекать текст/метаданные, проксировать запрос в локальный AI-обработчик и отправлять ответ в VK через messages.send. Использовать, когда нужно подключить входящие сообщения VK к ассистенту и отвечать пользователям автоматически."
|
||||
---
|
||||
|
||||
# VK Bridge
|
||||
|
||||
Подключай сообщество VK к локальному обработчику ответов через Long Poll.
|
||||
|
||||
## Что входит
|
||||
|
||||
- `scripts/vk-longpoll-bridge.mjs` — раннер Long Poll + отправка ответов.
|
||||
- `references/.env.example` — пример конфигурации.
|
||||
|
||||
## Быстрый запуск
|
||||
|
||||
1. Скопируй конфиг:
|
||||
- `cp skills/vk-bridge/references/.env.example .env.vk`
|
||||
2. Заполни токен сообщества и URL обработчика.
|
||||
3. Запусти:
|
||||
- `node skills/vk-bridge/scripts/vk-longpoll-bridge.mjs --env .env.vk`
|
||||
|
||||
## Требования
|
||||
|
||||
- Токен сообщества VK с правами `messages`.
|
||||
- Включённые сообщения сообщества в настройках группы.
|
||||
- Long Poll API включён для сообщества.
|
||||
- Локальный HTTP-обработчик, который принимает входящее сообщение и возвращает текст ответа.
|
||||
|
||||
## Протокол AI-обработчика
|
||||
|
||||
Bridge делает POST на `OPENCLAW_BRIDGE_URL` с JSON:
|
||||
|
||||
- `source`: `vk`
|
||||
- `group_id`
|
||||
- `user_id`
|
||||
- `peer_id`
|
||||
- `text`
|
||||
- `payload`
|
||||
- `attachments`
|
||||
- `raw`
|
||||
|
||||
Ожидает JSON-ответ:
|
||||
|
||||
- `reply` (string) — текст для отправки в VK.
|
||||
- `silent` (boolean, optional) — если `true`, не отправлять ответ.
|
||||
|
||||
## Надёжность
|
||||
|
||||
- При `failed=1` обновляй `ts`.
|
||||
- При `failed=2|3` запрашивай новый `server/key/ts` через `groups.getLongPollServer`.
|
||||
- Игнорируй пустые/служебные сообщения.
|
||||
- Не отвечай на исходящие (`out=1`).
|
||||
Reference in New Issue
Block a user