jarvis-ai-assistant 0.1.183__tar.gz → 0.1.185__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 (107) hide show
  1. {jarvis_ai_assistant-0.1.183/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.1.185}/PKG-INFO +4 -4
  2. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/README.md +3 -3
  3. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/pyproject.toml +1 -1
  4. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/setup.py +1 -1
  5. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/__init__.py +1 -1
  6. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_agent/__init__.py +23 -14
  7. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_agent/file_input_handler.py +1 -1
  8. jarvis_ai_assistant-0.1.185/src/jarvis/jarvis_platform/tongyi.py +519 -0
  9. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_tools/edit_file.py +25 -14
  10. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_tools/generate_new_tool.py +2 -94
  11. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_tools/registry.py +4 -1
  12. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185/src/jarvis_ai_assistant.egg-info}/PKG-INFO +4 -4
  13. jarvis_ai_assistant-0.1.183/src/jarvis/jarvis_platform/tongyi.py +0 -428
  14. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/LICENSE +0 -0
  15. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/MANIFEST.in +0 -0
  16. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/setup.cfg +0 -0
  17. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_agent/builtin_input_handler.py +0 -0
  18. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_agent/jarvis.py +0 -0
  19. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_agent/main.py +0 -0
  20. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_agent/output_handler.py +0 -0
  21. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_agent/shell_input_handler.py +0 -0
  22. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_agent/__init__.py +0 -0
  23. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_agent/code_agent.py +0 -0
  24. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_agent/lint.py +0 -0
  25. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_analysis/checklists/__init__.py +0 -0
  26. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_analysis/checklists/c_cpp.py +0 -0
  27. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_analysis/checklists/csharp.py +0 -0
  28. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_analysis/checklists/data_format.py +0 -0
  29. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_analysis/checklists/devops.py +0 -0
  30. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_analysis/checklists/docs.py +0 -0
  31. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_analysis/checklists/go.py +0 -0
  32. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_analysis/checklists/infrastructure.py +0 -0
  33. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_analysis/checklists/java.py +0 -0
  34. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_analysis/checklists/javascript.py +0 -0
  35. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_analysis/checklists/kotlin.py +0 -0
  36. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_analysis/checklists/loader.py +0 -0
  37. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_analysis/checklists/php.py +0 -0
  38. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_analysis/checklists/python.py +0 -0
  39. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_analysis/checklists/ruby.py +0 -0
  40. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_analysis/checklists/rust.py +0 -0
  41. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_analysis/checklists/shell.py +0 -0
  42. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_analysis/checklists/sql.py +0 -0
  43. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_analysis/checklists/swift.py +0 -0
  44. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_analysis/checklists/web.py +0 -0
  45. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_code_analysis/code_review.py +0 -0
  46. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_data/config_schema.json +0 -0
  47. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_data/huggingface.tar.gz +0 -0
  48. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_dev/main.py +0 -0
  49. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_event/__init__.py +0 -0
  50. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_git_details/__init__.py +0 -0
  51. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_git_details/main.py +0 -0
  52. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_git_squash/__init__.py +0 -0
  53. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_git_squash/main.py +0 -0
  54. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_git_utils/git_commiter.py +0 -0
  55. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_mcp/__init__.py +0 -0
  56. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_mcp/sse_mcp_client.py +0 -0
  57. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_mcp/stdio_mcp_client.py +0 -0
  58. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_mcp/streamable_mcp_client.py +0 -0
  59. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_methodology/main.py +0 -0
  60. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_multi_agent/__init__.py +0 -0
  61. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_multi_agent/main.py +0 -0
  62. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_platform/__init__.py +0 -0
  63. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_platform/base.py +0 -0
  64. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_platform/human.py +0 -0
  65. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_platform/kimi.py +0 -0
  66. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_platform/openai.py +0 -0
  67. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_platform/registry.py +0 -0
  68. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_platform/yuanbao.py +0 -0
  69. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_platform_manager/__init__.py +0 -0
  70. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_platform_manager/main.py +0 -0
  71. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_smart_shell/__init__.py +0 -0
  72. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_smart_shell/main.py +0 -0
  73. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_tools/__init__.py +0 -0
  74. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_tools/ask_user.py +0 -0
  75. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_tools/base.py +0 -0
  76. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_tools/chdir.py +0 -0
  77. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_tools/cli/__init__.py +0 -0
  78. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_tools/cli/main.py +0 -0
  79. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_tools/code_plan.py +0 -0
  80. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_tools/create_code_agent.py +0 -0
  81. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_tools/create_sub_agent.py +0 -0
  82. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_tools/execute_script.py +0 -0
  83. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_tools/file_analyzer.py +0 -0
  84. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_tools/file_operation.py +0 -0
  85. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_tools/methodology.py +0 -0
  86. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_tools/read_code.py +0 -0
  87. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_tools/read_webpage.py +0 -0
  88. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_tools/rewrite_file.py +0 -0
  89. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_tools/search_web.py +0 -0
  90. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_tools/virtual_tty.py +0 -0
  91. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_utils/__init__.py +0 -0
  92. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_utils/builtin_replace_map.py +0 -0
  93. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_utils/config.py +0 -0
  94. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_utils/embedding.py +0 -0
  95. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_utils/file_processors.py +0 -0
  96. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_utils/git_utils.py +0 -0
  97. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_utils/globals.py +0 -0
  98. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_utils/input.py +0 -0
  99. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_utils/methodology.py +0 -0
  100. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_utils/output.py +0 -0
  101. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_utils/tag.py +0 -0
  102. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis/jarvis_utils/utils.py +0 -0
  103. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +0 -0
  104. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
  105. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis_ai_assistant.egg-info/entry_points.txt +0 -0
  106. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis_ai_assistant.egg-info/requires.txt +0 -0
  107. {jarvis_ai_assistant-0.1.183 → jarvis_ai_assistant-0.1.185}/src/jarvis_ai_assistant.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jarvis-ai-assistant
