jarvis-ai-assistant 0.1.221__tar.gz → 0.1.223__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.223}/PKG-INFO +61 -30
  2. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/README.md +60 -29
  3. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/pyproject.toml +10 -1
  4. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/setup.py +11 -2
  5. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/__init__.py +1 -1
  6. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/__init__.py +24 -20
  7. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/builtin_input_handler.py +3 -6
  8. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/jarvis.py +14 -9
  9. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/main.py +13 -6
  10. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_agent/code_agent.py +10 -19
  11. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/code_review.py +1 -1
  12. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_data/config_schema.json +5 -0
  13. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_git_details/main.py +1 -1
  14. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_multi_agent/__init__.py +74 -31
  15. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform/kimi.py +6 -4
  16. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/config.py +10 -0
  17. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223/src/jarvis_ai_assistant.egg-info}/PKG-INFO +61 -30
  18. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis_ai_assistant.egg-info/entry_points.txt +9 -0
  19. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/LICENSE +0 -0
  20. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/MANIFEST.in +0 -0
  21. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/setup.cfg +0 -0
  22. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/edit_file_handler.py +0 -0
  23. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/output_handler.py +0 -0
  24. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/prompt_builder.py +0 -0
  25. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/prompts.py +0 -0
  26. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/protocols.py +0 -0
  27. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/session_manager.py +0 -0
  28. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/shell_input_handler.py +0 -0
  29. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/tool_executor.py +0 -0
  30. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_agent/__init__.py +0 -0
  31. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_agent/lint.py +0 -0
  32. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/__init__.py +0 -0
  33. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/c_cpp.py +0 -0
  34. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/csharp.py +0 -0
  35. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/data_format.py +0 -0
  36. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/devops.py +0 -0
  37. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/docs.py +0 -0
  38. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/go.py +0 -0
  39. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/infrastructure.py +0 -0
  40. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/java.py +0 -0
  41. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/javascript.py +0 -0
  42. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/kotlin.py +0 -0
  43. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/loader.py +0 -0
  44. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/php.py +0 -0
  45. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/python.py +0 -0
  46. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/ruby.py +0 -0
  47. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/rust.py +0 -0
  48. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/shell.py +0 -0
  49. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/sql.py +0 -0
  50. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/swift.py +0 -0
  51. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/web.py +0 -0
  52. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_data/tiktoken/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 +0 -0
  53. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_git_details/__init__.py +0 -0
  54. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_git_squash/__init__.py +0 -0
  55. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_git_squash/main.py +0 -0
  56. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_git_utils/git_commiter.py +0 -0
  57. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_mcp/__init__.py +0 -0
  58. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_mcp/sse_mcp_client.py +0 -0
  59. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_mcp/stdio_mcp_client.py +0 -0
  60. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_mcp/streamable_mcp_client.py +0 -0
  61. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_methodology/main.py +0 -0
  62. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_multi_agent/main.py +0 -0
  63. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform/__init__.py +0 -0
  64. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform/ai8.py +0 -0
  65. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform/base.py +0 -0
  66. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform/human.py +0 -0
  67. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform/openai.py +0 -0
  68. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform/oyi.py +0 -0
  69. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform/registry.py +0 -0
  70. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform/tongyi.py +0 -0
  71. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform/yuanbao.py +0 -0
  72. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform_manager/__init__.py +0 -0
  73. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform_manager/main.py +0 -0
  74. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform_manager/service.py +0 -0
  75. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_rag/__init__.py +0 -0
  76. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_rag/cache.py +0 -0
  77. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_rag/cli.py +0 -0
  78. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_rag/embedding_manager.py +0 -0
  79. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_rag/llm_interface.py +0 -0
  80. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_rag/query_rewriter.py +0 -0
  81. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_rag/rag_pipeline.py +0 -0
  82. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_rag/reranker.py +0 -0
  83. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_rag/retriever.py +0 -0
  84. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_smart_shell/__init__.py +0 -0
  85. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_smart_shell/main.py +0 -0
  86. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/__init__.py +0 -0
  87. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/ask_user.py +0 -0
  88. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/base.py +0 -0
  89. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/cli/__init__.py +0 -0
  90. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/cli/main.py +0 -0
  91. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/edit_file.py +0 -0
  92. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/execute_script.py +0 -0
  93. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/file_analyzer.py +0 -0
  94. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/generate_new_tool.py +0 -0
  95. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/methodology.py +0 -0
  96. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/read_code.py +0 -0
  97. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/read_webpage.py +0 -0
  98. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/registry.py +0 -0
  99. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/rewrite_file.py +0 -0
  100. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/search_web.py +0 -0
  101. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/virtual_tty.py +0 -0
  102. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/__init__.py +0 -0
  103. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/builtin_replace_map.py +0 -0
  104. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/embedding.py +0 -0
  105. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/file_processors.py +0 -0
  106. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/git_utils.py +0 -0
  107. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/globals.py +0 -0
  108. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/http.py +0 -0
  109. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/input.py +0 -0
  110. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/methodology.py +0 -0
  111. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/output.py +0 -0
  112. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/tag.py +0 -0
  113. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/utils.py +0 -0
  114. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +0 -0
  115. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
  116. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis_ai_assistant.egg-info/requires.txt +0 -0
  117. {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/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.223
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
 
@@ -147,15 +148,16 @@ pip3 install jarvis-ai-assistant
147
148
  jarvis
148
149
 
149
150
  # 带参数使用
150
- jarvis -p <平台> -m <模型> -t "初始任务"
151
+ jarvis --llm_type thinking -t "初始任务"
151
152
  ```
152
153
 
153
154
  #### 3. 命令行参数
154
155
  | 参数 | 描述 |
155
156
  |------|------|
156
- | `-p/--platform` | 指定AI平台 (yuanbao/kimi/tongyi/openai) |
157
- | `-m/--model` | 指定模型名称 |
158
- | `-t/--task` | 指定初始任务 |
157
+ | `--llm_type` | 使用的LLM类型 (normal/thinking) |
158
+ | `-t/--task` | 直接从命令行输入任务内容 |
159
+ | `-f/--config` | 自定义配置文件的路径 |
160
+ | `--restore-session` | 从 .jarvis/saved_session.json 恢复会话 |
159
161
 
160
162
  #### 4. 工作流程
161
163
  1. 初始化环境
@@ -177,14 +179,14 @@ jarvis -p <平台> -m <模型> -t "初始任务"
177
179
  # 基本使用
178
180
  jarvis
179
181
 
180
- # 指定平台和模型
181
- jarvis -p yuanbao -m deep_seek_v3
182
+ # 指定LLM类型
183
+ jarvis --llm_type thinking
182
184
 
183
185
  # 直接执行任务
184
186
  jarvis -t "分析项目结构并生成架构图"
185
187
 
186
188
  # 组合使用
187
- jarvis -p kimi -m k1 -t "优化项目性能"
189
+ jarvis --llm_type thinking -t "优化项目性能"
188
190
  ```
189
191
 
190
192
  ### 代码代理功能 (jarvis-code-agent)
@@ -206,15 +208,15 @@ jarvis-code-agent
206
208
  jca
207
209
 
208
210
  # 带参数使用
209
- jarvis-code-agent -p <平台> -m <模型> -r "需求描述"
211
+ jarvis-code-agent --llm_type thinking -r "需求描述"
210
212
  ```
211
213
 
212
214
  #### 3. 命令行参数
213
215
  | 参数 | 描述 |
214
216
  |------|------|
215
- | `-p/--platform` | 指定AI平台 (yuanbao/kimi/tongyi/openai) |
216
- | `-m/--model` | 指定模型名称 |
217
- | `-r/--requirement` | 直接指定需求描述 |
217
+ | `--llm_type` | 使用的LLM类型 (normal/thinking) |
218
+ | `-r/--requirement` | 要处理的需求 |
219
+ | `--restore-session` | .jarvis/saved_session.json 恢复会话 |
218
220
 
219
221
  #### 4. 工作流程
220
222
  1. 初始化环境(查找git根目录,检查未提交修改)
@@ -228,8 +230,8 @@ jarvis-code-agent -p <平台> -m <模型> -r "需求描述"
228
230
  # 使用默认平台分析代码
229
231
  jca
230
232
 
231
- # 指定平台和模型
232
- jca -p yuanbao -m deep_seek_v3
233
+ # 指定LLM类型
234
+ jca --llm_type thinking
233
235
 
234
236
  # 直接处理需求
235
237
  jca -r "修复src/example.py中的内存泄漏问题"
@@ -337,6 +339,7 @@ jarvis-agent -f <配置文件> -c <代理定义文件> -t "初始任务"
337
339
  | `-f/--config` | 指定配置文件路径(可选) |
338
340
  | `-c/--agent_definition` | 指定代理定义文件路径(可选) |
339
341
  | `-t/--task` | 指定初始任务(可选) |
342
+ | `--llm_type` | 使用的LLM类型 (normal/thinking),会覆盖配置文件中的设置 |
340
343
 
341
344
  #### 4. 配置文件格式
342
345
  代理定义文件使用YAML格式:
@@ -412,6 +415,8 @@ jarvis-platform-manager chat -p <平台名称> -m <模型名称>
412
415
  - `/shell <命令>` - 执行shell命令
413
416
  - `/save <文件名>` - 保存最后一条消息
414
417
  - `/saveall <文件名>` - 保存完整对话历史
418
+ - `/save_session <文件名>` - 保存当前会话状态
419
+ - `/load_session <文件名>` - 加载会话状态
415
420
 
416
421
  ##### 2.3 启动API服务
417
422
  ```bash
@@ -429,6 +434,7 @@ jarvis-platform-manager service --host <IP地址> --port <端口号> -p <平台
429
434
  ```bash
430
435
  # 加载角色配置文件并开始对话
431
436
  jarvis-platform-manager role -c <配置文件路径>
437
+ # 配置文件默认为 ~/.jarvis/roles.yaml
432
438
  ```
433
439
 
434
440
  角色配置文件格式(YAML):
@@ -546,6 +552,7 @@ OPENAI_API_BASE: https://api.openai.com/v1
546
552
  | `JARVIS_PRINT_PROMPT` | false | 是否打印提示 |
547
553
  | `JARVIS_USE_METHODOLOGY` | true | 是否启用方法论功能 |
548
554
  | `JARVIS_USE_ANALYSIS` | true | 是否启用任务分析功能 |
555
+ | `JARVIS_ENABLE_STATIC_ANALYSIS` | true | 是否启用静态代码分析 |
549
556
  | `JARVIS_DATA_PATH` | ~/.jarvis | Jarvis数据存储目录路径 |
550
557
  | `JARVIS_RAG` | `{"embedding_model": "BAAI/bge-base-zh-v1.5"}` | RAG框架的配置 |
551
558
 
@@ -602,14 +609,36 @@ jarvis-rag add README.md ./docs/ 'src/jarvis/jarvis_rag/*.py'
602
609
 
603
610
  **参数与选项:**
604
611
 
612
+ | 参数/选项 | 描述 |
613
+ |---|---|
605
614
  | 参数/选项 | 描述 |
606
615
  |---|---|
607
616
  | `paths` | **[必需]** 一个或多个文件路径、目录路径或用引号包裹的通配符模式。 |
608
- | `--collection` | 指定知识库的集合名称(默认为 `jarvis_rag_collection`)。 |
609
- | `--embedding-model` | 覆盖全局配置,强制使用特定的嵌入模型名称。 |
617
+ | `--collection` / `-c` | 指定知识库的集合名称(默认为 `jarvis_rag_collection`)。 |
618
+ | `--embedding-model` / `-e` | 覆盖全局配置,强制使用特定的嵌入模型名称。 |
610
619
  | `--db-path` | 覆盖全局配置,指定向量数据库的存储路径。 |
620
+ | `--batch-size` / `-b` | 单个批次中要处理的文档数(默认为 500)。 |
621
+
622
+ ##### 2.2 列出知识库中的文档 (`list-docs`)
611
623
 
612
- ##### 2.2 查询知识库 (`query`)
624
+ 此命令用于列出知识库中所有唯一的文档来源。
625
+
626
+ ```bash
627
+ # 基本用法
628
+ jarvis-rag list-docs
629
+
630
+ # 指定集合
631
+ jarvis-rag list-docs --collection my_collection
632
+ ```
633
+
634
+ **参数与选项:**
635
+
636
+ | 参数/选项 | 描述 |
637
+ |---|---|
638
+ | `--collection` / `-c` | 指定要查询的知识库集合名称。 |
639
+ | `--db-path` | 覆盖全局配置,指定向量数据库的存储路径。 |
640
+
641
+ ##### 2.3 查询知识库 (`query`)
613
642
 
614
643
  此命令用于向已建立的知识库提出问题。
615
644
 
@@ -622,18 +651,20 @@ jarvis-rag query "你的问题"
622
651
  jarvis-rag query "请总结一下我添加的文档的核心内容"
623
652
 
624
653
  # 2. 指定使用Kimi模型进行查询
625
- jarvis-rag query "代码中的 'PlatformRegistry' 类是做什么用的?" --platform kimi --model moonshot-v1-8k
654
+ jarvis-rag query "代码中的 'PlatformRegistry' 类是做什么用的?" --platform kimi --model kimi
626
655
  ```
627
656
 
628
657
  **参数与选项:**
629
658
 
659
+ | 参数/选项 | 描述 |
660
+ |---|---|
630
661
  | 参数/选项 | 描述 |
631
662
  |---|---|
632
663
  | `question` | **[必需]** 你要向知识库提出的问题。 |
633
- | `--collection` | 指定要查询的知识库集合名称。 |
634
- | `--platform` | 指定一个平台名称来回答问题,覆盖默认的“思考”模型。 |
635
- | `--model` | 指定一个模型名称来回答问题,需要与 `--platform` 同时使用。 |
636
- | `--embedding-model` | 覆盖全局配置,强制使用特定的嵌入模型名称。 |
664
+ | `--collection` / `-c` | 指定要查询的知识库集合名称。 |
665
+ | `--platform` / `-p` | 指定一个平台名称来回答问题,覆盖默认的“思考”模型。 |
666
+ | `--model` / `-m` | 指定一个模型名称来回答问题,需要与 `--platform` 同时使用。 |
667
+ | `--embedding-model` / `-e` | 覆盖全局配置,强制使用特定的嵌入模型名称。 |
637
668
 
638
669
  ### 3. 命令替换功能
639
670
  支持使用特殊标记`'<tag>'`触发命令替换功能:
@@ -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
 
@@ -63,15 +64,16 @@ pip3 install jarvis-ai-assistant
63
64
  jarvis
64
65
 
65
66
  # 带参数使用
66
- jarvis -p <平台> -m <模型> -t "初始任务"
67
+ jarvis --llm_type thinking -t "初始任务"
67
68
  ```
68
69
 
69
70
  #### 3. 命令行参数
70
71
  | 参数 | 描述 |
71
72
  |------|------|
72
- | `-p/--platform` | 指定AI平台 (yuanbao/kimi/tongyi/openai) |
73
- | `-m/--model` | 指定模型名称 |
74
- | `-t/--task` | 指定初始任务 |
73
+ | `--llm_type` | 使用的LLM类型 (normal/thinking) |
74
+ | `-t/--task` | 直接从命令行输入任务内容 |
75
+ | `-f/--config` | 自定义配置文件的路径 |
76
+ | `--restore-session` | 从 .jarvis/saved_session.json 恢复会话 |
75
77
 
76
78
  #### 4. 工作流程
77
79
  1. 初始化环境
@@ -93,14 +95,14 @@ jarvis -p <平台> -m <模型> -t "初始任务"
93
95
  # 基本使用
94
96
  jarvis
95
97
 
96
- # 指定平台和模型
97
- jarvis -p yuanbao -m deep_seek_v3
98
+ # 指定LLM类型
99
+ jarvis --llm_type thinking
98
100
 
99
101
  # 直接执行任务
100
102
  jarvis -t "分析项目结构并生成架构图"
101
103
 
102
104
  # 组合使用
103
- jarvis -p kimi -m k1 -t "优化项目性能"
105
+ jarvis --llm_type thinking -t "优化项目性能"
104
106
  ```
105
107
 
106
108
  ### 代码代理功能 (jarvis-code-agent)
@@ -122,15 +124,15 @@ jarvis-code-agent
122
124
  jca
123
125
 
124
126
  # 带参数使用
125
- jarvis-code-agent -p <平台> -m <模型> -r "需求描述"
127
+ jarvis-code-agent --llm_type thinking -r "需求描述"
126
128
  ```
127
129
 
128
130
  #### 3. 命令行参数
129
131
  | 参数 | 描述 |
130
132
  |------|------|
131
- | `-p/--platform` | 指定AI平台 (yuanbao/kimi/tongyi/openai) |
132
- | `-m/--model` | 指定模型名称 |
133
- | `-r/--requirement` | 直接指定需求描述 |
133
+ | `--llm_type` | 使用的LLM类型 (normal/thinking) |
134
+ | `-r/--requirement` | 要处理的需求 |
135
+ | `--restore-session` | .jarvis/saved_session.json 恢复会话 |
134
136
 
135
137
  #### 4. 工作流程
136
138
  1. 初始化环境(查找git根目录,检查未提交修改)
@@ -144,8 +146,8 @@ jarvis-code-agent -p <平台> -m <模型> -r "需求描述"
144
146
  # 使用默认平台分析代码
145
147
  jca
146
148
 
147
- # 指定平台和模型
148
- jca -p yuanbao -m deep_seek_v3
149
+ # 指定LLM类型
150
+ jca --llm_type thinking
149
151
 
150
152
  # 直接处理需求
151
153
  jca -r "修复src/example.py中的内存泄漏问题"
@@ -253,6 +255,7 @@ jarvis-agent -f <配置文件> -c <代理定义文件> -t "初始任务"
253
255
  | `-f/--config` | 指定配置文件路径(可选) |
254
256
  | `-c/--agent_definition` | 指定代理定义文件路径(可选) |
255
257
  | `-t/--task` | 指定初始任务(可选) |
258
+ | `--llm_type` | 使用的LLM类型 (normal/thinking),会覆盖配置文件中的设置 |
256
259
 
257
260
  #### 4. 配置文件格式
258
261
  代理定义文件使用YAML格式:
@@ -328,6 +331,8 @@ jarvis-platform-manager chat -p <平台名称> -m <模型名称>
328
331
  - `/shell <命令>` - 执行shell命令
329
332
  - `/save <文件名>` - 保存最后一条消息
330
333
  - `/saveall <文件名>` - 保存完整对话历史
334
+ - `/save_session <文件名>` - 保存当前会话状态
335
+ - `/load_session <文件名>` - 加载会话状态
331
336
 
332
337
  ##### 2.3 启动API服务
333
338
  ```bash
@@ -345,6 +350,7 @@ jarvis-platform-manager service --host <IP地址> --port <端口号> -p <平台
345
350
  ```bash
346
351
  # 加载角色配置文件并开始对话
347
352
  jarvis-platform-manager role -c <配置文件路径>
353
+ # 配置文件默认为 ~/.jarvis/roles.yaml
348
354
  ```
349
355
 
350
356
  角色配置文件格式(YAML):
@@ -462,6 +468,7 @@ OPENAI_API_BASE: https://api.openai.com/v1
462
468
  | `JARVIS_PRINT_PROMPT` | false | 是否打印提示 |
463
469
  | `JARVIS_USE_METHODOLOGY` | true | 是否启用方法论功能 |
464
470
  | `JARVIS_USE_ANALYSIS` | true | 是否启用任务分析功能 |
471
+ | `JARVIS_ENABLE_STATIC_ANALYSIS` | true | 是否启用静态代码分析 |
465
472
  | `JARVIS_DATA_PATH` | ~/.jarvis | Jarvis数据存储目录路径 |
466
473
  | `JARVIS_RAG` | `{"embedding_model": "BAAI/bge-base-zh-v1.5"}` | RAG框架的配置 |
467
474
 
@@ -518,14 +525,36 @@ jarvis-rag add README.md ./docs/ 'src/jarvis/jarvis_rag/*.py'
518
525
 
519
526
  **参数与选项:**
520
527
 
528
+ | 参数/选项 | 描述 |
529
+ |---|---|
521
530
  | 参数/选项 | 描述 |
522
531
  |---|---|
523
532
  | `paths` | **[必需]** 一个或多个文件路径、目录路径或用引号包裹的通配符模式。 |
524
- | `--collection` | 指定知识库的集合名称(默认为 `jarvis_rag_collection`)。 |
525
- | `--embedding-model` | 覆盖全局配置,强制使用特定的嵌入模型名称。 |
533
+ | `--collection` / `-c` | 指定知识库的集合名称(默认为 `jarvis_rag_collection`)。 |
534
+ | `--embedding-model` / `-e` | 覆盖全局配置,强制使用特定的嵌入模型名称。 |
526
535
  | `--db-path` | 覆盖全局配置,指定向量数据库的存储路径。 |
536
+ | `--batch-size` / `-b` | 单个批次中要处理的文档数(默认为 500)。 |
537
+
538
+ ##### 2.2 列出知识库中的文档 (`list-docs`)
527
539
 
528
- ##### 2.2 查询知识库 (`query`)
540
+ 此命令用于列出知识库中所有唯一的文档来源。
541
+
542
+ ```bash
543
+ # 基本用法
544
+ jarvis-rag list-docs
545
+
546
+ # 指定集合
547
+ jarvis-rag list-docs --collection my_collection
548
+ ```
549
+
550
+ **参数与选项:**
551
+
552
+ | 参数/选项 | 描述 |
553
+ |---|---|
554
+ | `--collection` / `-c` | 指定要查询的知识库集合名称。 |
555
+ | `--db-path` | 覆盖全局配置,指定向量数据库的存储路径。 |
556
+
557
+ ##### 2.3 查询知识库 (`query`)
529
558
 
530
559
  此命令用于向已建立的知识库提出问题。
531
560
 
@@ -538,18 +567,20 @@ jarvis-rag query "你的问题"
538
567
  jarvis-rag query "请总结一下我添加的文档的核心内容"
539
568
 
540
569
  # 2. 指定使用Kimi模型进行查询
541
- jarvis-rag query "代码中的 'PlatformRegistry' 类是做什么用的?" --platform kimi --model moonshot-v1-8k
570
+ jarvis-rag query "代码中的 'PlatformRegistry' 类是做什么用的?" --platform kimi --model kimi
542
571
  ```
543
572
 
544
573
  **参数与选项:**
545
574
 
575
+ | 参数/选项 | 描述 |
576
+ |---|---|
546
577
  | 参数/选项 | 描述 |
547
578
  |---|---|
548
579
  | `question` | **[必需]** 你要向知识库提出的问题。 |
549
- | `--collection` | 指定要查询的知识库集合名称。 |
550
- | `--platform` | 指定一个平台名称来回答问题,覆盖默认的“思考”模型。 |
551
- | `--model` | 指定一个模型名称来回答问题,需要与 `--platform` 同时使用。 |
552
- | `--embedding-model` | 覆盖全局配置,强制使用特定的嵌入模型名称。 |
580
+ | `--collection` / `-c` | 指定要查询的知识库集合名称。 |
581
+ | `--platform` / `-p` | 指定一个平台名称来回答问题,覆盖默认的“思考”模型。 |
582
+ | `--model` / `-m` | 指定一个模型名称来回答问题,需要与 `--platform` 同时使用。 |
583
+ | `--embedding-model` / `-e` | 覆盖全局配置,强制使用特定的嵌入模型名称。 |
553
584
 
554
585
  ### 3. 命令替换功能
555
586
  支持使用特殊标记`'<tag>'`触发命令替换功能:
@@ -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.223"
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.223",
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.223"
@@ -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
  """获取工具注册表实例"""
@@ -39,12 +39,9 @@ def builtin_input_handler(user_input: str, agent_: Any) -> Tuple[str, bool]:
39
39
  return "", True
40
40
  elif tag == "ToolUsage":
41
41
  from jarvis.jarvis_tools.registry import ToolRegistry
42
-
43
- tool_registry_ = agent.get_tool_registry()
44
- tool_registry: ToolRegistry = (
45
- tool_registry_ if tool_registry_ else ToolRegistry()
46
- )
47
- agent.set_addon_prompt(tool_registry.prompt())
42
+ from jarvis.jarvis_agent.prompt_builder import build_action_prompt
43
+ action_prompt = build_action_prompt(agent.output_handler) # type: ignore
44
+ agent.set_addon_prompt(action_prompt)
48
45
  return "", False
49
46
  elif tag == "ReloadConfig":
50
47
  from jarvis.jarvis_utils.utils import load_config
@@ -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: