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.

Files changed (54) hide show
  1. {jarvis_ai_assistant-0.1.91/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.1.93}/PKG-INFO +3 -1
  2. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/pyproject.toml +5 -2
  3. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/setup.py +5 -2
  4. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/__init__.py +1 -1
  5. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/agent.py +6 -4
  6. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/jarvis_codebase/main.py +274 -188
  7. jarvis_ai_assistant-0.1.93/src/jarvis/jarvis_coder/git_utils.py +64 -0
  8. jarvis_ai_assistant-0.1.93/src/jarvis/jarvis_coder/main.py +630 -0
  9. jarvis_ai_assistant-0.1.93/src/jarvis/jarvis_coder/patch_handler.py +493 -0
  10. jarvis_ai_assistant-0.1.93/src/jarvis/jarvis_coder/plan_generator.py +75 -0
  11. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/jarvis_platform/main.py +13 -2
  12. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/jarvis_rag/main.py +185 -49
  13. jarvis_ai_assistant-0.1.93/src/jarvis/jarvis_smart_shell/__init__.py +0 -0
  14. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/jarvis_smart_shell/main.py +16 -9
  15. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/main.py +9 -0
  16. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/models/ai8.py +4 -3
  17. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/models/ollama.py +3 -3
  18. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/models/openai.py +2 -2
  19. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/models/oyi.py +13 -13
  20. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/ask_user.py +1 -2
  21. jarvis_ai_assistant-0.1.93/src/jarvis/tools/coder.py +69 -0
  22. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/thinker.py +25 -79
  23. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/utils.py +30 -2
  24. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93/src/jarvis_ai_assistant.egg-info}/PKG-INFO +3 -1
  25. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +6 -0
  26. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis_ai_assistant.egg-info/entry_points.txt +1 -0
  27. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis_ai_assistant.egg-info/requires.txt +2 -0
  28. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/LICENSE +0 -0
  29. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/MANIFEST.in +0 -0
  30. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/README.md +0 -0
  31. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/setup.cfg +0 -0
  32. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/jarvis_codebase/__init__.py +0 -0
  33. {jarvis_ai_assistant-0.1.91/src/jarvis/jarvis_platform → jarvis_ai_assistant-0.1.93/src/jarvis/jarvis_coder}/__init__.py +0 -0
  34. {jarvis_ai_assistant-0.1.91/src/jarvis/jarvis_rag → jarvis_ai_assistant-0.1.93/src/jarvis/jarvis_platform}/__init__.py +0 -0
  35. {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
  36. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/models/__init__.py +0 -0
  37. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/models/base.py +0 -0
  38. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/models/kimi.py +0 -0
  39. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/models/registry.py +0 -0
  40. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/__init__.py +0 -0
  41. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/base.py +0 -0
  42. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/chdir.py +0 -0
  43. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/codebase_qa.py +0 -0
  44. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/file_ops.py +0 -0
  45. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/generator.py +0 -0
  46. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/methodology.py +0 -0
  47. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/rag.py +0 -0
  48. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/registry.py +0 -0
  49. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/search.py +0 -0
  50. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/shell.py +0 -0
  51. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/sub_agent.py +0 -0
  52. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis/tools/webpage.py +0 -0
  53. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
  54. {jarvis_ai_assistant-0.1.91 → jarvis_ai_assistant-0.1.93}/src/jarvis_ai_assistant.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: jarvis-ai-assistant
3
- Version: 0.1.91
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.91"
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.91",
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
+ )
@@ -1,3 +1,3 @@
1
1
  """Jarvis AI Assistant"""
2
2
 
3
- __version__ = "0.1.91"
3
+ __version__ = "0.1.93"
@@ -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.PLANNING)
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.PLANNING)
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