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.

Files changed (43) hide show
  1. {jarvis_ai_assistant-0.1.2/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.1.3}/PKG-INFO +1 -1
  2. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/pyproject.toml +1 -1
  3. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/setup.py +1 -1
  4. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/__init__.py +1 -1
  5. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/base.py +45 -14
  6. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/shell.py +16 -2
  7. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3/src/jarvis_ai_assistant.egg-info}/PKG-INFO +1 -1
  8. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/MANIFEST.in +0 -0
  9. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/README.md +0 -0
  10. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/setup.cfg +0 -0
  11. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/.jarvis +0 -0
  12. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/__pycache__/__init__.cpython-313.pyc +0 -0
  13. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/__pycache__/agent.cpython-313.pyc +0 -0
  14. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/__pycache__/models.cpython-313.pyc +0 -0
  15. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/__pycache__/tools.cpython-313.pyc +0 -0
  16. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/__pycache__/utils.cpython-313.pyc +0 -0
  17. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/agent.py +0 -0
  18. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/main.py +0 -0
  19. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/models.py +0 -0
  20. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__init__.py +0 -0
  21. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/__init__.cpython-313.pyc +0 -0
  22. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/base.cpython-313.pyc +0 -0
  23. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/file_ops.cpython-313.pyc +0 -0
  24. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/python_script.cpython-313.pyc +0 -0
  25. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/rag.cpython-313.pyc +0 -0
  26. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/search.cpython-313.pyc +0 -0
  27. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/shell.cpython-313.pyc +0 -0
  28. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/user_confirmation.cpython-313.pyc +0 -0
  29. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/user_interaction.cpython-313.pyc +0 -0
  30. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/__pycache__/webpage.cpython-313.pyc +0 -0
  31. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/file_ops.py +0 -0
  32. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/python_script.py +0 -0
  33. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/rag.py +0 -0
  34. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/search.py +0 -0
  35. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/user_confirmation.py +0 -0
  36. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/user_interaction.py +0 -0
  37. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/tools/webpage.py +0 -0
  38. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis/utils.py +0 -0
  39. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +0 -0
  40. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
  41. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis_ai_assistant.egg-info/entry_points.txt +0 -0
  42. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis_ai_assistant.egg-info/requires.txt +0 -0
  43. {jarvis_ai_assistant-0.1.2 → jarvis_ai_assistant-0.1.3}/src/jarvis_ai_assistant.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jarvis-ai-assistant
3
- Version: 0.1.2
3
+ Version: 0.1.3
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "jarvis-ai-assistant"
7
- version = "0.1.2"
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.2",
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",
@@ -1,3 +1,3 @@
1
1
  """Jarvis AI Assistant"""
2
2
 
3
- __version__ = "0.1.2"
3
+ __version__ = "0.1.3"
@@ -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 Usage Examples:
156
+ Tool Call Format Requirements:
157
+ 1. MUST use exact format:
156
158
  <tool_call>
157
159
  {
158
- "name": "search",
160
+ "name": "tool_name",
159
161
  "arguments": {
160
- "query": "Python GIL",
161
- "max_results": 2 # Limit results to save context
162
+ "param1": "value1"
162
163
  }
163
164
  }
164
165
  </tool_call>
165
166
 
166
- <tool_call>
167
- {
168
- "name": "read_webpage",
169
- "arguments": {
170
- "url": "https://example.com",
171
- "extract_type": "text" # Only get main content
172
- }
173
- }
174
- </tool_call>
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",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jarvis-ai-assistant
3
- Version: 0.1.2
3
+ Version: 0.1.3
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