| | import os |
| | import shutil |
| | import psutil |
| | import gradio as gr |
| |
|
| | |
| | try: |
| | from transformers import pipeline |
| | ai_enabled = True |
| | nlp = pipeline("text2text-generation", model="google/flan-t5-small") |
| | except Exception: |
| | ai_enabled = False |
| |
|
| | |
| | def run_command(cmd): |
| | parts = cmd.strip().split() |
| | if not parts: |
| | return "No command entered." |
| | c, args = parts[0], parts[1:] |
| |
|
| | if c == "ls": |
| | path = args[0] if args else "." |
| | try: |
| | return "\n".join(os.listdir(path)) |
| | except Exception as e: |
| | return str(e) |
| |
|
| | elif c == "pwd": |
| | return os.getcwd() |
| |
|
| | elif c == "cd": |
| | if not args: |
| | return "cd: missing operand" |
| | try: |
| | os.chdir(args[0]) |
| | return f"Changed directory to {os.getcwd()}" |
| | except Exception as e: |
| | return str(e) |
| |
|
| | elif c == "mkdir": |
| | if not args: |
| | return "mkdir: missing operand" |
| | try: |
| | os.mkdir(args[0]) |
| | return f"Directory '{args[0]}' created." |
| | except Exception as e: |
| | return str(e) |
| |
|
| | elif c == "rm": |
| | if not args: |
| | return "rm: missing operand" |
| | target = args[0] |
| | try: |
| | if os.path.isdir(target): |
| | shutil.rmtree(target) |
| | else: |
| | os.remove(target) |
| | return f"Removed '{target}'." |
| | except Exception as e: |
| | return str(e) |
| |
|
| | elif c == "monitor": |
| | cpu = psutil.cpu_percent(interval=1) |
| | mem = psutil.virtual_memory() |
| | return f"CPU Usage: {cpu}%\nMemory Usage: {mem.percent}%" |
| |
|
| | elif c == "ai": |
| | if not ai_enabled: |
| | return "AI not available." |
| | if not args: |
| | return "ai: missing query" |
| | query = " ".join(args) |
| | try: |
| | result = nlp(query, max_length=100)[0]['generated_text'] |
| | return f"AI Suggestion: {result}" |
| | except Exception as e: |
| | return str(e) |
| |
|
| | elif c == "help": |
| | cmds = ["ls", "pwd", "cd", "mkdir", "rm", "monitor", "help"] |
| | if ai_enabled: |
| | cmds.append("ai") |
| | return "Available commands:\n" + "\n".join(cmds) |
| |
|
| | else: |
| | return f"{c}: command not found" |
| |
|
| | |
| | iface = gr.Interface( |
| | fn=run_command, |
| | inputs=gr.Textbox(lines=2, placeholder="Enter command..."), |
| | outputs="text", |
| | title="Python Terminal Emulator", |
| | description="A mini terminal emulator with optional AI commands." |
| | ) |
| |
|
| | if __name__ == "__main__": |
| | iface.launch() |
| |
|