jarvis-ai-assistant 0.1.91__tar.gz → 0.1.93__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.91/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.1.93}/PKG-INFO +3 -1
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/pyproject.toml +5 -2
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/setup.py +5 -2
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/__init__.py +1 -1
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/agent.py +6 -4
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/jarvis_codebase/main.py +274 -188
- jarvis_ai_assistant-0.1.93/src/jarvis/jarvis_coder/git_utils.py +64 -0
- jarvis_ai_assistant-0.1.93/src/jarvis/jarvis_coder/main.py +630 -0
- jarvis_ai_assistant-0.1.93/src/jarvis/jarvis_coder/patch_handler.py +493 -0
- jarvis_ai_assistant-0.1.93/src/jarvis/jarvis_coder/plan_generator.py +75 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/jarvis_platform/main.py +13 -2
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/jarvis_rag/main.py +185 -49
- jarvis_ai_assistant-0.1.93/src/jarvis/jarvis_smart_shell/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/jarvis_smart_shell/main.py +16 -9
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/main.py +9 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/models/ai8.py +4 -3
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/models/ollama.py +3 -3
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/models/openai.py +2 -2
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/models/oyi.py +13 -13
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/ask_user.py +1 -2
- jarvis_ai_assistant-0.1.93/src/jarvis/tools/coder.py +69 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/thinker.py +25 -79
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/utils.py +30 -2
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93/src/jarvis_ai_assistant.egg-info}/PKG-INFO +3 -1
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +6 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis_ai_assistant.egg-info/entry_points.txt +1 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis_ai_assistant.egg-info/requires.txt +2 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/LICENSE +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/MANIFEST.in +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/README.md +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/setup.cfg +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/jarvis_codebase/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.91/src/jarvis/jarvis_platform → jarvis_ai_assistant-0.1.93/src/jarvis/jarvis_coder}/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.91/src/jarvis/jarvis_rag → jarvis_ai_assistant-0.1.93/src/jarvis/jarvis_platform}/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.91/src/jarvis/jarvis_smart_shell → jarvis_ai_assistant-0.1.93/src/jarvis/jarvis_rag}/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/models/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/models/base.py +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/models/kimi.py +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/models/registry.py +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/base.py +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/chdir.py +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/codebase_qa.py +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/file_ops.py +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/generator.py +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/methodology.py +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/rag.py +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/registry.py +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/search.py +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/shell.py +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/sub_agent.py +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/webpage.py +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
- {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis_ai_assistant.egg-info/top_level.txt +0 -0
{jarvis_ai_assistant-0.1.91/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.1.93}/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.93
|
|
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
|
|
@@ -53,6 +53,8 @@ Requires-Dist: PyMuPDF>=1.21.0
|
|
|
53
53
|
Requires-Dist: python-docx>=0.8.11
|
|
54
54
|
Requires-Dist: tiktoken>=0.3.0
|
|
55
55
|
Requires-Dist: tqdm>=4.65.0
|
|
56
|
+
Requires-Dist: docx>=0.2.4
|
|
57
|
+
Requires-Dist: yaspin>=2.5.0
|
|
56
58
|
Provides-Extra: dev
|
|
57
59
|
Requires-Dist: pytest; extra == "dev"
|
|
58
60
|
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.93"
|
|
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" }]
|
|
@@ -35,6 +35,8 @@ dependencies = [
|
|
|
35
35
|
"python-docx>=0.8.11",
|
|
36
36
|
"tiktoken>=0.3.0",
|
|
37
37
|
"tqdm>=4.65.0",
|
|
38
|
+
"docx>=0.2.4",
|
|
39
|
+
"yaspin>=2.5.0",
|
|
38
40
|
]
|
|
39
41
|
requires-python = ">=3.8"
|
|
40
42
|
|
|
@@ -46,8 +48,9 @@ Homepage = "https://github.com/skyfireitdiy/Jarvis"
|
|
|
46
48
|
|
|
47
49
|
[project.scripts]
|
|
48
50
|
jarvis = "jarvis.main:main"
|
|
51
|
+
jarvis-coder = "jarvis.jarvis_coder.main:main"
|
|
49
52
|
jarvis-codebase = "jarvis.jarvis_codebase.main:main"
|
|
50
53
|
jarvis-rag = "jarvis.jarvis_rag.main:main"
|
|
51
54
|
jarvis-smart-shell = "jarvis.jarvis_smart_shell.main:main"
|
|
52
55
|
jss = "jarvis.jarvis_smart_shell.main:main"
|
|
53
|
-
jarvis-platform = "jarvis.jarvis_platform.main:main"
|
|
56
|
+
jarvis-platform = "jarvis.jarvis_platform.main:main"
|
|
@@ -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.93",
|
|
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",
|
|
@@ -27,10 +27,13 @@ setup(
|
|
|
27
27
|
"python-docx>=0.8.11",
|
|
28
28
|
"tiktoken>=0.3.0",
|
|
29
29
|
"tqdm>=4.65.0",
|
|
30
|
+
"docx>=0.2.4",
|
|
31
|
+
"yaspin>=2.5.0",
|
|
30
32
|
],
|
|
31
33
|
entry_points={
|
|
32
34
|
"console_scripts": [
|
|
33
35
|
"jarvis=jarvis.main:main",
|
|
36
|
+
"jarvis-coder=jarvis.jarvis_coder.main:main",
|
|
34
37
|
"jarvis-codebase=jarvis.jarvis_codebase.main:main",
|
|
35
38
|
"jarvis-rag=jarvis.jarvis_rag.main:main",
|
|
36
39
|
"jarvis-smart-shell=jarvis.jarvis_smart_shell.main:main",
|
|
@@ -50,4 +53,4 @@ setup(
|
|
|
50
53
|
"Programming Language :: Python :: 3.10",
|
|
51
54
|
"Programming Language :: Python :: 3.11",
|
|
52
55
|
],
|
|
53
|
-
)
|
|
56
|
+
)
|
|
@@ -140,7 +140,7 @@ class Agent:
|
|
|
140
140
|
|
|
141
141
|
def _load_methodology(self, user_input: str) -> Dict[str, str]:
|
|
142
142
|
"""加载方法论并构建向量索引"""
|
|
143
|
-
PrettyOutput.print("加载方法论...", OutputType.
|
|
143
|
+
PrettyOutput.print("加载方法论...", OutputType.PROGRESS)
|
|
144
144
|
user_jarvis_methodology = os.path.expanduser("~/.jarvis_methodology")
|
|
145
145
|
if not os.path.exists(user_jarvis_methodology):
|
|
146
146
|
return {}
|
|
@@ -165,13 +165,13 @@ class Agent:
|
|
|
165
165
|
|
|
166
166
|
if vectors:
|
|
167
167
|
vectors_array = np.vstack(vectors)
|
|
168
|
-
self.methodology_index.add_with_ids(vectors_array, np.array(ids))
|
|
168
|
+
self.methodology_index.add_with_ids(vectors_array, np.array(ids)) # type: ignore
|
|
169
169
|
query_embedding = self._create_methodology_embedding(user_input)
|
|
170
170
|
k = min(5, len(self.methodology_data))
|
|
171
171
|
PrettyOutput.print(f"检索方法论...", OutputType.INFO)
|
|
172
172
|
distances, indices = self.methodology_index.search(
|
|
173
173
|
query_embedding.reshape(1, -1), k
|
|
174
|
-
)
|
|
174
|
+
) # type: ignore
|
|
175
175
|
|
|
176
176
|
relevant_methodologies = {}
|
|
177
177
|
for dist, idx in zip(distances[0], indices[0]):
|
|
@@ -208,7 +208,7 @@ class Agent:
|
|
|
208
208
|
"""
|
|
209
209
|
# 创建一个新的模型实例来做总结,避免影响主对话
|
|
210
210
|
|
|
211
|
-
PrettyOutput.print("总结对话历史,准备生成总结,开始新的对话...", OutputType.
|
|
211
|
+
PrettyOutput.print("总结对话历史,准备生成总结,开始新的对话...", OutputType.PROGRESS)
|
|
212
212
|
|
|
213
213
|
prompt = """请总结之前对话中的关键信息,包括:
|
|
214
214
|
1. 当前任务目标
|
|
@@ -259,6 +259,8 @@ class Agent:
|
|
|
259
259
|
analysis_prompt = """本次任务已结束,请分析是否需要生成方法论。
|
|
260
260
|
如果认为需要生成方法论,请先判断是创建新的方法论还是更新已有方法论。如果是更新已有方法论,使用update,否则使用add。
|
|
261
261
|
如果认为不需要生成方法论,请说明原因。
|
|
262
|
+
方法论应该适应普遍场景,不要出现本次任务特定的信息,如代码的commit信息等。
|
|
263
|
+
方法论中应该包含:问题重述、最优解决方案、注意事项(按需),除此外不要出现任何其他的信息。
|
|
262
264
|
仅输出方法论工具的调用指令,或者是不需要生成方法论的说明,除此之外不要输出任何内容。
|
|
263
265
|
"""
|
|
264
266
|
self.prompt = analysis_prompt
|