გორა.
AI-translation · draft (awaiting native review)
AI / კომუნიკაციის ავტომატიზაცია

Telegram auto-reply: AI პასუხობს შენ მაგივრად 24/7

Worker უსმენს თქვენს DM-ებს, AI პასუხობს წესების მიხედვით, Admin Bot მართავს, AI-მოდერატორი თვითონ სკანერავს არხს და კლავს სპამს. ხუთი სერვისი ერთ Postgres-ზე.

რეგიონი
VPS3 (პოლონეთი) · პერსონალური გამოყენება
როლი
Solo: არქიტექტურა, 5 სერვისი, AI-მოდერაცია
პერიოდი
2024–2026
ნიშა
AI / კომუნიკაციის ავტომატიზაცია

ეს პერსონალური ხელსაწყოა. კონტაქტების სახელები და დიალოგების ტექსტი არ ქვეყნდება. არქიტექტურა და სტეკი აღწერილია კონკრეტული მომხმარებლების გახსნის გარეშე.

შეჯამება. ქვემოთ — რატომ ხუთი სერვისი ერთის ნაცვლად, როგორ სწავლობს AI-მოდერატორი და სად იმალება სირთულე.

რატომ ხუთი სერვისი. მონოლითი უფრო მარტივია, მაგრამ ცუდია ნაწილობრივ ჩავარდნაზე. Worker კვდება → Collector აგრძელებს ისტორიის შეგროვებას, Admin Bot ცოცხალია, მდგომარეობა ჩანს Telegram-იდან. Moderator კვდება → ავტოპასუხი მუშაობს. Core API ცვივა → დანარჩენებზე გავლენა არ აქვს. თითო სერვისს თავისი systemd-unit, თავისი ლოგი, თავისი restart-policy აქვს.

Worker — ავტოპასუხის ტვინი. Telethon-სესია მომხმარებლის (არა ბოტის) სახელით უსმენს ყველა შემოსულ DM-ს. ყოველი შეტყობინებაზე იშვება შემოწმებების კასკადი: ავტოპასუხი გლობალურად ჩართულია? კონტაქტი Personal-შია ან აქვს წესი? რეჟიმი off არ არის? ყოველდღიური ლიმიტი არ ამოწურულა? წინა პასუხიდან გადავიდა მინიმალური ინტერვალი? თუ ყველაფერი დადებითია — გენერირდება პასუხი AI-ით (Claude → Grok → Local fallback), იგზავნება იმავე Telethon-სესიით. თუ AI ჩავარდა — იგზავნება template-ი.

Admin Bot — პულტი. aiogram-ბოტი, რომლითაც მფლობელი მართავს ყველაფერს: ჩართავს/გამორთავს ავტოპასუხს, ამატებს/აშორებს კონტაქტ-წესებს, ხედავს მიმოწერის ისტორიას, ცვლის პრომპტს, ლიმიტებს, რეჟიმს. Admin Bot-იდან შესაძლებელია worker-ის რესტარტი (systemctl restart worker) — SSH-ის გარეშე.

Moderator — თვითსწავლადი არხ-მოდერატორი. ეს ყველაზე საინტერესო ნაწილია. /scan ბრძანება — ბოტი Telethon-ით კითხულობს 500 ბოლო პოსტს არხიდან. AI (Claude) აანალიზებს და ქმნის summary-ს: რას ეხება არხი, რა ტონია, რა ეგუება და რა — არა. Summary ინახება ბაზაში. ახალი შეტყობინების ჩამოსვლისას discussion-ჯგუფში AI ხედავს summary-სა და შეტყობინებას → გამოაქვს კლასი: OK / SPAM / HATE / OFFTOPIC. SPAM / HATE / OFFTOPIC ავტომატურად იშლება. OK რჩება.

/scan-ის გარეშე მოდერატორი მუშაობს default-ულ "ზოგად მოდერაციაზე", მაგრამ /scan-ის შემდეგ ერგება კონკრეტულ არხს: fishing-არხზე საუბარი tax-სტრატეგიებზე — OFFTOPIC, ხოლო ინვესტიციების არხზე — OK.

