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.
- {jarvis_ai_assistant-0.1.221/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.1.223}/PKG-INFO +61 -30
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/README.md +60 -29
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/pyproject.toml +10 -1
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/setup.py +11 -2
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/__init__.py +1 -1
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/__init__.py +24 -20
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/builtin_input_handler.py +3 -6
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/jarvis.py +14 -9
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/main.py +13 -6
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_agent/code_agent.py +10 -19
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/code_review.py +1 -1
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_data/config_schema.json +5 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_git_details/main.py +1 -1
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_multi_agent/__init__.py +74 -31
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform/kimi.py +6 -4
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/config.py +10 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223/src/jarvis_ai_assistant.egg-info}/PKG-INFO +61 -30
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis_ai_assistant.egg-info/entry_points.txt +9 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/LICENSE +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/MANIFEST.in +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/setup.cfg +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/edit_file_handler.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/output_handler.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/prompt_builder.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/prompts.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/protocols.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/session_manager.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/shell_input_handler.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/tool_executor.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_agent/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_agent/lint.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/c_cpp.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/csharp.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/data_format.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/devops.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/docs.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/go.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/infrastructure.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/java.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/javascript.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/kotlin.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/loader.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/php.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/python.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/ruby.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/rust.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/shell.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/sql.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/swift.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_code_analysis/checklists/web.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_data/tiktoken/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_git_details/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_git_squash/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_git_squash/main.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_git_utils/git_commiter.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_mcp/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_mcp/sse_mcp_client.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_mcp/stdio_mcp_client.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_mcp/streamable_mcp_client.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_methodology/main.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_multi_agent/main.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform/ai8.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform/base.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform/human.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform/openai.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform/oyi.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform/registry.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform/tongyi.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform/yuanbao.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform_manager/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform_manager/main.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_platform_manager/service.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_rag/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_rag/cache.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_rag/cli.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_rag/embedding_manager.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_rag/llm_interface.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_rag/query_rewriter.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_rag/rag_pipeline.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_rag/reranker.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_rag/retriever.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_smart_shell/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_smart_shell/main.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/ask_user.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/base.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/cli/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/cli/main.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/edit_file.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/execute_script.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/file_analyzer.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/generate_new_tool.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/methodology.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/read_code.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/read_webpage.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/registry.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/rewrite_file.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/search_web.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_tools/virtual_tty.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/builtin_replace_map.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/embedding.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/file_processors.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/git_utils.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/globals.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/http.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/input.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/methodology.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/output.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/tag.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_utils/utils.py +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
- {jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis_ai_assistant.egg-info/requires.txt +0 -0
- {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.
|
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` |
|
127
|
-
| `jarvis-multi-agent` |
|
128
|
-
| `jarvis-agent` |
|
129
|
-
| `jarvis-tool` |
|
130
|
-
| `jarvis-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
|
151
|
+
jarvis --llm_type thinking -t "初始任务"
|
151
152
|
```
|
152
153
|
|
153
154
|
#### 3. 命令行参数
|
154
155
|
| 参数 | 描述 |
|
155
156
|
|------|------|
|
156
|
-
|
|
157
|
-
| `-
|
158
|
-
| `-
|
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
|
182
|
+
# 指定LLM类型
|
183
|
+
jarvis --llm_type thinking
|
182
184
|
|
183
185
|
# 直接执行任务
|
184
186
|
jarvis -t "分析项目结构并生成架构图"
|
185
187
|
|
186
188
|
# 组合使用
|
187
|
-
jarvis
|
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
|
211
|
+
jarvis-code-agent --llm_type thinking -r "需求描述"
|
210
212
|
```
|
211
213
|
|
212
214
|
#### 3. 命令行参数
|
213
215
|
| 参数 | 描述 |
|
214
216
|
|------|------|
|
215
|
-
|
|
216
|
-
| `-
|
217
|
-
|
|
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
|
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
|
-
|
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
|
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` |
|
43
|
-
| `jarvis-multi-agent` |
|
44
|
-
| `jarvis-agent` |
|
45
|
-
| `jarvis-tool` |
|
46
|
-
| `jarvis-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
|
67
|
+
jarvis --llm_type thinking -t "初始任务"
|
67
68
|
```
|
68
69
|
|
69
70
|
#### 3. 命令行参数
|
70
71
|
| 参数 | 描述 |
|
71
72
|
|------|------|
|
72
|
-
|
|
73
|
-
| `-
|
74
|
-
| `-
|
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
|
98
|
+
# 指定LLM类型
|
99
|
+
jarvis --llm_type thinking
|
98
100
|
|
99
101
|
# 直接执行任务
|
100
102
|
jarvis -t "分析项目结构并生成架构图"
|
101
103
|
|
102
104
|
# 组合使用
|
103
|
-
jarvis
|
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
|
127
|
+
jarvis-code-agent --llm_type thinking -r "需求描述"
|
126
128
|
```
|
127
129
|
|
128
130
|
#### 3. 命令行参数
|
129
131
|
| 参数 | 描述 |
|
130
132
|
|------|------|
|
131
|
-
|
|
132
|
-
| `-
|
133
|
-
|
|
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
|
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
|
-
|
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
|
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.
|
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.
|
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",
|
{jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/__init__.py
RENAMED
@@ -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
|
-
|
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
|
-
|
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
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
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
|
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)
|
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
|
-
|
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
|
-
|
44
|
-
|
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
|
{jarvis_ai_assistant-0.1.221 → jarvis_ai_assistant-0.1.223}/src/jarvis/jarvis_agent/jarvis.py
RENAMED
@@ -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(
|
113
|
-
|
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
|
-
|
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
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
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:
|