Skip to content

Releases: Aknuun/Negahban-OpenCode

v8.12

Choose a tag to compare

@github-actions github-actions released this 12 Sep 21:33

v8.12 — مدیر نشست‌ها با انتخابگر دکمه‌ای

🗂 مدیر نشست‌ها

  • ۲۰ نشست در هر صفحه (قبلاً ۱۰) با شماره‌گذاری پیوسته: صفحهٔ ۱ → ۱..۲۰، صفحهٔ ۲ → ۲۱..۴۰ و…
  • عنوان هر نشست از عنوان خودکار opencode (خلاصهٔ محتوای نشست) گرفته می‌شود.
  • بعد از زدن حذف / ویرایش / مشاهده، صفحهٔ انتخابگر با دکمه‌های شمارهٔ همان صفحه باز می‌شود.
  • انتخاب چندانتخابی است: روی شماره‌ها می‌زنی تا تیک بخورند، بعد ▶️ تأیید.
  • دکمه‌های ☑️ انتخاب همه و 🔲 لغو انتخاب.
  • دکمهٔ 🔀 عملیات گروهی: انتخاب چند نشست و سپس حذف انتخاب‌شده‌ها یا تغییر نام انتخاب‌شده‌ها.
  • مشاهده: تک‌نشست فعال و موضوعاتش نمایش داده می‌شود؛ چندنشست، خلاصهٔ موضوعات هرکدام.

⏱ انتخاب خودکار پاسخ پیشنهادی

  • در سؤال‌های تک‌گزینه‌ای مدل، اگر تا ۵۰ ثانیه کاربر انتخابی نکند، گزینهٔ پیشنهادی (یا گزینهٔ اول) خودکار انتخاب می‌شود.
  • شمارش معکوس روی پیام سؤال به‌روز می‌شود.

Full Changelog: v8.11...v8.12

v8.11

Choose a tag to compare

@github-actions github-actions released this 12 Sep 08:39

v8.11 — نگهبان اوپن کد (Negahban OpenCode)

🏷 تغییر نام کامل پروژه

  • نام پروژه از «GAZAN-opencode-bot / opencode-tg-bot» به «نگهبان اوپن کد» (Negahban-OpenCode) تغییر کرد.
  • مخزن گیت‌هاب: Aknuun/Negahban-OpenCode
  • پوشه/باینری/سرویس: negahban-opencode (سرویس systemd: negahban-opencode.service)
  • ماژول Go، اسکریپت نصب، README و ورک‌فلوی انتشار همه با نام جدید هم‌گام شدند.

🔗 آدرس‌های جدید

curl -fsSL https://raw.githubusercontent.com/Aknuun/Negahban-OpenCode/master/install.sh -o /tmp/negahban-opencode-install.sh && sudo bash /tmp/negahban-opencode-install.sh

اگر نصب قبلی داشتی، همان اسکریپت جدید را اجرا کن تا آپدیت شود؛ توکن و تنظیماتت حفظ می‌شود.

Full Changelog: v8.10...v8.11

v8.10

Choose a tag to compare

@github-actions github-actions released this 12 Sep 08:27

v8.10

🐛 رفع باگ تشخیص پروایدر در ساعت پیک

  • قبلاً فهرست پایان چت چیزی مثل «ساعت پیک deepseek-flash ثبت نشده است» نشان می‌داد؛ چون پروایدر از روی شناسهٔ مدل حدس زده می‌شد.
  • حالا پروایدر از providerID واقعیِ opencode (هم در نشست و هم در پیام) خوانده می‌شود؛ پس DeepSeek درست تشخیص داده می‌شود و ساعت پیکش ثبت و نمایش داده می‌شود.
  • اگر سرور providerID ندهد، به‌ترتیب از بخش provider/model و سپس تطبیق شناسهٔ مدل با کاتالوگ استفاده می‌شود.

🔇 رفتار روشن‌تر ساعت پیک

  • هنگام ارسال پیام: فقط اگر در بازهٔ پیک باشی هشدار/تأیید می‌گیری؛ خارج از پیک هیچ پیامی فرستاده نمی‌شود.
  • در پایان هر چت: ساعت پیک پروایدر همان مکالمه ثبت می‌شود و وضعیت 🟢/🔴 نشان داده می‌شود.
  • برای پروایدر ناشناس دیگر پیام گمراه‌کنندهٔ «ثبت نشده» نمایش داده نمی‌شود.

نصب / آپدیت

curl -fsSL https://raw.githubusercontent.com/Aknuun/GAZAN-opencode-bot/master/install.sh -o /tmp/opencode-tg-install.sh && sudo bash /tmp/opencode-tg-install.sh

Full Changelog: v8.9...v8.10

v8.9

Choose a tag to compare

