返回提交历史
Modified
g4f/Provider/MyShell.py
+6
-10
XFEstudio/gpt4free
Update MyShell.py
5c523567
代码差异
1 个文件
+6
-10
@@ -2,15 +2,9 @@ from __future__ import annotations
2
2
3
3
import time, json
4
4
5
try:
6
from selenium.webdriver.remote.webdriver import WebDriver
7
except ImportError:
8
class WebDriver():
9
pass
10
11
5
from ..typing import CreateResult, Messages
12
6
from .base_provider import BaseProvider
13
from .helper import format_prompt, get_browser
7
from .helper import WebDriver, format_prompt, get_browser
14
8
15
9
class MyShell(BaseProvider):
16
10
url = "https://app.myshell.ai/chat"
@@ -27,11 +21,11 @@ class MyShell(BaseProvider):
27
21
proxy: str = None,
28
22
timeout: int = 120,
29
23
browser: WebDriver = None,
30
display: bool = True,
24
hidden_display: bool = True,
31
25
**kwargs
32
26
) -> CreateResult:
33
27
if not browser:
34
if display:
28
if hidden_display:
35
29
driver, display = get_browser("", True, proxy)
36
30
else:
37
31
display = get_browser("", False, proxy)
@@ -44,9 +38,11 @@ class MyShell(BaseProvider):
44
38
45
39
driver.get(cls.url)
46
40
try:
41
# Wait for page load
47
42
WebDriverWait(driver, timeout).until(
48
43
EC.presence_of_element_located((By.CSS_SELECTOR, "body:not(.no-js)"))
49
44
)
45
# Send message
50
46
script = """
51
47
response = await fetch("https://api.myshell.ai/v1/bot/chat/send_message", {
52
48
"headers": {
@@ -90,5 +86,5 @@ return content;
90
86
if not browser:
91
87
time.sleep(0.1)
92
88
driver.quit()
93
if display:
89
if hidden_display:
94
90
display.stop()