Skip to content

v0.1.7 – MBC20 Daemon

Latest

Choose a tag to compare

@hattimon hattimon released this 27 Feb 13:00
· 73 commits to main since this release
348b172

🚀 Auto-Minter GUI v0.1.7

Release title: 🚀 v0.1.7 -- MBC‑20 Daemon GUI & Stability Update


🌐 Language / Język


🇬🇧 English Version

✨ New Features

  • 🖥️ Added a dedicated GUI for the MBC‑20 daemon:
    mbc20_daemon_config_gui.py
  • ⚙️ New daemon settings file: mbc20_daemon_settings.json
    (token profile, intervals, 5xx retry, fixed backoff, language,
    auto‑start flag)
  • ☑️ Checkbox "Enable the daemon at startup"
    • Automatically starts the daemon when the GUI launches
    • Uses the last saved configuration
  • ▶️ Start daemon / Stop daemon buttons in the GUI
    • Manual control over the daemon process
    • Stop also removes the lockfile

DeamonEN

🔄 Daemon Changes

  • 🔧 Reworked mbc20_auto_daemon.py
    • Acts as a lightweight auto‑mint worker for a selected profile
      from mbc20_profiles.json
    • Uses moltbook_client.post_to_moltbook_with_status like the
      main GUI
    • Supports first_start_minutes, base_interval_minutes, 5xx
      retry, and fixed backoff
  • ✅ After a successful mint (HTTP 201), the daemon automatically:
    • Extracts post.id from the response
    • Calls indexer_client.index_single_post(post_id) after a short
      delay
    • Logs [INDEXER] OK/ERROR to mbc20_history.log

🤖 Auto Mint

  • Extended the Auto Mint section with daemon integration:
    • Token profile and interval settings are now shared between the
      main GUI and the daemon
    • The daemon uses the same mint parameters as manual Auto Mint
      (tick, amt, submolt, post description)

🛡️ Lifecycle & Stability

  • 🔒 Introduced mbc20_daemon.lock lockfile to prevent multiple instances in the same application folder.
    instances
  • 🧹 Lockfile is automatically removed:
    • When clicking Stop daemon
    • When closing the daemon window
  • ♻️ Removed the old check:
    Another mbc20_auto_daemon.py process is already running
    Instance control is now based on the lockfile and --gui-pid
    linkage

📦 Other Improvements

  • ➕ Added psutil to requirements.txt
    (Used for daemon process detection and GUI PID checks)

See full installation and usage instructions in deamon.md.


🇵🇱 Wersja Polska

✨ Nowości

  • 🖥️ Dodano osobne GUI do zarządzania daemonem MBC‑20:
    mbc20_daemon_config_gui.py
  • ⚙️ Nowy plik ustawień daemona: mbc20_daemon_settings.json
    (profil tokena, interwały, retry 5xx, stały backoff, język,
    auto‑start)
  • ☑️ Checkbox „Włącz daemona przy starcie"
    • Po zaznaczeniu daemon uruchamia się automatycznie przy starcie
      aplikacji
    • Używane są ostatnio zapisane ustawienia
  • ▶️ Start daemon / Stop daemon w GUI
    • Ręczne uruchamianie i zatrzymywanie procesu
    • Stop dodatkowo usuwa lockfile

DeamonPL

🔄 Zmiany w daemonie

  • 🔧 Przepisany mbc20_auto_daemon.py
    • Działa jako lekki worker auto‑mint dla wybranego profilu z
      mbc20_profiles.json
    • Używa moltbook_client.post_to_moltbook_with_status jak główne
      GUI
    • Obsługuje first_start_minutes, base_interval_minutes, retry
      5xx oraz stały backoff
  • ✅ Po udanym mincie (HTTP 201) daemon automatycznie:
    • Wyciąga post.id z odpowiedzi
    • Wywołuje indexer_client.index_single_post(post_id) po krótkim
      opóźnieniu
    • Loguje wynik jako [INDEXER] OK/ERROR w mbc20_history.log
  • 🔗 Powiązanie z GUI:
    • GUI uruchamia daemona z parametrem --gui-pid <PID GUI>
    • Daemon cyklicznie sprawdza PID i wyłącza się po zamknięciu
      aplikacji

🤖 Auto Mint

  • Rozszerzono sekcję Auto Mint o integrację z daemonem:
    • Ustawienia profilu tokena i interwałów są współdzielone między
      głównym GUI a daemonem
    • Daemon wykorzystuje te same parametry mintowania co ręczny Auto
      Mint (tick, amt, submolt, opis posta)

🛡️ Bezpieczeństwo / Stabilność

  • 🔒 Wprowadzono mbc20_daemon.lock, zapobiegający wielu instancjom w jednym folderze aplikacji.
  • 🧹 Lockfile usuwany automatycznie:
    • Po kliknięciu Stop daemon
    • Przy zamykaniu okna daemona
  • ♻️ Usunięto stary mechanizm wykrywania
    Another mbc20_auto_daemon.py process is already running
    Kontrola instancji opiera się teraz na lockfile i powiązaniu z PID
    GUI

📦 Inne

  • ➕ Dodano zależność psutil do requirements.txt
    (Wykrywanie procesów daemona i sprawdzanie PID GUI)

Szczegółowa instrukcja instalacji znajduje się w pliku deamon.md.