jarvis-ai-assistant 0.1.63__tar.gz → 0.1.64__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 (36) hide show
  1. {jarvis_ai_assistant-0.1.63/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.1.64}/PKG-INFO +1 -1
  2. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/pyproject.toml +1 -1
  3. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/setup.py +1 -1
  4. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/__init__.py +1 -1
  5. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/agent.py +28 -22
  6. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64/src/jarvis_ai_assistant.egg-info}/PKG-INFO +1 -1
  7. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/LICENSE +0 -0
  8. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/MANIFEST.in +0 -0
  9. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/README.md +0 -0
  10. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/setup.cfg +0 -0
  11. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/jarvis_coder/main.py +0 -0
  12. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/main.py +0 -0
  13. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/models/__init__.py +0 -0
  14. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/models/ai8.py +0 -0
  15. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/models/base.py +0 -0
  16. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/models/kimi.py +0 -0
  17. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/models/openai.py +0 -0
  18. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/models/oyi.py +0 -0
  19. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/models/registry.py +0 -0
  20. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/tools/__init__.py +0 -0
  21. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/tools/base.py +0 -0
  22. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/tools/coder.py +0 -0
  23. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/tools/file_ops.py +0 -0
  24. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/tools/generator.py +0 -0
  25. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/tools/methodology.py +0 -0
  26. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/tools/registry.py +0 -0
  27. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/tools/search.py +0 -0
  28. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/tools/shell.py +0 -0
  29. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/tools/sub_agent.py +0 -0
  30. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/tools/webpage.py +0 -0
  31. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis/utils.py +0 -0
  32. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +0 -0
  33. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
  34. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis_ai_assistant.egg-info/entry_points.txt +0 -0
  35. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/src/jarvis_ai_assistant.egg-info/requires.txt +0 -0
  36. {jarvis_ai_assistant-0.1.63 → jarvis_ai_assistant-0.1.64}/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.63
3
+ Version: 0.1.64
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "jarvis-ai-assistant"
7
- version = "0.1.63"
7
+ version = "0.1.64"
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" }]
@@ -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.63",
5
+ version="0.1.64",
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",
@@ -1,3 +1,3 @@
1
1
  """Jarvis AI Assistant"""
2
2
 
3
- __version__ = "0.1.63"
3
+ __version__ = "0.1.64"
@@ -142,20 +142,6 @@ class Agent:
142
142
  except Exception as e:
143
143
  PrettyOutput.print(f"总结对话历史失败: {str(e)}", OutputType.ERROR)
144
144
 
145
-
146
- def _choose_methodology(self, methodology: Dict[str, str], task: str) -> str:
147
- """选择方法论"""
148
- prompt = f"""请根据任务内容选择合适的方法论,并返回方法论内容,格式如下:
149
- 任务内容:
150
- {task}
151
-
152
- 方法论:
153
- """
154
- for k, v in methodology.items():
155
- prompt += f"问题类型:{k}\n"
156
- prompt += f"方法论:{v}\n"
157
- return self._call_model(prompt)
158
-
159
145
  def _complete_task(self) -> str:
160
146
  """完成任务并生成总结
161
147
 
@@ -164,6 +150,34 @@ class Agent:
164
150
  """
165
151
  PrettyOutput.section("任务完成", OutputType.SUCCESS)
166
152
 
153
+ # 询问是否生成方法论,带输入验证
154
+ while True:
155
+ user_input = input("是否要为此任务生成方法论?(y/n): ").strip().lower()
156
+ if user_input in ['y', 'n', '']:
157
+ break
158
+ PrettyOutput.print("无效输入,请输入 y 或 n", OutputType.WARNING)
159
+
160
+ if user_input == 'y':
161
+ try:
162
+ # 让模型判断是否需要生成方法论
163
+ analysis_prompt = """本次任务已结束,请分析是否需要生成方法论。
164
+ 如果认为需要生成方法论,请先判断是创建新的方法论还是更新已有方法论。如果是更新已有方法论,使用update,否则使用add。
165
+ 如果认为不需要生成方法论,请说明原因。
166
+ 仅输出方法论工具的调用指令,或者是不需要生成方法论的说明,除此之外不要输出任何内容。
167
+ """
168
+ self.prompt = analysis_prompt
169
+ response = self._call_model(self.prompt)
170
+
171
+ # 检查是否包含工具调用
172
+ try:
173
+ result = Agent.extract_tool_calls(response)
174
+ PrettyOutput.print(result, OutputType.RESULT)
175
+ except Exception as e:
176
+ PrettyOutput.print(f"处理方法论生成失败: {str(e)}", OutputType.ERROR)
177
+
178
+ except Exception as e:
179
+ PrettyOutput.print(f"生成方法论时发生错误: {str(e)}", OutputType.ERROR)
180
+
167
181
  if not self.is_sub_agent:
168
182
  return "Task completed"
169
183
 
@@ -198,9 +212,6 @@ class Agent:
198
212
 
199
213
  # 加载方法论
200
214
  methodology = self._load_methodology()
201
-
202
- methodology =self._choose_methodology(methodology, user_input)
203
-
204
215
  methodology_prompt = ""
205
216
  if methodology:
206
217
  methodology_prompt = f"""这是以往处理问题的标准方法论,如果当前任务与此类似,可参考:
@@ -271,7 +282,6 @@ arguments:
271
282
 
272
283
  特殊指令:
273
284
  1. !<<SUMMARIZE>>! - 当你发现对话历史过长可能导致token超限时,可以使用此指令总结当前对话要点并清空历史。使用方法:直接回复"!<<SUMMARIZE>>!"即可。
274
- 2. !<<FINISHED>>! - 当你确认任务已经完成时,使用此指令结束任务。使用方法:在回复中包含"!<<FINISHED>>!"即可。
275
285
 
276
286
  -------------------------------------------------------------
277
287
 
@@ -316,10 +326,6 @@ arguments:
316
326
  self.prompt = tool_result
317
327
  continue
318
328
 
319
- # 检查是否完成任务
320
- if "!<<FINISHED>>!" in current_response:
321
- return self._complete_task()
322
-
323
329
  # 获取用户输入
324
330
  user_input = get_multiline_input(f"{self.name}: 您可以继续输入,或输入空行结束当前任务")
325
331
  if user_input == "__interrupt__":
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: jarvis-ai-assistant
3
- Version: 0.1.63
3
+ Version: 0.1.64
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