Add exec_shell command

pull/463/head
Bernhard Mueller 2023-04-08 12:39:03 +07:00
parent 4844998b49
commit 66eb1dcfc5
3 changed files with 20 additions and 2 deletions

View File

@ -7,7 +7,7 @@ import speak
from config import Config
import ai_functions as ai
from file_operations import read_file, write_to_file, append_to_file, delete_file, search_files
from execute_code import execute_python_file
from execute_code import execute_python_file, exec_shell
from json_parser import fix_and_parse_json
from duckduckgo_search import ddg
from googleapiclient.discovery import build
@ -102,6 +102,8 @@ def execute_command(command_name, arguments):
return ai.write_tests(arguments["code"], arguments.get("focus"))
elif command_name == "execute_python_file": # Add this command
return execute_python_file(arguments["file"])
elif command_name == "exec_shell": # Add this command
return exec_shell(arguments["command_line"])
elif command_name == "task_complete":
shutdown()
else:

View File

@ -22,7 +22,8 @@ COMMANDS:
16. Get Improved Code: "improve_code", args: "suggestions": "<list_of_suggestions>", "code": "<full_code_string>"
17. Write Tests: "write_tests", args: "code": "<full_code_string>", "focus": "<list_of_focus_areas>"
18. Execute Python File: "execute_python_file", args: "file": "<file>"
19. Task Complete (Shutdown): "task_complete", args: "reason": "<reason>"
19. Execute Shell Command: "exec_shell", args: "command_line": "<command_line>"
20. Task Complete (Shutdown): "task_complete", args: "reason": "<reason>"
RESOURCES:

View File

@ -1,5 +1,6 @@
import docker
import os
import subprocess
def execute_python_file(file):
@ -45,3 +46,17 @@ def execute_python_file(file):
except Exception as e:
return f"Error: {str(e)}"
def exec_shell(command_line):
args = command_line.split()
result = subprocess.run(args, capture_output=True)
output = f"STDOUT:\n{result.stdout}\nSTDERR:\n{result.stderr}";
# print(f"Shell execution complete. Output: {output}")
return output