jarvis-ai-assistant 0.1.24__tar.gz → 0.1.26__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.
Files changed (54) hide show
  1. {jarvis_ai_assistant-0.1.24/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.1.26}/PKG-INFO +1 -1
  2. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/pyproject.toml +1 -1
  3. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/setup.py +1 -1
  4. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/__init__.py +1 -1
  5. jarvis_ai_assistant-0.1.26/src/jarvis/__pycache__/__init__.cpython-313.pyc +0 -0
  6. jarvis_ai_assistant-0.1.26/src/jarvis/models/__pycache__/kimi.cpython-313.pyc +0 -0
  7. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/models/kimi.py +22 -13
  8. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/__pycache__/base.cpython-313.pyc +0 -0
  9. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/base.py +1 -1
  10. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26/src/jarvis_ai_assistant.egg-info}/PKG-INFO +1 -1
  11. jarvis_ai_assistant-0.1.24/src/jarvis/__pycache__/__init__.cpython-313.pyc +0 -0
  12. jarvis_ai_assistant-0.1.24/src/jarvis/models/__pycache__/kimi.cpython-313.pyc +0 -0
  13. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/LICENSE +0 -0
  14. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/MANIFEST.in +0 -0
  15. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/README.md +0 -0
  16. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/setup.cfg +0 -0
  17. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/__pycache__/agent.cpython-313.pyc +0 -0
  18. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/__pycache__/main.cpython-313.pyc +0 -0
  19. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/__pycache__/models.cpython-313.pyc +0 -0
  20. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/__pycache__/tools.cpython-313.pyc +0 -0
  21. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/__pycache__/utils.cpython-313.pyc +0 -0
  22. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/__pycache__/zte_llm.cpython-313.pyc +0 -0
  23. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/agent.py +0 -0
  24. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/main.py +0 -0
  25. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/models/__init__.py +0 -0
  26. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/models/__pycache__/__init__.cpython-313.pyc +0 -0
  27. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/models/__pycache__/base.cpython-313.pyc +0 -0
  28. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/models/base.py +0 -0
  29. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/__init__.py +0 -0
  30. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/__pycache__/__init__.cpython-313.pyc +0 -0
  31. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/__pycache__/bing_search.cpython-313.pyc +0 -0
  32. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/__pycache__/calculator.cpython-313.pyc +0 -0
  33. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/__pycache__/calculator_tool.cpython-313.pyc +0 -0
  34. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/__pycache__/file_ops.cpython-313.pyc +0 -0
  35. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/__pycache__/generator.cpython-313.pyc +0 -0
  36. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/__pycache__/python_script.cpython-313.pyc +0 -0
  37. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/__pycache__/rag.cpython-313.pyc +0 -0
  38. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/__pycache__/search.cpython-313.pyc +0 -0
  39. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/__pycache__/shell.cpython-313.pyc +0 -0
  40. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/__pycache__/sub_agent.cpython-313.pyc +0 -0
  41. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/__pycache__/user_confirmation.cpython-313.pyc +0 -0
  42. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/__pycache__/user_input.cpython-313.pyc +0 -0
  43. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/__pycache__/user_interaction.cpython-313.pyc +0 -0
  44. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/__pycache__/webpage.cpython-313.pyc +0 -0
  45. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/file_ops.py +0 -0
  46. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/generator.py +0 -0
  47. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/shell.py +0 -0
  48. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/tools/sub_agent.py +0 -0
  49. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis/utils.py +0 -0
  50. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +0 -0
  51. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
  52. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis_ai_assistant.egg-info/entry_points.txt +0 -0
  53. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/src/jarvis_ai_assistant.egg-info/requires.txt +0 -0
  54. {jarvis_ai_assistant-0.1.24 → jarvis_ai_assistant-0.1.26}/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.24
3
+ Version: 0.1.26
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.24"
7
+ version = "0.1.26"
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.24",
5
+ version="0.1.26",
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.24"
3
+ __version__ = "0.1.26"
@@ -10,7 +10,7 @@ import time
10
10
  class KimiModel(BaseModel):
11
11
  """Kimi模型实现"""
12
12
 
