jarvis-ai-assistant 0.1.221__tar.gz → 0.1.222__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 (117) hide show
  1. {jarvis_ai_assistant-0.1.221/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.1.222}/PKG-INFO +11 -9
  2. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/README.md +10 -8
  3. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/pyproject.toml +10 -1
  4. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/setup.py +11 -2
  5. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/__init__.py +1 -1
  6. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_agent/__init__.py +24 -20
  7. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_agent/jarvis.py +14 -9
  8. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_agent/main.py +13 -6
  9. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_agent/code_agent.py +10 -19
  10. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_analysis/code_review.py +1 -1
  11. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_data/config_schema.json +5 -0
  12. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_git_details/main.py +1 -1
  13. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_platform/kimi.py +4 -2
  14. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_utils/config.py +10 -0
  15. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222/src/jarvis_ai_assistant.egg-info}/PKG-INFO +11 -9
  16. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis_ai_assistant.egg-info/entry_points.txt +9 -0
  17. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/LICENSE +0 -0
  18. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/MANIFEST.in +0 -0
  19. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/setup.cfg +0 -0
  20. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_agent/builtin_input_handler.py +0 -0
  21. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_agent/edit_file_handler.py +0 -0
  22. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_agent/output_handler.py +0 -0
  23. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_agent/prompt_builder.py +0 -0
  24. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_agent/prompts.py +0 -0
  25. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_agent/protocols.py +0 -0
  26. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_agent/session_manager.py +0 -0
  27. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_agent/shell_input_handler.py +0 -0
  28. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_agent/tool_executor.py +0 -0
  29. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_agent/__init__.py +0 -0
  30. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_agent/lint.py +0 -0
  31. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_analysis/checklists/__init__.py +0 -0
  32. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_analysis/checklists/c_cpp.py +0 -0
  33. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_analysis/checklists/csharp.py +0 -0
  34. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_analysis/checklists/data_format.py +0 -0
  35. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_analysis/checklists/devops.py +0 -0
  36. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_analysis/checklists/docs.py +0 -0
  37. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_analysis/checklists/go.py +0 -0
  38. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_analysis/checklists/infrastructure.py +0 -0
  39. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_analysis/checklists/java.py +0 -0
  40. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_analysis/checklists/javascript.py +0 -0
  41. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_analysis/checklists/kotlin.py +0 -0
  42. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_analysis/checklists/loader.py +0 -0
  43. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_analysis/checklists/php.py +0 -0
  44. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_analysis/checklists/python.py +0 -0
  45. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_analysis/checklists/ruby.py +0 -0
  46. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_analysis/checklists/rust.py +0 -0
  47. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_analysis/checklists/shell.py +0 -0
  48. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_analysis/checklists/sql.py +0 -0
  49. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_analysis/checklists/swift.py +0 -0
  50. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_code_analysis/checklists/web.py +0 -0
  51. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_data/tiktoken/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 +0 -0
  52. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_git_details/__init__.py +0 -0
  53. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_git_squash/__init__.py +0 -0
  54. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_git_squash/main.py +0 -0
  55. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_git_utils/git_commiter.py +0 -0
  56. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_mcp/__init__.py +0 -0
  57. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_mcp/sse_mcp_client.py +0 -0
  58. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_mcp/stdio_mcp_client.py +0 -0
  59. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_mcp/streamable_mcp_client.py +0 -0
  60. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_methodology/main.py +0 -0
  61. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_multi_agent/__init__.py +0 -0
  62. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_multi_agent/main.py +0 -0
  63. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_platform/__init__.py +0 -0
  64. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_platform/ai8.py +0 -0
  65. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_platform/base.py +0 -0
  66. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_platform/human.py +0 -0
  67. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_platform/openai.py +0 -0
  68. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_platform/oyi.py +0 -0
  69. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_platform/registry.py +0 -0
  70. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_platform/tongyi.py +0 -0
  71. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_platform/yuanbao.py +0 -0
  72. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_platform_manager/__init__.py +0 -0
  73. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_platform_manager/main.py +0 -0
  74. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_platform_manager/service.py +0 -0
  75. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_rag/__init__.py +0 -0
  76. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_rag/cache.py +0 -0
  77. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_rag/cli.py +0 -0
  78. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_rag/embedding_manager.py +0 -0
  79. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_rag/llm_interface.py +0 -0
  80. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_rag/query_rewriter.py +0 -0
  81. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_rag/rag_pipeline.py +0 -0
  82. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_rag/reranker.py +0 -0
  83. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_rag/retriever.py +0 -0
  84. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_smart_shell/__init__.py +0 -0
  85. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_smart_shell/main.py +0 -0
  86. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_tools/__init__.py +0 -0
  87. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_tools/ask_user.py +0 -0
  88. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_tools/base.py +0 -0
  89. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_tools/cli/__init__.py +0 -0
  90. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_tools/cli/main.py +0 -0
  91. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_tools/edit_file.py +0 -0
  92. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_tools/execute_script.py +0 -0
  93. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_tools/file_analyzer.py +0 -0
  94. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_tools/generate_new_tool.py +0 -0
  95. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_tools/methodology.py +0 -0
  96. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_tools/read_code.py +0 -0
  97. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_tools/read_webpage.py +0 -0
  98. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_tools/registry.py +0 -0
  99. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_tools/rewrite_file.py +0 -0
  100. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_tools/search_web.py +0 -0
  101. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_tools/virtual_tty.py +0 -0
  102. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_utils/__init__.py +0 -0
  103. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_utils/builtin_replace_map.py +0 -0
  104. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_utils/embedding.py +0 -0
  105. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_utils/file_processors.py +0 -0
  106. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_utils/git_utils.py +0 -0
  107. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_utils/globals.py +0 -0
  108. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_utils/http.py +0 -0
  109. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_utils/input.py +0 -0
  110. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_utils/methodology.py +0 -0
  111. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_utils/output.py +0 -0
  112. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_utils/tag.py +0 -0
  113. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis/jarvis_utils/utils.py +0 -0
  114. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +0 -0
  115. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
  116. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/src/jarvis_ai_assistant.egg-info/requires.txt +0 -0
  117. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.222}/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.221