3
- Version: 0.1.183
3
+ Version: 0.1.185
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
@@ -85,7 +85,7 @@ Dynamic: requires-python
85
85
 
86
86
  ## 🌟 核心特色 <a id="core-features"></a>
87
87
 
88
- - 🆓 零成本接入:无缝集成元宝、Kimi等优质模型,无需支付API费用,同时保留强大的文件处理、搜索和推理能力
88
+ - 🆓 零成本接入:无缝集成腾讯元宝(推荐首选)、Kimi等优质模型,无需支付API费用,同时保留强大的文件处理、搜索和推理能力
89
89
  - 🛠️ 工具驱动:内置丰富工具集,涵盖脚本执行、代码开发、网页搜索、终端操作等核心功能
90
90
  - 👥 人机协作:支持实时交互,用户可随时介入指导,确保AI行为符合预期
91
91
  - 🔌 高度可扩展:支持自定义工具和平台,轻松集成MCP协议
@@ -117,9 +117,9 @@ pip3 install jarvis-ai-assistant
117
117
 
118
118
  将以下配置写入到`~/.jarvis/config.yaml`文件中。
119
119
 
120
- #### 腾讯元宝
120
+ #### 腾讯元宝 (推荐首选)
121
121
  ```yaml
122
- JARVIS_PLATFORM: yuanbao
122
+ JARVIS_PLATFORM: yuanbao # 推荐使用腾讯元宝平台,适配性最佳
123
123
  JARVIS_MODEL: deep_seek_v3
124
124
  JARVIS_THINKING_PLATFORM: yuanbao
125
125
  JARVIS_THINKING_MODEL: deep_seek
@@ -15,7 +15,7 @@
15
15
 
16
16
  ## 🌟 核心特色 <a id="core-features"></a>
17
17
 
18
- - 🆓 零成本接入:无缝集成元宝、Kimi等优质模型,无需支付API费用,同时保留强大的文件处理、搜索和推理能力
18
+ - 🆓 零成本接入:无缝集成腾讯元宝(推荐首选)、Kimi等优质模型,无需支付API费用,同时保留强大的文件处理、搜索和推理能力
19
19
  - 🛠️ 工具驱动:内置丰富工具集,涵盖脚本执行、代码开发、网页搜索、终端操作等核心功能
20
20
  - 👥 人机协作:支持实时交互,用户可随时介入指导,确保AI行为符合预期
21
21
  - 🔌 高度可扩展:支持自定义工具和平台,轻松集成MCP协议
@@ -47,9 +47,9 @@ pip3 install jarvis-ai-assistant
47
47
 
48
48
  将以下配置写入到`~/.jarvis/config.yaml`文件中。
49
49
 
50
- #### 腾讯元宝
50
+ #### 腾讯元宝 (推荐首选)
51
51
  ```yaml
52
- JARVIS_PLATFORM: yuanbao
52
+ JARVIS_PLATFORM: yuanbao # 推荐使用腾讯元宝平台,适配性最佳
53
53
  JARVIS_MODEL: deep_seek_v3
54
54
  JARVIS_THINKING_PLATFORM: yuanbao
55
55
  JARVIS_THINKING_MODEL: deep_seek
@@ -8,7 +8,7 @@ default = true
8
8
 
9
9
  [project]
10
10
  name = "jarvis-ai-assistant"
11
- version = "0.1.183"
11
+ version = "0.1.185"
12
12
  description = "Jarvis: An AI assistant that uses tools to interact with the system"
13
13
  readme = "README.md"