@github-actions github-actions released this 12 Sep 08:22

v8.9

⏰ یادآور ساعت پیک (گران) پروایدرها

  • اگر لحظه‌ای که پرامپت می‌فرستی در بازهٔ پیک مصرف پروایدر فعال باشی، ربات قبل از اجرا هشدار می‌دهد و می‌پرسد «ادامه بدهم؟» تا خودت تصمیم بگیری.
  • اطلاعات پیک DeepSeek به‌صورت داخلی ثبت شده (به وقت ایران) و برای بقیهٔ پروایدرها هنگام افزودن کلید API پیشنهاد شناسایی/فعال‌سازی می‌شود.
  • در پایان هر چت وضعیت پیک پروایدر همان مکالمه نمایش داده می‌شود: 🟢 خارج از پیک یا 🔴 همین حالا در پیک (با ساعت پایان).
  • پشتیبانی از بازه‌های عبورکننده از نیمه‌شب و روزهای هفته.

🔄 سینک زندهٔ فهرست مدل‌ها با خود opencode

  • کاتالوگ مدل/پروایدر دیگر فقط از models.dev خوانده نمی‌شود؛ مستقیماً از endpoint استاندارد /provider خود سرور opencode هم سینک می‌شود.
  • یعنی پروایدرها و مدل‌های سفارشی کانفیگ تو هم در فهرست ربات دیده می‌شوند و همیشه با واقعیت سرور هم‌گام است.
  • در فهرست مدل‌ها حالا نام خوانا مدل هم کنار شناسه‌اش نشان داده می‌شود.

🗑 امکانات سریع‌تر

  • حذف سریع نشست: زیر پیام خلاصهٔ پایان چت، دکمهٔ 🗑 حذف این نشست (فعال تا ۱۰ ثانیه) بدون رفتن به منوی 🗂 نشست‌ها.
  • حذف کلید API: در صفحهٔ کلیدها کنار هر کلید فعال دکمهٔ 🗑 اضافه شد؛ بعد از حذف، سرور خودکار ری‌استارت می‌شود.

نصب / آپدیت

curl -fsSL https://raw.githubusercontent.com/Aknuun/GAZAN-opencode-bot/master/install.sh -o /tmp/opencode-tg-install.sh && sudo bash /tmp/opencode-tg-install.sh

Full Changelog: v8.8...v8.9

v8.8

Choose a tag to compare

@github-actions github-actions released this 09 Sep 15:44

Full Changelog: v8.7...v8.8

v8.7

Choose a tag to compare

@github-actions github-actions released this 09 Sep 15:41

Full Changelog: v8.6...v8.7

v8.6

Choose a tag to compare

@github-actions github-actions released this 09 Sep 15:37

Full Changelog: v8.5...v8.6

v8.5

Choose a tag to compare

@github-actions github-actions released this 09 Sep 15:26

Full Changelog: v8.4...v8.5

v8.4

Choose a tag to compare

@github-actions github-actions released this 09 Sep 15:02

Full Changelog: v8.3...v8.4

v8.3

Choose a tag to compare

@Aknuun Aknuun released this 09 Sep 14:47

v8.3

✨ جدید

  • خلاصهٔ پایان کار: بعد از هر اجرا یک پیام جداگانه زیر پاسخ فرستاده می‌شود با نتیجه (✅ انجام شد / ⛔ متوقف شد / ⚠️ ناتمام)، مدل، agent، مدت و مصرفِ همین اجرا (توکن ورودی/خروجی و هزینه به دلار).
  • نام مدل هنگام فکر کردن: پیام «در حال انجام» حالا اسم مدل را نشان می‌دهد (مثل 🧠 deepseek/deepseek-v4-flash در حال فکر کردن…).

🏗 بازسازی ساختار (no-op رفتاری)

  • internal/occlient: کلاینت REST سرور opencode + تایپ‌ها به پکیج جدا و اینترفیس ocAPI.
  • internal/statefile: ذخیرهٔ state به‌صورت اتمی (tmp+rename) و debounce؛ فلاش قطعی هنگام خروج با SIGTERM.
  • رباتِ تک‌پارچه تجزیه شد: userStore (state کاربران)، uiState، runManager، qReg — هرکدام قفل مستقل؛ mutex سراسری حذف شد.
  • لاگ ساخت‌یافتهٔ log/slog به‌جای log.
  • روتر یکپارچهٔ callback + اینترفیس telegramAPI.
  • تست‌های جدید (occlient/statefile/userStore + تست جریان ربات با فیک‌ها).

📦 فایل‌ها

  • opencode-tg-bot — باینری لینوکس amd64 (ساخته‌شده با go build -ldflags "-s -w").
  • نصب/آپدیت روی سرور همچنان با install.sh از سورس انجام می‌شود.