3
+ Version: 0.1.222
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
@@ -117,18 +117,19 @@ pip3 install jarvis-ai-assistant
117
117
  ### 基本使用
118
118
  | 命令 | 快捷方式 | 功能描述 |
119
119
  |------|----------|----------|
120
- | `jarvis` | - | 使用通用代理 |
120
+ | `jarvis` | `jvs` | 使用通用代理 |
121
121
  | `jarvis-code-agent` | `jca` | 使用代码代理 |
122
122
  | `jarvis-smart-shell` | `jss` | 使用智能shell功能 |
123
123
  | `jarvis-platform-manager` | `jpm` | 使用平台管理功能 |
124
- | `jarvis-code-review` | - | 使用代码审查功能 |
124
+ | `jarvis-code-review` | `jcr` | 使用代码审查功能 |
125
125
  | `jarvis-git-commit` | `jgc` | 使用自动化git commit功能 |
126
- | `jarvis-git-squash` | - | 使用git squash功能 |
127
- | `jarvis-multi-agent` | - | 使用多代理功能 |
128
- | `jarvis-agent` | - | 使用agent功能 |
129
- | `jarvis-tool` | - | 使用工具功能 |
130
- | `jarvis-git-details` | - | 使用git details功能 |
131
- | `jarvis-methodology` | - | 使用方法论功能 |
126
+ | `jarvis-git-squash` | `jgs` | 使用git squash功能 |
127
+ | `jarvis-multi-agent` | `jma` | 使用多代理功能 |
128
+ | `jarvis-agent` | `ja` | 使用agent功能 |
129
+ | `jarvis-tool` | `jt` | 使用工具功能 |
130
+ | `jarvis-git-details` | `jgd` | 使用git details功能 |
131
+ | `jarvis-methodology` | `jm` | 使用方法论功能 |
132
+ | `jarvis-rag` | `jrg` | 使用RAG功能 |
132
133
 
133
134
  ### Jarvis功能 (jarvis)
134
135
 
@@ -546,6 +547,7 @@ OPENAI_API_BASE: https://api.openai.com/v1
546
547
  | `JARVIS_PRINT_PROMPT` | false | 是否打印提示 |
547
548
  | `JARVIS_USE_METHODOLOGY` | true | 是否启用方法论功能 |
548
549
  | `JARVIS_USE_ANALYSIS` | true | 是否启用任务分析功能 |
550
+ | `JARVIS_ENABLE_STATIC_ANALYSIS` | true | 是否启用静态代码分析 |
549
551
  | `JARVIS_DATA_PATH` | ~/.jarvis | Jarvis数据存储目录路径 |
