jarvis-ai-assistant 0.3.0__tar.gz → 0.3.1__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.
- {jarvis_ai_assistant-0.3.0/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.3.1}/PKG-INFO +1 -1
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/pyproject.toml +1 -1
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/setup.py +1 -1
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/__init__.py +1 -1
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/__init__.py +19 -11
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/memory_manager.py +4 -10
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_data/config_schema.json +5 -4
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_platform_manager/service.py +9 -4
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/search_web.py +1 -1
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_utils/config.py +10 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1/src/jarvis_ai_assistant.egg-info}/PKG-INFO +1 -1
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/LICENSE +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/MANIFEST.in +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/README.md +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/setup.cfg +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/agent_manager.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/builtin_input_handler.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/config_editor.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/edit_file_handler.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/file_methodology_manager.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/jarvis.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/main.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/methodology_share_manager.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/output_handler.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/prompt_builder.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/prompts.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/protocols.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/session_manager.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/share_manager.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/shell_input_handler.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/task_analyzer.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/task_manager.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/tool_executor.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/tool_share_manager.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_agent/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_agent/code_agent.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_agent/lint.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_analysis/checklists/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_analysis/checklists/c_cpp.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_analysis/checklists/csharp.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_analysis/checklists/data_format.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_analysis/checklists/devops.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_analysis/checklists/docs.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_analysis/checklists/go.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_analysis/checklists/infrastructure.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_analysis/checklists/java.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_analysis/checklists/javascript.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_analysis/checklists/kotlin.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_analysis/checklists/loader.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_analysis/checklists/php.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_analysis/checklists/python.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_analysis/checklists/ruby.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_analysis/checklists/rust.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_analysis/checklists/shell.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_analysis/checklists/sql.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_analysis/checklists/swift.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_analysis/checklists/web.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_analysis/code_review.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_data/tiktoken/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_git_squash/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_git_squash/main.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_git_utils/git_commiter.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_mcp/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_mcp/sse_mcp_client.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_mcp/stdio_mcp_client.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_mcp/streamable_mcp_client.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_methodology/main.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_multi_agent/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_multi_agent/main.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_platform/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_platform/ai8.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_platform/base.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_platform/human.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_platform/kimi.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_platform/openai.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_platform/registry.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_platform/tongyi.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_platform/yuanbao.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_platform_manager/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_platform_manager/main.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_rag/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_rag/cache.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_rag/cli.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_rag/embedding_manager.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_rag/llm_interface.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_rag/query_rewriter.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_rag/rag_pipeline.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_rag/reranker.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_rag/retriever.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_smart_shell/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_smart_shell/main.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_stats/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_stats/cli.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_stats/stats.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_stats/storage.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_stats/visualizer.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/ask_user.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/base.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/clear_memory.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/cli/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/cli/main.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/edit_file.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/execute_script.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/file_analyzer.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/generate_new_tool.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/methodology.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/read_code.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/read_webpage.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/registry.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/retrieve_memory.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/rewrite_file.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/save_memory.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/virtual_tty.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_utils/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_utils/builtin_replace_map.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_utils/clipboard.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_utils/embedding.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_utils/file_processors.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_utils/git_utils.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_utils/globals.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_utils/http.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_utils/input.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_utils/methodology.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_utils/output.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_utils/tag.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_utils/utils.py +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis_ai_assistant.egg-info/entry_points.txt +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis_ai_assistant.egg-info/requires.txt +0 -0
- {jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis_ai_assistant.egg-info/top_level.txt +0 -0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "jarvis-ai-assistant"
|
7
|
-
version = "0.3.
|
7
|
+
version = "0.3.1"
|
8
8
|
description = "Jarvis: An AI assistant that uses tools to interact with the system"
|
9
9
|
readme = "README.md"
|
10
10
|
authors = [{ name = "skyfire", email = "skyfireitdiy@hotmail.com" }]
|
@@ -3,7 +3,7 @@ from setuptools import setup, find_packages # type: ignore
|
|
3
3
|
|
4
4
|
setup(
|
5
5
|
name="jarvis-ai-assistant",
|
6
|
-
version="0.3.
|
6
|
+
version="0.3.1",
|
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",
|
@@ -34,6 +34,7 @@ from jarvis.jarvis_utils.config import (
|
|
34
34
|
get_thinking_model_name,
|
35
35
|
get_thinking_platform_name,
|
36
36
|
is_execute_tool_confirm,
|
37
|
+
is_force_save_memory,
|
37
38
|
is_use_analysis,
|
38
39
|
is_use_methodology,
|
39
40
|
)
|
@@ -115,6 +116,7 @@ class Agent:
|
|
115
116
|
multiline_inputer: Optional[Callable[[str], str]] = None,
|
116
117
|
use_methodology: Optional[bool] = None,
|
117
118
|
use_analysis: Optional[bool] = None,
|
119
|
+
force_save_memory: Optional[bool] = None,
|
118
120
|
files: List[str] = [],
|
119
121
|
):
|
120
122
|
"""初始化Jarvis Agent实例
|
@@ -134,6 +136,7 @@ class Agent:
|
|
134
136
|
multiline_inputer: 多行输入处理器
|
135
137
|
use_methodology: 是否使用方法论
|
136
138
|
use_analysis: 是否使用任务分析
|
139
|
+
force_save_memory: 是否强制保存记忆
|
137
140
|
"""
|
138
141
|
# 基础属性初始化
|
139
142
|
self.files = files
|
@@ -161,6 +164,7 @@ class Agent:
|
|
161
164
|
execute_tool_confirm,
|
162
165
|
summary_prompt,
|
163
166
|
model_group,
|
167
|
+
force_save_memory,
|
164
168
|
)
|
165
169
|
|
166
170
|
# 初始化管理器
|
@@ -186,9 +190,7 @@ class Agent:
|
|
186
190
|
|
187
191
|
self.model = PlatformRegistry().create_platform(platform_name)
|
188
192
|
if self.model is None:
|
189
|
-
PrettyOutput.print(
|
190
|
-
f"平台 {platform_name} 不存在,将使用普通模型", OutputType.WARNING
|
191
|
-
)
|
193
|
+
PrettyOutput.print(f"平台 {platform_name} 不存在,将使用普通模型", OutputType.WARNING)
|
192
194
|
self.model = PlatformRegistry().get_normal_platform()
|
193
195
|
|
194
196
|
if model_name:
|
@@ -227,6 +229,7 @@ class Agent:
|
|
227
229
|
execute_tool_confirm: Optional[bool],
|
228
230
|
summary_prompt: Optional[str],
|
229
231
|
model_group: Optional[str],
|
232
|
+
force_save_memory: Optional[bool],
|
230
233
|
):
|
231
234
|
"""初始化配置选项"""
|
232
235
|
# 如果有上传文件,自动禁用方法论
|
@@ -254,6 +257,12 @@ class Agent:
|
|
254
257
|
|
255
258
|
self.max_token_count = get_max_token_count(model_group)
|
256
259
|
|
260
|
+
self.force_save_memory = (
|
261
|
+
force_save_memory
|
262
|
+
if force_save_memory is not None
|
263
|
+
else is_force_save_memory()
|
264
|
+
)
|
265
|
+
|
257
266
|
def _setup_system_prompt(self):
|
258
267
|
"""设置系统提示词"""
|
259
268
|
action_prompt = self.get_tool_usage_prompt()
|
@@ -440,9 +449,10 @@ class Agent:
|
|
440
449
|
当上下文长度超过最大值时使用
|
441
450
|
"""
|
442
451
|
# 在清理历史之前,提示用户保存重要记忆
|
443
|
-
|
444
|
-
|
445
|
-
|
452
|
+
if self.force_save_memory:
|
453
|
+
print("📌 对话历史即将被总结和清理,请先保存重要信息...")
|
454
|
+
self.memory_manager.prompt_memory_save()
|
455
|
+
|
446
456
|
if self._should_use_file_upload():
|
447
457
|
return self._handle_history_with_file_upload()
|
448
458
|
else:
|
@@ -504,10 +514,10 @@ class Agent:
|
|
504
514
|
self.task_analyzer.analysis_task(satisfaction_feedback)
|
505
515
|
else:
|
506
516
|
# 如果没有开启分析,也提示用户是否有值得记忆的信息
|
507
|
-
self.
|
517
|
+
if self.force_save_memory:
|
518
|
+
self.memory_manager.prompt_memory_save()
|
508
519
|
|
509
520
|
if self.need_summary:
|
510
|
-
|
511
521
|
print("📄 正在生成总结...")
|
512
522
|
self.session.prompt = self.summary_prompt
|
513
523
|
if not self.model:
|
@@ -679,9 +689,7 @@ class Agent:
|
|
679
689
|
返回:
|
680
690
|
str: "continue" 或 "complete"
|
681
691
|
"""
|
682
|
-
user_input = self.multiline_inputer(
|
683
|
-
f"{self.name}: 请输入,或输入空行来结束当前任务:"
|
684
|
-
)
|
692
|
+
user_input = self.multiline_inputer(f"{self.name}: 请输入,或输入空行来结束当前任务:")
|
685
693
|
|
686
694
|
if user_input:
|
687
695
|
self.session.prompt = user_input
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/memory_manager.py
RENAMED
@@ -116,18 +116,12 @@ class MemoryManager:
|
|
116
116
|
memory_prompts += (
|
117
117
|
"\n - 如果有关键信息需要记忆,请调用save_memory工具进行记忆:"
|
118
118
|
)
|
119
|
-
memory_prompts +=
|
120
|
-
|
121
|
-
|
122
|
-
memory_prompts += (
|
123
|
-
"\n * global_long_term: 保存通用的信息、用户喜好、知识、方法等"
|
124
|
-
)
|
125
|
-
memory_prompts += "\n * short_term: 保存当前任务相关的临时信息"
|
119
|
+
memory_prompts += "\n * project_long_term: 保存与当前项目相关的长期信息(如:架构决策、关键配置、特定实现)"
|
120
|
+
memory_prompts += "\n * global_long_term: 保存通用的信息、用户喜好、知识、方法等(如:常用命令、个人偏好、解决方案)"
|
121
|
+
memory_prompts += "\n * short_term: 保存当前任务相关的临时信息(如:当前处理的文件、用户中间需求)"
|
126
122
|
|
127
123
|
# 如果有retrieve_memory工具,添加相关提示
|
128
124
|
if "retrieve_memory" in tool_names:
|
129
|
-
memory_prompts +=
|
130
|
-
"\n - 如果需要检索相关记忆信息,请调用retrieve_memory工具"
|
131
|
-
)
|
125
|
+
memory_prompts += "\n - 如果需要获取上下文或寻找解决方案,请调用retrieve_memory工具检索相关记忆"
|
132
126
|
|
133
127
|
return memory_prompts
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_data/config_schema.json
RENAMED
@@ -245,6 +245,11 @@
|
|
245
245
|
"description": "是否启用静态代码分析",
|
246
246
|
"default": true
|
247
247
|
},
|
248
|
+
"JARVIS_FORCE_SAVE_MEMORY": {
|
249
|
+
"type": "boolean",
|
250
|
+
"description": "是否强制保存记忆",
|
251
|
+
"default": true
|
252
|
+
},
|
248
253
|
"JARVIS_TOOL_GROUP": {
|
249
254
|
"type": "string",
|
250
255
|
"description": "选择一个预定义的工具配置组",
|
@@ -391,10 +396,6 @@
|
|
391
396
|
"type": "string",
|
392
397
|
"description": "AI8 API Key"
|
393
398
|
},
|
394
|
-
"OYI_API_KEY": {
|
395
|
-
"type": "string",
|
396
|
-
"description": "Oyi API Key"
|
397
|
-
},
|
398
399
|
"SHELL": {
|
399
400
|
"type": "string",
|
400
401
|
"description": "系统Shell路径,用于获取当前使用的shell类型",
|
@@ -195,11 +195,16 @@ def start_service(
|
|
195
195
|
if "/" in model:
|
196
196
|
platform_name, model_name = model.split("/", 1)
|
197
197
|
else:
|
198
|
-
# Use default platform
|
199
|
-
if default_platform
|
200
|
-
platform_name
|
198
|
+
# Use default platform if not specified in the model name
|
199
|
+
if default_platform:
|
200
|
+
platform_name = default_platform
|
201
|
+
model_name = model
|
201
202
|
else:
|
202
|
-
|
203
|
+
raise HTTPException(
|
204
|
+
status_code=400,
|
205
|
+
detail="Model name must be in 'platform/model_name' format "
|
206
|
+
"or a default platform must be set.",
|
207
|
+
)
|
203
208
|
|
204
209
|
# Get platform instance
|
205
210
|
platform = get_platform_instance(platform_name, model_name)
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/search_web.py
RENAMED
@@ -31,7 +31,7 @@ class SearchWebTool:
|
|
31
31
|
"""执行网络搜索、抓取内容并总结结果。"""
|
32
32
|
try:
|
33
33
|
PrettyOutput.print("▶️ 使用 DuckDuckGo 开始网页搜索...", OutputType.INFO)
|
34
|
-
results = list(DDGS().text(query, max_results=50))
|
34
|
+
results = list(DDGS().text(query, max_results=50, page=3))
|
35
35
|
|
36
36
|
if not results:
|
37
37
|
return {
|
@@ -339,6 +339,16 @@ def is_print_prompt() -> bool:
|
|
339
339
|
return GLOBAL_CONFIG_DATA.get("JARVIS_PRINT_PROMPT", False) == True
|
340
340
|
|
341
341
|
|
342
|
+
def is_force_save_memory() -> bool:
|
343
|
+
"""
|
344
|
+
获取是否强制保存记忆。
|
345
|
+
|
346
|
+
返回:
|
347
|
+
bool: 如果强制保存记忆则返回True,默认为True
|
348
|
+
"""
|
349
|
+
return GLOBAL_CONFIG_DATA.get("JARVIS_FORCE_SAVE_MEMORY", True) is True
|
350
|
+
|
351
|
+
|
342
352
|
def is_enable_static_analysis() -> bool:
|
343
353
|
"""
|
344
354
|
获取是否启用静态代码分析。
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/agent_manager.py
RENAMED
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/config_editor.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/edit_file_handler.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/output_handler.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/prompt_builder.py
RENAMED
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/protocols.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/session_manager.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/share_manager.py
RENAMED
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/task_analyzer.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/task_manager.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_agent/tool_executor.py
RENAMED
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_agent/__init__.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_agent/code_agent.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_code_agent/lint.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_git_squash/__init__.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_git_squash/main.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_git_utils/git_commiter.py
RENAMED
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_mcp/sse_mcp_client.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_mcp/stdio_mcp_client.py
RENAMED
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_methodology/main.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_multi_agent/__init__.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_multi_agent/main.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_platform/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_platform/openai.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_platform/registry.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_platform/tongyi.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_platform/yuanbao.py
RENAMED
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_platform_manager/main.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_rag/embedding_manager.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_rag/llm_interface.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_rag/query_rewriter.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_rag/rag_pipeline.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_smart_shell/__init__.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_smart_shell/main.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_stats/visualizer.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/clear_memory.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/cli/__init__.py
RENAMED
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/edit_file.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/execute_script.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/file_analyzer.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/generate_new_tool.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/methodology.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/read_code.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/read_webpage.py
RENAMED
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/retrieve_memory.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/rewrite_file.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/save_memory.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_tools/virtual_tty.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_utils/clipboard.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_utils/embedding.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_utils/file_processors.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_utils/git_utils.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis/jarvis_utils/methodology.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.0 → jarvis_ai_assistant-0.3.1}/src/jarvis_ai_assistant.egg-info/SOURCES.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|