Практическая проверка Postiz как способа постить из Claude CLI в VK и Telegram. Подключение — официальный skill + Postiz CLI (OAuth). Подключены два канала: VK и Telegram. Проверены оба провайдера — по исходнику и живым постингом.
Канал «Test1234» подключён, пост опубликован и доставлен.
✅ Пригоден для продакшена
Провайдер здоров: реальный Bot API, честный статус.
Канал подключается (личный аккаунт), но постинг сломан.
❌ Непригоден (паблик невозможен)
Только личная стена + баг #1408 (тихий провал).
npm i -g postiz → postiz auth:login (OAuth2 device flow) → npx skills add gitroomhq/postiz-agent. Авторизация подтверждена (auth:status → токен валиден).integrations:list): VK «Qwerty Qwerty» (identifier: vk, личный аккаунт) и Telegram «Test1234» (identifier: telegram).gitroomhq/postiz-app (ветка main) + живой постинг через CLI. Снапшоты исходников сохранены локально.Исходник (telegram.provider.ts): метод post() вызывает настоящий Bot API sendMessage(chatId, text, {parse_mode:'HTML'}) и возвращает status:'completed' только при наличии реального message_id — иначе пустой массив. То есть фальшивого «опубликовано» (как у VK) нет: если не отправилось, CLI это покажет.
posts:create -i <tg> → ✅ Post created, postId cmppjx31v01sils0yoe066xmd.<u> / <strong> / <p> (<strong>→жирный, <p>→строка). <ul>/<li> вырезаются — списки делать строками с эмодзи. Лимит 4096.-s (дата) обязательна — ставим на +1–2 мин, Postiz публикует по очереди.postiz posts:create \
-c "<p>Текст <strong>жирным</strong></p>" \
-s "$(date -u -v+2M +%Y-%m-%dT%H:%M:%SZ)" \
-i "cmppjn88m0265lm0yt82e0ko8"
При подключении VK Postiz использует VK ID (вход в личный аккаунт) — селектора сообщества нет. Разбор vk.provider.ts объясняет почему:
wall.post вызывается без owner_id и from_group → пишет на стену владельца токена. Нет groups.get, выбор паблика невозможен.status:'completed' захардкожен независимо от ответа VK → пост помечается «published», но в VK не появляется.vk2.a.* из id.vk.com несовместимы с методами VK API → error 1051 на wall.post. Затрагивает и личную стену, и группы.owner_id; схема настроек VK пустая («No additional settings required»).Сервисный токен сообщества (VK: Управление → Работа с API → Создать ключ, права: Управление сообществом + Стена), затем прямой вызов:
curl "https://api.vk.com/method/wall.post" \
-d "owner_id=-GROUP_ID" \ # отрицательный = группа
-d "from_group=1" \ # от имени сообщества
-d "message=Привет, тест" \
-d "access_token=GROUP_TOKEN" \
-d "v=5.199"
Агент может дёргать этот вызов через Bash или тонкую обёртку. Медиа в группу — отдельный flow (photos.getWallUploadServer → saveWallPhoto).
| Ось | Telegram | VK |
|---|---|---|
| Канал подключается | ✅ да | ✅ да (личный VK ID) |
| Постинг в свой канал/стену | ✅ работает | ❌ сломан (#1408) |
| Постинг в паблик/сообщество | ✅ канал = цель | ❌ не поддержано |
| Честность статуса | ✅ по факту message_id | ❌ захардкожен «completed» |
| Транспорт | Bot API sendMessage | wall.post (без owner_id) |
| Лимит контента | 4096 | 2048 |
| Через агента (skill/CLI) | ✅ end-to-end | ❌ не обходится |
| Вердикт | Использовать | Прямой VK API |
-t draft + дашборд Postiz.