14
14
  authors = [{ name = "skyfire", email = "skyfireitdiy@hotmail.com" }]
@@ -3,7 +3,7 @@ from setuptools import setup, find_packages
3
3
 
4
4
  setup(
5
5
  name="jarvis-ai-assistant",
6
- version="0.1.183",
6
+ version="0.1.185",
7
7
  author="skyfire",
8
8
  author_email="skyfireitdiy@hotmail.com",
9
9
  description="An AI assistant that uses various tools to interact with the system",
@@ -1,4 +1,4 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """Jarvis AI Assistant"""
3
3
 
4
- __version__ = "0.1.183"
4
+ __version__ = "0.1.185"
@@ -4,6 +4,8 @@ import datetime
4
4
  import platform
5
5
  from typing import Any, Callable, Dict, List, Optional, Protocol, Tuple, Union
6
6
 
7
+ from jarvis.jarvis_platform.base import BasePlatform
8
+
7
9
  # 第三方库导入
8
10
  from yaspin import yaspin # type: ignore
9
11
 
@@ -166,7 +168,9 @@ class Agent:
166
168
  multiline_inputer: Optional[Callable[[str], str]] = None,
167
169
  use_methodology: Optional[bool] = None,
168
170
  use_analysis: Optional[bool] = None,
171
+ files: List[str] = [],
169
172
  ):
173
+ self.files = files
170
174
  """初始化Jarvis Agent实例
171
175
 
172
176
  参数:
@@ -218,8 +222,9 @@ class Agent:
218
222
  multiline_inputer if multiline_inputer else get_multiline_input
219
223
  )
220
224
 
225
+ # 如果有上传文件,自动禁用方法论
221
226
  self.use_methodology = (
222
- use_methodology if use_methodology is not None else is_use_methodology()
227
+ False if files else (use_methodology if use_methodology is not None else is_use_methodology())
223
228
  )
224
229
  self.use_analysis = (
225
230
  use_analysis if use_analysis is not None else is_use_analysis()
@@ -766,27 +771,31 @@ arguments:
766
771
  try:
767
772
  set_agent(self.name, self)
768
773
 
774
+ for handler in self.input_handler:
775
+ user_input, _ = handler(user_input, self)
776
+
769
777
  self.prompt = f"{user_input}"
770
778
 
771
- if self.first and self.use_methodology:
772
- # 先尝试上传方法轮
773
- platform = self.model if hasattr(self.model, "upload_files") else None
774
- if platform and upload_methodology(platform):
775
- self.prompt = f"{user_input}\n\n方法论已上传到平台,请参考平台上的方法论内容"
776
- else:
777
- msg = user_input
778
- for handler in self.input_handler:
779
- msg, _ = handler(msg, self)
780
- # 上传失败则回退到本地加载
781
- self.prompt = f"{user_input}\n\n以下是历史类似问题的执行经验,可参考:\n{load_methodology(msg, self.get_tool_registry())}"
779
+ if self.first:
780
+ # 如果有上传文件,先上传文件
781
+ if self.files and isinstance(self.model, BasePlatform) and hasattr(self.model, "upload_files"):
782
+ self.model.upload_files(self.files)
783
+ self.prompt = f"{user_input}\n\n已上传{len(self.files)}个文件到平台"
784
+
785
+ # 如果启用方法论且没有上传文件,上传方法论
786
+ elif self.use_methodology:
787
+ platform = self.model if hasattr(self.model, "upload_files") else None
788
+ if platform and upload_methodology(platform):
789
+ self.prompt = f"{user_input}\n\n方法论已上传到平台,请参考平台上的方法论内容"
790
+ else:
791
+ # 上传失败则回退到本地加载
792
+ self.prompt = f"{user_input}\n\n以下是历史类似问题的执行经验,可参考:\n{load_methodology(user_input, self.get_tool_registry())}"
782
793
 
783
794
  self.first = False
784
795
 
785
796
  self.conversation_length = get_context_token_count(self.prompt)
786
797
  while True:
787
798
  try:
788
- # 如果对话历史长度超过限制,在提示中添加提醒
789
-
790
799
  current_response = self._call_model(self.prompt, True)
791
800
  self.prompt = ""
792
801
  self.conversation_length += get_context_token_count(
@@ -95,7 +95,7 @@ def file_input_handler(user_input: str, agent: Any) -> Tuple[str, bool]:
95
95
  if files:
96
96
  with yaspin(text="正在读取文件...", color="cyan") as spinner:
97
97
  old_prompt = prompt
98
- result = FileOperationTool().execute({"operation":"read","files": files})
98
+ result = FileOperationTool().execute({"operation":"read","files": files, "agent": agent})
99
99
  if result["success"]:
100
100
  spinner.text = "文件读取完成"
101
101
  spinner.ok("✅")