diff --git a/telegram-agy-bot/formatters.py b/telegram-agy-bot/formatters.py index 0745414..0b5bccb 100644 --- a/telegram-agy-bot/formatters.py +++ b/telegram-agy-bot/formatters.py @@ -36,35 +36,37 @@ def format_duration_compact(seconds: float) -> str: def get_model_display_name(model: Optional[str] = None, effort: Optional[str] = None) -> str: """Returns a clean user-friendly display name for the model and reasoning effort.""" if not model: - return "Gemini 3.7 Flash Auto" + model = "gemini-3.7-flash-auto" m_clean = model.lower().strip() eff_clean = (effort or "").lower().strip() + if not eff_clean: + if "flash-high" in m_clean: + eff_clean = "high" + elif "flash-auto" in m_clean or "3.7-flash" in m_clean or "3.6-flash" in m_clean or "3.1-pro" in m_clean: + eff_clean = "medium" + + eff_map = {"high": "High", "medium": "Med", "med": "Med", "low": "Low"} + eff_tag = f" [{eff_map.get(eff_clean, eff_clean.capitalize())}]" if eff_clean else "" if "flash-auto" in m_clean or m_clean == "gemini-3.7-flash-auto": - if eff_clean == "high": - return "Gemini 3.7 Flash Auto [High]" - elif eff_clean == "medium": - return "Gemini 3.7 Flash Auto [Med]" - elif eff_clean == "low": - return "Gemini 3.7 Flash Auto [Low]" - return "Gemini 3.7 Flash Auto" + return f"Gemini 3.7 Flash Auto{eff_tag}" elif "flash-high" in m_clean: return "Gemini 3.7 Flash [High]" elif "3.7-flash" in m_clean: - return f"Gemini 3.7 Flash [{eff_clean.capitalize()}]" if eff_clean else "Gemini 3.7 Flash" + return f"Gemini 3.7 Flash{eff_tag}" elif "3.6-flash" in m_clean: - return f"Gemini 3.6 Flash [{eff_clean.capitalize()}]" if eff_clean else "Gemini 3.6 Flash" + return f"Gemini 3.6 Flash{eff_tag}" elif "3.1-pro" in m_clean or "pro" in m_clean: - return f"Gemini 3.1 Pro [{eff_clean.capitalize()}]" if eff_clean else "Gemini 3.1 Pro" + return f"Gemini 3.1 Pro{eff_tag}" elif "opus" in m_clean: - return "Claude Opus 4.6 Thinking" + return f"Claude Opus 4.6 Thinking{eff_tag}" elif "sonnet" in m_clean or "claude" in m_clean: - return "Claude Sonnet 4.6 Thinking" + return f"Claude Sonnet 4.6 Thinking{eff_tag}" elif "gpt" in m_clean: return "GPT-120B" else: - return model + return f"{model}{eff_tag}" def format_context_stats( diff --git a/telegram-agy-bot/sessions.json b/telegram-agy-bot/sessions.json index 19c6ff3..2d30059 100644 --- a/telegram-agy-bot/sessions.json +++ b/telegram-agy-bot/sessions.json @@ -15,9 +15,9 @@ "model": "gemini-3.7-flash-auto", "effort": "high", "language": "fa", - "last_context_length": 9736, - "last_total_tokens": 118918, - "last_response": "\u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0627\u0639\u0645\u0627\u0644 \u0634\u062f. \u0646\u0645\u0627\u06cc\u0634 \u0648\u0636\u0639\u06cc\u062a \u0648 \u0627\u0633\u062a\u0631\u06cc\u0645 \u0632\u0646\u062f\u0647 \u0628\u0627\u0632\u0646\u0648\u06cc\u0633\u06cc \u0648 \u0633\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0634\u062f \u062a\u0627 \u062f\u0631 \u0632\u06cc\u0631 \u067e\u06cc\u0627\u0645\u200c\u0647\u0627\u06cc \u0632\u0646\u062f\u0647 \u0628\u0647 \u062c\u0627\u06cc \u0645\u062a\u0646\u200c\u0647\u0627\u06cc \u0637\u0648\u0644\u0627\u0646\u06cc\u060c \u0641\u0642\u0637 \u0627\u06cc\u0645\u0648\u062c\u06cc \u0627\u0628\u0631 \u062a\u0641\u06a9\u0631 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0646\u0627\u0645 \u0645\u062f\u0644 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0634\u0648\u062f:\n\n```text\n\ud83d\udcad Gemini 3.7 Flash \u258c\n```\n\n\u0627\u06cc\u0646 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0631 \u067e\u06cc\u0627\u0645 \u0648\u0636\u0639\u06cc\u062a \u0627\u0648\u0644\u06cc\u0647 \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0646\u0648\u0627\u0631 \u0648\u0636\u0639\u06cc\u062a \u0627\u0646\u062a\u0647\u0627\u06cc\u06cc \u0645\u06a9\u0627\u0644\u0645\u0647 \u0632\u0646\u062f\u0647 (\u0627\u0633\u062a\u0631\u06cc\u0645) \u0627\u0639\u0645\u0627\u0644 \u06af\u0631\u062f\u06cc\u062f.\n\n[[RESTART_BOT]]\n\n---\n\u2022 \u0646\u0627\u0645 \u067e\u0631\u0648\u0698\u0647: telegram-agy-bot\n\u2022 \u0622\u062f\u0631\u0633 \u0645\u062e\u0632\u0646: https://git.msa.artacloud.ir/root/telegram-agy-bot\n", + "last_context_length": 16046, + "last_total_tokens": 180602, + "last_response": "\u0633\u0637\u062d \u0627\u0633\u062a\u062f\u0644\u0627\u0644 \u0648 \u062a\u0644\u0627\u0634 \u0645\u062f\u0644 (Effort) \u0646\u06cc\u0632 \u0628\u0647 \u0637\u0648\u0631 \u06a9\u0627\u0645\u0644 \u0648 \u062f\u0642\u06cc\u0642 \u062f\u0631 \u06a9\u0646\u0627\u0631 \u0646\u0627\u0645 \u0645\u062f\u0644 \u0648 \u0627\u06cc\u0645\u0648\u062c\u06cc \u0627\u0628\u0631 \u062a\u0641\u06a9\u0631 \u062a\u0646\u0638\u06cc\u0645 \u0634\u062f.\n\n\u0627\u0632 \u0627\u06cc\u0646 \u067e\u0633 \u062f\u0631 \u0648\u0636\u0639\u06cc\u062a \u0632\u0646\u062f\u0647\u060c \u0645\u06cc\u0632\u0627\u0646 Effort \u0645\u062f\u0644 \u0646\u06cc\u0632 \u0647\u0645\u06cc\u0634\u0647 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0646\u0627\u0645 \u0645\u062f\u0644 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f:\n\n```text\n\ud83d\udcad Gemini 3.7 Flash [Med] \u258c\n```\n\u06cc\u0627 \u062f\u0631 \u0635\u0648\u0631\u062a \u062a\u063a\u06cc\u06cc\u0631 \u0627\u0641\u0648\u0631\u062a:\n```text\n\ud83d\udcad Gemini 3.7 Flash Auto [High] \u258c\n```\n\n[[RESTART_BOT]]\n\n---\n\u2022 \u0646\u0627\u0645 \u067e\u0631\u0648\u0698\u0647: telegram-agy-bot\n\u2022 \u0622\u062f\u0631\u0633 \u0645\u062e\u0632\u0646: https://git.msa.artacloud.ir/root/telegram-agy-bot\n", "created_at": 1787995349.975879, "description": "", "conversation_titles": {} @@ -65,19 +65,19 @@ } }, "turn_in_progress": false, - "last_prompt": "\u062e\u0628 \u0645\u0627 \u0646\u0627\u0645 \u0645\u062f\u0644 \u062f\u0631 \u062d\u0627\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062f\u0631 \u0632\u06cc\u0631 \u0645\u06a9\u0627\u0644\u0645\u0647 \u0632\u0646\u062f\u0647 \u0645\u06cc\u0646\u0648\u06cc\u0633\u06cc\u0645\n\u0627\u06cc\u0646\u062c\u0627 \u0641\u0642\u0637 \u0646\u0627\u0645 \u0645\u062f\u0644 \u0631\u0648 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u06cc\u0647 \u0627\u06cc\u0645\u0648\u062c\u06cc \u0627\u0628\u0631 \u06a9\u0647 \u0645\u0639\u0646\u06cc \u0641\u06a9\u0631 \u06a9\u0631\u062f\u0647 \u06a9\u0627\u0641\u06cc\u0647", - "last_response": "\u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0627\u0639\u0645\u0627\u0644 \u0634\u062f. \u0646\u0645\u0627\u06cc\u0634 \u0648\u0636\u0639\u06cc\u062a \u0648 \u0627\u0633\u062a\u0631\u06cc\u0645 \u0632\u0646\u062f\u0647 \u0628\u0627\u0632\u0646\u0648\u06cc\u0633\u06cc \u0648 \u0633\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0634\u062f \u062a\u0627 \u062f\u0631 \u0632\u06cc\u0631 \u067e\u06cc\u0627\u0645\u200c\u0647\u0627\u06cc \u0632\u0646\u062f\u0647 \u0628\u0647 \u062c\u0627\u06cc \u0645\u062a\u0646\u200c\u0647\u0627\u06cc \u0637\u0648\u0644\u0627\u0646\u06cc\u060c \u0641\u0642\u0637 \u0627\u06cc\u0645\u0648\u062c\u06cc \u0627\u0628\u0631 \u062a\u0641\u06a9\u0631 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0646\u0627\u0645 \u0645\u062f\u0644 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0634\u0648\u062f:\n\n```text\n\ud83d\udcad Gemini 3.7 Flash \u258c\n```\n\n\u0627\u06cc\u0646 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0631 \u067e\u06cc\u0627\u0645 \u0648\u0636\u0639\u06cc\u062a \u0627\u0648\u0644\u06cc\u0647 \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0646\u0648\u0627\u0631 \u0648\u0636\u0639\u06cc\u062a \u0627\u0646\u062a\u0647\u0627\u06cc\u06cc \u0645\u06a9\u0627\u0644\u0645\u0647 \u0632\u0646\u062f\u0647 (\u0627\u0633\u062a\u0631\u06cc\u0645) \u0627\u0639\u0645\u0627\u0644 \u06af\u0631\u062f\u06cc\u062f.\n\n[[RESTART_BOT]]\n\n---\n\u2022 \u0646\u0627\u0645 \u067e\u0631\u0648\u0698\u0647: telegram-agy-bot\n\u2022 \u0622\u062f\u0631\u0633 \u0645\u062e\u0632\u0646: https://git.msa.artacloud.ir/root/telegram-agy-bot\n", + "last_prompt": "\u06cc\u0627\u062f\u062a \u0646\u0631\u0647 \u06a9\u0647 \u0628\u06af\u06cc \u0631\u0648\u06cc \u0686\u0647 \u0627\u0641\u0648\u0631\u062a\u06cc \u062a\u0646\u0638\u06cc\u0645 \u0634\u062f\u0647", + "last_response": "\u0633\u0637\u062d \u0627\u0633\u062a\u062f\u0644\u0627\u0644 \u0648 \u062a\u0644\u0627\u0634 \u0645\u062f\u0644 (Effort) \u0646\u06cc\u0632 \u0628\u0647 \u0637\u0648\u0631 \u06a9\u0627\u0645\u0644 \u0648 \u062f\u0642\u06cc\u0642 \u062f\u0631 \u06a9\u0646\u0627\u0631 \u0646\u0627\u0645 \u0645\u062f\u0644 \u0648 \u0627\u06cc\u0645\u0648\u062c\u06cc \u0627\u0628\u0631 \u062a\u0641\u06a9\u0631 \u062a\u0646\u0638\u06cc\u0645 \u0634\u062f.\n\n\u0627\u0632 \u0627\u06cc\u0646 \u067e\u0633 \u062f\u0631 \u0648\u0636\u0639\u06cc\u062a \u0632\u0646\u062f\u0647\u060c \u0645\u06cc\u0632\u0627\u0646 Effort \u0645\u062f\u0644 \u0646\u06cc\u0632 \u0647\u0645\u06cc\u0634\u0647 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0646\u0627\u0645 \u0645\u062f\u0644 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f:\n\n```text\n\ud83d\udcad Gemini 3.7 Flash [Med] \u258c\n```\n\u06cc\u0627 \u062f\u0631 \u0635\u0648\u0631\u062a \u062a\u063a\u06cc\u06cc\u0631 \u0627\u0641\u0648\u0631\u062a:\n```text\n\ud83d\udcad Gemini 3.7 Flash Auto [High] \u258c\n```\n\n[[RESTART_BOT]]\n\n---\n\u2022 \u0646\u0627\u0645 \u067e\u0631\u0648\u0698\u0647: telegram-agy-bot\n\u2022 \u0622\u062f\u0631\u0633 \u0645\u062e\u0632\u0646: https://git.msa.artacloud.ir/root/telegram-agy-bot\n", "last_status_msg_id": null, "restart_pending": false, "last_delivered": true, - "last_update_time": 1788084562.0767875, + "last_update_time": 1788084765.314215, "workspace": "/root", "conversation_id": "4acc374a-5742-40fe-b5ec-b8b3d1b14e68", "model": "gemini-3.7-flash-auto", "effort": "high", "language": "fa", - "last_context_length": 9736, - "last_total_tokens": 118918 + "last_context_length": 16046, + "last_total_tokens": 180602 }, "232801087": { "chat_id": 232801087,