ანტიფლუდი. ტრექინგი მეხსიერებაში, არა DB-ში (უფრო სწრაფი). თითო user_id → ბოლო timestamps-ის სია. თუ N წამში M-ზე მეტი შეტყობინებაა — mute K წუთით. ლიმიტები კონფიგურირდება Admin Bot-იდან.

ბაზა. PostgreSQL 14, ბაზა ai_tg_core, მომხმარებელი aiuser. შვიდი ცხრილი: peers (კონტაქტები in_personal დროშით), messages (ისტორია), auto_reply_rules (კონტაქტ-წესები), auto_reply_state (პასუხის მდგომარეობა), settings, reply_counts, chat_triggers (მოდერატორის triggers ჩატებზე).

ღია წყარო. რეპოზიტორი: https://github.com/georgegoldman48-svg/tg-auto-reply — საჯარო, სრული არქიტექტურა აღწერილია README.md-ში.

რა შიგნით

  • ხუთი სერვისი ერთ კოდბაზაში: Worker (v2.13), Admin Bot (v3.5), Collector (v1.0), Core API (v1.0), Moderator (v1.0). თითო — ცალკე systemd-unit.
  • Worker უსმენს ყველა შემოსულ DM-ს Telethon-სესიით. AI პასუხობს წესების მიხედვით: კონტაქტი Personal საქაღალდეშია ან აქვს ინდივიდუალური წესი → უპასუხე; სხვა შემთხვევაში — დაიგნორირე.
  • მრავალდონიანი შემოწმებები პასუხამდე: გლობალური switch, კონტაქტ-დონე, reply_mode, ყოველდღიური ლიმიტი, ლიმიტი ახალი კონტაქტებისთვის, ინტერვალი წინა პასუხიდან.
  • AI-მოდერატორი არხებისთვის თვითსწავლადია: `/scan` კითხულობს 500 ბოლო პოსტს Telethon-ით, AI ქმნის summary-ს (თემატიკა, სტილი, რა შეესაბამება), ახალი შეტყობინების ჩამოსვლისას discussion group-ში — კლასიფიცირებს OK / SPAM / HATE / OFFTOPIC-ად და ავტომატურად შლის.
  • მოდერატორის სამი რეჟიმი: moderate_only (მხოლოდ წაშლა), chat (AI პასუხობს მფლობელის სახელით persona-ად), both (მოდერაცია + ჩატი).
  • ანტიფლუდი მეხსიერებაში: user_id → timestamps, კონფიგურირებადი ლიმიტები, ავტო-mute გადაჭარბებისას.
  • PostgreSQL backend (`ai_tg_core` ბაზა): peers, messages, auto_reply_rules, auto_reply_state, settings, reply_counts, chat_triggers.
  • Multi-AI fallback: Claude-ის შეცდომისას ბოტი ცდილობს Grok-ს, შემდეგ ლოკალურ მოდელს. პასუხი არ იკარგება ვერც ერთი პროვაიდერის გათიშვისას.
  • Core API (FastAPI 8000-ე პორტზე) — გარე ინტეგრაციებისთვის: მდგომარეობის გათიშვა webhook-ებიდან ან ადმინ-პანელიდან.
  • Settings API 8085-ე პორტზე — ცალკე endpoint worker-ის ცხელი გადააწყობისთვის რესტარტის გარეშე.

სტეკი

  • Telethon (user-session listener)
  • aiogram 3 (admin bot)
  • FastAPI (core REST API)
  • PostgreSQL 14
  • Anthropic Claude SDK
  • xAI Grok API
  • Local AI fallback
  • systemd × 5 unit
  • Python 3.12 + venv
სამი ნარატივი

ერთი პროექტი — სამი კუთხე

    Telegram auto-reply: AI პასუხობს შენ მაგივრად 24/7 · hiregora.com