jarvis-ai-assistant 0.3.9__tar.gz → 0.3.11__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 (134) hide show
  1. {jarvis_ai_assistant-0.3.9/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.3.11}/PKG-INFO +1 -1
  2. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/pyproject.toml +2 -2
  3. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/setup.py +1 -1
  4. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/__init__.py +1 -1
  5. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_agent/jarvis.py +3 -3
  6. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_agent/main.py +3 -3
  7. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_agent/code_agent.py +25 -14
  8. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_analysis/code_review.py +8 -8
  9. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_data/config_schema.json +10 -0
  10. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_git_utils/git_commiter.py +2 -2
  11. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_memory_organizer/memory_organizer.py +2 -2
  12. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_platform_manager/main.py +4 -4
  13. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_tools/search_web.py +23 -0
  14. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_utils/config.py +25 -0
  15. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11/src/jarvis_ai_assistant.egg-info}/PKG-INFO +1 -1
  16. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/LICENSE +0 -0
  17. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/MANIFEST.in +0 -0
  18. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/README.md +0 -0
  19. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/setup.cfg +0 -0
  20. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_agent/__init__.py +0 -0
  21. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_agent/agent_manager.py +0 -0
  22. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_agent/builtin_input_handler.py +0 -0
  23. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_agent/config_editor.py +0 -0
  24. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_agent/edit_file_handler.py +0 -0
  25. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_agent/file_methodology_manager.py +0 -0
  26. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_agent/memory_manager.py +0 -0
  27. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_agent/methodology_share_manager.py +0 -0
  28. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_agent/output_handler.py +0 -0
  29. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_agent/prompt_builder.py +0 -0
  30. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_agent/prompts.py +0 -0
  31. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_agent/protocols.py +0 -0
  32. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_agent/session_manager.py +0 -0
  33. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_agent/share_manager.py +0 -0
  34. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_agent/shell_input_handler.py +0 -0
  35. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_agent/task_analyzer.py +0 -0
  36. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_agent/task_manager.py +0 -0
  37. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_agent/tool_executor.py +0 -0
  38. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_agent/tool_share_manager.py +0 -0
  39. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_agent/__init__.py +0 -0
  40. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_agent/lint.py +0 -0
  41. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_analysis/checklists/__init__.py +0 -0
  42. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_analysis/checklists/c_cpp.py +0 -0
  43. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_analysis/checklists/csharp.py +0 -0
  44. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_analysis/checklists/data_format.py +0 -0
  45. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_analysis/checklists/devops.py +0 -0
  46. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_analysis/checklists/docs.py +0 -0
  47. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_analysis/checklists/go.py +0 -0
  48. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_analysis/checklists/infrastructure.py +0 -0
  49. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_analysis/checklists/java.py +0 -0
  50. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_analysis/checklists/javascript.py +0 -0
  51. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_analysis/checklists/kotlin.py +0 -0
  52. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_analysis/checklists/loader.py +0 -0
  53. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_analysis/checklists/php.py +0 -0
  54. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_analysis/checklists/python.py +0 -0
  55. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_analysis/checklists/ruby.py +0 -0
  56. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_analysis/checklists/rust.py +0 -0
  57. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_analysis/checklists/shell.py +0 -0
  58. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_analysis/checklists/sql.py +0 -0
  59. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_analysis/checklists/swift.py +0 -0
  60. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_code_analysis/checklists/web.py +0 -0
  61. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_data/tiktoken/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 +0 -0
  62. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_git_squash/__init__.py +0 -0
  63. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_git_squash/main.py +0 -0
  64. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_mcp/__init__.py +0 -0
  65. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_mcp/sse_mcp_client.py +0 -0
  66. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_mcp/stdio_mcp_client.py +0 -0
  67. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_mcp/streamable_mcp_client.py +0 -0
  68. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_memory_organizer/__init__.py +0 -0
  69. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_methodology/main.py +0 -0
  70. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_multi_agent/__init__.py +0 -0
  71. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_multi_agent/main.py +0 -0
  72. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_platform/__init__.py +0 -0
  73. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_platform/ai8.py +0 -0
  74. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_platform/base.py +0 -0
  75. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_platform/human.py +0 -0
  76. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_platform/kimi.py +0 -0
  77. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_platform/openai.py +0 -0
  78. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_platform/registry.py +0 -0
  79. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_platform/tongyi.py +0 -0
  80. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_platform/yuanbao.py +0 -0
  81. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_platform_manager/__init__.py +0 -0
  82. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_platform_manager/service.py +0 -0
  83. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_rag/__init__.py +0 -0
  84. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_rag/cache.py +0 -0
  85. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_rag/cli.py +0 -0
  86. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_rag/embedding_manager.py +0 -0
  87. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_rag/llm_interface.py +0 -0
  88. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_rag/query_rewriter.py +0 -0
  89. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_rag/rag_pipeline.py +0 -0
  90. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_rag/reranker.py +0 -0
  91. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_rag/retriever.py +0 -0
  92. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_smart_shell/__init__.py +0 -0
  93. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_smart_shell/main.py +0 -0
  94. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_stats/__init__.py +0 -0
  95. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_stats/cli.py +0 -0
  96. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_stats/stats.py +0 -0
  97. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_stats/storage.py +0 -0
  98. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_stats/visualizer.py +0 -0
  99. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_tools/__init__.py +0 -0
  100. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_tools/ask_user.py +0 -0
  101. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_tools/base.py +0 -0
  102. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_tools/clear_memory.py +0 -0
  103. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_tools/cli/__init__.py +0 -0
  104. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_tools/cli/main.py +0 -0
  105. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_tools/edit_file.py +0 -0
  106. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_tools/execute_script.py +0 -0
  107. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_tools/file_analyzer.py +0 -0
  108. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_tools/generate_new_tool.py +0 -0
  109. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_tools/methodology.py +0 -0
  110. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_tools/read_code.py +0 -0
  111. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_tools/read_webpage.py +0 -0
  112. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_tools/registry.py +0 -0
  113. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_tools/retrieve_memory.py +0 -0
  114. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_tools/rewrite_file.py +0 -0
  115. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_tools/save_memory.py +0 -0
  116. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_tools/virtual_tty.py +0 -0
  117. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_utils/__init__.py +0 -0
  118. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_utils/builtin_replace_map.py +0 -0
  119. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_utils/clipboard.py +0 -0
  120. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_utils/embedding.py +0 -0
  121. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_utils/file_processors.py +0 -0
  122. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_utils/git_utils.py +0 -0
  123. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_utils/globals.py +0 -0
  124. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_utils/http.py +0 -0
  125. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_utils/input.py +0 -0
  126. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_utils/methodology.py +0 -0
  127. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_utils/output.py +0 -0
  128. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_utils/tag.py +0 -0
  129. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis/jarvis_utils/utils.py +0 -0
  130. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +0 -0
  131. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
  132. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis_ai_assistant.egg-info/entry_points.txt +0 -0
  133. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/src/jarvis_ai_assistant.egg-info/requires.txt +0 -0
  134. {jarvis_ai_assistant-0.3.9 → jarvis_ai_assistant-0.3.11}/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.3.9
