jarvis-ai-assistant 0.1.0__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.0/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.1.3}/PKG-INFO +1 -1
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/pyproject.toml +1 -1
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/setup.py +1 -1
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/__init__.py +1 -1
- jarvis_ai_assistant-0.1.3/src/jarvis/__pycache__/__init__.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/base.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/base.py +73 -17
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/shell.py +16 -2
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3/src/jarvis_ai_assistant.egg-info}/PKG-INFO +1 -1
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +1 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/MANIFEST.in +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/README.md +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/setup.cfg +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/.jarvis +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/__pycache__/agent.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/__pycache__/models.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/__pycache__/tools.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/__pycache__/utils.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/agent.py +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/main.py +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/models.py +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/__init__.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/file_ops.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/python_script.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/rag.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/search.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/shell.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/user_confirmation.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/user_interaction.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/webpage.cpython-313.pyc +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/file_ops.py +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/python_script.py +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/rag.py +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/search.py +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/user_confirmation.py +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/user_interaction.py +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/webpage.py +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/utils.py +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis_ai_assistant.egg-info/entry_points.txt +0 -0
- {jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis_ai_assistant.egg-info/requires.txt +0 -0
- {jarvis_ai_assistant-0.1.0 → 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",
|
|
Binary file
|
|
@@ -127,13 +127,34 @@ class ToolRegistry:
|
|
|
127
127
|
7. file_operation: Read/write files in workspace directory
|
|
128
128
|
8. rag_query: Query documents using RAG
|
|
129
129
|
|
|
130
|
-
Guidelines:
|
|
131
|
-
1.
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
130
|
+
Output Guidelines:
|
|
131
|
+
1. Focus on Essential Information
|
|
132
|
+
- Filter out irrelevant or redundant information
|
|
133
|
+
- Only output the most relevant search results
|
|
134
|
+
- Summarize long content when possible
|
|
135
|
+
|
|
136
|
+
2. Context Management
|
|
137
|
+
- Avoid repeating information that's already known
|
|
138
|
+
- Don't echo back the entire content of files
|
|
139
|
+
- Use snippets instead of full documents
|
|
140
|
+
|
|
141
|
+
3. Error Handling
|
|
142
|
+
- Only show relevant parts of error messages
|
|
143
|
+
- Include troubleshooting steps when appropriate
|
|
144
|
+
- Omit stack traces unless specifically requested
|
|
145
|
+
|
|
146
|
+
4. Search Results
|
|
147
|
+
- Focus on the most relevant 2-3 results
|
|
148
|
+
- Extract key information instead of full articles
|
|
149
|
+
- Skip duplicate or similar content
|
|
150
|
+
|
|
151
|
+
5. RAG Queries
|
|
152
|
+
- Return only the most relevant passages
|
|
153
|
+
- Combine similar information
|
|
154
|
+
- Skip redundant context
|
|
155
|
+
|
|
156
|
+
Tool Call Format Requirements:
|
|
157
|
+
1. MUST use exact format:
|
|
137
158
|
<tool_call>
|
|
138
159
|
{
|
|
139
160
|
"name": "tool_name",
|
|
@@ -143,13 +164,48 @@ Tool Call Format:
|
|
|
143
164
|
}
|
|
144
165
|
</tool_call>
|
|
145
166
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
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>
|
|
205
|
+
|
|
206
|
+
Remember:
|
|
207
|
+
1. Quality over quantity
|
|
208
|
+
2. Relevance over completeness
|
|
209
|
+
3. Conciseness over verbosity
|
|
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",
|
{jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis_ai_assistant.egg-info/SOURCES.txt
RENAMED
|
@@ -8,6 +8,7 @@ src/jarvis/agent.py
|
|
|
8
8
|
src/jarvis/main.py
|
|
9
9
|
src/jarvis/models.py
|
|
10
10
|
src/jarvis/utils.py
|
|
11
|
+
src/jarvis/__pycache__/__init__.cpython-313.pyc
|
|
11
12
|
src/jarvis/__pycache__/agent.cpython-313.pyc
|
|
12
13
|
src/jarvis/__pycache__/models.cpython-313.pyc
|
|
13
14
|
src/jarvis/__pycache__/tools.cpython-313.pyc
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jarvis_ai_assistant-0.1.0 → 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.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/__pycache__/tools.cpython-313.pyc
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.0 → 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
|
{jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/user_confirmation.py
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.1.0 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/user_interaction.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|