jarvis-ai-assistant 0.1.2__tar.gz → 0.1.3__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.2/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.1.3}/PKG-INFO +1 -1
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/pyproject.toml +1 -1
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/setup.py +1 -1
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/__init__.py +1 -1
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/base.py +45 -14
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/shell.py +16 -2
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3/src/jarvis_ai_assistant.egg-info}/PKG-INFO +1 -1
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/MANIFEST.in +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/README.md +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/setup.cfg +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/.jarvis +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/__pycache__/__init__.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/__pycache__/agent.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/__pycache__/models.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/__pycache__/tools.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/__pycache__/utils.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/agent.py +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/main.py +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/models.py +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/__init__.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/base.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/file_ops.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/python_script.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/rag.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/search.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/shell.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/user_confirmation.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/user_interaction.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/webpage.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/file_ops.py +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/python_script.py +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/rag.py +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/search.py +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/user_confirmation.py +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/user_interaction.py +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/webpage.py +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/utils.py +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis_ai_assistant.egg-info/entry_points.txt +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis_ai_assistant.egg-info/requires.txt +0 -0
- {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis_ai_assistant.egg-info/top_level.txt +0 -0
|
@@ -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.3"
|
|
8
8
|
description = "Jarvis: An AI assistant that uses tools to interact with the system"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [{ name = "Your Name", email = "your.email@example.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.3",
|
|
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",
|
|
@@ -117,6 +117,7 @@ class ToolRegistry:
|
|
|
117
117
|
def tool_help_text(self) -> str:
|
|
118
118
|
"""返回所有工具的帮助文本"""
|
|
119
119
|
return """Available Tools:
|
|
120
|
+
|
|
120
121
|
1. search: Search for information using DuckDuckGo
|
|
121
122
|
2. read_webpage: Extract content from webpages
|
|
122
123
|
3. execute_python: Run Python code with dependency management
|
|
@@ -152,29 +153,59 @@ Output Guidelines:
|
|
|
152
153
|
- Combine similar information
|
|
153
154
|
- Skip redundant context
|
|
154
155
|
|
|
155
|
-
Tool
|
|
156
|
+
Tool Call Format Requirements:
|
|
157
|
+
1. MUST use exact format:
|
|
156
158
|
<tool_call>
|
|
157
159
|
{
|
|
158
|
-
"name": "
|
|
160
|
+
"name": "tool_name",
|
|
159
161
|
"arguments": {
|
|
160
|
-
"
|
|
161
|
-
"max_results": 2 # Limit results to save context
|
|
162
|
+
"param1": "value1"
|
|
162
163
|
}
|
|
163
164
|
}
|
|
164
165
|
</tool_call>
|
|
165
166
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
167
|
+
2. Format Rules:
|
|
168
|
+
- NO comments or explanations inside tool_call blocks
|
|
169
|
+
- NO additional text or formatting within JSON
|
|
170
|
+
- NO markdown or other markup inside tool_call
|
|
171
|
+
- ONLY valid JSON allowed in arguments
|
|
172
|
+
- ALL arguments must match tool parameters exactly
|
|
173
|
+
|
|
174
|
+
3. Invalid Examples (DO NOT USE):
|
|
175
|
+
❌ <tool_call>
|
|
176
|
+
{
|
|
177
|
+
"name": "search", # Search tool
|
|
178
|
+
"arguments": {
|
|
179
|
+
"query": "Python GIL" // Search query
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
</tool_call>
|
|
183
|
+
|
|
184
|
+
❌ <tool_call>
|
|
185
|
+
```json
|
|
186
|
+
{
|
|
187
|
+
"name": "search",
|
|
188
|
+
"arguments": {
|
|
189
|
+
"query": "Python GIL"
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
```
|
|
193
|
+
</tool_call>
|
|
194
|
+
|
|
195
|
+
4. Valid Example:
|
|
196
|
+
✅ <tool_call>
|
|
197
|
+
{
|
|
198
|
+
"name": "search",
|
|
199
|
+
"arguments": {
|
|
200
|
+
"query": "Python GIL",
|
|
201
|
+
"max_results": 2
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
</tool_call>
|
|
175
205
|
|
|
176
206
|
Remember:
|
|
177
207
|
1. Quality over quantity
|
|
178
208
|
2. Relevance over completeness
|
|
179
209
|
3. Conciseness over verbosity
|
|
180
|
-
4. Context efficiency is crucial
|
|
210
|
+
4. Context efficiency is crucial
|
|
211
|
+
5. STRICT adherence to tool call format"""
|
|
@@ -4,13 +4,27 @@ from ..utils import PrettyOutput, OutputType
|
|
|
4
4
|
|
|
5
5
|
class ShellTool:
|
|
6
6
|
name = "execute_shell"
|
|
7
|
-
description = "Execute shell commands and return the results
|
|
7
|
+
description = """Execute shell commands and return the results.
|
|
8
|
+
Guidelines for output optimization:
|
|
9
|
+
1. Use grep/awk/sed to filter output when possible
|
|
10
|
+
2. Avoid listing all files/dirs unless specifically needed
|
|
11
|
+
3. Prefer -q/--quiet flags when status is all that's needed
|
|
12
|
+
4. Use head/tail to limit long outputs
|
|
13
|
+
5. Redirect stderr to /dev/null for noisy commands
|
|
14
|
+
|
|
15
|
+
Examples of optimized commands:
|
|
16
|
+
- 'ls -l file.txt' instead of 'ls -l'
|
|
17
|
+
- 'grep -c pattern file' instead of 'grep pattern file'
|
|
18
|
+
- 'ps aux | grep process | head -n 5' instead of 'ps aux'
|
|
19
|
+
- 'command 2>/dev/null' to suppress error messages
|
|
20
|
+
- 'df -h . ' instead of 'df -h'
|
|
21
|
+
"""
|
|
8
22
|
parameters = {
|
|
9
23
|
"type": "object",
|
|
10
24
|
"properties": {
|
|
11
25
|
"command": {
|
|
12
26
|
"type": "string",
|
|
13
|
-
"description": "Shell command to execute"
|
|
27
|
+
"description": "Shell command to execute (use filters/limits for large outputs)"
|
|
14
28
|
},
|
|
15
29
|
"timeout": {
|
|
16
30
|
"type": "integer",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/__pycache__/agent.cpython-313.pyc
RENAMED
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/__pycache__/tools.cpython-313.pyc
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/__pycache__/utils.cpython-313.pyc
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
|
{jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/user_confirmation.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/user_interaction.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis_ai_assistant.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|