### 🐺 مراجعة الذئب: {wolf_review} """ # ==================== الأوامر والتحكم ==================== class CommandCenter: def __init__(self, db: BrainDB, council: CouncilOfLegends): self.db = db self.council = council async def handle_learn(self, args, user): if ":" in args: topic, content = args.split(":", 1) emb = self.council.engine._get_embedding(content) self.db.save_knowledge(user, topic.strip(), content.strip(), emb) return "✅ تم زرع المعرفة في قلب العملاق." return "⚠️ صيغة التعلم: تعلّم الموضوع: المحتوى" async def handle_search(self, query): if not DDGS_ENABLED: return "⚠️ خدمة البحث معطلة." try: with DDGS() as ddgs: results = [r for r in ddgs.text(query, max_results=3)] if not results: return "لا نتائج." out = f"🔎 **نتائج البحث:**\n" for r in results: out += f"- [{r['title']}]({r['href']})\n{r['body'][:100]}...\n\n" return out except Exception as e: return f"خطأ بحث: {e}" # ==================== الواجهة الرسومية (Gradio) ==================== custom_css = """ body { background-color: #0a0a0a; color: #e0e0e0; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } .gradio-container { max-width: 1200px !important; margin: auto; } .chatbot { background: #111; border: 1px solid #333; border-radius: 15px; } .message.user { background-color: #1a1a1a !important; border-radius: 15px; } .message.bot { background-color: #0d1f2d !important; border-radius: 15px; border: 1px solid #ff5722; } pre { background: #000 !important; border-left: 4px solid #ff5722 !important; border-radius: 8px; padding: 15px; overflow-x: auto; } code { color: #00ff00 !important; } button.primary { background: linear-gradient(45deg, #ff5722, #ff9800) !important; border: none; font-weight: bold; } """ def create_interface(): db = BrainDB() engine = AIEngine(db) council = CouncilOfLegends(engine, db) cmd = CommandCenter(db, council) with gr.Blocks(title="GIANT-AI PRO", css=custom_css) as demo: gr.Markdown("# 🦣 GIANT-AI: THE COUNCIL OF LEGENDS") gr.Markdown("**سلسلة الإنتاج:** 🦁 تخطيط ➔ 🦊 تصميم ➔ 🐯 برمجة ➔ 🐺 مراجعة") user_state = gr.State("guest") with gr.Row(): with gr.Column(scale=4): chatbot = gr.Chatbot(label="مجلس العظماء", height=600) with gr.Row(): txt = gr.Textbox(label="أمرك", placeholder="اكتب طلبك هنا (مثال: بناء نظام تسجيل دخول آمن)...", scale=8) btn = gr.Button("تنفيذ ⚡", variant="primary") with gr.Column(scale=1, min_width=280): with gr.Accordion("🛠️ لوحة التحكم", open=True): btn_clear = gr.Button("🗑️ مسح المحادثة") status_box = gr.Textbox(label="الحالة", value="🟢 جاهز للعمل", interactive=False) async def process(message, history, user): if not message.strip(): return "", history, "⚠️ الرجاء إدخال أمر." # التحقق من هوية المالك if message.strip() == Config.OWNER_SECRET: db.set_owner(user) return "", history + [[message, "👑 تم تفعيل صلاحيات الإمبراطور."]], "👑 وضع المالك" bot_reply = "" # أوامر خاصة if message.startswith("ابحث "): bot_reply = await cmd.handle_search(message[5:]) elif message.startswith("تعلّم "): bot_reply = await cmd.handle_learn(message[5:], user) # أوامر البرمجة والبناء elif any(kw in message for kw in ["كود", "برنامج", "نظام", "بناء", "صنع", "اكتب"]): bot_reply = await council.execute_mission(message, user) # المحادثة العامة else: msgs = [{"role": "system", "content": "أنت مساعد ذكي بارع، أجب باختصار ولغة عربية سليمة."}, {"role": "user", "content": message}] bot_reply = await engine.get_best_response(msgs) db.save_message(user, "user", message) db.save_message(user, "assistant", bot_reply) history.append([message, bot_reply]) return "", history, "🟢 تم التنفيذ بنجاح" btn.click(process, [txt, chatbot, user_state], [txt, chatbot, status_box]) txt.submit(process, [txt, chatbot, user_state], [txt, chatbot, status_box]) btn_clear.click(lambda: ([], "🟢 جاهز"), None, [chatbot, status_box]) return demo if __name__ == "__main__": logger.info("🚀 بدء تشغيل نظام GIANT-AI Pro...") app = create_interface() app.launch(show_error=True, debug=True)