ربات تلگرام فارسی‌محور، متن‌باز و Cloudflare-native

نِکونیموس؛ پیام ناشناس با مرزهای فنی روشن

نِکونیموس یک ربات تلگرام برای لینک شخصی، دریافت پیام ناشناس، پاسخ ناشناس، ارزیابی سبک گفت‌وگو و پیشنهاد گفت‌وگوی اختیاری است. این صفحه سطح معرفی و مستندات پروژه است؛ محصول اصلی داخل Telegram اجرا می‌شود.

نِکونیموس پیام‌رسان رمزنگاری سرتاسری نیست. تلگرام و Worker هنگام پردازش می‌توانند متن پیام را ببینند. تمرکز پروژه روی کمینه‌سازی داده ذخیره‌شده، رمزنگاری در حالت ذخیره، و شفافیت محدودیت‌هاست.

نماد نِکونیموس؛ گربه با ماسک ناشناس و پاکت نامه

محصول

نکونیموس چه کاری انجام می‌دهد؟

تمرکز V1 روی یک تجربه کوچک، قابل فهم و قابل توضیح است: لینک ناشناس، صندوق پیام‌ها، پاسخ ناشناس، کنترل‌های safety، و پیشنهاد گفت‌وگوی اختیاری.

۰۱

لینک شخصی ناشناس

هر کاربر یک لینک تلگرامی می‌گیرد تا دیگران بتوانند بدون نمایش نام کاربری، پیام بفرستند.

۰۲

صندوق پیام‌ها

پیام‌های خوانده‌نشده از مسیر sealed ticket نمایش داده می‌شوند و payload بعد از نمایش موفق پاک می‌شود.

۰۳

پاسخ ناشناس

پاسخ از همان مدل relay برمی‌گردد؛ بدون اینکه transcript پیام ناشناس در D1 ذخیره شود.

۰۴

مسدودسازی و گزارش

کنترل‌های safety با tagهای blind و بدون ساخت graph قابل اتصال بین فرستنده و گیرنده طراحی شده‌اند.

۰۵

ارزیابی سبک گفت‌وگو

۵۶ پرسش در ۱۴ بُعد برای ساخت پروفایل گفت‌وگویی نسخه v1، نه تشخیص شخصیت.

۰۶

پیشنهاد گفت‌وگوی اختیاری

فقط برای کاربرانی که ارزیابی را کامل کرده‌اند و discoverability را فعال کرده‌اند.

چی هست

  • یک hosted anonymous Telegram relay
  • یک پروژه متن‌باز با مستندات فنی و threat model
  • یک تجربه فارسی‌محور برای پیام ناشناس و پیشنهاد گفت‌وگو
  • یک سیستم Cloudflare-native با state محدود و آمار تجمیعی

چی نیست

  • پیام‌رسان رمزنگاری سرتاسری نیست
  • zero-knowledge یا ناشناسی کامل ادعا نمی‌کند
  • اپلیکیشن dating یا شبکه اجتماعی کامل نیست
  • تست شخصیت، تشخیص روان‌شناختی یا درصد سازگاری نیست

زیرساخت

الگوی Cloudflare-native

هدف infra جدید این است که webhook سبک بماند، state حساس داخل Durable Objectها کنترل شود، کارهای retryable وارد Queue شوند، و آمار فقط از جدول‌های aggregate خوانده شود.

Telegram Update Webhook Worker Durable Objects / D1 Queues Telegram Outbox
Webhook Worker درخواست را سریع validate و route می‌کند، state transitionهای critical را انجام می‌دهد و کارهای retryable را به queue می‌سپارد.
Durable Objects UserStateDO، TicketVaultShardDO، ReportLedgerDO و TelegramOutboxDO برای hot state و coordination.
D1 منبع ساختاری برای users، links، assessment، suggestion records و جدول‌های آماری تجمیعی.
KV فقط routing cache؛ مثل tg:{hash} و link:{slug}. نه inbox، نه ticket، نه stats authority.
Queues NEKO_OUTBOX_QUEUE برای ارسال‌های retryable و NEKO_STATS_QUEUE برای aggregation رویدادها.
Vectorize فقط برای discovery اولیه. تصمیم نهایی پیشنهاد گفت‌وگو با ranking قطعی TypeScript انجام می‌شود.

Storage Boundary

مدل sealed ticket

در نِکونیموس، پیام ناشناس به شکل ردیف معمولی sender_id → recipient_id ذخیره نمی‌شود. هر پیام یک ticket capability است.

ticketRef ticketHash ownerProofTag route_enc payload_enc

route_enc مسیر رمزنگاری‌شده را تا زمان expiry نگه می‌دارد تا reply، block، report و nickname ممکن بمانند. payload_enc فقط تا اولین نمایش موفق در صندوق باقی می‌ماند و بعد پاک می‌شود.

آمار

آمار کلی، بدون نمایش داده قابل اتصال به کاربران

آمار نِکونیموس event-driven است: bot event وارد Queue می‌شود، consumer آن را در D1 aggregate می‌کند، و صفحه آمار فقط همان counterهای تجمیعی را می‌خواند.

این صفحه عدد زنده نمایش نمی‌دهد. ساختار زیر فقط نشان می‌دهد چه نوع آمارهایی مجازند. هیچ متن پیام، مسیر پیام، فرستنده، گیرنده، ticketRef یا داده قابل اتصال به کاربران نمایش داده نمی‌شود.

کاربران کلاز D1، بدون فهرست کاربر
کاربران فعالامروز / ۷ روز / ۳۰ روز
پیام‌هااز platform_daily_stats
پاسخ‌هانسبت پاسخ به پیام تحویل‌شده
گزارش‌هاbucket شده: کمتر از ۵، ۵ تا ۲۰، ۲۰ تا ۱۰۰، ۱۰۰+
ارزیابیشروع و تکمیل ارزیابی
پیشنهاد گفت‌وگوجست‌وجو و درخواست‌ها
حریم خصوصیبدون scan روی TicketVault یا ReportLedger

مستندات

برای بررسی فنی پروژه از اینجا شروع کن

GitHub منبع کد و مستندات فنی است. Mohetios برای روایت محصول، مقاله‌ها و context عمومی استفاده می‌شود.