jarvis-ai-assistant 0.1.163__tar.gz → 0.1.164__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.
Potentially problematic release.
This version of jarvis-ai-assistant might be problematic. Click here for more details.
- {jarvis_ai_assistant-0.1.163/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.1.164}/PKG-INFO +11 -2
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/README.md +10 -1
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/pyproject.toml +1 -1
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/setup.py +1 -1
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/__init__.py +1 -1
- jarvis_ai_assistant-0.1.164/src/jarvis/jarvis_agent/output_handler.py +47 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/edit_file.py +6 -6
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/rewrite_file.py +3 -3
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164/src/jarvis_ai_assistant.egg-info}/PKG-INFO +11 -2
- jarvis_ai_assistant-0.1.163/src/jarvis/jarvis_agent/output_handler.py +0 -23
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/LICENSE +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/MANIFEST.in +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/setup.cfg +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_agent/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_agent/builtin_input_handler.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_agent/file_input_handler.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_agent/jarvis.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_agent/main.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_agent/shell_input_handler.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_agent/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_agent/code_agent.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_analysis/checklists/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_analysis/checklists/c_cpp.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_analysis/checklists/csharp.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_analysis/checklists/data_format.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_analysis/checklists/devops.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_analysis/checklists/docs.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_analysis/checklists/go.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_analysis/checklists/infrastructure.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_analysis/checklists/java.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_analysis/checklists/javascript.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_analysis/checklists/kotlin.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_analysis/checklists/loader.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_analysis/checklists/php.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_analysis/checklists/python.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_analysis/checklists/ruby.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_analysis/checklists/rust.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_analysis/checklists/shell.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_analysis/checklists/sql.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_analysis/checklists/swift.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_analysis/checklists/web.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_analysis/code_review.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_dev/main.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_git_details/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_git_details/main.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_git_squash/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_git_squash/main.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_git_utils/git_commiter.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_lsp/base.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_lsp/cpp.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_lsp/go.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_lsp/python.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_lsp/registry.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_lsp/rust.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_mcp/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_mcp/sse_mcp_client.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_mcp/stdio_mcp_client.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_methodology/main.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_multi_agent/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_multi_agent/main.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_platform/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_platform/base.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_platform/human.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_platform/kimi.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_platform/registry.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_platform/yuanbao.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_platform_manager/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_platform_manager/main.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_smart_shell/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_smart_shell/main.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/ask_codebase.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/ask_user.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/base.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/chdir.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/code_plan.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/create_code_agent.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/create_sub_agent.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/execute_script.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/file_analyzer.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/file_operation.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/find_methodology.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/lsp_get_diagnostics.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/methodology.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/read_code.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/read_webpage.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/registry.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/search_web.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/virtual_tty.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_utils/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_utils/builtin_replace_map.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_utils/config.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_utils/embedding.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_utils/file_processors.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_utils/git_utils.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_utils/globals.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_utils/input.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_utils/methodology.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_utils/output.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_utils/tag.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_utils/utils.py +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis_ai_assistant.egg-info/entry_points.txt +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis_ai_assistant.egg-info/requires.txt +0 -0
- {jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/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.164
|
|
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
|
|
@@ -77,6 +77,7 @@ Dynamic: requires-python
|
|
|
77
77
|
|
|
78
78
|
*您的智能开发和系统交互助手*
|
|
79
79
|
|
|
80
|
+
[核心特色](#core-features) •
|
|
80
81
|
[视频介绍](#video-introduction) •
|
|
81
82
|
[快速开始](#quick-start) •
|
|
82
83
|
[配置说明](#configuration) •
|
|
@@ -89,6 +90,15 @@ Dynamic: requires-python
|
|
|
89
90
|
|
|
90
91
|
---
|
|
91
92
|
|
|
93
|
+
## 🌟 核心特色 <a id="core-features"></a>
|
|
94
|
+
|
|
95
|
+
- 🆓 零成本接入:无缝集成元宝、Kimi等优质模型,无需支付API费用,同时保留强大的文件处理、搜索和推理能力
|
|
96
|
+
- 🛠️ 工具驱动:内置丰富工具集,涵盖脚本执行、代码开发、网页搜索、终端操作等核心功能
|
|
97
|
+
- 👥 人机协作:支持实时交互,用户可随时介入指导,确保AI行为符合预期
|
|
98
|
+
- 🔌 高度可扩展:支持自定义工具和平台,轻松集成MCP协议
|
|
99
|
+
- 📈 智能进化:内置方法论系统,持续学习优化,越用越智能
|
|
100
|
+
|
|
101
|
+
|
|
92
102
|
## 📺 视频介绍<a id="video-introduction"></a>
|
|
93
103
|
|
|
94
104
|
[](https://player.bilibili.com/player.html?isOutside=true&aid=114306578382907&bvid=BV1x2dAYeEpM&cid=29314583629&p=1)
|
|
@@ -205,7 +215,6 @@ jarvis-methodology --help
|
|
|
205
215
|
| `JARVIS_EXECUTE_TOOL_CONFIRM` | false | 执行工具前是否需要确认 |
|
|
206
216
|
| `JARVIS_CONFIRM_BEFORE_APPLY_PATCH` | true | 应用补丁前是否需要确认 |
|
|
207
217
|
| `JARVIS_MAX_TOOL_CALL_COUNT` | 20 | 最大连续工具调用次数 |
|
|
208
|
-
| `JARVIS_CODE_EMBEDDING_MODEL_SIZE` | small | 代码嵌入模型大小,可选值:small、large |
|
|
209
218
|
|
|
210
219
|
|
|
211
220
|
---
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
*您的智能开发和系统交互助手*
|
|
10
10
|
|
|
11
|
+
[核心特色](#core-features) •
|
|
11
12
|
[视频介绍](#video-introduction) •
|
|
12
13
|
[快速开始](#quick-start) •
|
|
13
14
|
[配置说明](#configuration) •
|
|
@@ -20,6 +21,15 @@
|
|
|
20
21
|
|
|
21
22
|
---
|
|
22
23
|
|
|
24
|
+
## 🌟 核心特色 <a id="core-features"></a>
|
|
25
|
+
|
|
26
|
+
- 🆓 零成本接入:无缝集成元宝、Kimi等优质模型,无需支付API费用,同时保留强大的文件处理、搜索和推理能力
|
|
27
|
+
- 🛠️ 工具驱动:内置丰富工具集,涵盖脚本执行、代码开发、网页搜索、终端操作等核心功能
|
|
28
|
+
- 👥 人机协作:支持实时交互,用户可随时介入指导,确保AI行为符合预期
|
|
29
|
+
- 🔌 高度可扩展:支持自定义工具和平台,轻松集成MCP协议
|
|
30
|
+
- 📈 智能进化:内置方法论系统,持续学习优化,越用越智能
|
|
31
|
+
|
|
32
|
+
|
|
23
33
|
## 📺 视频介绍<a id="video-introduction"></a>
|
|
24
34
|
|
|
25
35
|
[](https://player.bilibili.com/player.html?isOutside=true&aid=114306578382907&bvid=BV1x2dAYeEpM&cid=29314583629&p=1)
|
|
@@ -136,7 +146,6 @@ jarvis-methodology --help
|
|
|
136
146
|
| `JARVIS_EXECUTE_TOOL_CONFIRM` | false | 执行工具前是否需要确认 |
|
|
137
147
|
| `JARVIS_CONFIRM_BEFORE_APPLY_PATCH` | true | 应用补丁前是否需要确认 |
|
|
138
148
|
| `JARVIS_MAX_TOOL_CALL_COUNT` | 20 | 最大连续工具调用次数 |
|
|
139
|
-
| `JARVIS_CODE_EMBEDDING_MODEL_SIZE` | small | 代码嵌入模型大小,可选值:small、large |
|
|
140
149
|
|
|
141
150
|
|
|
142
151
|
---
|
|
@@ -8,7 +8,7 @@ default = true
|
|
|
8
8
|
|
|
9
9
|
[project]
|
|
10
10
|
name = "jarvis-ai-assistant"
|
|
11
|
-
version = "0.1.
|
|
11
|
+
version = "0.1.164"
|
|
12
12
|
description = "Jarvis: An AI assistant that uses tools to interact with the system"
|
|
13
13
|
readme = "README.md"
|
|
14
14
|
authors = [{ name = "skyfire", email = "skyfireitdiy@hotmail.com" }]
|
|
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
|
|
|
2
2
|
|
|
3
3
|
setup(
|
|
4
4
|
name="jarvis-ai-assistant",
|
|
5
|
-
version="0.1.
|
|
5
|
+
version="0.1.164",
|
|
6
6
|
author="skyfire",
|
|
7
7
|
author_email="skyfireitdiy@hotmail.com",
|
|
8
8
|
description="An AI assistant that uses various tools to interact with the system",
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
from abc import ABC, abstractmethod
|
|
2
|
+
from typing import Any, Tuple
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class OutputHandler(ABC):
|
|
6
|
+
@abstractmethod
|
|
7
|
+
def handle(self, response: str, agent: Any) -> Tuple[bool, Any]:
|
|
8
|
+
"""处理响应数据
|
|
9
|
+
|
|
10
|
+
Args:
|
|
11
|
+
response: 需要处理的响应字符串
|
|
12
|
+
agent: 执行处理的agent实例
|
|
13
|
+
|
|
14
|
+
Returns:
|
|
15
|
+
Tuple[bool, Any]: 返回处理结果元组,第一个元素表示是否处理成功,第二个元素为处理后的数据
|
|
16
|
+
"""
|
|
17
|
+
pass
|
|
18
|
+
|
|
19
|
+
@abstractmethod
|
|
20
|
+
def can_handle(self, response: str) -> bool:
|
|
21
|
+
"""判断是否能处理给定的响应
|
|
22
|
+
|
|
23
|
+
Args:
|
|
24
|
+
response: 需要判断的响应字符串
|
|
25
|
+
|
|
26
|
+
Returns:
|
|
27
|
+
bool: 返回是否能处理该响应
|
|
28
|
+
"""
|
|
29
|
+
pass
|
|
30
|
+
|
|
31
|
+
@abstractmethod
|
|
32
|
+
def prompt(self) -> str:
|
|
33
|
+
"""获取处理器的提示信息
|
|
34
|
+
|
|
35
|
+
Returns:
|
|
36
|
+
str: 返回处理器的提示字符串
|
|
37
|
+
"""
|
|
38
|
+
pass
|
|
39
|
+
|
|
40
|
+
@abstractmethod
|
|
41
|
+
def name(self) -> str:
|
|
42
|
+
"""获取处理器的名称
|
|
43
|
+
|
|
44
|
+
Returns:
|
|
45
|
+
str: 返回处理器的名称字符串
|
|
46
|
+
"""
|
|
47
|
+
pass
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/edit_file.py
RENAMED
|
@@ -166,7 +166,7 @@ class FileSearchReplaceTool:
|
|
|
166
166
|
else:
|
|
167
167
|
stderr_message = f"文件 {file_path} {'不存在' if not file_exists else '为空'},但搜索文本非空: '{search_text}'"
|
|
168
168
|
stderr_messages.append(stderr_message)
|
|
169
|
-
PrettyOutput.print(stderr_message, OutputType.
|
|
169
|
+
PrettyOutput.print(stderr_message, OutputType.WARNING)
|
|
170
170
|
success = False
|
|
171
171
|
break
|
|
172
172
|
else:
|
|
@@ -176,13 +176,13 @@ class FileSearchReplaceTool:
|
|
|
176
176
|
if match_count == 0:
|
|
177
177
|
stderr_message = f"文件 {file_path} 中未找到匹配文本: '{search_text}'"
|
|
178
178
|
stderr_messages.append(stderr_message)
|
|
179
|
-
PrettyOutput.print(stderr_message, OutputType.
|
|
179
|
+
PrettyOutput.print(stderr_message, OutputType.WARNING)
|
|
180
180
|
success = False
|
|
181
181
|
break
|
|
182
182
|
elif match_count > 1:
|
|
183
183
|
stderr_message = f"文件 {file_path} 中匹配到多个 ({match_count}) '{search_text}',搜索文本只允许一次匹配"
|
|
184
184
|
stderr_messages.append(stderr_message)
|
|
185
|
-
PrettyOutput.print(stderr_message, OutputType.
|
|
185
|
+
PrettyOutput.print(stderr_message, OutputType.WARNING)
|
|
186
186
|
success = False
|
|
187
187
|
break
|
|
188
188
|
else:
|
|
@@ -212,7 +212,7 @@ class FileSearchReplaceTool:
|
|
|
212
212
|
except Exception as e:
|
|
213
213
|
stderr_message = f"处理文件 {file_path} 时出错: {str(e)}"
|
|
214
214
|
stderr_messages.append(stderr_message)
|
|
215
|
-
PrettyOutput.print(stderr_message, OutputType.
|
|
215
|
+
PrettyOutput.print(stderr_message, OutputType.WARNING)
|
|
216
216
|
success = False
|
|
217
217
|
|
|
218
218
|
# 如果操作失败,回滚已修改的文件
|
|
@@ -238,7 +238,7 @@ class FileSearchReplaceTool:
|
|
|
238
238
|
except Exception as e:
|
|
239
239
|
rollback_error = f"回滚文件 {file_path} 失败: {str(e)}"
|
|
240
240
|
stderr_messages.append(rollback_error)
|
|
241
|
-
PrettyOutput.print(rollback_error, OutputType.
|
|
241
|
+
PrettyOutput.print(rollback_error, OutputType.WARNING)
|
|
242
242
|
|
|
243
243
|
return {
|
|
244
244
|
"success": success,
|
|
@@ -248,7 +248,7 @@ class FileSearchReplaceTool:
|
|
|
248
248
|
|
|
249
249
|
except Exception as e:
|
|
250
250
|
error_msg = f"文件搜索替换操作失败: {str(e)}"
|
|
251
|
-
PrettyOutput.print(error_msg, OutputType.
|
|
251
|
+
PrettyOutput.print(error_msg, OutputType.WARNING)
|
|
252
252
|
|
|
253
253
|
# 如果有已修改的文件,尝试回滚
|
|
254
254
|
if processed:
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/rewrite_file.py
RENAMED
|
@@ -118,7 +118,7 @@ class FileRewriteTool:
|
|
|
118
118
|
except Exception as e:
|
|
119
119
|
stderr_message = f"处理文件 {file_path} 时出错: {str(e)}"
|
|
120
120
|
stderr_messages.append(stderr_message)
|
|
121
|
-
PrettyOutput.print(stderr_message, OutputType.
|
|
121
|
+
PrettyOutput.print(stderr_message, OutputType.WARNING)
|
|
122
122
|
success = False
|
|
123
123
|
|
|
124
124
|
# 如果操作失败,回滚已修改的文件
|
|
@@ -144,7 +144,7 @@ class FileRewriteTool:
|
|
|
144
144
|
except Exception as e:
|
|
145
145
|
rollback_error = f"回滚文件 {file_path} 失败: {str(e)}"
|
|
146
146
|
stderr_messages.append(rollback_error)
|
|
147
|
-
PrettyOutput.print(rollback_error, OutputType.
|
|
147
|
+
PrettyOutput.print(rollback_error, OutputType.WARNING)
|
|
148
148
|
|
|
149
149
|
return {
|
|
150
150
|
"success": success,
|
|
@@ -154,7 +154,7 @@ class FileRewriteTool:
|
|
|
154
154
|
|
|
155
155
|
except Exception as e:
|
|
156
156
|
error_msg = f"文件重写操作失败: {str(e)}"
|
|
157
|
-
PrettyOutput.print(error_msg, OutputType.
|
|
157
|
+
PrettyOutput.print(error_msg, OutputType.WARNING)
|
|
158
158
|
|
|
159
159
|
# 如果有已修改的文件,尝试回滚
|
|
160
160
|
if processed:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: jarvis-ai-assistant
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.164
|
|
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
|
|
@@ -77,6 +77,7 @@ Dynamic: requires-python
|
|
|
77
77
|
|
|
78
78
|
*您的智能开发和系统交互助手*
|
|
79
79
|
|
|
80
|
+
[核心特色](#core-features) •
|
|
80
81
|
[视频介绍](#video-introduction) •
|
|
81
82
|
[快速开始](#quick-start) •
|
|
82
83
|
[配置说明](#configuration) •
|
|
@@ -89,6 +90,15 @@ Dynamic: requires-python
|
|
|
89
90
|
|
|
90
91
|
---
|
|
91
92
|
|
|
93
|
+
## 🌟 核心特色 <a id="core-features"></a>
|
|
94
|
+
|
|
95
|
+
- 🆓 零成本接入:无缝集成元宝、Kimi等优质模型,无需支付API费用,同时保留强大的文件处理、搜索和推理能力
|
|
96
|
+
- 🛠️ 工具驱动:内置丰富工具集,涵盖脚本执行、代码开发、网页搜索、终端操作等核心功能
|
|
97
|
+
- 👥 人机协作:支持实时交互,用户可随时介入指导,确保AI行为符合预期
|
|
98
|
+
- 🔌 高度可扩展:支持自定义工具和平台,轻松集成MCP协议
|
|
99
|
+
- 📈 智能进化:内置方法论系统,持续学习优化,越用越智能
|
|
100
|
+
|
|
101
|
+
|
|
92
102
|
## 📺 视频介绍<a id="video-introduction"></a>
|
|
93
103
|
|
|
94
104
|
[](https://player.bilibili.com/player.html?isOutside=true&aid=114306578382907&bvid=BV1x2dAYeEpM&cid=29314583629&p=1)
|
|
@@ -205,7 +215,6 @@ jarvis-methodology --help
|
|
|
205
215
|
| `JARVIS_EXECUTE_TOOL_CONFIRM` | false | 执行工具前是否需要确认 |
|
|
206
216
|
| `JARVIS_CONFIRM_BEFORE_APPLY_PATCH` | true | 应用补丁前是否需要确认 |
|
|
207
217
|
| `JARVIS_MAX_TOOL_CALL_COUNT` | 20 | 最大连续工具调用次数 |
|
|
208
|
-
| `JARVIS_CODE_EMBEDDING_MODEL_SIZE` | small | 代码嵌入模型大小,可选值:small、large |
|
|
209
218
|
|
|
210
219
|
|
|
211
220
|
---
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
from abc import ABC, abstractmethod
|
|
4
|
-
from typing import Any, Tuple
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class OutputHandler(ABC):
|
|
9
|
-
@abstractmethod
|
|
10
|
-
def handle(self, response: str, agent: Any) -> Tuple[bool, Any]:
|
|
11
|
-
pass
|
|
12
|
-
|
|
13
|
-
@abstractmethod
|
|
14
|
-
def can_handle(self, response: str) -> bool:
|
|
15
|
-
pass
|
|
16
|
-
|
|
17
|
-
@abstractmethod
|
|
18
|
-
def prompt(self) -> str:
|
|
19
|
-
pass
|
|
20
|
-
|
|
21
|
-
@abstractmethod
|
|
22
|
-
def name(self) -> str:
|
|
23
|
-
pass
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_agent/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_agent/jarvis.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_code_agent/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_git_details/main.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_git_squash/__init__.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_git_squash/main.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_lsp/registry.py
RENAMED
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_mcp/__init__.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_mcp/sse_mcp_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_methodology/main.py
RENAMED
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_multi_agent/main.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_platform/__init__.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_platform/base.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_platform/human.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_platform/kimi.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_platform/registry.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_platform/yuanbao.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_smart_shell/main.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/__init__.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/ask_codebase.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/ask_user.py
RENAMED
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/chdir.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/code_plan.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/file_analyzer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/methodology.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/read_code.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/read_webpage.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/registry.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/search_web.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_tools/virtual_tty.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_utils/config.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_utils/embedding.py
RENAMED
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_utils/git_utils.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_utils/globals.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_utils/input.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_utils/methodology.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_utils/output.py
RENAMED
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.163 → jarvis_ai_assistant-0.1.164}/src/jarvis/jarvis_utils/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|