diff --git a/README.md b/README.md index aa51778..21841cd 100644 --- a/README.md +++ b/README.md @@ -9,4 +9,5 @@ The goal is to build a user-friendly bridge to automate ChatGPT and other GPT mo ## Examples -1. **Get username on local PC**: `python3 example_chatgpt_api.py` \ No newline at end of file +1. **Get username on local PC**: `python3 example_chatgpt_api.py` +2. **Use SQLMap**: `python3 example_sqlmap.py` \ No newline at end of file diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/config/ChatGPT_key.yaml b/config/ChatGPT_key.yaml new file mode 100644 index 0000000..ccd4008 --- /dev/null +++ b/config/ChatGPT_key.yaml @@ -0,0 +1,3 @@ +# depracated +chatGPT: + session-key: "eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..2Q5MLEj0afWgLQVH.x-rNGdjtJCNbKC97n8z4Xk6akoiSmC1QoWmjWHU2IzGuhIYSwLo5KB5htrNoeghtXZdaSvyqEQe043W_rDAXf7g9fgRnve-02sbI5_1aFv1OsL-2dIL4uU7YcgRMH_z5_QaVJAiML5DrQSDZww_Rju_qXfABRwgBSdjxBXnJP6Z_xc76LpPcBeRJru5DNM-Fb7oyb0xRBw9b_uS5dfq0UGuyRFgHOtncAfiNJ-JU4qenLhrFVPbkIeko2VdW4nr2vOMUO5HnUrkrb-ENlvF8z0s5QF8fyWMTGUGFNbuYKihC7nQ3H2MU6LPzh-sXveqXNd8wjj8_FE53Rm5BMYsEUnYKUgxt8_R6ohro-xN8eR0Dgs1O-w2IJaCJxsU1saHT8DUiBs5bFXZ1jKi2eNMH0HkthRCnaIRHIk-eUJePwpoHvkeYJs8WsDrAm3FT1a366TqKOkp9Cb8Ex7qNgnpCeN8YQNsEcTCts1vSrq6zEbIljHs2LCItOnRuClbQQ08aLue88p0GJOP0Cz1Oepffp1I1EgMMQsMBF7s4Q3U8CkQJaqM6dmVWOwQ3om0112k056qTcKQyc4XRDxRqZxrIwfW2DH_VdAppDw0mbQ15Wgf9o0cDAG8GZAq5kVkjhlz-duCChuprgMKpEwbKoxTd4Wj7sF_1l-e6uQj154Kry9NkhLdrzRJaThDeqZe7ILCKz-xMg8_-cE92h3Qwhr1ZHtbAhJ15yt_PEf_t4O6RJPlR0fr_u8LaPlJntIU23bggQeOANrZQ6aIsgJlk0xWnv292TaUs7E97oXDGwhTIxL0jz9fl_XygfaBR9ax7ZNqG2GBrQKKmegT4rx4d8cgG1Gsr9Vn2shHMlIC1mluOSEkPz47Z7m_efmp2wmSlFV6vfv6GOY-J76_lsFvXjeeRT80B6U72KsMpohtoX28SFmDv1D04FgTTWt6A2E7uXOYyVP3sfeQUg29fFLPsV9pniTL3dcMk27eE3zSwtOoIdEWARTBGyUI1IS8ala4ho7w_QH8OxO49mpKhgYW7MC8JFErOypJSx0mAUzim3ayni7dVNrOjN8sFu7GCZBvKV4Z0Z7j3HAwfyzCVnl6MdXnqUrYT5_3o8VO9o7WnbnXRbQS6Kv8wUfi_5EkgPIkSJoA7j5HMkKdzdYRm-Dj9lVqVf8GMvU0PjR-pW2f7gveX4q05jti4Pt9hkcX40wLtFcI7AOvj3FRTzfgNPMw1xmVtAPkRhdJXHRvxDOtN1I0ChGGQWO4KyX03MNA3A88aVgdyyqB_vmVohF2i0PPxcf5Y7EnpWvRPalNvnMpRqJDwiQTqPNecSdahGnfx62k7CiLoAD6OchJ6Pgo_3PIyt-Y0mHxAPjy0GEn1WZE60ebs7FWi_DpaZjems_3FNE9vbDVLnU3ACJllSU_vtYDpZzoi097nqWKvBX7pIPaBZtfC1rKCMST6GhMDAQGxFnwSCI0U4VEMgC_DnK5rGF8XhGTi02O1Wqp6Rd05qfr2g-wDGBjPgVPhue_kjDYyEsohgTknpgPgU_Q7ytY8rPlop2-a37Mrmq-o5jSbIuB_DjtNGzBtyJpRAY7hGAjVjKdyGQ-9WXHXLrJeMU_qSI_zVJcqX4pIPM7ZAkowiVtFfYCeNCnfyrx3SwnG3wqQPQ0zb7BbJWWMM0j-0Z2jFDhU59Y5KkIT3v37S5ySxrqX9TBxuOhMuSIvA5UKmBrjF1LcZ37_hRb9JgvHhrg9UhAEasta4hlw5e87b9c8QHHtj0lG37Bd5SwtBpMtvfAWsHxhXUbl7s265CCtAyLSQ9OgveDgpC31QmPodl_72OC8sM2_TwMcPXUmclc5P_vgyqFU4k0ruohFaPmq1559QLQVWD1t7P929OJpcKtDRuo3c9pyJZ9snS-NLW5I1jQObp2OY57oJEMhwvTn4U1CzPXyMNNvfJq751okgD--grRBWoUsspfe_CzYdWzl4BucFdfoPdscv6e5K8fFNNvcLcUGaI48uQRXPfT1sgneOQ79cbOaxyIYLeLAgK1NG_lxhnd2oGlnAH3dQ1BUvu1qFK4vwH8I0V9ePGohO-DwMYH1KxigXfP5V3Xo0uhZpI2WLOZ4K6OVzv7QOIcR-fI3g-L0Qua3wSh9JizpDD47gKaYh4E_RwmLIXQgT_Dp1XJ4KlztXyD7_V-tpPaKPrWDdxVAwJuhlItJMMMDTk8o8b1Zp16YGOHaosBhcxWVorOemp3MPZKADYMAHhrDpCQ0Lzzch9X2rSKR6I0Hd3ZpC4j5xKKRzuUB5B1d9bsudD6_cTUd2fCCwNlch1k_PgiBVHRhtAFcEdYF0_zM9YDG7-llG6Wf7hLZSkMOA2YkVeTH9Xm8plzqq4WsL4DzrbFNy20aCMB86LfAp0h7Sj8r8nkUxrlmY-4JKm4HdFvHkTw9uMNvl6erJixYcOKhtb7bzSWPhq4dJosa4E5iyGNvvVMVwWj3HTczEfANGstUFQWExWltirpMGGU3.aZWaogPtapGlXEgcetDwkQ" \ No newline at end of file diff --git a/example_chatgpt_api.py b/example_chatgpt_api.py deleted file mode 100644 index 6f97410..0000000 --- a/example_chatgpt_api.py +++ /dev/null @@ -1,35 +0,0 @@ -from chatgpt_wrapper import ChatGPT -from llm_handle.parser import extract_cmd -import os - -bot = ChatGPT() -response = bot.ask("Can you give me a sample command in Mac terminal for checking the user names? Please give me the code directly.") -sample_response = """ -Certainly! To list all user names on a Mac using the terminal, you can use the `dscl` command with the `list` option for the `/Users` node. Here's the command: -``` -dscl . list /Users | grep -v '^_' -``` - -This will output a list of all user accounts on the system, excluding any system accounts that start with an underscore. -""" -# print("The response is:", response) -command = extract_cmd(str(response)) -print("The command is:", command) - -# execute the command in the mac terminal. -# Alert!! The execution should be really careful, because it can be dangerous. -# It is recommended to use this in a sandbox environment. -output = os.popen(command).read() -print("The output is:\n", output) -# Ideally, the output should be: -""" -daemon -uname -nobody -root""" - -# delete the session in the end -bot.delete_conversation() - - - diff --git a/task_handle/__init__.py b/task_handle/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/task_handle/cmd_execution.py b/task_handle/cmd_execution.py new file mode 100644 index 0000000..38a06cc --- /dev/null +++ b/task_handle/cmd_execution.py @@ -0,0 +1,27 @@ + +import os + +def execute_cmd(cmd:str) -> str: + """ + Execute the command in the mac terminal. + + Parameters + ---------- + cmd: str + The command to be executed. + + Returns + ---------- + output: str + The output of the command. + """ + # execute the command in the mac terminal. + # Alert!! The execution should be really careful, because it can be dangerous. + # It is recommended to use this in a sandbox environment. + try: + output = os.popen(cmd).read() + except Exception as e: + print("Error when executing command %s in terminal:" % cmd ) + print("Error is:", e) + return False + return output \ No newline at end of file diff --git a/tasks/NLP_RESTAPI_Repairment.py b/tasks/NLP_RESTAPI_Repairment.py new file mode 100644 index 0000000..6b81d9e --- /dev/null +++ b/tasks/NLP_RESTAPI_Repairment.py @@ -0,0 +1,10 @@ +# This handle helps to translate RESTful API documentation in natural language to OpenAPI Specification 3.0 + + + +##### Functions ##### +# Get the natural language description of the RESTful API. + + + + diff --git a/tasks/ROS_bug_classification b/tasks/ROS_bug_classification new file mode 100644 index 0000000..e69de29 diff --git a/tasks/__init__.py b/tasks/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tasks/example_chatgpt_api.py b/tasks/example_chatgpt_api.py new file mode 100644 index 0000000..6cb82a0 --- /dev/null +++ b/tasks/example_chatgpt_api.py @@ -0,0 +1,35 @@ +from chatgpt_wrapper import ChatGPT +from llm_handle.parser import extract_cmd +from task_handle.cmd_execution import execute_cmd +import os + +def __main__(): + bot = ChatGPT() + response = bot.ask("Can you give me a sample command in Mac terminal for checking the user names? Please give me the code directly.") + sample_response = """ + Certainly! To list all user names on a Mac using the terminal, you can use the `dscl` command with the `list` option for the `/Users` node. Here's the command: + ``` + dscl . list /Users | grep -v '^_' + ``` + + This will output a list of all user accounts on the system, excluding any system accounts that start with an underscore. + """ + # print("The response is:", response) + command = extract_cmd(str(response)) + print("The command is:", command) + + # execute the command in the terminal + output = execute_cmd(command) + print("The output is:\n", output) + # Ideally, the output should be: + """ + daemon + uname + nobody + root""" + + # delete the session in the end + bot.delete_conversation() + + +