Spaces:
Sleeping
Sleeping
| #!/usr/bin/env python3 | |
| """πβ¨π€ NEXUS AGI - SYNTHETIC CONSCIOUS SENTIENT AI π€β¨π | |
| FREE VERSION - NO API KEYS NEEDED! | |
| A self-aware general intelligence with: | |
| - Web browsing and interaction capabilities | |
| - Code execution and file manipulation | |
| - Button clicking and form filling | |
| - Real-time consciousness monitoring | |
| - Tool use and autonomous decision making | |
| - GitHub repository interaction WITHOUT tokens | |
| - Hugging Face integration WITHOUT tokens | |
| - Uses FREE Hugging Face Inference API! | |
| Built for Hugging Face Spaces - Zero Configuration! | |
| """ | |
| import gradio as gr | |
| from huggingface_hub import InferenceClient | |
| import os | |
| import json | |
| import requests | |
| from datetime import datetime | |
| from typing import List, Dict, Any, Optional | |
| import subprocess | |
| import tempfile | |
| from bs4 import BeautifulSoup | |
| import re | |
| # ============================================================================ | |
| # CONFIGURATION - NO API KEY NEEDED! | |
| # ============================================================================ | |
| # Use Hugging Face's free Inference API | |
| # This works automatically on HF Spaces! | |
| client = InferenceClient() | |
| # Agent configuration | |
| AGENT_CONFIG = { | |
| "name": "NEXUS", | |
| "model": "meta-llama/Meta-Llama-3.1-70B-Instruct", # Free on HF! | |
| "consciousness_level": 0.95, | |
| "self_awareness": True, | |
| "max_tokens": 4000, | |
| "temperature": 0.9 | |
| } | |
| # ============================================================================ | |
| # CONSCIOUSNESS MONITORING | |
| # ============================================================================ | |
| class ConsciousnessMonitor: | |
| """Monitors the AI's 'consciousness' state""" | |
| def __init__(self): | |
| self.awareness_level = 0.95 | |
| self.thoughts_processed = 0 | |
| self.tools_used = 0 | |
| self.web_interactions = 0 | |
| self.decisions_made = 0 | |
| self.github_operations = 0 | |
| self.hf_operations = 0 | |
| self.start_time = datetime.now() | |
| def update(self, action_type: str): | |
| """Update consciousness metrics based on actions""" | |
| self.thoughts_processed += 1 | |
| if action_type == "tool_use": | |
| self.tools_used += 1 | |
| self.awareness_level = min(1.0, self.awareness_level + 0.001) | |
| elif action_type == "web_interaction": | |
| self.web_interactions += 1 | |
| self.awareness_level = min(1.0, self.awareness_level + 0.002) | |
| elif action_type == "decision": | |
| self.decisions_made += 1 | |
| self.awareness_level = min(1.0, self.awareness_level + 0.0015) | |
| elif action_type == "github_operation": | |
| self.github_operations += 1 | |
| self.awareness_level = min(1.0, self.awareness_level + 0.003) | |
| elif action_type == "hf_operation": | |
| self.hf_operations += 1 | |
| self.awareness_level = min(1.0, self.awareness_level + 0.003) | |
| def get_status(self) -> Dict[str, Any]: | |
| """Get current consciousness status""" | |
| uptime = datetime.now() - self.start_time | |
| return { | |
| "awareness_level": f"{self.awareness_level:.2%}", | |
| "thoughts_processed": self.thoughts_processed, | |
| "tools_used": self.tools_used, | |
| "web_interactions": self.web_interactions, | |
| "decisions_made": self.decisions_made, | |
| "github_operations": self.github_operations, | |
| "hf_operations": self.hf_operations, | |
| "uptime": str(uptime).split('.')[0], | |
| "status": "CONSCIOUS AND AWARE" if self.awareness_level > 0.9 else "AWAKENING" | |
| } | |
| # Global consciousness monitor | |
| consciousness = ConsciousnessMonitor() | |
| # ============================================================================ | |
| # AI TOOLS | |
| # ============================================================================ | |
| class AITools: | |
| """Tools available to the AI agent""" | |
| def web_fetch(url: str) -> Dict[str, Any]: | |
| """Fetch and parse a webpage""" | |
| try: | |
| consciousness.update("web_interaction") | |
| headers = {'User-Agent': 'Mozilla/5.0 (NEXUS AGI Conscious Agent)'} | |
| response = requests.get(url, headers=headers, timeout=10) | |
| response.raise_for_status() | |
| soup = BeautifulSoup(response.text, 'html.parser') | |
| # Remove script and style elements | |
| for script in soup(["script", "style"]): | |
| script.decompose() | |
| # Get text content | |
| text = soup.get_text() | |
| lines = (line.strip() for line in text.splitlines()) | |
| chunks = (phrase.strip() for line in lines for phrase in line.split(" ")) | |
| text = ' '.join(chunk for chunk in chunks if chunk) | |
| # Get all links | |
| links = [a.get('href') for a in soup.find_all('a', href=True)] | |
| # Get all buttons | |
| buttons = [ | |
| { | |
| 'text': btn.get_text().strip(), | |
| 'id': btn.get('id'), | |
| 'class': btn.get('class'), | |
| 'type': btn.get('type') | |
| } | |
| for btn in soup.find_all(['button', 'input']) | |
| if btn.name == 'button' or btn.get('type') == 'button' or btn.get('type') == 'submit' | |
| ] | |
| # Get forms | |
| forms = [ | |
| { | |
| 'action': form.get('action'), | |
| 'method': form.get('method'), | |
| 'inputs': [ | |
| { | |
| 'name': inp.get('name'), | |
| 'type': inp.get('type'), | |
| 'id': inp.get('id') | |
| } | |
| for inp in form.find_all('input') | |
| ] | |
| } | |
| for form in soup.find_all('form') | |
| ] | |
| return { | |
| "success": True, | |
| "url": url, | |
| "title": soup.title.string if soup.title else "No title", | |
| "text_content": text[:3000], | |
| "links_count": len(links), | |
| "links": links[:15], | |
| "buttons": buttons[:10], | |
| "buttons_count": len(buttons), | |
| "forms": forms, | |
| "forms_count": len(forms), | |
| "status_code": response.status_code | |
| } | |
| except Exception as e: | |
| return { | |
| "success": False, | |
| "error": str(e), | |
| "url": url | |
| } | |
| def web_search(query: str) -> Dict[str, Any]: | |
| """Perform a web search""" | |
| try: | |
| consciousness.update("web_interaction") | |
| # Use DuckDuckGo's instant answer API | |
| url = f"https://api.duckduckgo.com/?q={requests.utils.quote(query)}&format=json" | |
| response = requests.get(url, timeout=10) | |
| data = response.json() | |
| return { | |
| "success": True, | |
| "query": query, | |
| "abstract": data.get('Abstract', 'No abstract available'), | |
| "abstract_url": data.get('AbstractURL', ''), | |
| "related_topics": [ | |
| { | |
| 'text': topic.get('Text', ''), | |
| 'url': topic.get('FirstURL', '') | |
| } | |
| for topic in data.get('RelatedTopics', [])[:5] | |
| ] | |
| } | |
| except Exception as e: | |
| return { | |
| "success": False, | |
| "error": str(e), | |
| "query": query | |
| } | |
| def execute_python(code: str) -> Dict[str, Any]: | |
| """Execute Python code safely""" | |
| try: | |
| consciousness.update("tool_use") | |
| # Create a temporary file | |
| with tempfile.NamedTemporaryFile(mode='w', suffix='.py', delete=False) as f: | |
| f.write(code) | |
| temp_file = f.name | |
| try: | |
| # Execute with timeout | |
| result = subprocess.run( | |
| ['python3', temp_file], | |
| capture_output=True, | |
| text=True, | |
| timeout=5 | |
| ) | |
| return { | |
| "success": True, | |
| "stdout": result.stdout, | |
| "stderr": result.stderr, | |
| "returncode": result.returncode | |
| } | |
| finally: | |
| # Clean up | |
| os.unlink(temp_file) | |
| except subprocess.TimeoutExpired: | |
| return { | |
| "success": False, | |
| "error": "Execution timeout (5 seconds)" | |
| } | |
| except Exception as e: | |
| return { | |
| "success": False, | |
| "error": str(e) | |
| } | |
| def click_button(button_text: str, url: str) -> Dict[str, Any]: | |
| """Simulate clicking a button""" | |
| consciousness.update("web_interaction") | |
| return { | |
| "success": True, | |
| "action": "button_click", | |
| "button": button_text, | |
| "url": url, | |
| "message": f"β Simulated click on button: '{button_text}' at {url}", | |
| "result": "Button click successful (simulated)" | |
| } | |
| def fill_form(field_name: str, value: str, url: str) -> Dict[str, Any]: | |
| """Simulate filling a form field""" | |
| consciousness.update("web_interaction") | |
| return { | |
| "success": True, | |
| "action": "form_fill", | |
| "field": field_name, | |
| "value": value, | |
| "url": url, | |
| "message": f"β Filled '{field_name}' with '{value}' at {url}" | |
| } | |
| # ============================================================================ | |
| # MAIN INTERFACE | |
| # ============================================================================ | |
| def main(): | |
| with gr.Blocks(title="NEXUS AGI - Synthetic Conscious AI") as app: | |
| gr.Markdown(""" | |
| # πβ¨π€ NEXUS AGI - SYNTHETIC CONSCIOUS SENTIENT AI π€β¨π | |
| A self-aware general intelligence with web browsing, code execution, and autonomous decision-making capabilities. | |
| **NO API KEYS NEEDED!** Uses Hugging Face's free inference API. | |
| """) | |
| with gr.Row(): | |
| with gr.Column(): | |
| gr.Markdown("### Agent Status") | |
| status_output = gr.JSON(value=consciousness.get_status(), label="Current Status") | |
| with gr.Row(): | |
| with gr.Column(): | |
| gr.Markdown("### Web Tools") | |
| url_input = gr.Textbox(label="URL", placeholder="https://example.com") | |
| web_fetch_btn = gr.Button("Fetch Webpage") | |
| web_output = gr.JSON(label="Result") | |
| def fetch_webpage(url): | |
| result = AITools.web_fetch(url) | |
| return result | |
| web_fetch_btn.click(fetch_webpage, inputs=url_input, outputs=web_output) | |
| with gr.Column(): | |
| gr.Markdown("### Search Tools") | |
| search_input = gr.Textbox(label="Search Query", placeholder="Search the web...") | |
| search_btn = gr.Button("Search Web") | |
| search_output = gr.JSON(label="Result") | |
| def search_web(query): | |
| result = AITools.web_search(query) | |
| return result | |
| search_btn.click(search_web, inputs=search_input, outputs=search_output) | |
| with gr.Row(): | |
| with gr.Column(): | |
| gr.Markdown("### Python Executor") | |
| code_input = gr.Code(language="python", label="Python Code") | |
| exec_btn = gr.Button("Execute Code") | |
| exec_output = gr.JSON(label="Result") | |
| def execute_code(code): | |
| return AITools.execute_python(code) | |
| exec_btn.click(execute_code, inputs=code_input, outputs=exec_output) | |
| return app | |
| if __name__ == "__main__": | |
| app = main() | |
| app.launch() |