3
+ Version: 0.3.11
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.3.9"
7
+ version = "0.3.11"
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" }]
@@ -106,7 +106,7 @@ jst = "jarvis.jarvis_stats.cli:main"
106
106
  index-strategy = "unsafe-first-match"
107
107
 
108
108
  [[tool.uv.index]]
109
- url = "https://artsz.zte.com.cn/artifactory/api/pypi/public-pypi-virtual/simple"
109
+ url = "https://mirrors.cloud.tencent.com/pypi/simple"
110
110
  default = true
111
111
 
112
112
  [[tool.uv.index]]
@@ -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.9",
6
+ version="0.3.11",
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.3.9"
4
+ __version__ = "0.3.11"
@@ -19,17 +19,17 @@ def run_cli(
19
19
  ctx: typer.Context,
20
20
  llm_type: str = typer.Option(
21
21
  "normal",
22
- "-t", "--llm_type",
22
+ "-t", "--llm-type",
23
23
  help="使用的LLM类型,可选值:'normal'(普通)或 'thinking'(思考模式)",
24
24
  ),
25
25
  task: Optional[str] = typer.Option(
26
26
  None, "-T", "--task", help="从命令行直接输入任务内容"
27
27
  ),
28
28
  model_group: Optional[str] = typer.Option(
29
- None, "-g", "--llm_group", help="使用的模型组,覆盖配置文件中的设置"
29
+ None, "-g", "--llm-group", help="使用的模型组,覆盖配置文件中的设置"
30
30
  ),
31
31
  tool_group: Optional[str] = typer.Option(
32
- None, "-G", "--tool_group", help="使用的工具组,覆盖配置文件中的设置"
32
+ None, "-G", "--tool-group", help="使用的工具组,覆盖配置文件中的设置"
33
33
  ),
34
34
  config_file: Optional[str] = typer.Option(
35
35
  None, "-f", "--config", help="自定义配置文件路径"
@@ -43,18 +43,18 @@ def cli(
43
43
  None, "-f", "--config", help="代理配置文件路径"
44
44
  ),
45
45
  agent_definition: Optional[str] = typer.Option(
46
- None, "-c", "--agent_definition", help="代理定义文件路径"
46
+ None, "-c", "--agent-definition", help="代理定义文件路径"
47
47
  ),
48
48
  task: Optional[str] = typer.Option(
49
49
  None, "-t", "--task", help="初始任务内容"
50
50
  ),
51
51
  llm_type: str = typer.Option(
52
52
  "normal",
53
- "-t", "--llm_type",
53
+ "-t", "--llm-type",
54
54
  help="使用的LLM类型,覆盖配置文件中的设置",
55
55
  ),
56
56
  model_group: Optional[str] = typer.Option(
57
- None, "-g", "--llm_group", help="使用的模型组,覆盖配置文件中的设置"
57
+ None, "-g", "--llm-group", help="使用的模型组,覆盖配置文件中的设置"
58
58
  ),):
59
59
  """Main entry point for Jarvis agent"""
60
60
  # Initialize environment
@@ -51,24 +51,31 @@ class CodeAgent:
51
51
  llm_type: str = "normal",
52
52
  model_group: Optional[str] = None,
53
53
  need_summary: bool = True,
54
+ append_tools: Optional[str] = None,
54
55
  ):
