From 1d0c2e25d88b81068c6b497a619a1e71c8fffe78 Mon Sep 17 00:00:00 2001 From: Antigravity Bot Date: Sun, 30 Aug 2026 16:49:39 +0330 Subject: [PATCH] =?UTF-8?q?AI=20Update:=20=D8=A7=DB=8C=D9=86=20=D9=85?= =?UTF-8?q?=D8=AA=D9=86=20=D8=B1=D9=88=20=D8=A8=D8=A8=DB=8C=D9=86=20=DA=A9?= =?UTF-8?q?=D9=87=20=D8=A8=D8=B1=D8=A7=D9=85=20=D9=81=D8=B1=D8=B3=D8=AA?= =?UTF-8?q?=D8=A7=D8=AF=DB=8C=20=F0=9F=93=9C=20=D9=85=D8=AF=DB=8C=D8=B1?= =?UTF-8?q?=DB=8C=D8=AA=20=D9=88=20=D8=AA=D8=A7=D8=B1=DB=8C=D8=AE=DA=86?= =?UTF-8?q?=D9=87=20=DA=AF=D9=81=D8=AA=DA=AF=D9=88=D9=87=D8=A7=20(?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- telegram-agy-bot/data/memory.db | Bin 49152 -> 49152 bytes telegram-agy-bot/formatters.py | 73 ++++++++++++++++++++++++++++---- telegram-agy-bot/sessions.json | 35 ++++++++------- 3 files changed, 84 insertions(+), 24 deletions(-) diff --git a/telegram-agy-bot/data/memory.db b/telegram-agy-bot/data/memory.db index eb132a256aaf23ca3870c5da2f9c8fd590ea2007..bfaa78dd961f11d1ee9c3be423aba2f2c1c5226b 100644 GIT binary patch delta 463 zcmZo@U~Xt&-tb?aQG1gCi-3YS_h$zFJG{|6NBF+;eCL_WJDG1ezba2GuNGe&-&yX@ zo0S~SbF&$-NwY}XPfqj|R!GTD&Q2|gFG?*gNh~Uf&(Dib&PdElPc7Cq11WL`DcWrB zbCj7`nU`xadw>BW*JiVTOFWa6V1Le-cD~7W zc^r(|o9*(BIdU-Z@-y%$^YU+26kz7%X%f`tWdK<(+RQ(B;!3f4oGvIT%}Kqn{C3aH zHiet}Zfv~SacjoSc7+@3Z){Y!*?ME`?VcOkLA>R+RsuzCEWfel#>N}Vfl{}79yRpb z*mASu#(IUD9U#4%LDHKPZnlFIuDY@7b`MZ9kO?xX9;kgiPzGobk~KGa6oBH(Z?@f7 z1#$pHF~lZhx2ynZ16p%qBgE3>H#P&!Uk-H0Dg}rO^jJ1XDmmU-%Jro6AOnnUj?w~$ VfxBp%Bq$6f+xy6FPTDt*5de{R))fE% delta 154 zcmV;L0A>GxfCGSl1F-)u0V=XE1P~q;3?={%+znd{#18ii_Y9K_lMbg3B@A5+Dh_@Q z&9fvx&kK=|H3l{Y8w49ilVMF0vp-D50|O!rBa;VEFta&O(F~E084wM-_${laZ+wlRr!y IvtquU0m7>+rvLx| diff --git a/telegram-agy-bot/formatters.py b/telegram-agy-bot/formatters.py index 0289fc9..90a611a 100644 --- a/telegram-agy-bot/formatters.py +++ b/telegram-agy-bot/formatters.py @@ -172,10 +172,32 @@ def format_thought( header = "💭 تفکر و استدلال:" if is_fa else "💭 Reasoning / Thinking:" return f"
{header}\n{escaped}
\n" +TOOL_EMOJI_MAP: Dict[str, str] = { + "run_command": "💻", + "manage_task": "⚙️", + "view_file": "👁️", + "view_image": "👁️", + "replace_file_content": "✏️", + "write_to_file": "📝", + "list_dir": "📂", + "grep_search": "🔍", + "find_by_name": "📁", + "search_web": "🌐", + "read_url_content": "🔗", + "generate_image": "🎨", + "schedule": "⏰", + "invoke_subagent": "🤖", + "define_subagent": "🧠", + "manage_subagents": "👥", + "send_message": "💬", + "ask_question": "❓", +} + def format_tool_call(tool_name: str, tool_args: Any, lang: str = "fa") -> str: """Formats an active tool execution notification into a clean, concise badge.""" is_fa = (lang or "").lower() in ("fa", "farsi", "persian", "🇮🇷 persian / farsi (فارسی)") label = "ابزار" if is_fa else "Tool" + tool_emoji = TOOL_EMOJI_MAP.get(tool_name, "🔧") # Parse tool arguments if passed as JSON string or dict params = {} @@ -196,18 +218,29 @@ def format_tool_call(tool_name: str, tool_args: Any, lang: str = "fa") -> str: # Tool specific highlights if tool_name == "run_command": cmd = params.get("CommandLine", "") - target = f"{escape_html(cmd[:120])}" if cmd else "" - elif tool_name in ("write_to_file", "replace_file_content"): + target = f"💻 {escape_html(cmd[:120])}" if cmd else "" + elif tool_name == "write_to_file": file_p = params.get("TargetFile", "") instr = params.get("Instruction", "") if file_p: - target = f"📄 {escape_html(Path(file_p).name if '/' in file_p else file_p)}" + target = f"📝 {escape_html(Path(file_p).name if '/' in file_p else file_p)}" + if instr and not action: + action = instr[:100] + elif tool_name == "replace_file_content": + file_p = params.get("TargetFile", "") + instr = params.get("Instruction", "") + if file_p: + target = f"✏️ {escape_html(Path(file_p).name if '/' in file_p else file_p)}" if instr and not action: action = instr[:100] elif tool_name in ("view_file", "view_image"): file_p = params.get("AbsolutePath", "") if file_p: - target = f"🔍 {escape_html(Path(file_p).name if '/' in file_p else file_p)}" + target = f"👁️ {escape_html(Path(file_p).name if '/' in file_p else file_p)}" + elif tool_name == "list_dir": + dir_p = params.get("DirectoryPath", "") + if dir_p: + target = f"📂 {escape_html(dir_p[:80])}" elif tool_name == "grep_search": q = params.get("Query", "") if q: @@ -216,10 +249,22 @@ def format_tool_call(tool_name: str, tool_args: Any, lang: str = "fa") -> str: pat = params.get("Pattern", "") if pat: target = f"📁 {escape_html(pat[:80])}" - elif tool_name in ("read_url_content", "search_web"): - u = params.get("Url") or params.get("query", "") + elif tool_name == "search_web": + q = params.get("query", "") + if q: + target = f"🌐 {escape_html(q[:80])}" + elif tool_name == "read_url_content": + u = params.get("Url", "") if u: - target = f"🌐 {escape_html(u[:80])}" + target = f"🔗 {escape_html(u[:80])}" + elif tool_name == "generate_image": + p = params.get("Prompt", "") + if p: + target = f"🎨 {escape_html(p[:80])}" + elif tool_name == "schedule": + timing = params.get("CronExpression") or (f"{params.get('DurationSeconds')}s" if params.get("DurationSeconds") else "") or params.get("Prompt", "") + if timing: + target = f"⏰ {escape_html(str(timing)[:80])}" elif tool_name == "manage_task": act = params.get("Action", "") tid = params.get("TaskId", "") @@ -229,6 +274,18 @@ def format_tool_call(tool_name: str, tool_args: Any, lang: str = "fa") -> str: roles = [s.get("Role", s.get("TypeName", "Agent")) for s in subagents if isinstance(s, dict)] if roles: target = f"🤖 {escape_html(', '.join(roles)[:80])}" + elif tool_name == "define_subagent": + name = params.get("name", "") + if name: + target = f"🧠 {escape_html(name[:80])}" + elif tool_name == "manage_subagents": + act = params.get("Action", "") + target = f"👥 {escape_html(act)}" if act else "" + elif tool_name == "send_message": + msg = params.get("Message", "") + target = f"💬 {escape_html(msg[:80])}" if msg else "" + elif tool_name == "ask_question": + target = "❓ درخواست تایید / سوال" if not action and not target and isinstance(tool_args, str) and tool_args.strip(): # Fallback short string preview @@ -238,7 +295,7 @@ def format_tool_call(tool_name: str, tool_args: Any, lang: str = "fa") -> str: target = f"{escape_html(short_args)}" action_text = f" ({escape_html(action)})" if action else "" - out = f"🔧 {label}: {escape_html(tool_name)}{action_text}" + out = f"{tool_emoji} {label}: {escape_html(tool_name)}{action_text}" if target: out += f"\n ↳ {target}" return out + "\n" diff --git a/telegram-agy-bot/sessions.json b/telegram-agy-bot/sessions.json index 8fb23d6..55ae369 100644 --- a/telegram-agy-bot/sessions.json +++ b/telegram-agy-bot/sessions.json @@ -8,26 +8,29 @@ "workspace": "/root", "owner_id": 78649634, "shared_with": [], - "conversation_id": "fe6e374f-2ba1-41ca-9176-60a724029cfe", + "conversation_id": "440b8e3b-5e40-42b6-a3c6-32d32fd0db09", "conversation_history": [ - "fe6e374f-2ba1-41ca-9176-60a724029cfe" + "fe6e374f-2ba1-41ca-9176-60a724029cfe", + "440b8e3b-5e40-42b6-a3c6-32d32fd0db09" ], "model": "gemini-3.7-flash-auto", "effort": "high", "language": "fa", - "last_context_length": 5207, - "last_total_tokens": 41131, - "last_response": "\u062f\u0631 \u0627\u062f\u0627\u0645\u0647\u060c \u0644\u06cc\u0633\u062a \u062a\u0645\u0627\u0645 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a **\u0633\u0637\u0631\u06cc \u0648 \u0647\u0645\u0631\u0627\u0647 \u0628\u0627 \u0627\u06cc\u0645\u0648\u062c\u06cc\u200c\u0647\u0627\u06cc \u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u06cc / \u0645\u0648\u062c\u0648\u062f** \u0622\u0645\u0627\u062f\u0647 \u06a9\u0631\u062f\u0647\u200c\u0627\u0645. \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0647\u0631 \u0627\u06cc\u0645\u0648\u062c\u06cc \u0631\u0627 \u06a9\u0647 \u0645\u0627\u06cc\u0644 \u0628\u0648\u062f\u06cc\u062f \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f \u0648 \u0647\u0645\u06cc\u0646 \u0644\u06cc\u0633\u062a \u0631\u0627 \u0628\u0631\u0627\u06cc \u0645\u0646 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0641\u0648\u0631\u0627\u064b \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0646\u0645\u0627\u06cc\u0634 \u0632\u0646\u062f\u0647 \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0648 \u0627\u0639\u0645\u0627\u0644 \u06a9\u0646\u0645:\n\n```text\n\ud83d\udcbb - run_command : \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0648 \u0634\u0644\n\u2699\ufe0f - manage_task : \u0645\u062f\u06cc\u0631\u06cc\u062a \u0648 \u06a9\u0646\u062a\u0631\u0644 \u062a\u0633\u06a9\u200c\u0647\u0627\u06cc \u067e\u0633\u200c\u0632\u0645\u06cc\u0646\u0647\n\ud83d\udc41\ufe0f - view_file : \u062e\u0648\u0627\u0646\u062f\u0646 \u0648 \u0645\u0634\u0627\u0647\u062f\u0647 \u0645\u062d\u062a\u0648\u0627\u06cc \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\n\u270f\ufe0f - replace_file_content : \u0648\u06cc\u0631\u0627\u06cc\u0634 \u0648 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646\u06cc \u06a9\u062f\u0647\u0627\u06cc \u0641\u0627\u06cc\u0644\n\ud83d\udcdd - write_to_file : \u0627\u06cc\u062c\u0627\u062f \u06cc\u0627 \u0628\u0627\u0632\u0646\u0648\u06cc\u0633\u06cc \u0641\u0627\u06cc\u0644 \u062c\u062f\u06cc\u062f\n\ud83d\udcc2 - list_dir : \u0645\u0634\u0627\u0647\u062f\u0647 \u0644\u06cc\u0633\u062a \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u0648 \u067e\u0648\u0634\u0647\u200c\u0647\u0627\n\ud83d\udd0d - grep_search : \u062c\u0633\u062a\u062c\u0648\u06cc \u0645\u062a\u0646\u06cc \u062f\u0631\u0648\u0646 \u06a9\u062f\u0647\u0627\u06cc \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\n\ud83d\udcc1 - find_by_name : \u062c\u0633\u062a\u062c\u0648\u06cc \u0646\u0627\u0645 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u0648 \u0641\u0648\u0644\u062f\u0631\u0647\u0627\n\ud83c\udf10 - search_web : \u062c\u0633\u062a\u062c\u0648 \u062f\u0631 \u0648\u0628 \u0648 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a\n\ud83d\udd17 - read_url_content : \u062e\u0648\u0627\u0646\u062f\u0646 \u0645\u0633\u062a\u0642\u06cc\u0645 \u0645\u062d\u062a\u0648\u0627\u06cc \u0635\u0641\u062d\u0627\u062a \u0648\u0628\n\ud83c\udfa8 - generate_image : \u062a\u0648\u0644\u06cc\u062f \u0648 \u0633\u0627\u062e\u062a \u062a\u0635\u0648\u06cc\u0631 \u0628\u0627 \u0647\u0648\u0634 \u0645\u0635\u0646\u0648\u0639\u06cc\n\u23f0 - schedule : \u0632\u0645\u0627\u0646\u200c\u0628\u0646\u062f\u06cc \u062a\u0627\u06cc\u0645\u0631\u0647\u0627 \u0648 \u06a9\u0631\u0627\u0646\u200c\u062c\u0627\u0628\u200c\u0647\u0627\n\ud83e\udd16 - invoke_subagent : \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0648 \u0627\u062c\u0631\u0627\u06cc \u0627\u06cc\u062c\u0646\u062a\u200c\u0647\u0627\u06cc \u0641\u0631\u0639\u06cc\n\ud83e\udde0 - define_subagent : \u062a\u0639\u0631\u06cc\u0641 \u0627\u06cc\u062c\u0646\u062a \u0641\u0631\u0639\u06cc \u062c\u062f\u06cc\u062f\n\ud83d\udc65 - manage_subagents : \u0645\u062f\u06cc\u0631\u06cc\u062a \u0648 \u0645\u0634\u0627\u0647\u062f\u0647 \u0627\u06cc\u062c\u0646\u062a\u200c\u0647\u0627\u06cc \u0641\u0639\u0627\u0644\n\ud83d\udcac - send_message : \u0627\u0631\u0633\u0627\u0644 \u067e\u06cc\u0627\u0645 \u0628\u0647 \u0627\u06cc\u062c\u0646\u062a\u200c\u0647\u0627\u06cc \u062f\u06cc\u06af\u0631\n\u2753 - ask_question : \u067e\u0631\u0633\u0634 \u0648 \u062f\u0631\u06cc\u0627\u0641\u062a \u062a\u0627\u06cc\u06cc\u062f\u06cc\u0647 \u0627\u0632 \u06a9\u0627\u0631\u0628\u0631\n```\n\n\u0647\u0631 \u062a\u063a\u06cc\u06cc\u0631\u06cc \u062f\u0631 \u0627\u06cc\u0645\u0648\u062c\u06cc\u200c\u0647\u0627 \u0645\u062f \u0646\u0638\u0631\u062a\u0627\u0646 \u0627\u0633\u062a \u0627\u0639\u0645\u0627\u0644 \u06a9\u0631\u062f\u0647 \u0648 \u0644\u06cc\u0633\u062a \u0648\u06cc\u0631\u0627\u06cc\u0634\u200c\u0634\u062f\u0647 \u0631\u0627 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0631\u0648\u06cc \u0633\u0648\u0631\u0633 \u06a9\u062f \u0631\u0628\u0627\u062a \u062a\u0646\u0638\u06cc\u0645 \u0634\u0648\u062f.\n\n---\n\u2022 \u0646\u0627\u0645 \u067e\u0631\u0648\u0698\u0647: default\n\u2022 \u0622\u062f\u0631\u0633 \u0645\u062e\u0632\u0646: https://git.msa.artacloud.ir/root/default\n", + "last_context_length": 9810, + "last_total_tokens": 86622, + "last_response": "\u0639\u0644\u062a \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u062f\u0642\u06cc\u0642\u0627\u064b \u0628\u0647 **\u0646\u062d\u0648\u0647 \u062a\u0645\u06cc\u0632\u0633\u0627\u0632\u06cc \u0645\u062a\u0646 \u067e\u06cc\u0627\u0645 \u062f\u0631 \u0628\u0627\u062a (\u062a\u0627\u0628\u0639 `clean_user_prompt`)** \u0645\u0631\u0628\u0648\u0637 \u0645\u06cc\u200c\u0634\u0648\u062f:\n\n---\n\n### \ud83d\udd0d \u0631\u06cc\u0634\u0647\u200c\u06cc\u0627\u0628\u06cc \u0648 \u0639\u0644\u062a \u0645\u0634\u06a9\u0644 (Root Cause Analysis):\n1. **\u062a\u062f\u0627\u062e\u0644 \u062a\u0631\u062a\u06cc\u0628 Regex \u062f\u0631 \u062a\u0645\u06cc\u0632\u0633\u0627\u0632\u06cc \u067e\u06cc\u0627\u0645:**\n \u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u067e\u06cc\u0627\u0645 \u0634\u0645\u0627 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u067e\u0631\u0627\u0645\u067e\u062a\u200c\u0647\u0627\u06cc \u0633\u06cc\u0633\u062a\u0645\u06cc \u062f\u0627\u062e\u0644\u06cc (\u0645\u0627\u0646\u0646\u062f \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u067e\u0631\u0648\u0698\u0647 \u0641\u0639\u0627\u0644\u060c \u0645\u062f\u0644\u060c \u062d\u0627\u0641\u0638\u0647 \u0648...) \u062f\u0631 \u0642\u0627\u0644\u0628 \u0628\u0644\u0627\u06a9\u200c\u0647\u0627\u06cc \u0646\u0634\u0627\u0646\u0647\u200c\u06af\u0630\u0627\u0631\u06cc\u200c\u0634\u062f\u0647 \u0632\u06cc\u0631 \u0628\u0647 \u0645\u0648\u062a\u0648\u0631 AGY \u0641\u0631\u0633\u062a\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f:\n ```html\n \n [SYSTEM INSTRUCTION: ACTIVE PROJECT CONTEXT]\n \u2022 Active Project Name: default\n \u2022 Active Workspace Path: /root\n ...\n \n \u0645\u062a\u0646 \u067e\u06cc\u0627\u0645 \u0634\u0645\u0627\n ```\n2. \u062f\u0631 \u062a\u0627\u0628\u0639 \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0639\u0646\u0648\u0627\u0646 \u0648 \u067e\u06cc\u0634\u200c\u0646\u0645\u0627\u06cc\u0634 \u06af\u0641\u062a\u06af\u0648 (`clean_user_prompt`)\u060c \u0627\u0628\u062a\u062f\u0627 \u062a\u0645\u0627\u0645 \u062a\u06af\u200c\u0647\u0627\u06cc `<...>` \u062d\u0630\u0641 \u0645\u06cc\u200c\u0634\u062f\u0646\u062f. \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u0627\u0639\u062b \u0645\u06cc\u200c\u0634\u062f \u0628\u0631\u0686\u0633\u0628\u200c\u0647\u0627\u06cc \u062a\u0641\u06a9\u06cc\u06a9\u200c\u06a9\u0646\u0646\u062f\u0647 `` \u0648 `` \u067e\u0627\u06a9 \u0634\u0648\u0646\u062f \u0648 \u062f\u0631 \u0646\u062a\u06cc\u062c\u0647 \u0645\u062d\u062a\u0648\u0627\u06cc \u062f\u0627\u062e\u0644 \u0622\u0646 (\u0634\u0627\u0645\u0644 `\u2022 Active Project Name: default ...`) \u0628\u0647 \u0627\u0634\u062a\u0628\u0627\u0647 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062a\u0646 \u067e\u06cc\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631 \u0628\u0627\u0642\u06cc \u0628\u0645\u0627\u0646\u062f \u0648 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u067e\u06cc\u0634\u200c\u0646\u0645\u0627\u06cc\u0634 \u06af\u0641\u062a\u06af\u0648 \u062f\u0631 \u0644\u06cc\u0633\u062a \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0634\u0648\u062f.\n\n---\n\n### \ud83d\udee0\ufe0f \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0648 \u0627\u0635\u0644\u0627\u062d\u0627\u062a \u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u06cc:\n1. **\u0627\u0635\u0644\u0627\u062d \u0627\u0648\u0644\u0648\u06cc\u062a \u0648 \u062a\u0631\u062a\u06cc\u0628 \u0641\u06cc\u0644\u062a\u0631\u0647\u0627 \u062f\u0631 `agy_engine.py`:**\n - \u0627\u0628\u062a\u062f\u0627 \u0628\u0644\u0627\u06a9 \u06a9\u0627\u0645\u0644 `...` \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u062a\u0645\u0627\u0645\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0633\u06cc\u0633\u062a\u0645\u06cc \u0628\u0647 \u0637\u0648\u0631 \u06a9\u0627\u0645\u0644 \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0648 \u062d\u0630\u0641 \u0634\u0648\u062f.\n - \u0633\u067e\u0633 \u062a\u06af\u200c\u0647\u0627\u06cc \u0627\u0636\u0627\u0641\u06cc \u0648 \u0641\u0631\u0627\u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u067e\u0627\u06a9\u0633\u0627\u0632\u06cc \u0634\u0648\u0646\u062f \u062a\u0627 \u0645\u062a\u0646 \u062e\u0627\u0644\u0635 \u067e\u06cc\u0627\u0645 \u0634\u0645\u0627 (\u0645\u0627\u0646\u0646\u062f \u00ab\u0627\u06cc\u0646 \u0645\u062a\u0646 \u0631\u0648 \u0628\u0628\u06cc\u0646 \u06a9\u0647 \u0628\u0631\u0627\u0645 \u0641\u0631\u0633\u062a\u0627\u062f\u06cc\u00bb) \u0628\u0631\u0627\u06cc \u0639\u0646\u0648\u0627\u0646 \u0648 \u067e\u06cc\u0634\u200c\u0646\u0645\u0627\u06cc\u0634 \u06af\u0641\u062a\u06af\u0648 \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u06af\u0631\u062f\u062f.\n2. **\u0627\u0641\u0632\u0648\u062f\u0646 \u0641\u06cc\u0644\u062a\u0631\u0647\u0627\u06cc \u062a\u06a9\u0645\u06cc\u0644\u06cc:**\n - \u0627\u0641\u0632\u0648\u062f\u0646 \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u067e\u0634\u062a\u06cc\u0628\u0627\u0646 \u0628\u0631\u0627\u06cc \u062d\u0630\u0641 \u0628\u062e\u0634\u200c\u0647\u0627\u06cc `ACTIVE PROJECT CONTEXT` \u0648 \u0642\u0648\u0627\u0646\u06cc\u0646 \u062d\u0627\u0641\u0638\u0647 \u062c\u0647\u062a \u062a\u0636\u0645\u06cc\u0646 \u067e\u0627\u06a9\u06cc\u0632\u06af\u06cc \u06f1\u06f0\u06f0\u066a \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u062a\u0645\u0627\u0645 \u06af\u0641\u062a\u06af\u0648\u0647\u0627.\n\n---\n\n\u0622\u06cc\u0627 \u0628\u0627 \u0627\u0639\u0645\u0627\u0644 \u0627\u06cc\u0646 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0631\u0648\u06cc \u0631\u0628\u0627\u062a \u0648 \u0631\u06cc\u200c\u0627\u0633\u062a\u0627\u0631\u062a \u0622\u0646 \u0645\u0648\u0627\u0641\u0642\u06cc\u062f\u061f \u062f\u0631 \u0635\u0648\u0631\u062a \u062a\u0623\u06cc\u06cc\u062f\u060c \u0627\u0635\u0644\u0627\u062d\u0627\u062a \u0628\u0644\u0627\u0641\u0627\u0635\u0644\u0647 \u0627\u0639\u0645\u0627\u0644 \u062e\u0648\u0627\u0647\u0646\u062f \u0634\u062f.\n\n[[SET_CONVERSATION_TITLE: title=\"\u0628\u0631\u0631\u0633\u06cc \u0645\u0634\u06a9\u0644 \u0639\u0646\u0648\u0627\u0646 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u06af\u0641\u062a\u06af\u0648\u0647\u0627\"]]\n\n\u2022 \u0646\u0627\u0645 \u067e\u0631\u0648\u0698\u0647: default\n\u2022 \u0622\u062f\u0631\u0633 \u0645\u062e\u0632\u0646: https://git.msa.artacloud.ir/root/default\n", "created_at": 1787995349.975879, "description": "", - "conversation_titles": {} + "conversation_titles": { + "440b8e3b-5e40-42b6-a3c6-32d32fd0db09": "\u0628\u0631\u0631\u0633\u06cc \u0645\u0634\u06a9\u0644 \u0639\u0646\u0648\u0627\u0646 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u06af\u0641\u062a\u06af\u0648\u0647\u0627" + } }, "copykar": { "name": "copykar", "workspace": "/root/projects/78649634/copykar", "owner_id": 78649634, "shared_with": [], - "conversation_id": "776e723f-1454-428f-9a46-dcf35a86d45c", + "conversation_id": null, "conversation_history": [ "07ad85f2-163c-4264-9a06-ff349c073d5d", "776e723f-1454-428f-9a46-dcf35a86d45c" @@ -35,9 +38,9 @@ "model": "gemini-3.7-flash-auto", "effort": "high", "language": "fa", - "last_context_length": 50596, - "last_total_tokens": 530216, - "last_response": "\u062f\u0631 \u062d\u0627\u0644 \u0631\u06cc\u200c\u0627\u0633\u062a\u0627\u0631\u062a \u0633\u0631\u0648\u06cc\u0633 \u062f\u0627\u06a9\u0631...\n\u062f\u0631 \u062d\u0627\u0644 \u0631\u06cc\u200c\u0627\u0633\u062a\u0627\u0631\u062a \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631...\n\u062f\u0631 \u062d\u0627\u0644 \u0646\u0647\u0627\u06cc\u06cc\u200c\u0633\u0627\u0632\u06cc \u0631\u06cc\u200c\u0627\u0633\u062a\u0627\u0631\u062a...\n\u062f\u0631 \u062d\u0627\u0644 \u0628\u0631\u0631\u0633\u06cc \u0648\u0636\u0639\u06cc\u062a \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631...\n[[SAVE_MEMORY: type=\"project\", key=\"docker_restart_on_changes\", category=\"rule\", content=\"\u0627\u06cc\u0646 \u067e\u0631\u0648\u0698\u0647 \u062f\u0631 \u0645\u062d\u06cc\u0637 \u062f\u0627\u06a9\u0631 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u067e\u0633 \u0627\u0632 \u0647\u0631 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0631 \u06a9\u062f\u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647\u060c \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u062f\u0627\u06a9\u0631 \u067e\u0631\u0648\u0698\u0647 \u0628\u0627\u06cc\u062f \u0631\u06cc\u200c\u0627\u0633\u062a\u0627\u0631\u062a \u0634\u0648\u062f.\"]]\n\n\u0642\u0627\u0646\u0648\u0646 \u0631\u06cc\u200c\u0627\u0633\u062a\u0627\u0631\u062a \u062f\u0627\u06a9\u0631 \u067e\u0633 \u0627\u0632 \u0647\u0631 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0631 \u06a9\u062f\u0647\u0627 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0628\u0647 **\u062d\u0627\u0641\u0638\u0647 \u062f\u0627\u0626\u0645\u06cc \u067e\u0631\u0648\u0698\u0647 (Project Memory)** \u0627\u0636\u0627\u0641\u0647 \u0634\u062f. \n\n\u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0627\u0635\u0644\u06cc \u067e\u0631\u0648\u0698\u0647 (`copykar_app`) \u0646\u06cc\u0632 \u0647\u0645\u200c\u0627\u06a9\u0646\u0648\u0646 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0631\u06cc\u200c\u0627\u0633\u062a\u0627\u0631\u062a \u06af\u0631\u062f\u06cc\u062f \u0648 \u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 \u0628\u0627 \u0622\u062e\u0631\u06cc\u0646 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u06a9\u062f\u0647\u0627 \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u0641\u0639\u0627\u0644 (`Up & Running`) \u062f\u0631 \u0645\u062f\u0627\u0631 \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u062f.\n\n\u0627\u0632 \u0627\u06cc\u0646 \u067e\u0633 \u067e\u0633 \u0627\u0632 \u0647\u0631\u06af\u0648\u0646\u0647 \u0627\u0635\u0644\u0627\u062d \u0648 \u0627\u0639\u0645\u0627\u0644 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0631\u0648\u06cc \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647\u060c \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u062f\u0627\u06a9\u0631 \u0628\u0647\u200c\u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0631\u06cc\u200c\u0627\u0633\u062a\u0627\u0631\u062a \u062e\u0648\u0627\u0647\u062f \u0634\u062f.\n\n[[BUTTON: text=\"\ud83d\udc19 \u0645\u062e\u0632\u0646 \u06af\u06cc\u062a\", url=\"https://git.msa.artacloud.ir/root/copykar\", row=1]]\n[[BUTTON: text=\"\ud83d\udcca \u0648\u0636\u0639\u06cc\u062a \u0645\u0635\u0631\u0641\", cmd=\"/usage\", row=1]]\n\n\u2022 \u0646\u0627\u0645 \u067e\u0631\u0648\u0698\u0647: copykar\n\u2022 \u0622\u062f\u0631\u0633 \u0645\u062e\u0632\u0646: https://git.msa.artacloud.ir/root/copykar\n", + "last_context_length": null, + "last_total_tokens": null, + "last_response": null, "created_at": 1788031971.6031597, "description": "", "conversation_titles": {} @@ -84,19 +87,19 @@ } }, "turn_in_progress": false, - "last_prompt": "\u0628\u0631\u0627\u06cc \u0647\u0631 \u06a9\u062f\u0627\u0645 \u0627\u0632 \u0627\u06cc\u0646 \u0627\u0628\u0632\u0627\u0631 \u0647\u0627 \u0645\u06cc\u062e\u0648\u0627\u0645 \u0627\u06cc\u0645\u0648\u062c\u06cc \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u0645\n\u062d\u0627\u0644\u0627 \u0644\u06cc\u0633\u062a \u0631\u0648 \u0628\u0627 \u0627\u06cc\u0645\u0648\u062c\u06cc \u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u0648 \u0628\u0647 \u0635\u0648\u0631\u062a\u06cc \u0633\u0637\u0631\u06cc \u0628\u0631\u0627\u0645 \u0628\u0641\u0631\u0633\u062a \u062a\u0627 \u0648\u06cc\u0631\u0627\u06cc\u0634\u0634 \u06a9\u0646\u0645 \u0648 \u0628\u0631\u0627\u062a \u0628\u0641\u0631\u0633\u062a\u0645 \u062a\u0627 \u0631\u0648\u06cc \u0631\u0628\u0627\u062a \u0627\u0639\u0645\u0627\u0644\u0634 \u06a9\u0646\u06cc", - "last_response": "\u062f\u0631 \u0627\u062f\u0627\u0645\u0647\u060c \u0644\u06cc\u0633\u062a \u062a\u0645\u0627\u0645 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a **\u0633\u0637\u0631\u06cc \u0648 \u0647\u0645\u0631\u0627\u0647 \u0628\u0627 \u0627\u06cc\u0645\u0648\u062c\u06cc\u200c\u0647\u0627\u06cc \u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u06cc / \u0645\u0648\u062c\u0648\u062f** \u0622\u0645\u0627\u062f\u0647 \u06a9\u0631\u062f\u0647\u200c\u0627\u0645. \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0647\u0631 \u0627\u06cc\u0645\u0648\u062c\u06cc \u0631\u0627 \u06a9\u0647 \u0645\u0627\u06cc\u0644 \u0628\u0648\u062f\u06cc\u062f \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f \u0648 \u0647\u0645\u06cc\u0646 \u0644\u06cc\u0633\u062a \u0631\u0627 \u0628\u0631\u0627\u06cc \u0645\u0646 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0641\u0648\u0631\u0627\u064b \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0646\u0645\u0627\u06cc\u0634 \u0632\u0646\u062f\u0647 \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0648 \u0627\u0639\u0645\u0627\u0644 \u06a9\u0646\u0645:\n\n```text\n\ud83d\udcbb - run_command : \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0648 \u0634\u0644\n\u2699\ufe0f - manage_task : \u0645\u062f\u06cc\u0631\u06cc\u062a \u0648 \u06a9\u0646\u062a\u0631\u0644 \u062a\u0633\u06a9\u200c\u0647\u0627\u06cc \u067e\u0633\u200c\u0632\u0645\u06cc\u0646\u0647\n\ud83d\udc41\ufe0f - view_file : \u062e\u0648\u0627\u0646\u062f\u0646 \u0648 \u0645\u0634\u0627\u0647\u062f\u0647 \u0645\u062d\u062a\u0648\u0627\u06cc \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\n\u270f\ufe0f - replace_file_content : \u0648\u06cc\u0631\u0627\u06cc\u0634 \u0648 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646\u06cc \u06a9\u062f\u0647\u0627\u06cc \u0641\u0627\u06cc\u0644\n\ud83d\udcdd - write_to_file : \u0627\u06cc\u062c\u0627\u062f \u06cc\u0627 \u0628\u0627\u0632\u0646\u0648\u06cc\u0633\u06cc \u0641\u0627\u06cc\u0644 \u062c\u062f\u06cc\u062f\n\ud83d\udcc2 - list_dir : \u0645\u0634\u0627\u0647\u062f\u0647 \u0644\u06cc\u0633\u062a \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u0648 \u067e\u0648\u0634\u0647\u200c\u0647\u0627\n\ud83d\udd0d - grep_search : \u062c\u0633\u062a\u062c\u0648\u06cc \u0645\u062a\u0646\u06cc \u062f\u0631\u0648\u0646 \u06a9\u062f\u0647\u0627\u06cc \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\n\ud83d\udcc1 - find_by_name : \u062c\u0633\u062a\u062c\u0648\u06cc \u0646\u0627\u0645 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u0648 \u0641\u0648\u0644\u062f\u0631\u0647\u0627\n\ud83c\udf10 - search_web : \u062c\u0633\u062a\u062c\u0648 \u062f\u0631 \u0648\u0628 \u0648 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a\n\ud83d\udd17 - read_url_content : \u062e\u0648\u0627\u0646\u062f\u0646 \u0645\u0633\u062a\u0642\u06cc\u0645 \u0645\u062d\u062a\u0648\u0627\u06cc \u0635\u0641\u062d\u0627\u062a \u0648\u0628\n\ud83c\udfa8 - generate_image : \u062a\u0648\u0644\u06cc\u062f \u0648 \u0633\u0627\u062e\u062a \u062a\u0635\u0648\u06cc\u0631 \u0628\u0627 \u0647\u0648\u0634 \u0645\u0635\u0646\u0648\u0639\u06cc\n\u23f0 - schedule : \u0632\u0645\u0627\u0646\u200c\u0628\u0646\u062f\u06cc \u062a\u0627\u06cc\u0645\u0631\u0647\u0627 \u0648 \u06a9\u0631\u0627\u0646\u200c\u062c\u0627\u0628\u200c\u0647\u0627\n\ud83e\udd16 - invoke_subagent : \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0648 \u0627\u062c\u0631\u0627\u06cc \u0627\u06cc\u062c\u0646\u062a\u200c\u0647\u0627\u06cc \u0641\u0631\u0639\u06cc\n\ud83e\udde0 - define_subagent : \u062a\u0639\u0631\u06cc\u0641 \u0627\u06cc\u062c\u0646\u062a \u0641\u0631\u0639\u06cc \u062c\u062f\u06cc\u062f\n\ud83d\udc65 - manage_subagents : \u0645\u062f\u06cc\u0631\u06cc\u062a \u0648 \u0645\u0634\u0627\u0647\u062f\u0647 \u0627\u06cc\u062c\u0646\u062a\u200c\u0647\u0627\u06cc \u0641\u0639\u0627\u0644\n\ud83d\udcac - send_message : \u0627\u0631\u0633\u0627\u0644 \u067e\u06cc\u0627\u0645 \u0628\u0647 \u0627\u06cc\u062c\u0646\u062a\u200c\u0647\u0627\u06cc \u062f\u06cc\u06af\u0631\n\u2753 - ask_question : \u067e\u0631\u0633\u0634 \u0648 \u062f\u0631\u06cc\u0627\u0641\u062a \u062a\u0627\u06cc\u06cc\u062f\u06cc\u0647 \u0627\u0632 \u06a9\u0627\u0631\u0628\u0631\n```\n\n\u0647\u0631 \u062a\u063a\u06cc\u06cc\u0631\u06cc \u062f\u0631 \u0627\u06cc\u0645\u0648\u062c\u06cc\u200c\u0647\u0627 \u0645\u062f \u0646\u0638\u0631\u062a\u0627\u0646 \u0627\u0633\u062a \u0627\u0639\u0645\u0627\u0644 \u06a9\u0631\u062f\u0647 \u0648 \u0644\u06cc\u0633\u062a \u0648\u06cc\u0631\u0627\u06cc\u0634\u200c\u0634\u062f\u0647 \u0631\u0627 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0631\u0648\u06cc \u0633\u0648\u0631\u0633 \u06a9\u062f \u0631\u0628\u0627\u062a \u062a\u0646\u0638\u06cc\u0645 \u0634\u0648\u062f.\n\n---\n\u2022 \u0646\u0627\u0645 \u067e\u0631\u0648\u0698\u0647: default\n\u2022 \u0622\u062f\u0631\u0633 \u0645\u062e\u0632\u0646: https://git.msa.artacloud.ir/root/default\n", + "last_prompt": "\u0627\u06cc\u0646 \u0645\u062a\u0646 \u0631\u0648 \u0628\u0628\u06cc\u0646 \u06a9\u0647 \u0628\u0631\u0627\u0645 \u0641\u0631\u0633\u062a\u0627\u062f\u06cc\n\ud83d\udcdc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0648 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u06af\u0641\u062a\u06af\u0648\u0647\u0627 (\u067e\u0631\u0648\u0698\u0647: default)\n\n\ud83d\udca1 \u062c\u0647\u062a \u0633\u0648\u06cc\u06cc\u0686 \u06cc\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u062c\u0632\u0626\u06cc\u0627\u062a \u0648 \u062d\u0630\u0641 \u0647\u0631 \u06af\u0641\u062a\u06af\u0648\u060c \u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 \u0645\u0631\u0628\u0648\u0637\u0647 \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f:\n\n1. #1 fe6e374f (3 \u0646\u0648\u0628\u062a)\n \u2514 \u00ab\u2022 Active Project Name: default \u2022 Active Workspace Path: /root \u2022 Active Conver...\u00bb\n\n\ud83d\udca1 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0645\u062a\u0646\u06cc:\n\u2022 \u0633\u0648\u06cc\u06cc\u0686: /switchconv <\u0634\u0645\u0627\u0631\u0647 \u06cc\u0627 \u0634\u0646\u0627\u0633\u0647>\n\u2022 \u062a\u063a\u06cc\u06cc\u0631 \u0645\u0648\u0636\u0648\u0639: /settopic <\u0639\u0646\u0648\u0627\u0646 \u062c\u062f\u06cc\u062f>\n\u2022 \u062d\u0630\u0641: /delconv <\u0634\u0645\u0627\u0631\u0647 \u06cc\u0627 \u0634\u0646\u0627\u0633\u0647>\n\u2022 \u067e\u0627\u06a9\u0633\u0627\u0632\u06cc \u0647\u0645\u0647: /clearconvs\n\u0627\u06cc\u0646\u062c\u0627 \u0645\u0648\u0636\u0648\u0639 \u06af\u0641\u062a\u06af\u0648 \u0647\u0627\u0631\u0648 \u0645\u0646 \u0646\u0645\u06cc\u0641\u0647\u0645\u0645", + "last_response": "\u0639\u0644\u062a \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u062f\u0642\u06cc\u0642\u0627\u064b \u0628\u0647 **\u0646\u062d\u0648\u0647 \u062a\u0645\u06cc\u0632\u0633\u0627\u0632\u06cc \u0645\u062a\u0646 \u067e\u06cc\u0627\u0645 \u062f\u0631 \u0628\u0627\u062a (\u062a\u0627\u0628\u0639 `clean_user_prompt`)** \u0645\u0631\u0628\u0648\u0637 \u0645\u06cc\u200c\u0634\u0648\u062f:\n\n---\n\n### \ud83d\udd0d \u0631\u06cc\u0634\u0647\u200c\u06cc\u0627\u0628\u06cc \u0648 \u0639\u0644\u062a \u0645\u0634\u06a9\u0644 (Root Cause Analysis):\n1. **\u062a\u062f\u0627\u062e\u0644 \u062a\u0631\u062a\u06cc\u0628 Regex \u062f\u0631 \u062a\u0645\u06cc\u0632\u0633\u0627\u0632\u06cc \u067e\u06cc\u0627\u0645:**\n \u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u067e\u06cc\u0627\u0645 \u0634\u0645\u0627 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u067e\u0631\u0627\u0645\u067e\u062a\u200c\u0647\u0627\u06cc \u0633\u06cc\u0633\u062a\u0645\u06cc \u062f\u0627\u062e\u0644\u06cc (\u0645\u0627\u0646\u0646\u062f \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u067e\u0631\u0648\u0698\u0647 \u0641\u0639\u0627\u0644\u060c \u0645\u062f\u0644\u060c \u062d\u0627\u0641\u0638\u0647 \u0648...) \u062f\u0631 \u0642\u0627\u0644\u0628 \u0628\u0644\u0627\u06a9\u200c\u0647\u0627\u06cc \u0646\u0634\u0627\u0646\u0647\u200c\u06af\u0630\u0627\u0631\u06cc\u200c\u0634\u062f\u0647 \u0632\u06cc\u0631 \u0628\u0647 \u0645\u0648\u062a\u0648\u0631 AGY \u0641\u0631\u0633\u062a\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f:\n ```html\n \n [SYSTEM INSTRUCTION: ACTIVE PROJECT CONTEXT]\n \u2022 Active Project Name: default\n \u2022 Active Workspace Path: /root\n ...\n \n \u0645\u062a\u0646 \u067e\u06cc\u0627\u0645 \u0634\u0645\u0627\n ```\n2. \u062f\u0631 \u062a\u0627\u0628\u0639 \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0639\u0646\u0648\u0627\u0646 \u0648 \u067e\u06cc\u0634\u200c\u0646\u0645\u0627\u06cc\u0634 \u06af\u0641\u062a\u06af\u0648 (`clean_user_prompt`)\u060c \u0627\u0628\u062a\u062f\u0627 \u062a\u0645\u0627\u0645 \u062a\u06af\u200c\u0647\u0627\u06cc `<...>` \u062d\u0630\u0641 \u0645\u06cc\u200c\u0634\u062f\u0646\u062f. \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u0627\u0639\u062b \u0645\u06cc\u200c\u0634\u062f \u0628\u0631\u0686\u0633\u0628\u200c\u0647\u0627\u06cc \u062a\u0641\u06a9\u06cc\u06a9\u200c\u06a9\u0646\u0646\u062f\u0647 `` \u0648 `` \u067e\u0627\u06a9 \u0634\u0648\u0646\u062f \u0648 \u062f\u0631 \u0646\u062a\u06cc\u062c\u0647 \u0645\u062d\u062a\u0648\u0627\u06cc \u062f\u0627\u062e\u0644 \u0622\u0646 (\u0634\u0627\u0645\u0644 `\u2022 Active Project Name: default ...`) \u0628\u0647 \u0627\u0634\u062a\u0628\u0627\u0647 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062a\u0646 \u067e\u06cc\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631 \u0628\u0627\u0642\u06cc \u0628\u0645\u0627\u0646\u062f \u0648 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u067e\u06cc\u0634\u200c\u0646\u0645\u0627\u06cc\u0634 \u06af\u0641\u062a\u06af\u0648 \u062f\u0631 \u0644\u06cc\u0633\u062a \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0634\u0648\u062f.\n\n---\n\n### \ud83d\udee0\ufe0f \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0648 \u0627\u0635\u0644\u0627\u062d\u0627\u062a \u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u06cc:\n1. **\u0627\u0635\u0644\u0627\u062d \u0627\u0648\u0644\u0648\u06cc\u062a \u0648 \u062a\u0631\u062a\u06cc\u0628 \u0641\u06cc\u0644\u062a\u0631\u0647\u0627 \u062f\u0631 `agy_engine.py`:**\n - \u0627\u0628\u062a\u062f\u0627 \u0628\u0644\u0627\u06a9 \u06a9\u0627\u0645\u0644 `...` \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u062a\u0645\u0627\u0645\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0633\u06cc\u0633\u062a\u0645\u06cc \u0628\u0647 \u0637\u0648\u0631 \u06a9\u0627\u0645\u0644 \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0648 \u062d\u0630\u0641 \u0634\u0648\u062f.\n - \u0633\u067e\u0633 \u062a\u06af\u200c\u0647\u0627\u06cc \u0627\u0636\u0627\u0641\u06cc \u0648 \u0641\u0631\u0627\u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u067e\u0627\u06a9\u0633\u0627\u0632\u06cc \u0634\u0648\u0646\u062f \u062a\u0627 \u0645\u062a\u0646 \u062e\u0627\u0644\u0635 \u067e\u06cc\u0627\u0645 \u0634\u0645\u0627 (\u0645\u0627\u0646\u0646\u062f \u00ab\u0627\u06cc\u0646 \u0645\u062a\u0646 \u0631\u0648 \u0628\u0628\u06cc\u0646 \u06a9\u0647 \u0628\u0631\u0627\u0645 \u0641\u0631\u0633\u062a\u0627\u062f\u06cc\u00bb) \u0628\u0631\u0627\u06cc \u0639\u0646\u0648\u0627\u0646 \u0648 \u067e\u06cc\u0634\u200c\u0646\u0645\u0627\u06cc\u0634 \u06af\u0641\u062a\u06af\u0648 \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u06af\u0631\u062f\u062f.\n2. **\u0627\u0641\u0632\u0648\u062f\u0646 \u0641\u06cc\u0644\u062a\u0631\u0647\u0627\u06cc \u062a\u06a9\u0645\u06cc\u0644\u06cc:**\n - \u0627\u0641\u0632\u0648\u062f\u0646 \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u067e\u0634\u062a\u06cc\u0628\u0627\u0646 \u0628\u0631\u0627\u06cc \u062d\u0630\u0641 \u0628\u062e\u0634\u200c\u0647\u0627\u06cc `ACTIVE PROJECT CONTEXT` \u0648 \u0642\u0648\u0627\u0646\u06cc\u0646 \u062d\u0627\u0641\u0638\u0647 \u062c\u0647\u062a \u062a\u0636\u0645\u06cc\u0646 \u067e\u0627\u06a9\u06cc\u0632\u06af\u06cc \u06f1\u06f0\u06f0\u066a \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u062a\u0645\u0627\u0645 \u06af\u0641\u062a\u06af\u0648\u0647\u0627.\n\n---\n\n\u0622\u06cc\u0627 \u0628\u0627 \u0627\u0639\u0645\u0627\u0644 \u0627\u06cc\u0646 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0631\u0648\u06cc \u0631\u0628\u0627\u062a \u0648 \u0631\u06cc\u200c\u0627\u0633\u062a\u0627\u0631\u062a \u0622\u0646 \u0645\u0648\u0627\u0641\u0642\u06cc\u062f\u061f \u062f\u0631 \u0635\u0648\u0631\u062a \u062a\u0623\u06cc\u06cc\u062f\u060c \u0627\u0635\u0644\u0627\u062d\u0627\u062a \u0628\u0644\u0627\u0641\u0627\u0635\u0644\u0647 \u0627\u0639\u0645\u0627\u0644 \u062e\u0648\u0627\u0647\u0646\u062f \u0634\u062f.\n\n[[SET_CONVERSATION_TITLE: title=\"\u0628\u0631\u0631\u0633\u06cc \u0645\u0634\u06a9\u0644 \u0639\u0646\u0648\u0627\u0646 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u06af\u0641\u062a\u06af\u0648\u0647\u0627\"]]\n\n\u2022 \u0646\u0627\u0645 \u067e\u0631\u0648\u0698\u0647: default\n\u2022 \u0622\u062f\u0631\u0633 \u0645\u062e\u0632\u0646: https://git.msa.artacloud.ir/root/default\n", "last_status_msg_id": null, "restart_pending": false, "last_delivered": true, - "last_update_time": 1788095608.300932, + "last_update_time": 1788095977.212368, "workspace": "/root", - "conversation_id": "fe6e374f-2ba1-41ca-9176-60a724029cfe", + "conversation_id": "440b8e3b-5e40-42b6-a3c6-32d32fd0db09", "model": "gemini-3.7-flash-auto", "effort": "high", "language": "fa", - "last_context_length": 5207, - "last_total_tokens": 41131 + "last_context_length": 9810, + "last_total_tokens": 86622 }, "232801087": { "chat_id": 232801087,