13
- def __init__(self, api_key: str, verbose: bool = False):
13
+ def __init__(self, api_key: Optional[str] = None, verbose: bool = False):
14
14
  """
15
15
  初始化Kimi模型
16
16
  Args:
@@ -42,14 +42,14 @@ class KimiModel(BaseModel):
42
42
  self.chat_id = response.json()["id"]
43
43
  return True
44
44
  except Exception as e:
45
- PrettyOutput.print(f"Failed to create chat: {e}", OutputType.ERROR)
45
+ PrettyOutput.print(f"Failed to create chat: {e}: Response: {response.text}", OutputType.ERROR)
46
46
  return False
47
47
 
48
- def _get_presigned_url(self, filename: str) -> Dict:
48
+ def _get_presigned_url(self, filename: str, action: str) -> Dict:
49
49
  """获取预签名上传URL"""
50
50
  url = "https://kimi.moonshot.cn/api/pre-sign-url"
51
- mime_type, _ = mimetypes.guess_type(filename)
52
- action = "image" if mime_type and mime_type.startswith('image/') else "file"
51
+
52
+
53
53
 
54
54
  payload = json.dumps({
55
55
  "action": action,
@@ -75,11 +75,11 @@ class KimiModel(BaseModel):
75
75
  PrettyOutput.print(f"Failed to upload file: {e}", OutputType.ERROR)
76
76
  return False
77
77
 
78
- def _get_file_info(self, file_data: Dict, name: str) -> Dict:
78
+ def _get_file_info(self, file_data: Dict, name: str, file_type: str) -> Dict:
79
79
  """获取文件信息"""
80
80
  url = "https://kimi.moonshot.cn/api/file"
81
81
  payload = json.dumps({
82
- "type": "file",
82
+ "type": file_type,
83
83
  "name": name,
84
84
  "object_name": file_data["object_name"],
85
85
  "chat_id": self.chat_id,
@@ -114,6 +114,7 @@ class KimiModel(BaseModel):
114
114
  continue
115
115
 
116
116
  line = line.decode('utf-8')
117
+ print(data)
117
118
  if not line.startswith("data: "):
118
119
  continue
119
120
 
@@ -149,25 +150,33 @@ class KimiModel(BaseModel):
149
150
  for index, file_path in enumerate(file_list, 1):
150
151
  try:
151
152
  PrettyOutput.print(f"处理文件 [{index}/{len(file_list)}]: {file_path}", OutputType.PROGRESS)
153
+
154
+ mime_type, _ = mimetypes.guess_type(file_path)
155
+ action = "image" if mime_type and mime_type.startswith('image/') else "file"
152
156
 
153
157
  # 获取预签名URL
154
158
  PrettyOutput.print("获取上传URL...", OutputType.PROGRESS)
155
- presigned_data = self._get_presigned_url(file_path)
159
+ presigned_data = self._get_presigned_url(file_path, action)
156
160
 
157
161
  # 上传文件
158
162
  PrettyOutput.print("上传文件内容...", OutputType.PROGRESS)
159
163
  if self._upload_file(file_path, presigned_data["url"]):
160
164
  # 获取文件信息
161
165
  PrettyOutput.print("获取文件信息...", OutputType.PROGRESS)
162
- file_info = self._get_file_info(presigned_data, os.path.basename(file_path))
163
-
166
+ file_info = self._get_file_info(presigned_data, os.path.basename(file_path), action)
164
167
  # 等待文件解析
165
168
  PrettyOutput.print("等待文件解析完成...", OutputType.PROGRESS)
166
- if self._wait_for_parse(file_info["id"]):
169
+
170
+ # 只有文件需要解析
171
+ if action == "file":
172
+ if self._wait_for_parse(file_info["id"]):
173
+ uploaded_files.append(file_info)
174
+ PrettyOutput.print(f"✓ 文件处理成功: {file_path}", OutputType.SUCCESS)
175
+ else:
176
+ PrettyOutput.print(f"✗ 文件解析失败: {file_path}", OutputType.ERROR)
177
+ else:
167
178
  uploaded_files.append(file_info)
168
179
  PrettyOutput.print(f"✓ 文件处理成功: {file_path}", OutputType.SUCCESS)
169
- else:
170
- PrettyOutput.print(f"✗ 文件解析失败: {file_path}", OutputType.ERROR)
171
180
  else:
172
181
  PrettyOutput.print(f"✗ 文件上传失败: {file_path}", OutputType.ERROR)
173
182
 
@@ -106,7 +106,7 @@ class ToolRegistry:
106
106
  hasattr(item, 'parameters')):
107
107
 
108
108
  # 实例化工具类,传入模型和输出处理器
109
- tool_instance = item(model=KimiModel(self.verbose), register=self, output_handler=self.output_handler)
109
+ tool_instance = item(model=KimiModel(verbose=self.verbose), register=self, output_handler=self.output_handler)
110
110
 
111
111
  # 注册工具
112
112
  self.register_tool(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: jarvis-ai-assistant
3
- Version: 0.1.24
3
+ Version: 0.1.26
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