diff --git a/README.md b/README.md index e7deec8..be94ca0 100644 --- a/README.md +++ b/README.md @@ -107,7 +107,7 @@ address: ":2222" description: "SSH interactive ChatGPT" commands: - regex: "^(.+)$" - plugin: "OpenAIChatGPT" + plugin: "OpenAIGPTLinuxTerminal" serverVersion: "OpenSSH" serverName: "ubuntu" passwordRegex: "^(root|qwerty|Smoker666|123456|jenkins|minecraft|sinus|alex|postgres|Ly123456)$" diff --git a/configurations/services/ssh-2222.yaml b/configurations/services/ssh-2222.yaml index 0467708..28bb235 100644 --- a/configurations/services/ssh-2222.yaml +++ b/configurations/services/ssh-2222.yaml @@ -4,7 +4,7 @@ address: ":2222" description: "SSH interactive ChatGPT" commands: - regex: "^(.+)$" - plugin: "OpenAIChatGPT" + plugin: "OpenAIGPTLinuxTerminal" serverVersion: "OpenSSH" serverName: "ubuntu" passwordRegex: "^(root|qwerty|Smoker666|123456|jenkins|minecraft|sinus|alex|postgres|Ly123456)$" diff --git a/plugin/OpenAiGPT.go b/plugin/OpenAiGPT.go index 012b030..fa8edeb 100644 --- a/plugin/OpenAiGPT.go +++ b/plugin/OpenAiGPT.go @@ -8,7 +8,7 @@ import ( "strings" ) -const ChatGPTPluginName = "OpenAIChatGPT" +const ChatGPTPluginName = "OpenAIGPTLinuxTerminal" const openAIGPTEndpoint = "https://api.openai.com/v1/completions" type History struct { @@ -59,12 +59,12 @@ type gptRequest struct { } //Reference: https://www.engraved.blog/building-a-virtual-machine-inside/ -const chatGPTFirstQuestion = "I want you to act as a Linux terminal. I will type commands and you will reply with what the terminal should show. I want you to only reply with the terminal output inside one unique code block, and nothing else. Do no write explanations. Do not type commands unless I instruct you to do so.\n\nA:pwd\n\nQ:/home/user\n\n" +const promptVirtualizeLinuxTerminal = "I want you to act as a Linux terminal. I will type commands and you will reply with what the terminal should show. I want you to only reply with the terminal output inside one unique code block, and nothing else. Do no write explanations. Do not type commands unless I instruct you to do so.\n\nA:pwd\n\nQ:/home/user\n\n" func buildPrompt(histories []History, command string) string { var sb strings.Builder - sb.WriteString(chatGPTFirstQuestion) + sb.WriteString(promptVirtualizeLinuxTerminal) for _, history := range histories { sb.WriteString(fmt.Sprintf("A:%s\n\nQ:%s\n\n", history.Input, history.Output))