550
552
  | `JARVIS_RAG` | `{"embedding_model": "BAAI/bge-base-zh-v1.5"}` | RAG框架的配置 |
551
553
 
@@ -33,18 +33,19 @@ pip3 install jarvis-ai-assistant
33
33
  ### 基本使用
34
34
  | 命令 | 快捷方式 | 功能描述 |
35
35
  |------|----------|----------|
36
- | `jarvis` | - | 使用通用代理 |
36
+ | `jarvis` | `jvs` | 使用通用代理 |
37
37
  | `jarvis-code-agent` | `jca` | 使用代码代理 |
38
38
  | `jarvis-smart-shell` | `jss` | 使用智能shell功能 |
39
39
  | `jarvis-platform-manager` | `jpm` | 使用平台管理功能 |
40
- | `jarvis-code-review` | - | 使用代码审查功能 |
40
+ | `jarvis-code-review` | `jcr` | 使用代码审查功能 |
41
41
  | `jarvis-git-commit` | `jgc` | 使用自动化git commit功能 |
42
- | `jarvis-git-squash` | - | 使用git squash功能 |
43
- | `jarvis-multi-agent` | - | 使用多代理功能 |
44
- | `jarvis-agent` | - | 使用agent功能 |
45
- | `jarvis-tool` | - | 使用工具功能 |
46
- | `jarvis-git-details` | - | 使用git details功能 |
47
- | `jarvis-methodology` | - | 使用方法论功能 |
42
+ | `jarvis-git-squash` | `jgs` | 使用git squash功能 |
43
+ | `jarvis-multi-agent` | `jma` | 使用多代理功能 |
44
+ | `jarvis-agent` | `ja` | 使用agent功能 |
45
+ | `jarvis-tool` | `jt` | 使用工具功能 |
46
+ | `jarvis-git-details` | `jgd` | 使用git details功能 |
47
+ | `jarvis-methodology` | `jm` | 使用方法论功能 |
48
+ | `jarvis-rag` | `jrg` | 使用RAG功能 |
48
49
 
49
50
  ### Jarvis功能 (jarvis)
50
51
 
@@ -462,6 +463,7 @@ OPENAI_API_BASE: https://api.openai.com/v1
462
463
  | `JARVIS_PRINT_PROMPT` | false | 是否打印提示 |
463
464
  | `JARVIS_USE_METHODOLOGY` | true | 是否启用方法论功能 |
464
465
  | `JARVIS_USE_ANALYSIS` | true | 是否启用任务分析功能 |
466
+ | `JARVIS_ENABLE_STATIC_ANALYSIS` | true | 是否启用静态代码分析 |
465
467
  | `JARVIS_DATA_PATH` | ~/.jarvis | Jarvis数据存储目录路径 |
466
468
  | `JARVIS_RAG` | `{"embedding_model": "BAAI/bge-base-zh-v1.5"}` | RAG框架的配置 |
467
469
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "jarvis-ai-assistant"
7
- version = "0.1.221"
7
+ version = "0.1.222"
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" }]
@@ -64,6 +64,7 @@ Homepage = "https://github.com/skyfireitdiy/Jarvis"
64
64
 
65
65
  [project.scripts]
66
66
  jarvis = "jarvis.jarvis_agent.jarvis:main"
67
+ jvs = "jarvis.jarvis_agent.jarvis:main"
67
68
  jarvis-code-agent = "jarvis.jarvis_code_agent.code_agent:main"
68
69
  jca = "jarvis.jarvis_code_agent.code_agent:main"
69
70
  jarvis-smart-shell = "jarvis.jarvis_smart_shell.main:main"
@@ -72,11 +73,19 @@ jarvis-platform-manager = "jarvis.jarvis_platform_manager.main:main"
72
73
  jpm = "jarvis.jarvis_platform_manager.main:main"
73
74
  jarvis-git-commit = "jarvis.jarvis_git_utils.git_commiter:main"
74
75
  jarvis-code-review = "jarvis.jarvis_code_analysis.code_review:main"
76
+ jcr = "jarvis.jarvis_code_analysis.code_review:main"
75
77
  jgc = "jarvis.jarvis_git_utils.git_commiter:main"
76
78
  jarvis-git-squash = "jarvis.jarvis_git_squash.main:main"
