jarvis-ai-assistant 0.1.8__tar.gz → 0.1.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of jarvis-ai-assistant might be problematic. Click here for more details.
- {jarvis_ai_assistant-0.1.8/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.1.9}/PKG-INFO +2 -1
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/pyproject.toml +2 -1
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/setup.py +2 -1
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/__init__.py +1 -1
- jarvis_ai_assistant-0.1.9/src/jarvis/__pycache__/__init__.cpython-313.pyc +0 -0
- jarvis_ai_assistant-0.1.9/src/jarvis/tools/__pycache__/bing_search.cpython-313.pyc +0 -0
- jarvis_ai_assistant-0.1.9/src/jarvis/tools/__pycache__/search.cpython-313.pyc +0 -0
- jarvis_ai_assistant-0.1.9/src/jarvis/tools/bing_search.py +38 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/tools/search.py +14 -26
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9/src/jarvis_ai_assistant.egg-info}/PKG-INFO +2 -1
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +1 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis_ai_assistant.egg-info/requires.txt +1 -0
- jarvis_ai_assistant-0.1.8/src/jarvis/__pycache__/__init__.cpython-313.pyc +0 -0
- jarvis_ai_assistant-0.1.8/src/jarvis/tools/__pycache__/bing_search.cpython-313.pyc +0 -0
- jarvis_ai_assistant-0.1.8/src/jarvis/tools/__pycache__/search.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/MANIFEST.in +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/README.md +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/setup.cfg +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/__pycache__/agent.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/__pycache__/main.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/__pycache__/models.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/__pycache__/tools.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/__pycache__/utils.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/__pycache__/zte_llm.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/agent.py +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/main.py +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/models.py +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/tools/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/tools/__pycache__/__init__.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/tools/__pycache__/base.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/tools/__pycache__/file_ops.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/tools/__pycache__/python_script.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/tools/__pycache__/rag.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/tools/__pycache__/shell.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/tools/__pycache__/sub_agent.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/tools/__pycache__/user_confirmation.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/tools/__pycache__/user_input.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/tools/__pycache__/user_interaction.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/tools/__pycache__/webpage.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/tools/base.py +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/tools/file_ops.py +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/tools/shell.py +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/tools/sub_agent.py +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/tools/webpage.py +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/utils.py +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/zte_llm.py +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis_ai_assistant.egg-info/entry_points.txt +0 -0
- {jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis_ai_assistant.egg-info/top_level.txt +0 -0
{jarvis_ai_assistant-0.1.8/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.1.9}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: jarvis-ai-assistant
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.9
|
|
4
4
|
Summary: Jarvis: An AI assistant that uses tools to interact with the system
|
|
5
5
|
Home-page: https://github.com/skyfireitdiy/Jarvis
|
|
6
6
|
Author: skyfire
|
|
@@ -23,6 +23,7 @@ Requires-Dist: pyyaml>=5.1
|
|
|
23
23
|
Requires-Dist: ollama>=0.1.6
|
|
24
24
|
Requires-Dist: colorama>=0.4.6
|
|
25
25
|
Requires-Dist: openai>=1.2.0
|
|
26
|
+
Requires-Dist: playwright>=1.41.1
|
|
26
27
|
Provides-Extra: dev
|
|
27
28
|
Requires-Dist: pytest; extra == "dev"
|
|
28
29
|
Requires-Dist: black; extra == "dev"
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "jarvis-ai-assistant"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.9"
|
|
8
8
|
description = "Jarvis: An AI assistant that uses tools to interact with the system"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [{ name = "Your Name", email = "your.email@example.com" }]
|
|
@@ -27,6 +27,7 @@ dependencies = [
|
|
|
27
27
|
"ollama>=0.1.6",
|
|
28
28
|
"colorama>=0.4.6",
|
|
29
29
|
"openai>=1.2.0",
|
|
30
|
+
"playwright>=1.41.1",
|
|
30
31
|
]
|
|
31
32
|
requires-python = ">=3.8"
|
|
32
33
|
|
|
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
|
|
|
2
2
|
|
|
3
3
|
setup(
|
|
4
4
|
name="jarvis-ai-assistant",
|
|
5
|
-
version="0.1.
|
|
5
|
+
version="0.1.9",
|
|
6
6
|
author="skyfire",
|
|
7
7
|
author_email="skyfireitdiy@hotmail.com",
|
|
8
8
|
description="An AI assistant that uses various tools to interact with the system",
|
|
@@ -20,6 +20,7 @@ setup(
|
|
|
20
20
|
"ollama>=0.1.6",
|
|
21
21
|
"colorama>=0.4.6",
|
|
22
22
|
"openai>=1.2.0",
|
|
23
|
+
"playwright>=1.41.1",
|
|
23
24
|
],
|
|
24
25
|
entry_points={
|
|
25
26
|
"console_scripts": [
|
|
Binary file
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
from playwright.sync_api import sync_playwright
|
|
2
|
+
from urllib.parse import quote
|
|
3
|
+
|
|
4
|
+
def bing_search(query):
|
|
5
|
+
try:
|
|
6
|
+
with sync_playwright() as p:
|
|
7
|
+
browser = p.chromium.launch()
|
|
8
|
+
page = browser.new_page()
|
|
9
|
+
page.goto(
|
|
10
|
+
f"https://www.bing.com/search?form=QBRE&q={quote(query)}&cc=US"
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
page.wait_for_selector("#b_results", timeout=10000)
|
|
14
|
+
|
|
15
|
+
summaries = page.evaluate("""() => {
|
|
16
|
+
const liElements = Array.from(
|
|
17
|
+
document.querySelectorAll("#b_results > .b_algo")
|
|
18
|
+
);
|
|
19
|
+
return liElements.map((li) => {
|
|
20
|
+
const abstractElement = li.querySelector(".b_caption > p");
|
|
21
|
+
const linkElement = li.querySelector("a");
|
|
22
|
+
const href = linkElement.getAttribute("href");
|
|
23
|
+
const title = linkElement.textContent;
|
|
24
|
+
const abstract = abstractElement ? abstractElement.textContent : "";
|
|
25
|
+
return { href, title, abstract };
|
|
26
|
+
});
|
|
27
|
+
}""")
|
|
28
|
+
|
|
29
|
+
browser.close()
|
|
30
|
+
print(summaries)
|
|
31
|
+
return summaries
|
|
32
|
+
except Exception as error:
|
|
33
|
+
print("An error occurred:", error)
|
|
34
|
+
|
|
35
|
+
if __name__ == "__main__":
|
|
36
|
+
# results = bing_search("北京到西雅图的距离")
|
|
37
|
+
results = bing_search("北京到西雅图的距离")
|
|
38
|
+
print(results)
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import os
|
|
2
|
-
import requests
|
|
3
2
|
from typing import Dict, Any, List
|
|
4
3
|
from ..utils import PrettyOutput, OutputType
|
|
5
4
|
from .webpage import WebpageTool
|
|
5
|
+
from .bing_search import bing_search
|
|
6
6
|
|
|
7
7
|
class SearchTool:
|
|
8
8
|
name = "search"
|
|
9
|
-
description = "
|
|
9
|
+
description = "使用Bing搜索引擎搜索信息,并根据问题提取关键信息"
|
|
10
10
|
parameters = {
|
|
11
11
|
"type": "object",
|
|
12
12
|
"properties": {
|
|
@@ -31,35 +31,23 @@ class SearchTool:
|
|
|
31
31
|
"""初始化搜索工具,需要传入语言模型用于信息提取"""
|
|
32
32
|
self.model = model
|
|
33
33
|
self.webpage_tool = WebpageTool()
|
|
34
|
-
self.api_key = os.getenv("SEARCH_API_KEY")
|
|
35
|
-
self.engine = os.getenv("SEARCH_ENGINE", "bing")
|
|
36
|
-
if not self.api_key:
|
|
37
|
-
raise ValueError("未设置SEARCH_API_KEY环境变量")
|
|
38
34
|
|
|
39
35
|
def _search(self, query: str, max_results: int) -> List[Dict]:
|
|
40
36
|
"""执行搜索请求"""
|
|
41
|
-
url = "https://serpapi.webscrapingapi.com/v2"
|
|
42
|
-
params = {
|
|
43
|
-
"engine": self.engine,
|
|
44
|
-
"api_key": self.api_key,
|
|
45
|
-
"q": query
|
|
46
|
-
}
|
|
47
|
-
|
|
48
37
|
try:
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
38
|
+
results = bing_search(query)
|
|
39
|
+
if not results:
|
|
40
|
+
return []
|
|
52
41
|
|
|
53
|
-
#
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
return results
|
|
42
|
+
# 格式化搜索结果
|
|
43
|
+
formatted_results = []
|
|
44
|
+
for result in results[:max_results]:
|
|
45
|
+
formatted_results.append({
|
|
46
|
+
"title": result.get("title", ""),
|
|
47
|
+
"href": result.get("href", ""),
|
|
48
|
+
"body": result.get("abstract", "")
|
|
49
|
+
})
|
|
50
|
+
return formatted_results
|
|
63
51
|
except Exception as e:
|
|
64
52
|
PrettyOutput.print(f"搜索请求失败: {str(e)}", OutputType.ERROR)
|
|
65
53
|
return []
|
{jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9/src/jarvis_ai_assistant.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: jarvis-ai-assistant
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.9
|
|
4
4
|
Summary: Jarvis: An AI assistant that uses tools to interact with the system
|
|
5
5
|
Home-page: https://github.com/skyfireitdiy/Jarvis
|
|
6
6
|
Author: skyfire
|
|
@@ -23,6 +23,7 @@ Requires-Dist: pyyaml>=5.1
|
|
|
23
23
|
Requires-Dist: ollama>=0.1.6
|
|
24
24
|
Requires-Dist: colorama>=0.4.6
|
|
25
25
|
Requires-Dist: openai>=1.2.0
|
|
26
|
+
Requires-Dist: playwright>=1.41.1
|
|
26
27
|
Provides-Extra: dev
|
|
27
28
|
Requires-Dist: pytest; extra == "dev"
|
|
28
29
|
Requires-Dist: black; extra == "dev"
|
{jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis_ai_assistant.egg-info/SOURCES.txt
RENAMED
|
@@ -17,6 +17,7 @@ src/jarvis/__pycache__/utils.cpython-313.pyc
|
|
|
17
17
|
src/jarvis/__pycache__/zte_llm.cpython-313.pyc
|
|
18
18
|
src/jarvis/tools/__init__.py
|
|
19
19
|
src/jarvis/tools/base.py
|
|
20
|
+
src/jarvis/tools/bing_search.py
|
|
20
21
|
src/jarvis/tools/file_ops.py
|
|
21
22
|
src/jarvis/tools/search.py
|
|
22
23
|
src/jarvis/tools/shell.py
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/__pycache__/agent.cpython-313.pyc
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/__pycache__/main.cpython-313.pyc
RENAMED
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/__pycache__/tools.cpython-313.pyc
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.8 → jarvis_ai_assistant-0.1.9}/src/jarvis/__pycache__/utils.cpython-313.pyc
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|