jarvis-ai-assistant 0.1.103__tar.gz → 0.1.105__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 (76) hide show
  1. {jarvis_ai_assistant-0.1.103/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.1.105}/PKG-INFO +98 -62
  2. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/README.md +96 -61
  3. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/pyproject.toml +6 -5
  4. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/setup.py +6 -5
  5. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/__init__.py +1 -1
  6. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/agent.py +124 -67
  7. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/jarvis_code_agent/code_agent.py +133 -22
  8. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/jarvis_code_agent/file_select.py +4 -6
  9. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/jarvis_code_agent/patch.py +6 -7
  10. jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_code_agent/relevant_files.py +188 -0
  11. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/jarvis_codebase/main.py +43 -29
  12. jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_lsp/base.py +143 -0
  13. jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_lsp/cpp.py +134 -0
  14. jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_lsp/go.py +140 -0
  15. jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_lsp/python.py +135 -0
  16. jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_lsp/registry.py +234 -0
  17. jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_lsp/rust.py +142 -0
  18. {jarvis_ai_assistant-0.1.103/src/jarvis/models → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_platform}/ai8.py +1 -1
  19. {jarvis_ai_assistant-0.1.103/src/jarvis/models → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_platform}/kimi.py +1 -1
  20. {jarvis_ai_assistant-0.1.103/src/jarvis/models → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_platform}/ollama.py +1 -1
  21. {jarvis_ai_assistant-0.1.103/src/jarvis/models → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_platform}/openai.py +1 -1
  22. {jarvis_ai_assistant-0.1.103/src/jarvis/models → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_platform}/oyi.py +1 -1
  23. {jarvis_ai_assistant-0.1.103/src/jarvis/models → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_platform}/registry.py +11 -11
  24. {jarvis_ai_assistant-0.1.103/src/jarvis/jarvis_platform → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_platform_manager}/main.py +2 -2
  25. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/jarvis_rag/main.py +8 -8
  26. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/jarvis_smart_shell/main.py +3 -3
  27. {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/ask_codebase.py +1 -4
  28. {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/ask_user.py +1 -1
  29. {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/chdir.py +2 -37
  30. jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools/code_review.py +236 -0
  31. jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools/create_code_agent.py +115 -0
  32. {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/create_sub_agent.py +1 -1
  33. jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools/deep_thinking.py +160 -0
  34. jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools/deep_thinking_agent.py +146 -0
  35. {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/git_commiter.py +3 -3
  36. jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools/lsp_find_definition.py +134 -0
  37. jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools/lsp_find_references.py +111 -0
  38. jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools/lsp_get_diagnostics.py +121 -0
  39. jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools/lsp_get_document_symbols.py +87 -0
  40. jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools/lsp_prepare_rename.py +130 -0
  41. jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools/lsp_validate_edit.py +141 -0
  42. {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/methodology.py +6 -1
  43. {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/rag.py +1 -1
  44. {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/read_code.py +0 -31
  45. {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/registry.py +6 -5
  46. {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/search.py +2 -2
  47. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/utils.py +71 -28
  48. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105/src/jarvis_ai_assistant.egg-info}/PKG-INFO +98 -62
  49. jarvis_ai_assistant-0.1.105/src/jarvis_ai_assistant.egg-info/SOURCES.txt +67 -0
  50. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis_ai_assistant.egg-info/entry_points.txt +4 -4
  51. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis_ai_assistant.egg-info/requires.txt +1 -0
  52. jarvis_ai_assistant-0.1.103/src/jarvis/jarvis_code_agent/relevant_files.py +0 -66
  53. jarvis_ai_assistant-0.1.103/src/jarvis/tools/code_review.py +0 -163
  54. jarvis_ai_assistant-0.1.103/src/jarvis/tools/create_code_sub_agent.py +0 -30
  55. jarvis_ai_assistant-0.1.103/src/jarvis/tools/create_code_test_agent.py +0 -115
  56. jarvis_ai_assistant-0.1.103/src/jarvis/tools/create_ctags_agent.py +0 -176
  57. jarvis_ai_assistant-0.1.103/src/jarvis/tools/find_in_codebase.py +0 -108
  58. jarvis_ai_assistant-0.1.103/src/jarvis_ai_assistant.egg-info/SOURCES.txt +0 -56
  59. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/LICENSE +0 -0
  60. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/MANIFEST.in +0 -0
  61. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/setup.cfg +0 -0
  62. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/jarvis_code_agent/__init__.py +0 -0
  63. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/jarvis_codebase/__init__.py +0 -0
  64. {jarvis_ai_assistant-0.1.103/src/jarvis/models → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_platform}/__init__.py +0 -0
  65. {jarvis_ai_assistant-0.1.103/src/jarvis/models → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_platform}/base.py +0 -0
  66. {jarvis_ai_assistant-0.1.103/src/jarvis/jarvis_platform → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_platform_manager}/__init__.py +0 -0
  67. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/jarvis_rag/__init__.py +0 -0
  68. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/jarvis_smart_shell/__init__.py +0 -0
  69. {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/__init__.py +0 -0
  70. {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/base.py +0 -0
  71. {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/execute_shell.py +0 -0
  72. {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/file_operation.py +0 -0
  73. {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/read_webpage.py +0 -0
  74. {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/select_code_files.py +0 -0
  75. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
  76. {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis_ai_assistant.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: jarvis-ai-assistant
3
- Version: 0.1.103
3
+ Version: 0.1.105
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
@@ -59,6 +59,7 @@ Requires-Dist: rich>=13.3.1
59
59
  Requires-Dist: pygments>=2.15.0
60
60
  Requires-Dist: fuzzywuzzy>=0.18.0
61
61
  Requires-Dist: python-Levenshtein>=0.26.1
62
+ Requires-Dist: jedi>=0.19.0
62
63
  Provides-Extra: dev
63
64
  Requires-Dist: pytest; extra == "dev"
64
65
  Requires-Dist: black; extra == "dev"
@@ -133,15 +134,25 @@ Jarvis supports configuration through environment variables that can be set in t
133
134
 
134
135
  | Environment Variable | Description | Default Value | Required |
135
136
  |---------|------|--------|------|
136
- | JARVIS_PLATFORM | AI platform to use, supports kimi/openai/ai8 etc | kimi | Yes |
137
- | JARVIS_MODEL | Model name to use | - | No |
138
- | JARVIS_CODEGEN_PLATFORM | AI platform for code generation | Same as JARVIS_PLATFORM | No |
139
- | JARVIS_CODEGEN_MODEL | Model name for code generation | Same as JARVIS_MODEL | No |
140
- | JARVIS_CHEAP_PLATFORM | AI platform for cheap operations | Same as JARVIS_PLATFORM | No |
141
- | JARVIS_CHEAP_MODEL | Model name for cheap operations | Same as JARVIS_MODEL | No |
142
- | JARVIS_THINKING_PLATFORM | AI platform for thinking | Same as JARVIS_PLATFORM | No |
143
- | JARVIS_THINKING_MODEL | Model name for thinking | Same as JARVIS_MODEL | No |
144
- | JARVIS_THREAD_COUNT | Number of threads for parallel processing | 10 | No |
137
+ | JARVIS_PLATFORM | AI platform to use | kimi | Yes |
138
+ | JARVIS_MODEL | Model name to use | kimi | No |
139
+ | JARVIS_CODEGEN_PLATFORM | Platform for code generation | Same as JARVIS_PLATFORM | No |
140
+ | JARVIS_CODEGEN_MODEL | Model for code generation | Same as JARVIS_MODEL | No |
141
+ | JARVIS_THINKING_PLATFORM | Platform for thinking tasks | Same as JARVIS_PLATFORM | No |
142
+ | JARVIS_THINKING_MODEL | Model for thinking tasks | Same as JARVIS_MODEL | No |
143
+ | JARVIS_CHEAP_PLATFORM | Platform for cheap operations | Same as JARVIS_PLATFORM | No |
144
+ | JARVIS_CHEAP_MODEL | Model for cheap operations | Same as JARVIS_MODEL | No |
145
+ | JARVIS_THREAD_COUNT | Number of threads | 1 | No |
146
+ | JARVIS_MAX_CONTEXT_LENGTH | Maximum context length | 131072 | No |
147
+ | JARVIS_MIN_PARAGRAPH_LENGTH | Minimum paragraph length | 50 | No |
148
+ | JARVIS_MAX_PARAGRAPH_LENGTH | Maximum paragraph length | 1000 | No |
149
+ | JARVIS_CONTEXT_WINDOW | Context window size | 5 | No |
150
+ | JARVIS_AUTO_COMPLETE | Enable auto completion | false | No |
151
+ | JARVIS_DISABLE_CODEBASE | Disable codebase features | false | No |
152
+ | JARVIS_USE_METHODOLOGY | Enable methodology | true | No |
153
+ | JARVIS_RECORD_METHODOLOGY | Record methodology | true | No |
154
+ | JARVIS_NEED_SUMMARY | Generate summaries | true | No |
155
+ | JARVIS_DONT_USE_LOCAL_MODEL | Avoid using local models | false | No |
145
156
  | OPENAI_API_KEY | API key for OpenAI platform | - | Required for OpenAI |
146
157
  | OPENAI_API_BASE | Base URL for OpenAI API | https://api.deepseek.com | No |
147
158
  | OPENAI_MODEL_NAME | Model name for OpenAI | deepseek-chat | No |
@@ -153,20 +164,18 @@ Jarvis supports configuration through environment variables that can be set in t
153
164
 
154
165
  ## 🎯 Usage
155
166
 
156
- ### Main Assistant
167
+ ### Code Modification
157
168
  ```bash
169
+ # Using main agent
158
170
  jarvis
171
+
172
+ # Using code agent directly
173
+ jarvis-code-agent
159
174
  ```
160
175
 
161
- ### Codebase Search
176
+ ### Codebase Query
162
177
  ```bash
163
- # Generate codebase index
164
- jarvis-codebase generate
165
-
166
- # Search similar code
167
- jarvis-codebase search "your search query"
168
-
169
- # Ask questions about codebase
178
+ # Ask questions about the codebase
170
179
  jarvis-codebase ask "your question"
171
180
  ```
172
181
 
@@ -175,71 +184,98 @@ jarvis-codebase ask "your question"
175
184
  # Build document index
176
185
  jarvis-rag --dir /path/to/documents --build
177
186
 
178
- # Search documents
179
- jarvis-rag --query "your search query"
187
+ # Ask questions about documents
188
+ jarvis-rag --query "your question"
189
+ ```
190
+
191
+ ### Smart Shell
192
+ ```bash
193
+ # Using full name
194
+ jarvis-smart-shell "describe what you want to do"
195
+
196
+ # Using shorthand
197
+ jss "describe what you want to do"
180
198
  ```
181
199
 
182
- ### Search Tool
200
+ ### Development Tools
183
201
  ```bash
184
- # Basic search
185
- jarvis-search "your query"
202
+ # Manage git commits
203
+ jarvis-git-commit
186
204
 
187
- # Show only URLs
188
- jarvis-search "your query" --url-only
205
+ # Generate and manage ctags
206
+ jarvis-ctags
189
207
 
190
- # Limit results
191
- jarvis-search "your query" --max 3
208
+ # Manage AI platforms
209
+ jarvis-platform
192
210
  ```
193
211
 
194
- ## 🛠️ Tools
212
+ Each command supports `--help` flag for detailed usage information:
213
+ ```bash
214
+ jarvis --help
215
+ jarvis-code-agent --help
216
+ jarvis-codebase --help
217
+ jarvis-rag --help
218
+ jarvis-smart-shell --help
219
+ jarvis-platform --help
220
+ jarvis-git-commit --help
221
+ jarvis-ctags --help
222
+ ```
195
223
 
224
+ ## 🛠️ Tools
196
225
 
197
226
  ### Built-in Tools
198
227
 
199
228
  | Tool | Description |
200
229
  |------|-------------|
230
+ | read_code | Read code files with line numbers and range support |
201
231
  | execute_shell | Execute system commands and capture output |
202
- | file_operation | File operations (read/write/append/delete) |
203
- | generate_tool | AI-powered tool generation and integration |
204
- | methodology | Experience accumulation and methodology management |
205
- | create_sub_agent | Create specialized sub-agents for specific tasks |
206
- | coder | Automatic code modification and generation tool |
207
- | codebase | Codebase management and search tool |
232
+ | search | Web search for development related queries |
233
+ | ask_user | Interactive user input collection |
234
+ | ask_codebase | Intelligent codebase querying and analysis |
235
+ | code_review | Automated code review with multi-dimensional analysis |
236
+ | file_operation | Basic file operations (read/exists) |
237
+ | git_commiter | Automated git commit handling |
208
238
 
209
239
  ### Tool Locations
210
240
  - Built-in tools: `src/jarvis/tools/`
211
241
  - User tools: `~/.jarvis/tools/`
212
242
 
213
-
214
243
  ### Key Features
215
244
 
216
- #### 1. Self-Extending Capabilities
217
- - Tool generation through natural language description
218
- - Automatic code generation and integration
219
- - Dynamic capability expansion through sub-agents
220
- - Automatic code modification with version control
221
- - Codebase indexing and semantic search
222
-
223
- #### 2. Methodology Learning
224
- - Automatic experience accumulation from interactions
225
- - Pattern recognition and methodology extraction
226
- - Continuous refinement through usage
227
- - Code modification history tracking
228
- - Codebase analysis and documentation generation
229
-
230
- #### 3. Adaptive Problem Solving
231
- - Context-aware sub-agent creation
232
- - Dynamic tool composition
233
- - Learning from execution feedback
245
+ #### 1. Code Intelligence
246
+ - Smart file selection and analysis based on requirements
247
+ - Semantic codebase search and querying
248
+ - Efficient handling of large files with context-aware reading
249
+ - Precise patch-based code modifications
250
+ - Automated git commit management
251
+
252
+ #### 2. Multi-Model Architecture
253
+ - Support for multiple AI platforms (Kimi/OpenAI/AI8/OYI/Ollama)
254
+ - Platform-specific optimizations for different tasks
255
+ - Specialized models for code generation, thinking, and general tasks
256
+ - Streaming response support for better interaction
257
+ - Automatic model fallback and retry mechanisms
258
+
259
+ #### 3. RAG Capabilities
260
+ - Document indexing and semantic search
261
+ - Smart context management for large documents
262
+ - Automatic file change detection
263
+ - Efficient caching mechanisms
264
+ - Multi-format document support
265
+
266
+ #### 4. Development Tools
267
+ - Interactive shell command generation
268
+ - Code review with multi-dimensional analysis
234
269
  - Codebase-aware problem solving
235
- - Multi-model collaboration for complex tasks
236
-
237
- #### 4. Code Intelligence
238
- - Automatic codebase indexing
239
- - Semantic code search
240
- - Code modification with git integration
241
- - Code analysis and documentation
242
- - Multi-model code generation
270
+ - File operations with safety checks
271
+ - Progress tracking and error handling
272
+
273
+ #### 5. User Experience
274
+ - Beautiful console output with color support
275
+ - Interactive multi-line input
276
+ - Progress indicators for long operations
277
+ - Clear error messages and handling
278
+ - Context-aware response formatting
243
279
 
244
280
  ## 🎯 Extending Jarvis
245
281
 
@@ -63,15 +63,25 @@ Jarvis supports configuration through environment variables that can be set in t
63
63
 
64
64
  | Environment Variable | Description | Default Value | Required |
65
65
  |---------|------|--------|------|
66
- | JARVIS_PLATFORM | AI platform to use, supports kimi/openai/ai8 etc | kimi | Yes |
67
- | JARVIS_MODEL | Model name to use | - | No |
68
- | JARVIS_CODEGEN_PLATFORM | AI platform for code generation | Same as JARVIS_PLATFORM | No |
69
- | JARVIS_CODEGEN_MODEL | Model name for code generation | Same as JARVIS_MODEL | No |
70
- | JARVIS_CHEAP_PLATFORM | AI platform for cheap operations | Same as JARVIS_PLATFORM | No |
71
- | JARVIS_CHEAP_MODEL | Model name for cheap operations | Same as JARVIS_MODEL | No |
72
- | JARVIS_THINKING_PLATFORM | AI platform for thinking | Same as JARVIS_PLATFORM | No |
73
- | JARVIS_THINKING_MODEL | Model name for thinking | Same as JARVIS_MODEL | No |
74
- | JARVIS_THREAD_COUNT | Number of threads for parallel processing | 10 | No |
66
+ | JARVIS_PLATFORM | AI platform to use | kimi | Yes |
67
+ | JARVIS_MODEL | Model name to use | kimi | No |
68
+ | JARVIS_CODEGEN_PLATFORM | Platform for code generation | Same as JARVIS_PLATFORM | No |
69
+ | JARVIS_CODEGEN_MODEL | Model for code generation | Same as JARVIS_MODEL | No |
70
+ | JARVIS_THINKING_PLATFORM | Platform for thinking tasks | Same as JARVIS_PLATFORM | No |
71
+ | JARVIS_THINKING_MODEL | Model for thinking tasks | Same as JARVIS_MODEL | No |
72
+ | JARVIS_CHEAP_PLATFORM | Platform for cheap operations | Same as JARVIS_PLATFORM | No |
73
+ | JARVIS_CHEAP_MODEL | Model for cheap operations | Same as JARVIS_MODEL | No |
74
+ | JARVIS_THREAD_COUNT | Number of threads | 1 | No |
75
+ | JARVIS_MAX_CONTEXT_LENGTH | Maximum context length | 131072 | No |
76
+ | JARVIS_MIN_PARAGRAPH_LENGTH | Minimum paragraph length | 50 | No |
77
+ | JARVIS_MAX_PARAGRAPH_LENGTH | Maximum paragraph length | 1000 | No |
78
+ | JARVIS_CONTEXT_WINDOW | Context window size | 5 | No |
79
+ | JARVIS_AUTO_COMPLETE | Enable auto completion | false | No |
80
+ | JARVIS_DISABLE_CODEBASE | Disable codebase features | false | No |
81
+ | JARVIS_USE_METHODOLOGY | Enable methodology | true | No |
82
+ | JARVIS_RECORD_METHODOLOGY | Record methodology | true | No |
83
+ | JARVIS_NEED_SUMMARY | Generate summaries | true | No |
84
+ | JARVIS_DONT_USE_LOCAL_MODEL | Avoid using local models | false | No |
75
85
  | OPENAI_API_KEY | API key for OpenAI platform | - | Required for OpenAI |
76
86
  | OPENAI_API_BASE | Base URL for OpenAI API | https://api.deepseek.com | No |
77
87
  | OPENAI_MODEL_NAME | Model name for OpenAI | deepseek-chat | No |
@@ -83,20 +93,18 @@ Jarvis supports configuration through environment variables that can be set in t
83
93
 
84
94
  ## 🎯 Usage
85
95
 
86
- ### Main Assistant
96
+ ### Code Modification
87
97
  ```bash
98
+ # Using main agent
88
99
  jarvis
100
+
101
+ # Using code agent directly
102
+ jarvis-code-agent
89
103
  ```
90
104
 
91
- ### Codebase Search
105
+ ### Codebase Query
92
106
  ```bash
93
- # Generate codebase index
94
- jarvis-codebase generate
95
-
96
- # Search similar code
97
- jarvis-codebase search "your search query"
98
-
99
- # Ask questions about codebase
107
+ # Ask questions about the codebase
100
108
  jarvis-codebase ask "your question"
101
109
  ```
102
110
 
@@ -105,71 +113,98 @@ jarvis-codebase ask "your question"
105
113
  # Build document index
106
114
  jarvis-rag --dir /path/to/documents --build
107
115
 
108
- # Search documents
109
- jarvis-rag --query "your search query"
116
+ # Ask questions about documents
117
+ jarvis-rag --query "your question"
118
+ ```
119
+
120
+ ### Smart Shell
121
+ ```bash
122
+ # Using full name
123
+ jarvis-smart-shell "describe what you want to do"
124
+
125
+ # Using shorthand
126
+ jss "describe what you want to do"
110
127
  ```
111
128
 
112
- ### Search Tool
129
+ ### Development Tools
113
130
  ```bash
114
- # Basic search
115
- jarvis-search "your query"
131
+ # Manage git commits
132
+ jarvis-git-commit
116
133
 
117
- # Show only URLs
118
- jarvis-search "your query" --url-only
134
+ # Generate and manage ctags
135
+ jarvis-ctags
119
136
 
120
- # Limit results
121
- jarvis-search "your query" --max 3
137
+ # Manage AI platforms
138
+ jarvis-platform
122
139
  ```
123
140
 
124
- ## 🛠️ Tools
141
+ Each command supports `--help` flag for detailed usage information:
142
+ ```bash
143
+ jarvis --help
144
+ jarvis-code-agent --help
145
+ jarvis-codebase --help
146
+ jarvis-rag --help
147
+ jarvis-smart-shell --help
148
+ jarvis-platform --help
149
+ jarvis-git-commit --help
150
+ jarvis-ctags --help
151
+ ```
125
152
 
153
+ ## 🛠️ Tools
126
154
 
127
155
  ### Built-in Tools
128
156
 
129
157
  | Tool | Description |
130
158
  |------|-------------|
159
+ | read_code | Read code files with line numbers and range support |
131
160
  | execute_shell | Execute system commands and capture output |
132
- | file_operation | File operations (read/write/append/delete) |
133
- | generate_tool | AI-powered tool generation and integration |
134
- | methodology | Experience accumulation and methodology management |
135
- | create_sub_agent | Create specialized sub-agents for specific tasks |
136
- | coder | Automatic code modification and generation tool |
137
- | codebase | Codebase management and search tool |
161
+ | search | Web search for development related queries |
162
+ | ask_user | Interactive user input collection |
163
+ | ask_codebase | Intelligent codebase querying and analysis |
164
+ | code_review | Automated code review with multi-dimensional analysis |
165
+ | file_operation | Basic file operations (read/exists) |
166
+ | git_commiter | Automated git commit handling |
138
167
 
139
168
  ### Tool Locations
140
169
  - Built-in tools: `src/jarvis/tools/`
141
170
  - User tools: `~/.jarvis/tools/`
142
171
 
143
-
144
172
  ### Key Features
145
173
 
146
- #### 1. Self-Extending Capabilities
147
- - Tool generation through natural language description
148
- - Automatic code generation and integration
149
- - Dynamic capability expansion through sub-agents
150
- - Automatic code modification with version control
151
- - Codebase indexing and semantic search
152
-
153
- #### 2. Methodology Learning
154
- - Automatic experience accumulation from interactions
155
- - Pattern recognition and methodology extraction
156
- - Continuous refinement through usage
157
- - Code modification history tracking
158
- - Codebase analysis and documentation generation
159
-
160
- #### 3. Adaptive Problem Solving
161
- - Context-aware sub-agent creation
162
- - Dynamic tool composition
163
- - Learning from execution feedback
174
+ #### 1. Code Intelligence
175
+ - Smart file selection and analysis based on requirements
176
+ - Semantic codebase search and querying
177
+ - Efficient handling of large files with context-aware reading
178
+ - Precise patch-based code modifications
179
+ - Automated git commit management
180
+
181
+ #### 2. Multi-Model Architecture
182
+ - Support for multiple AI platforms (Kimi/OpenAI/AI8/OYI/Ollama)
183
+ - Platform-specific optimizations for different tasks
184
+ - Specialized models for code generation, thinking, and general tasks
185
+ - Streaming response support for better interaction
186
+ - Automatic model fallback and retry mechanisms
187
+
188
+ #### 3. RAG Capabilities
189
+ - Document indexing and semantic search
190
+ - Smart context management for large documents
191
+ - Automatic file change detection
192
+ - Efficient caching mechanisms
193
+ - Multi-format document support
194
+
195
+ #### 4. Development Tools
196
+ - Interactive shell command generation
197
+ - Code review with multi-dimensional analysis
164
198
  - Codebase-aware problem solving
165
- - Multi-model collaboration for complex tasks
166
-
167
- #### 4. Code Intelligence
168
- - Automatic codebase indexing
169
- - Semantic code search
170
- - Code modification with git integration
171
- - Code analysis and documentation
172
- - Multi-model code generation
199
+ - File operations with safety checks
200
+ - Progress tracking and error handling
201
+
202
+ #### 5. User Experience
203
+ - Beautiful console output with color support
204
+ - Interactive multi-line input
205
+ - Progress indicators for long operations
206
+ - Clear error messages and handling
207
+ - Context-aware response formatting
173
208
 
174
209
  ## 🎯 Extending Jarvis
175
210
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "jarvis-ai-assistant"
7
- version = "0.1.103"
7
+ version = "0.1.105"
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" }]
@@ -41,6 +41,7 @@ dependencies = [
41
41
  "pygments>=2.15.0",
42
42
  "fuzzywuzzy>=0.18.0",
43
43
  "python-Levenshtein>=0.26.1",
44
+ "jedi>=0.19.0",
44
45
  ]
45
46
  requires-python = ">=3.8"
46
47
 
@@ -57,7 +58,7 @@ jarvis-codebase = "jarvis.jarvis_codebase.main:main"
57
58
  jarvis-rag = "jarvis.jarvis_rag.main:main"
58
59
  jarvis-smart-shell = "jarvis.jarvis_smart_shell.main:main"
59
60
  jss = "jarvis.jarvis_smart_shell.main:main"
60
- jarvis-platform = "jarvis.jarvis_platform.main:main"
61
- jarvis-gh = "jarvis.jarvis_github.main:main"
62
- jarvis-git-commit = "jarvis.tools.git_commiter:main"
63
- jarvis-ctags = "jarvis.tools.create_ctags_agent:main"
61
+ jarvis-platform-manager = "jarvis.jarvis_platform_manager.main:main"
62
+ jarvis-git-commit = "jarvis.jarvis_tools.git_commiter:main"
63
+ jarvis-ctags = "jarvis.jarvis_tools.create_ctags_agent:main"
64
+ jarvis-code-review = "jarvis.jarvis_tools.code_review:main"
@@ -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.103",
5
+ version="0.1.105",
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",
@@ -33,6 +33,7 @@ setup(
33
33
  "pygments>=2.15.0",
34
34
  "fuzzywuzzy>=0.18.0",
35
35
  "python-Levenshtein>=0.26.1",
36
+ "jedi>=0.19.0",
36
37
  ],
37
38
  entry_points={
38
39
  "console_scripts": [
@@ -42,10 +43,10 @@ setup(
42
43
  "jarvis-rag=jarvis.jarvis_rag.main:main",
43
44
  "jarvis-smart-shell=jarvis.jarvis_smart_shell.main:main",
44
45
  "jss=jarvis.jarvis_smart_shell.main:main",
45
- "jarvis-platform=jarvis.jarvis_platform.main:main",
46
- "jarvis-gh=jarvis.jarvis_github.main:main",
47
- "jarvis-git-commit=jarvis.tools.git_commiter:main",
48
- "jarvis-ctags=jarvis.tools.create_ctags_agent:main",
46
+ "jarvis-platform-manager=jarvis.jarvis_platform_manager.main:main",
47
+ "jarvis-git-commit=jarvis.jarvis_tools.git_commiter:main",
48
+ "jarvis-ctags=jarvis.jarvis_tools.create_ctags_agent:main",
49
+ "jarvis-code-review=jarvis.jarvis_tools.code_review:main",
49
50
  ],
50
51
  },
51
52
  python_requires=">=3.8",
@@ -1,3 +1,3 @@
1
1
  """Jarvis AI Assistant"""
2
2
 
3
- __version__ = "0.1.103"
3
+ __version__ = "0.1.105"