AiShell – Natürliches Shell-Toolkit auf Basis von ChatGPT
(github.com/code-yeongyu)- Stelle ChatGPT eine Anfrage und führe sie ohne Kopieren und Einfügen direkt als Befehl aus
- Für vage Befehle, an die du dich nicht genau erinnerst, musst du nicht auf Stack Overflow suchen – mit
aishell <question>kannst du sie direkt ausführen - Besonders nützlich für komplexe
git-Befehle oder lästige Aufgaben wie das Entpacken vontar-Dateien
12 Kommentare
Mit der heutigen aktualisierten Version ist es im Gegensatz zu anderen ChatGPT-Clients nicht mehr nötig, den Sitzungswert aus Cookies zu holen oder einen OpenAI-Token zu beschaffen und einzugeben!
Nutzer können jetzt ohne irgendeinen zusätzlichen Einrichtungsschritt einfach mit
aishell <question>den Befehl ausführen.Wenn ihr neugierig seid, welche Magie dahintersteckt, kommt euch den Code gern ansehen :)
root@8e20098b9127:~# aishell --help
Traceback (most recent call last):
File "/usr/local/bin/aishell", line 5, in <module>
from aishell import main
File "/usr/local/lib/python3.8/dist-packages/aishell/init.py", line 1, in <module>
from .cli import cli_app
File "/usr/local/lib/python3.8/dist-packages/aishell/cli.py", line 8, in <module>
from aishell.adapters.openai_chatgpt_adapter import OpenAIChatGPTAdapter
File "/usr/local/lib/python3.8/dist-packages/aishell/adapters/init.py", line 1, in <module>
from .openai_chatgpt_adapter import OpenAIChatGPTAdapter as OpenAIChatGPTAdapter
File "/usr/local/lib/python3.8/dist-packages/aishell/adapters/openai_chatgpt_adapter.py", line 8, in <module>
class OpenAIChatGPTAdapter:
File "/usr/local/lib/python3.8/dist-packages/aishell/adapters/openai_chatgpt_adapter.py", line 15, in OpenAIChatGPTAdapter
def get_openai_cookies(self) -> dict[str, Optional[str]]:
Nach der Installation habe ich
helpausgeführt und dabei den folgenden Fehler erhalten T_TWahrscheinlich ist die Umgebung falsch konfiguriert, oder....?
Die Umgebung war ein Ubuntu-Docker-Image auf einem MAC-M1-Host.
Es scheint, als sei es nicht die neueste Version, und vermutlich liegt es auch daran, dass Python 3.8 nicht unterstützt wird! Könntest du es vielleicht noch einmal versuchen, nachdem du Version 3.9 neu installiert hast?
Ich denke, man sollte eine Art y/n-Bestätigungsschritt einbauen. Die Wahrscheinlichkeit ist zwar gering, aber es scheint möglich, dass ChatGPT einen falschen Befehl ausgibt und dadurch unbeabsichtigte Aktionen ausgelöst werden.
Dank Ihres wertvollen Feedbacks wurde die entsprechende Funktion in der heute veröffentlichten Version hinzugefügt! Wenn Sie weitere gute Vorschläge haben, lassen Sie es uns jederzeit wissen!!
Das Modell
text-chat-davinci-002-20221122, das in revChatGPT==1.2.1 standardmäßig verwendet wurde, kann derzeit nicht mehr genutzt werden; man muss daher auf das kostenpflichtige Modelltext-davinci-003umstellen.https://pypi.org/project/revChatGPT/
Ich habe einen Patch hinzugefügt, damit es auch auf Basis von GPT-3 verwendet werden kann! Vielen Dank für das Feedback :)
Stimmt! Danke für das Feedback. Ich habe bereits ein Issue unter https://github.com/code-yeongyu/AiShell/issues/1 angelegt und werde es bald beheben.
Sie scheinen gerade den Code zu erforschen (?)
Je nachdem, wie man es einsetzt, könnte es nützlich sein, und der Code ist auch schön einfach.
Ich fände es gut, wenn es ein Sicherheitsverfahren gäbe, das vor der Ausführung nachfragt, wenn im Befehl
rmvorkommt oder der Befehl komplex ist (vielleicht könnte man auch gleich eine Erklärung des Befehls anzeigen). Außerdem möchte ich den Bug melden, dass derzeit schon vor der Ausführung ausgegeben wird, er sei bereits ausgeführt worden. Vielleicht wäre es besser, stattdessen „Wird ausgeführt ...“ oder „going to executecommand arg …“ auszugeben.Danke für die gute Idee! Ich habe dafür auch dieses Issue registriert: https://github.com/code-yeongyu/AiShell/issues/2 :) Ich werde es bald beheben!!
https://githubnext.com/projects/copilot-cli/
Das Copilot CLI von GitHub konzentriert sich nur auf die Vervollständigung von Befehlen, aber damit scheint noch vieles mehr möglich zu sein!
Erinnert mich an Warp, das macOS-Terminal.