79
+ jgs = "jarvis.jarvis_git_squash.main:main"
77
80
  jarvis-multi-agent = "jarvis.jarvis_multi_agent.main:main"
81
+ jma = "jarvis.jarvis_multi_agent.main:main"
78
82
  jarvis-agent = "jarvis.jarvis_agent.main:main"
83
+ ja = "jarvis.jarvis_agent.main:main"
79
84
  jarvis-tool = "jarvis.jarvis_tools.cli.main:main"
85
+ jt = "jarvis.jarvis_tools.cli.main:main"
80
86
  jarvis-git-details = "jarvis.jarvis_git_details.main:main"
87
+ jgd = "jarvis.jarvis_git_details.main:main"
81
88
  jarvis-methodology = "jarvis.jarvis_methodology.main:main"
89
+ jm = "jarvis.jarvis_methodology.main:main"
82
90
  jarvis-rag = "jarvis.jarvis_rag.cli:main"
91
+ jrg = "jarvis.jarvis_rag.cli:main"
@@ -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.1.221",
6
+ version="0.1.222",
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",
@@ -55,22 +55,31 @@ setup(
55
55
  entry_points={
56
56
  "console_scripts": [
57
57
  "jarvis=jarvis.jarvis_agent.jarvis:main",
58
+ "jvs=jarvis.jarvis_agent.jarvis:main",
58
59
  "jarvis-code-agent=jarvis.jarvis_code_agent.code_agent:main",
59
60
  "jca=jarvis.jarvis_code_agent.code_agent:main",
60
61
  "jarvis-smart-shell=jarvis.jarvis_smart_shell.main:main",
61
62
  "jss=jarvis.jarvis_smart_shell.main:main",
62
63
  "jarvis-platform-manager=jarvis.jarvis_platform_manager.main:main",
63
64
  "jpm=jarvis.jarvis_platform_manager.main:main",
64
- "jarvis-code-review=jarvis.jarvis_code_analysis.code_review:main",
65
65
  "jarvis-git-commit=jarvis.jarvis_git_utils.git_commiter:main",
66
66
  "jgc=jarvis.jarvis_git_utils.git_commiter:main",
67
+ "jarvis-code-review=jarvis.jarvis_code_analysis.code_review:main",
68
+ "jcr=jarvis.jarvis_code_analysis.code_review:main",
67
69
  "jarvis-git-squash=jarvis.jarvis_git_squash.main:main",
70
+ "jgs=jarvis.jarvis_git_squash.main:main",
68
71
  "jarvis-multi-agent=jarvis.jarvis_multi_agent.main:main",
72
+ "jma=jarvis.jarvis_multi_agent.main:main",
69
73
  "jarvis-agent=jarvis.jarvis_agent.main:main",
74
+ "ja=jarvis.jarvis_agent.main:main",
70
75
  "jarvis-tool=jarvis.jarvis_tools.cli.main:main",
76
+ "jt=jarvis.jarvis_tools.cli.main:main",
71
77
  "jarvis-git-details=jarvis.jarvis_git_details.main:main",
78
+ "jgd=jarvis.jarvis_git_details.main:main",
72
79
  "jarvis-methodology=jarvis.jarvis_methodology.main:main",
80
+ "jm=jarvis.jarvis_methodology.main:main",
73
81
  "jarvis-rag=jarvis.jarvis_rag.cli:main",
82
+ "jrg=jarvis.jarvis_rag.cli:main",
74
83
  ],
75
84
  },
76
85
  python_requires=">=3.9",
@@ -1,4 +1,4 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """Jarvis AI Assistant"""
3
3
 
4
- __version__ = "0.1.221"
4
+ __version__ = "0.1.222"
@@ -26,6 +26,10 @@ from jarvis.jarvis_platform.registry import PlatformRegistry
26
26
  # jarvis_utils 相关
27
27
  from jarvis.jarvis_utils.config import (
28
28
  get_max_token_count,
29
+ get_normal_model_name,
30
+ get_normal_platform_name,
31
+ get_thinking_model_name,
32
+ get_thinking_platform_name,
29
33
  is_execute_tool_confirm,
30
34
  is_use_analysis,
31
35
  is_use_methodology,
@@ -93,8 +97,7 @@ class Agent:
93
97
  system_prompt: str,
94
98
  name: str = "Jarvis",
95
99
  description: str = "",
96
- platform: Union[Optional[BasePlatform], Optional[str]] = None,
97
- model_name: Optional[str] = None,
100
+ llm_type: str = "normal",
98
101
  summary_prompt: Optional[str] = None,
99
102
  auto_complete: bool = False,
100
103
  output_handler: List[OutputHandlerProtocol] = [],
@@ -114,8 +117,7 @@ class Agent:
114
117
  system_prompt: 系统提示词,定义Agent的行为准则
115
118
  name: Agent名称,默认为"Jarvis"
116
119
  description: Agent描述信息
117
- platform: 平台实例或平台名称字符串
118
- model_name: 使用的模型名称
120
+ llm_type: LLM类型,可以是 'normal' 或 'thinking'
119
121
  summary_prompt: 任务总结提示模板
120
122
  auto_complete: 是否自动完成任务
121
123
  output_handler: 输出处理器列表
@@ -130,22 +132,21 @@ class Agent:
130
132
  self.name = make_agent_name(name)
131
133
  self.description = description
132
134
  # 初始化平台和模型
133
- if platform is not None:
134
- if isinstance(platform, str):
135
- self.model = PlatformRegistry().create_platform(platform)
136
- if self.model is None:
137
- PrettyOutput.print(
138
- f"平台 {platform} 不存在,将使用普通模型", OutputType.WARNING
139
- )
140
- self.model = PlatformRegistry().get_normal_platform()
141
- else:
142
- self.model = platform
143
- else:
144
- self.model = (
145
- PlatformRegistry.get_global_platform_registry().get_normal_platform()
135
+ if llm_type == "thinking":
136
+ platform_name = get_thinking_platform_name()
137
+ model_name = get_thinking_model_name()
138
+ else: # 默认为 normal
139
+ platform_name = get_normal_platform_name()
140
+ model_name = get_normal_model_name()
141
+
142
+ self.model = PlatformRegistry().create_platform(platform_name)
143
+ if self.model is None:
144
+ PrettyOutput.print(
145
+ f"平台 {platform_name} 不存在,将使用普通模型", OutputType.WARNING
146
146
  )
147
+ self.model = PlatformRegistry().get_normal_platform()
147
148
 
148
- if model_name is not None:
149
+ if model_name:
149
150
  self.model.set_model_name(model_name)
150
151
 
151
152
  self.user_data: Dict[str, Any] = {}
@@ -198,7 +199,7 @@ class Agent:
198
199
 
199
200
  PrettyOutput.print(welcome_message, OutputType.SYSTEM)
200
201
 
201
- action_prompt = build_action_prompt(self.output_handler) # type: ignore
202
+ action_prompt = build_action_prompt(self.output_handler) # type: ignore
202
203
 
203
204
  self.model.set_system_prompt(
204
205
  f"""
@@ -245,7 +246,10 @@ class Agent:
245
246
 
246
247
  def restore_session(self) -> bool:
247
248
  """Restores the session state by delegating to the session manager."""
248
- return self.session.restore_session()
249
+ if self.session.restore_session():
250
+ self.first = False
251
+ return True
252
+ return False
249
253
 
250
254
  def get_tool_registry(self) -> Optional[Any]:
251
255
  """获取工具注册表实例"""
@@ -109,8 +109,13 @@ def _select_task(tasks: Dict[str, str]) -> str:
109
109
  def main() -> None:
110
110
 
111
111
  parser = argparse.ArgumentParser(description="Jarvis AI assistant")
112
- parser.add_argument("-p", "--platform", type=str, help="Platform to use")
113
- parser.add_argument("-m", "--model", type=str, help="Model to use")
112
+ parser.add_argument(
113
+ "--llm_type",
114
+ type=str,
115
+ default="normal",
116
+ choices=["normal", "thinking"],
117
+ help="LLM type to use",
118
+ )
114
119
  parser.add_argument(
115
120
  "-t",
116
121
  "--task",
@@ -132,8 +137,7 @@ def main() -> None:
132
137
  try:
133
138
  agent = Agent(
134
139
  system_prompt=origin_agent_system_prompt,
135
- platform=args.platform,
136
- model_name=args.model,
140
+ llm_type=args.llm_type,
137
141
  input_handler=[shell_input_handler, builtin_input_handler],
138
142
  output_handler=[ToolRegistry()],
139
143
  need_summary=False,
@@ -151,11 +155,12 @@ def main() -> None:
151
155
  agent.run(args.task)
152
156
  sys.exit(0)
153
157
 
154
- tasks = _load_tasks()
155
- if tasks and (selected_task := _select_task(tasks)):
156
- PrettyOutput.print(f"开始执行任务: \n{selected_task}", OutputType.INFO)
157
- agent.run(selected_task)
158
- sys.exit(0)
158
+ if agent.first:
159
+ tasks = _load_tasks()
160
+ if tasks and (selected_task := _select_task(tasks)):
161
+ PrettyOutput.print(f"开始执行任务: \n{selected_task}", OutputType.INFO)
162
+ agent.run(selected_task)
163
+ sys.exit(0)
159
164
 
160
165
  user_input = get_multiline_input("请输入你的任务(输入空行退出):")
161
166
  if user_input:
@@ -20,9 +20,7 @@ def load_config(config_path: str) -> dict:
20
20
  dict: 配置字典
21
21
  """
22
22
  if not os.path.exists(config_path):
23
- PrettyOutput.print(
24
- f"配置文件 {config_path} 不存在,使用默认配置", OutputType.WARNING
25
- )
23
+ PrettyOutput.print(f"配置文件 {config_path} 不存在,使用默认配置", OutputType.WARNING)
26
24
  return {}
27
25
 
28
26
  with open(config_path, "r", encoding="utf-8", errors="ignore") as f:
@@ -45,16 +43,25 @@ def main():
45
43
  "-c", "--agent_definition", type=str, help="Path to agent definition file"
46
44
  )
47
45
  parser.add_argument("-t", "--task", type=str, help="Initial task to execute")
46
+ parser.add_argument(
47
+ "--llm_type",
48
+ type=str,
49
+ default="normal",
50
+ choices=["normal", "thinking"],
51
+ help="LLM type to use, overriding config",
52
+ )
48
53
  args = parser.parse_args()
49
54
 
50
55
  # Initialize environment
51
- init_env(
52
- "欢迎使用 Jarvis AI 助手,您的智能助理已准备就绪!", config_file=args.config
53
- )
56
+ init_env("欢迎使用 Jarvis AI 助手,您的智能助理已准备就绪!", config_file=args.config)
54
57
 
55
58
  # Load configuration
56
59
  config = load_config(args.agent_definition) if args.agent_definition else {}
57
60
 
61
+ # Override config with command-line arguments if provided
62
+ if args.llm_type:
63
+ config["llm_type"] = args.llm_type
64
+
58
65
  # Create and run agent
59
66
  try:
60
67
  agent = Agent(**config)
@@ -18,7 +18,7 @@ from jarvis.jarvis_code_agent.lint import get_lint_tools
18
18
  from jarvis.jarvis_git_utils.git_commiter import GitCommitTool
19
19
  from jarvis.jarvis_platform.registry import PlatformRegistry
20
20
  from jarvis.jarvis_tools.registry import ToolRegistry
21
- from jarvis.jarvis_utils.config import is_confirm_before_apply_patch
21
+ from jarvis.jarvis_utils.config import is_confirm_before_apply_patch, is_enable_static_analysis
22
22
  from jarvis.jarvis_utils.git_utils import (
23
23
  confirm_add_new_files,
24
24
  find_git_root_and_cd,
@@ -43,8 +43,7 @@ class CodeAgent:
43
43
 
44
44
  def __init__(
45
45
  self,
46
- platform: Optional[str] = None,
47
- model: Optional[str] = None,
46
+ llm_type: str = "normal",
48
47
  need_summary: bool = True,
49
48
  ):
50
49
  self.root_dir = os.getcwd()
@@ -113,21 +112,12 @@ class CodeAgent:
113
112
  10. 我不订阅闲 AI
114
113
  </say_to_llm>
115
114
  """
116
- # 处理platform参数
117
- platform_instance = (
118
- PlatformRegistry().create_platform(platform) # type: ignore
119
- if platform
120
- else PlatformRegistry().get_normal_platform()
121
- ) # type: ignore
122
- if model:
123
- platform_instance.set_model_name(model) # type: ignore
124
-
125
115
  self.agent = Agent(
126
116
  system_prompt=code_system_prompt,
127
117
  name="CodeAgent",
128
118
  auto_complete=False,
129
119
  output_handler=[tool_registry, EditFileHandler()],
130
- platform=platform_instance,
120
+ llm_type=llm_type,
131
121
  input_handler=[shell_input_handler, builtin_input_handler],
132
122
  need_summary=need_summary,
133
123
  use_methodology=False, # 禁用方法论
@@ -374,7 +364,7 @@ class CodeAgent:
374
364
  if lint_tools_info
375
365
  else ""
376
366
  )
377
- if lint_tools_info:
367
+ if lint_tools_info and is_enable_static_analysis():
378
368
  addon_prompt = f"""
379
369
  请对以下修改的文件进行静态扫描:
380
370
  {file_list}
@@ -413,10 +403,11 @@ def main() -> None:
413
403
 
414
404
  parser = argparse.ArgumentParser(description="Jarvis Code Agent")
415
405
  parser.add_argument(
416
- "-p", "--platform", type=str, help="Target platform name", default=None
417
- )
418
- parser.add_argument(
419
- "-m", "--model", type=str, help="Model name to use", default=None
406
+ "--llm_type",
407
+ type=str,
408
+ default="normal",
409
+ choices=["normal", "thinking"],
410
+ help="LLM type to use",
420
411
  )
421
412
  parser.add_argument(
422
413
  "-r", "--requirement", type=str, help="Requirement to process", default=None
@@ -434,7 +425,7 @@ def main() -> None:
434
425
  PrettyOutput.print(f"当前目录: {git_dir}", OutputType.INFO)
435
426
 
436
427
  try:
437
- agent = CodeAgent(platform=args.platform, model=args.model, need_summary=False)
428
+ agent = CodeAgent(llm_type=args.llm_type, need_summary=False)
438
429
 
439
430
  # 尝试恢复会话
440
431
  if args.restore_session:
@@ -638,7 +638,7 @@ class CodeReviewTool:
638
638
  [在此处插入完整MARKDOWN格式的审查报告]
639
639
  {ct("REPORT")}""",
640
640
  output_handler=[tool_registry],
641
- platform=PlatformRegistry().get_thinking_platform(),
641
+ llm_type="thinking",
642
642
  auto_complete=False,
643
643
  )
644
644
 
@@ -181,6 +181,11 @@
181
181
  "description": "是否打印提示",
182
182
  "default": false
183
183
  },
184
+ "JARVIS_ENABLE_STATIC_ANALYSIS": {
185
+ "type": "boolean",
186
+ "description": "是否启用静态代码分析",
187
+ "default": true
188
+ },
184
189
  "JARVIS_RAG": {
185
190
  "type": "object",
186
191
  "description": "RAG框架的配置",
@@ -199,7 +199,7 @@ class GitCommitAnalyzer:
199
199
  [检查代码是否符合行业最佳实践和项目规范]
200
200
  {ct("REPORT")}""",
201
201
  output_handler=[tool_registry],
202
- platform=PlatformRegistry().get_normal_platform(),
202
+ llm_type="normal",
203
203
  auto_complete=True,
204
204
  )
205
205
 
@@ -26,6 +26,7 @@ class KimiModel(BasePlatform):
26
26
  return [
27
27
  ("kimi", "基于网页的 Kimi,免费接口"),
28
28
  ("k1", "基于网页的 Kimi,深度思考模型"),
29
+ ("k2", "基于网页的 Kimi,深度思考模型 K2"),
29
30
  ]
30
31
 
31
32
  def __init__(self):
@@ -278,8 +279,9 @@ class KimiModel(BasePlatform):
278
279
  "use_search": True if self.web else False,
279
280
  "extend": {"sidebar": True},
280
281
  "kimiplus_id": "kimi",
281
- "use_research": False,
282
- "use_math": False,
282
+ "use_deep_research": False,
283
+ "use_semantic_memory": True,
284
+ "history": [],
283
285
  "refs": refs,
284
286
  "refs_file": refs_file,
285
287
  "model": self.model_name,
@@ -241,6 +241,16 @@ def is_print_prompt() -> bool:
241
241
  return GLOBAL_CONFIG_DATA.get("JARVIS_PRINT_PROMPT", False) == True
242
242
 
243
243
 
244
+ def is_enable_static_analysis() -> bool:
245
+ """
246
+ 获取是否启用静态代码分析。
247
+
248
+ 返回:
249
+ bool: 如果启用静态代码分析则返回True,默认为True
250
+ """
251
+ return GLOBAL_CONFIG_DATA.get("JARVIS_ENABLE_STATIC_ANALYSIS", True) is True
252
+
253
+
244
254
  def get_mcp_config() -> List[Dict[str, Any]]:
245
255
  """
246
256
  获取MCP配置列表。
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jarvis-ai-assistant
3
- Version: 0.1.221
3
+ Version: 0.1.222
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
@@ -117,18 +117,19 @@ pip3 install jarvis-ai-assistant
117
117
  ### 基本使用
118
118
  | 命令 | 快捷方式 | 功能描述 |
119
119
  |------|----------|----------|
120
- | `jarvis` | - | 使用通用代理 |
120
+ | `jarvis` | `jvs` | 使用通用代理 |
121
121
  | `jarvis-code-agent` | `jca` | 使用代码代理 |
122
122
  | `jarvis-smart-shell` | `jss` | 使用智能shell功能 |
123
123
  | `jarvis-platform-manager` | `jpm` | 使用平台管理功能 |
124
- | `jarvis-code-review` | - | 使用代码审查功能 |
124
+ | `jarvis-code-review` | `jcr` | 使用代码审查功能 |
125
125
  | `jarvis-git-commit` | `jgc` | 使用自动化git commit功能 |
126
- | `jarvis-git-squash` | - | 使用git squash功能 |
127
- | `jarvis-multi-agent` | - | 使用多代理功能 |
128
- | `jarvis-agent` | - | 使用agent功能 |
129
- | `jarvis-tool` | - | 使用工具功能 |
130
- | `jarvis-git-details` | - | 使用git details功能 |
131
- | `jarvis-methodology` | - | 使用方法论功能 |
126
+ | `jarvis-git-squash` | `jgs` | 使用git squash功能 |
127
+ | `jarvis-multi-agent` | `jma` | 使用多代理功能 |
128
+ | `jarvis-agent` | `ja` | 使用agent功能 |
129
+ | `jarvis-tool` | `jt` | 使用工具功能 |
130
+ | `jarvis-git-details` | `jgd` | 使用git details功能 |
131
+ | `jarvis-methodology` | `jm` | 使用方法论功能 |
132
+ | `jarvis-rag` | `jrg` | 使用RAG功能 |
132
133
 
133
134
  ### Jarvis功能 (jarvis)
134
135
 
@@ -546,6 +547,7 @@ OPENAI_API_BASE: https://api.openai.com/v1
546
547
  | `JARVIS_PRINT_PROMPT` | false | 是否打印提示 |
547
548
  | `JARVIS_USE_METHODOLOGY` | true | 是否启用方法论功能 |
548
549
  | `JARVIS_USE_ANALYSIS` | true | 是否启用任务分析功能 |
550
+ | `JARVIS_ENABLE_STATIC_ANALYSIS` | true | 是否启用静态代码分析 |
549
551
  | `JARVIS_DATA_PATH` | ~/.jarvis | Jarvis数据存储目录路径 |
550
552
  | `JARVIS_RAG` | `{"embedding_model": "BAAI/bge-base-zh-v1.5"}` | RAG框架的配置 |
551
553
 
@@ -1,4 +1,5 @@
1
1
  [console_scripts]
2
+ ja = jarvis.jarvis_agent.main:main
2
3
  jarvis = jarvis.jarvis_agent.jarvis:main
3
4
  jarvis-agent = jarvis.jarvis_agent.main:main
4
5
  jarvis-code-agent = jarvis.jarvis_code_agent.code_agent:main
@@ -13,6 +14,14 @@ jarvis-rag = jarvis.jarvis_rag.cli:main
13
14
  jarvis-smart-shell = jarvis.jarvis_smart_shell.main:main
14
15
  jarvis-tool = jarvis.jarvis_tools.cli.main:main
15
16
  jca = jarvis.jarvis_code_agent.code_agent:main
17
+ jcr = jarvis.jarvis_code_analysis.code_review:main
16
18
  jgc = jarvis.jarvis_git_utils.git_commiter:main
19
+ jgd = jarvis.jarvis_git_details.main:main
20
+ jgs = jarvis.jarvis_git_squash.main:main
21
+ jm = jarvis.jarvis_methodology.main:main
22
+ jma = jarvis.jarvis_multi_agent.main:main
17
23
  jpm = jarvis.jarvis_platform_manager.main:main
24
+ jrg = jarvis.jarvis_rag.cli:main
18
25
  jss = jarvis.jarvis_smart_shell.main:main
26
+ jt = jarvis.jarvis_tools.cli.main:main
27
+ jvs = jarvis.jarvis_agent.jarvis:main