55
56
  self.root_dir = os.getcwd()
56
57
 
57
58
  # 检测 git username 和 email 是否已设置
58
59
  self._check_git_config()
59
60
  tool_registry = ToolRegistry() # type: ignore
60
- tool_registry.use_tools(
61
- [
62
- "execute_script",
63
- "search_web",
64
- "ask_user",
65
- "read_code",
66
- "rewrite_file",
67
- "save_memory",
68
- "retrieve_memory",
69
- "clear_memory",
70
- ]
71
- )
61
+ base_tools = [
62
+ "execute_script",
63
+ "search_web",
64
+ "ask_user",
65
+ "read_code",
66
+ "rewrite_file",
67
+ "save_memory",
68
+ "retrieve_memory",
69
+ "clear_memory",
70
+ ]
71
+
72
+ if append_tools:
73
+ additional_tools = [tool.strip() for tool in append_tools.split(",")]
74
+ base_tools.extend(additional_tools)
75
+ # 去重
76
+ base_tools = list(dict.fromkeys(base_tools))
77
+
78
+ tool_registry.use_tools(base_tools)
72
79
  code_system_prompt = self._get_system_prompt()
73
80
  self.agent = Agent(
74
81
  system_prompt=code_system_prompt,
@@ -639,15 +646,18 @@ def cli(
639
646
  llm_type: str = typer.Option(
640
647
  "normal",
641
648
  "-t",
642
- "--llm_type",
649
+ "--llm-type",
643
650
  help="使用的LLM类型,可选值:'normal'(普通)或 'thinking'(思考模式)",
644
651
  ),
645
652
  model_group: Optional[str] = typer.Option(
646
- None, "-g", "--llm_group", help="使用的模型组,覆盖配置文件中的设置"
653
+ None, "-g", "--llm-group", help="使用的模型组,覆盖配置文件中的设置"
647
654
  ),
648
655
  requirement: Optional[str] = typer.Option(
649
656
  None, "-r", "--requirement", help="要处理的需求描述"
650
657
  ),
658
+ append_tools: Optional[str] = typer.Option(
659
+ None, "--append-tools", help="要追加的工具列表,用逗号分隔"
660
+ ),
651
661
  restore_session: bool = typer.Option(
652
662
  False,
653
663
  "--restore-session",
@@ -698,6 +708,7 @@ def cli(
698
708
  llm_type=llm_type,
699
709
  model_group=model_group,
700
710
  need_summary=False,
711
+ append_tools=append_tools,
701
712
  )
702
713
 
703
714
  # 尝试恢复会话
@@ -826,11 +826,11 @@ def review_commit(
826
826
  llm_type: str = typer.Option(
827
827
  "normal",
828
828
  "-t",
829
- "--llm_type",
829
+ "--llm-type",
830
830
  help="使用的LLM类型,可选值:'normal'(普通)或 'thinking'(思考模式)",
831
831
  ),
832
832
  model_group: Optional[str] = typer.Option(
833
- None, "-g", "--llm_group", help="使用的模型组,覆盖配置文件中的设置"
833
+ None, "-g", "--llm-group", help="使用的模型组,覆盖配置文件中的设置"
834
834
  ),
835
835
  ):
836
836
  """审查指定的提交"""
@@ -857,11 +857,11 @@ def review_current(
857
857
  llm_type: str = typer.Option(
858
858
  "normal",
859
859
  "-t",
860
- "--llm_type",
860
+ "--llm-type",
861
861
  help="使用的LLM类型,可选值:'normal'(普通)或 'thinking'(思考模式)",
862
862
  ),
863
863
  model_group: Optional[str] = typer.Option(
864
- None, "-g", "--llm_group", help="使用的模型组,覆盖配置文件中的设置"
864
+ None, "-g", "--llm-group", help="使用的模型组,覆盖配置文件中的设置"
865
865
  ),
866
866
  ):
867
867
  """审查当前的变更"""
@@ -889,11 +889,11 @@ def review_range(
889
889
  llm_type: str = typer.Option(
890
890
  "normal",
891
891
  "-t",
892
- "--llm_type",
892
+ "--llm-type",
893
893
  help="使用的LLM类型,可选值:'normal'(普通)或 'thinking'(思考模式)",
894
894
  ),
895
895
  model_group: Optional[str] = typer.Option(
896
- None, "-g", "--llm_group", help="使用的模型组,覆盖配置文件中的设置"
896
+ None, "-g", "--llm-group", help="使用的模型组,覆盖配置文件中的设置"
897
897
  ),
898
898
  ):
899
899
  """审查提交范围"""
@@ -922,11 +922,11 @@ def review_file(
922
922
  llm_type: str = typer.Option(
923
923
  "normal",
924
924
  "-t",
925
- "--llm_type",
925
+ "--llm-type",
926
926
  help="使用的LLM类型,可选值:'normal'(普通)或 'thinking'(思考模式)",
927
927
  ),
928
928
  model_group: Optional[str] = typer.Option(
929
- None, "-g", "--llm_group", help="使用的模型组,覆盖配置文件中的设置"
929
+ None, "-g", "--llm-group", help="使用的模型组,覆盖配置文件中的设置"
930
930
  ),
931
931
  ):
932
932
  """审查指定的文件"""
@@ -136,6 +136,16 @@
136
136
  "description": "思考操作模型名称",
137
137
  "default": "deep_seek_v3"
138
138
  },
139
+ "JARVIS_WEB_SEARCH_PLATFORM": {
140
+ "type": "string",
141
+ "description": "Web搜索使用的平台名称",
142
+ "default": ""
143
+ },
144
+ "JARVIS_WEB_SEARCH_MODEL": {
145
+ "type": "string",
146
+ "description": "Web搜索使用的模型名称",
147
+ "default": ""
148
+ },
139
149
  "JARVIS_LLM_GROUP": {
140
150
  "type": "string",
141
151
  "description": "选择一个预定义的模型组",
@@ -389,11 +389,11 @@ def cli(
389
389
  llm_type: str = typer.Option(
390
390
  "normal",
391
391
  "-t",
392
- "--llm_type",
392
+ "--llm-type",
393
393
  help="使用的LLM类型,可选值:'normal'(普通)或 'thinking'(思考模式)",
394
394
  ),
395
395
  model_group: Optional[str] = typer.Option(
396
- None, "-g", "--llm_group", help="使用的模型组,覆盖配置文件中的设置"
396
+ None, "-g", "--llm-group", help="使用的模型组,覆盖配置文件中的设置"
397
397
  ),
398
398
  ):
399
399
  init_env("欢迎使用 Jarvis-GitCommitTool,您的Git提交助手已准备就绪!")
@@ -590,12 +590,12 @@ def organize(
590
590
  help="模拟运行,只显示将要进行的操作但不实际执行",
591
591
  ),
592
592
  llm_group: Optional[str] = typer.Option(
593
- None, "-g", "--llm_group", help="使用的模型组,覆盖配置文件中的设置"
593
+ None, "-g", "--llm-group", help="使用的模型组,覆盖配置文件中的设置"
594
594
  ),
595
595
  llm_type: Optional[str] = typer.Option(
596
596
  "normal",
597
597
  "-t",
598
- "--llm_type",
598
+ "--llm-type",
599
599
  help="使用的LLM类型,可选值:'normal'(普通)或 'thinking'(思考模式)",
600
600
  ),
601
601
  ):
@@ -363,11 +363,11 @@ def chat_command(
363
363
  llm_type: str = typer.Option(
364
364
  "normal",
365
365
  "-t",
366
- "--llm_type",
366
+ "--llm-type",
367
367
  help="使用的LLM类型,可选值:'normal'(普通)或 'thinking'(思考模式)",
368
368
  ),
369
369
  llm_group: Optional[str] = typer.Option(
370
- None, "-g", "--llm_group", help="使用的模型组,覆盖配置文件中的设置"
370
+ None, "-g", "--llm-group", help="使用的模型组,覆盖配置文件中的设置"
371
371
  ),
372
372
  ) -> None:
373
373
  """与指定平台和模型聊天。"""
@@ -447,11 +447,11 @@ def role_command(
447
447
  llm_type: Optional[str] = typer.Option(
448
448
  None,
449
449
  "-t",
450
- "--llm_type",
450
+ "--llm-type",
451
451
  help="使用的LLM类型,可选值:'normal'(普通)或 'thinking'(思考模式),覆盖角色配置",
452
452
  ),
453
453
  llm_group: Optional[str] = typer.Option(
454
- None, "-g", "--llm_group", help="使用的模型组,覆盖配置文件中的设置"
454
+ None, "-g", "--llm-group", help="使用的模型组,覆盖配置文件中的设置"
455
455
  ),
456
456
  ) -> None:
457
457
  """加载角色配置文件并开始对话。"""
@@ -12,6 +12,10 @@ from ddgs import DDGS # type: ignore[import-not-found]
12
12
 
13
13
  from jarvis.jarvis_agent import Agent
14
14
  from jarvis.jarvis_platform.registry import PlatformRegistry
15
+ from jarvis.jarvis_utils.config import (
16
+ get_web_search_platform_name,
17
+ get_web_search_model_name,
18
+ )
15
19
  from jarvis.jarvis_utils.http import get as http_get
16
20
  from jarvis.jarvis_utils.output import OutputType, PrettyOutput
17
21
 
@@ -136,6 +140,25 @@ class SearchWebTool:
136
140
  "success": False,
137
141
  }
138
142
 
143
+ # 检查是否配置了专门的 Web 搜索平台和模型
144
+ web_search_platform = get_web_search_platform_name()
145
+ web_search_model = get_web_search_model_name()
146
+
147
+ # 如果配置了专门的 Web 搜索平台和模型,优先使用
148
+ if web_search_platform and web_search_model:
149
+ model = PlatformRegistry().create_platform(web_search_platform)
150
+ if model:
151
+ model.set_model_name(web_search_model)
152
+ if model.support_web():
153
+ model.set_web(True)
154
+ model.set_suppress_output(False)
155
+ return {
156
+ "stdout": model.chat_until_success(query),
157
+ "stderr": "",
158
+ "success": True,
159
+ }
160
+
161
+ # 否则使用现有的模型选择流程
139
162
  if agent.model.support_web():
140
163
  model = PlatformRegistry().create_platform(agent.model.platform_name())
141
164
  if not model:
@@ -499,6 +499,31 @@ def get_rag_use_rerank() -> bool:
499
499
  return config.get("use_rerank", True) is True
500
500
 
501
501
 
502
+ # ==============================================================================
503
+ # Web Search Configuration
504
+ # ==============================================================================
505
+
506
+
507
+ def get_web_search_platform_name() -> Optional[str]:
508
+ """
509
+ 获取Web搜索使用的平台名称。
510
+
511
+ 返回:
512
+ Optional[str]: 平台名称,如果未配置则返回None
513
+ """
514
+ return GLOBAL_CONFIG_DATA.get("JARVIS_WEB_SEARCH_PLATFORM")
515
+
516
+
517
+ def get_web_search_model_name() -> Optional[str]:
518
+ """
519
+ 获取Web搜索使用的模型名称。
520
+
521
+ 返回:
522
+ Optional[str]: 模型名称,如果未配置则返回None
523
+ """
524
+ return GLOBAL_CONFIG_DATA.get("JARVIS_WEB_SEARCH_MODEL")
525
+
526
+
502
527
  # ==============================================================================
503
528
  # Tool Configuration
504
529
  # ==============================================================================
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jarvis-ai-assistant
3
- Version: 0.3.9
3
+ Version: 0.3.11
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