jarvis-ai-assistant 0.1.60__tar.gz → 0.1.61__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.60/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.1.61}/PKG-INFO +1 -1
  2. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/pyproject.toml +1 -1
  3. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/setup.py +1 -1
  4. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/__init__.py +1 -1
  5. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/agent.py +39 -15
  6. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61/src/jarvis_ai_assistant.egg-info}/PKG-INFO +1 -1
  7. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/LICENSE +0 -0
  8. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/MANIFEST.in +0 -0
  9. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/README.md +0 -0
  10. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/setup.cfg +0 -0
  11. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/jarvis_coder/main.py +0 -0
  12. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/main.py +0 -0
  13. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/models/__init__.py +0 -0
  14. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/models/ai8.py +0 -0
  15. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/models/base.py +0 -0
  16. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/models/kimi.py +0 -0
  17. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/models/openai.py +0 -0
  18. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/models/oyi.py +0 -0
  19. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/models/registry.py +0 -0
  20. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/tools/__init__.py +0 -0
  21. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/tools/base.py +0 -0
  22. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/tools/coder.py +0 -0
  23. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/tools/file_ops.py +0 -0
  24. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/tools/generator.py +0 -0
  25. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/tools/methodology.py +0 -0
  26. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/tools/registry.py +0 -0
  27. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/tools/search.py +0 -0
  28. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/tools/shell.py +0 -0
  29. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/tools/sub_agent.py +0 -0
  30. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/tools/webpage.py +0 -0
  31. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis/utils.py +0 -0
  32. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +0 -0
  33. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
  34. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis_ai_assistant.egg-info/entry_points.txt +0 -0
  35. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/src/jarvis_ai_assistant.egg-info/requires.txt +0 -0
  36. {jarvis_ai_assistant-0.1.60 → jarvis_ai_assistant-0.1.61}/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.60
3
+ Version: 0.1.61
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.60"
7
+ version = "0.1.61"
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.60",
5
+ version="0.1.61",
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.60"
3
+ __version__ = "0.1.61"
@@ -25,7 +25,7 @@ class Agent:
25
25
  self.name = name
26
26
  self.is_sub_agent = is_sub_agent
27
27
  self.prompt = ""
28
- self.conversation_turns = 0 # 添加对话轮次计数器
28
+ self.conversation_turns = 0
29
29
 
30
30
 
31
31
  @staticmethod
@@ -88,17 +88,15 @@ class Agent:
88
88
  continue
89
89
 
90
90
 
91
- def _load_methodology(self) -> str:
92
- """加载经验总结"""
91
+ def _load_methodology(self) -> Dict[str, str]:
92
+ """加载方法论"""
93
93
  user_jarvis_methodology = os.path.expanduser("~/.jarvis_methodology")
94
- ret = ""
95
94
  if os.path.exists(user_jarvis_methodology):
96
95
  with open(user_jarvis_methodology, "r", encoding="utf-8") as f:
97
96
  data = yaml.safe_load(f)
98
- for k, v in data.items():
99
- ret += f"问题类型: \n{k}\n经验总结: \n{v}\n\n"
100
- PrettyOutput.print(f"从 {user_jarvis_methodology} 加载经验总结: {', '.join(data.keys())}", OutputType.INFO)
101
- return ret
97
+ PrettyOutput.print(f"从 {user_jarvis_methodology} 加载方法论: {', '.join(data.keys())}", OutputType.INFO)
98
+ return data
99
+ return {}
102
100
 
103
101
  def _summarize_and_clear_history(self) -> None:
104
102
  """总结当前对话历史并清空历史记录,只保留系统消息和总结
@@ -144,6 +142,28 @@ class Agent:
144
142
  except Exception as e:
145
143
  PrettyOutput.print(f"总结对话历史失败: {str(e)}", OutputType.ERROR)
146
144
 
145
+ def _make_mathodology(self) -> str:
146
+ PrettyOutput.section("生成方法论", OutputType.PLANNING)
147
+ """生成方法论"""
148
+ prompt = f"""任务已经结束,请总结任务执行过程中的经验,评估是否需要补充新的方法论,如果需要,请调用方法论工具生成方法论,方法论内容格式如下:
149
+
150
+ 1. 问题重述
151
+ 2. 最优解决方案
152
+ 3. 最优方案执行步骤(失败的行动不需要体现)
153
+ """
154
+ return self._call_model(prompt)
155
+
156
+ def _choose_methodology(self, methodology: Dict[str, str], task: str) -> str:
157
+ """选择方法论"""
158
+ prompt = f"""请根据任务内容选择合适的方法论,并返回方法论内容,格式如下:
159
+ 任务内容:
160
+ {task}
161
+
162
+ 方法论:
163
+ {methodology}
164
+ """
165
+ return self._call_model(prompt)
166
+
147
167
  def _complete_task(self) -> str:
148
168
  """完成任务并生成总结
149
169
 
@@ -151,6 +171,8 @@ class Agent:
151
171
  str: 任务总结或完成状态
152
172
  """
153
173
  PrettyOutput.section("任务完成", OutputType.SUCCESS)
174
+
175
+ self._make_mathodology()
154
176
 
155
177
  if not self.is_sub_agent:
156
178
  return "Task completed"
@@ -181,21 +203,23 @@ class Agent:
181
203
  str: 任务总结报告
182
204
  """
183
205
  try:
184
- self.clear_history()
185
- self.conversation_turns = 0 # 重置对话轮次
186
-
187
206
  if file_list:
188
207
  self.model.upload_files(file_list)
189
208
 
190
- # 加载经验总结
209
+ # 加载方法论
191
210
  methodology = self._load_methodology()
192
211
 
212
+ methodology =self._choose_methodology(methodology, user_input)
213
+
193
214
  methodology_prompt = ""
194
215
  if methodology:
195
- methodology_prompt = f"""这是以往处理问题的标准经验总结,如果当前任务与此类似,可参考:
216
+ methodology_prompt = f"""这是以往处理问题的标准方法论,如果当前任务与此类似,可参考:
196
217
  {methodology}
197
218
 
198
219
  """
220
+
221
+ self.clear_history()
222
+ self.conversation_turns = 0
199
223
 
200
224
  # 显示任务开始
201
225
  PrettyOutput.section(f"开始新任务: {self.name}", OutputType.PLANNING)
@@ -217,11 +241,11 @@ class Agent:
217
241
  6. 制定行动计划:根据目前可以使用的工具制定行动计划
218
242
  7. 执行行动计划:每步执行一个步骤,最多使用一个工具(工具执行完成后,等待工具结果再执行下一步)
219
243
  8. 监控与调整:如果执行结果与预期不符,则反思并调整行动计划,迭代之前的步骤
220
- 9. 经验总结:如果当前任务具有通用性且执行过程中遇到了值得记录的经验,使用经验总结工具记录经验总结,以提升后期处理类似问题的能力
244
+ 9. 方法论:如果当前任务具有通用性且执行过程中遇到了值得记录的经验,使用方法论工具记录方法论,以提升后期处理类似问题的能力
221
245
  10. 任务结束:如果任务已经完成,使用任务结束指令结束任务
222
246
  -------------------------------------------------------------
223
247
 
224
- 经验总结模板:
248
+ 方法论模板:
225
249
  1. 问题重述
226
250
  2. 最优解决方案
227
251
  3. 最优方案执行步骤(失败的行动不需要体现)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: jarvis-ai-assistant
3
- Version: 0.1.60
3
+ Version: 0.1.61
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