docs: add release notes file and sync Telegram bot release notes broadcast

This commit is contained in:
mamad
2026-08-28 19:52:24 +03:30
parent ad8df0bdc9
commit 3975326103
2 changed files with 46 additions and 14 deletions
+34
View File
@@ -0,0 +1,34 @@
📢 <b>گزارش تغییرات و انتشارهای اخیر سیستم (Release Notes):</b>
🔹 <b>کامیت <code>ad8df0b</code>:</b> <code>monitoring: streamline storage dashboard to single time series panel and filter real host mounts</code>
• حذف پنل‌های اضافه و متمرکزسازی روی یک نمودار کامل ۲۴ ستونه برای روند زمانی فضای آزاد درایوها.
• فیلتر کردن متریک‌های قدیمی بدون برچسب و حذف خط قرمز خالی <code>()</code> در نمودار گرافانا.
• پایش انحصاری پارتیشن‌های واقعی و تاییدشده سیستم‌عامل سرور (<code>/</code> روی <code>/dev/sda1</code> با ~۱۹.۱۵ گیگابایت آزاد و <code>/projects</code> روی <code>/dev/sda2</code> با ~۳۶.۸۵ گیگابایت آزاد).
🔹 <b>کامیت <code>ad4c111</code>:</b> <code>app: update service orchestration, environment configs, and documentation</code>
• اتصال مسیر درایوهای واقعی هاست در داکر کامپوز (<code>/home</code>, <code>/projects</code>, <code>/run/media</code>).
• ارسال خودکار گزارش تغییرات و قابلیت‌های جدید به ادمین‌ها و کانال بررسی در زمان راه‌اندازی اولیه.
🔹 <b>کامیت <code>55c9c2a</code>:</b> <code>metrics: add host multi-mount storage metrics, Prometheus exporter, and Grafana panels</code>
• ثبت متریک‌های تفکیکی حافظه در پرومتئوس با برچسب‌های <code>mountpoint</code> و <code>device</code>.
• نمایش وضعیت خوانا (Human-Readable) دیسک در دستور <code>/stats</code> تلگرام و داشبورد گرافانا.
🔹 <b>کامیت <code>cbd5247</code>:</b> <code>admin_bot: add emergency pause, manual fallback configuration, and admin management UI</code>
• دکمه‌های کنترل اضطراری <b>🛑 توقف اضطراری سیستم</b> و <b>▶️ راه‌اندازی و ادامه سیستم</b> در منوی اصلی.
• منوی تنظیم دستی ارائه‌دهنده پشتیبان (Fallback) برای هر سرویس هوش مصنوعی به صورت زنجیره‌ای.
• دستورات <code>/changes</code> و <code>/notes</code> برای مشاهده آخرین تغییرات.
🔹 <b>کامیت <code>a7c1c37</code>:</b> <code>core: add provider integrations, reasoning controls, and multimodal vision support</code>
• ارسال تصاویر پست‌های ورودی به مدل‌های هوش مصنوعی (Vision Multimodal).
• درک و تحلیل متن درون عکس‌ها، نمودارها و تصاویر در بازنویسی با هوش مصنوعی.
• تنظیم عمق تفکر و استدلال (Reasoning Effort).
🔹 <b>کامیت <code>2137a11</code>:</b> <code>services: update ingestion collector, paced publisher, and deduplication</code>
• ارسال مستقیم پست‌های خام به کانال بررسی ادمین با دکمه‌های اقدام سریع بازنویسی.
• صف انتشار زمان‌بندی‌شده و هوشمند در ردیس (Paced Queue).
• حذف کدهای قدیمی و یکپارچه‌سازی فرآیند جمع‌آوری و انتشار.
🔹 <b>کامیت <code>db2e726</code>:</b> <code>db: extend schema for categories, channel profiles, and error logs</code>
• ایجاد جداول دسته‌بندی کانال‌ها (Channel Categories) و ارائه‌دهندگان هوش مصنوعی.
• پشتیبانی از لحن (Personality)، فوتر سفارشی و پرامپت اختصاصی برای هر کانال مقصد.
• جدول لاگ خطاهای سیستم و قابلیت علامت‌گذاری به عنوان رفع‌شده.
+12 -14
View File
@@ -1262,20 +1262,18 @@ class AdminBotService:
await event.reply(help_text, parse_mode="html", buttons=menu)
def get_latest_change_notes(self) -> str:
"""Return the formatted change notes in Persian."""
return (
"📢 <b>یادداشت تغییرات و قابلیت‌های جدید سیستم (Release Notes):</b>\n\n"
"1️⃣ <b>تنظیم دستی زنجیره پشتیبان هوش مصنوعی (Manual Fallback Chain):</b>\n"
"• امکان تعیین ارائه‌دهنده پشتیبان اختصاصی برای تک‌تک سرویس‌دهنده‌ها در منوی هوش مصنوعی.\n"
"• هدایت دقیق زنجیره به ارائه‌دهنده مدنظر شما در صورت بروز خطا و ارسال اعلان لحظه‌ای به ادمین.\n\n"
"2️⃣ <b>پشتیبانی کامل از تصاویر و مالتی‌مدال (Vision Multimodal):</b>\n"
"• ارسال تصاویر پست‌های ورودی به مدل‌های هوش مصنوعی (AGY، OpenAI Vision، Gemini).\n"
"• درک و تحلیل متن درون عکس‌ها، نمودارها و اینفوگرافیک‌ها در بازنویسی.\n\n"
"3️⃣ <b>پایش دیسک سیستم‌عامل سرور (Host OS Disk Metrics):</b>\n"
"• نمایش ظرفیت واقعی، فضای مصرف‌شده و آزاد دیسک اصلی سرور در گرافانا و دستور <code>/stats</code>.\n\n"
"4️⃣ <b>دکمه توقف و شروع اضطراری (Emergency Stop):</b>\n"
"• دکمه توقف و ازسرگیری مستقیم از منوی اصلی، با فعال ماندن همیشگی پاسخگویی ربات به ادمین‌ها."
)
"""Return the formatted change notes in Persian from RELEASE_NOTES.md."""
notes_file = os.path.join(os.path.dirname(os.path.dirname(__file__)), "RELEASE_NOTES.md")
if os.path.exists(notes_file):
try:
with open(notes_file, "r", encoding="utf-8") as f:
content = f.read().strip()
if content:
return content
except Exception as e:
logger.debug(f"Error reading RELEASE_NOTES.md: {e}")
return "📢 <b>گزارش تغییرات سیستم (Release Notes):</b>\nسیستم با آخرین به‌روزرسانی‌ها در حال اجرا است."
async def broadcast_change_notes(self):
"""Send latest change notes to admins and review channel."""