AndyShaman

Soroka

Community AndyShaman
Updated

Personal Telegram knowledge base — forward anything, search via DM. Hybrid SQLite + FTS5 + vector + voice, MCP server for Claude.

Soroka

Telegram-бот, который превращает «Избранное» в персональную базу знаний. Форвардишь в приватный канал — ищешь у бота в DM. Возвращает оригиналы, не пересказы.

 

Как ставить

  • 👤 Сам, руками — читай этот README по порядку: подготовка VPS → установка → настройка в Telegram.
  • 🤖 Через AI-агента (Claude Code, Cursor и т.п.) — открой AGENTS.md. Там протокол под автоматизацию: какие три значения спросить у пользователя, как запустить установщик через SSH, как проверить успех.

Что нужно

  1. VPS — Ubuntu 22.04+, 1 GB RAM. Заходишь как угодно: пароль, ключ,web-консоль панели хостера — без разницы.
  2. Telegram-бот — создай у @BotFather, сохрани токен.
  3. Свой Telegram-ID — узнай у @userinfobot.

После установки бот сам спросит ключи (бесплатные/дешёвые):

Подготовка VPS (опционально)

Купил VPS, есть только IP + root + пароль? Я опубликовал отдельный скиллдля безопасной первичной настройки сервера: создаст non-root юзера, сгенеритSSH-ключ, поднимет firewall и заблокирует root + парольный SSH в самомконце — только после того, как новый ключ проверенно работает с твоегоноута. Lockout-by-typo структурно невозможен.

1. Поставь скилл (один раз, на свой ноут):

curl -fsSL https://raw.githubusercontent.com/AndyShaman/vps-setup-skill/main/install.sh | bash

2. Открой Claude Code и опиши задачу человеческими словами:

Купил VPS, вот письмо хостера, защити сервер.

Скилл проведёт через 14 шагов: от welcome-email до hardened production-readyсервера. Подробности — README скилла.

После этого возвращайся сюда и продолжай установкой.

Установка

Зайди на VPS любым удобным способом и выполни прямо там:

git clone https://github.com/AndyShaman/Soroka.git soroka
cd soroka
./bin/install

Скрипт спросит две вещи: токен бота и твой Telegram-ID. Поставит Docker(если ещё нет), запустит контейнер soroka-bot и пропишет soroka-mcp в/usr/local/bin/. Никакого rsync, --vps, ssh-copy-id — всё работаетпрямо там, где ты сейчас сидишь.

После завершения открой Telegram, найди своего бота и отправь /start —мастер проведёт через 6 шагов настройки в чате.

Команды бота

  • /start — мастер настройки (запускается один раз; повтор возобновляет с прерванного шага)
  • /help — справка
  • /status — текущие настройки и статистика
  • /setjina, /setdeepgram, /setkey — заменить отдельный ключ
  • /models — выбрать основную/fallback LLM
  • /setgithub — заменить GitHub-токен и репо-зеркало
  • /setvps — задать IP/юзера VPS (используется в /mcp)
  • /setinbox — сменить канал-инбокс
  • /export — выгрузить базу архивом
  • /mcp — конфиг для Claude Desktop (MCP-сервер по SSH stdio)
  • /cancel — прервать мастер/диалог

Архитектура

Канал «Избранное 2» ──→ Бот на VPS ──→ SQLite (FTS5 + sqlite-vec)
DM с ботом         ──↗               ↑
                                      │
Claude Desktop через MCP-stdio ──SSH──┘

Обновление

Зайди на VPS, перейди в папку с репо и выполни:

cd ~/soroka     # или туда, куда ты делал git clone
./bin/update

Подтянет последний код через git pull, пересоберёт контейнер, обновитsoroka-mcp. Никаких аргументов.

Резервное копирование

Авто-бэкап (если GitHub-зеркало подключено): раз в сутки бот собираетlite-архив (только SQLite-база, без вложений) и заливает в один и тот жетег soroka-daily-latest в приватном репо — старый релизперезаписывается, размер репо не растёт.

Ручной /export собирает базу + вложения в zip:

  • ≤ 50 MB — приходит прямо в Telegram.
  • > 50 MB — без GitHub-зеркала: бот пришлёт «облегчённый» архив (только база) ипопросит включить зеркало через /setgithub. С зеркалом: заливает полный архивGitHub Release в твой приватный репо и пришлёт ссылку плюс облегчённый локально.

Для AI-агентов

См. AGENTS.md — там точный протокол развёртывания через флаги.

Лицензия

MIT.

MCP Server · Populars

MCP Server · New