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.
- {jarvis_ai_assistant-0.1.103/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.1.105}/PKG-INFO +98 -62
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/README.md +96 -61
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/pyproject.toml +6 -5
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/setup.py +6 -5
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/__init__.py +1 -1
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/agent.py +124 -67
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/jarvis_code_agent/code_agent.py +133 -22
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/jarvis_code_agent/file_select.py +4 -6
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/jarvis_code_agent/patch.py +6 -7
- jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_code_agent/relevant_files.py +188 -0
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/jarvis_codebase/main.py +43 -29
- jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_lsp/base.py +143 -0
- jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_lsp/cpp.py +134 -0
- jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_lsp/go.py +140 -0
- jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_lsp/python.py +135 -0
- jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_lsp/registry.py +234 -0
- jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_lsp/rust.py +142 -0
- {jarvis_ai_assistant-0.1.103/src/jarvis/models → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_platform}/ai8.py +1 -1
- {jarvis_ai_assistant-0.1.103/src/jarvis/models → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_platform}/kimi.py +1 -1
- {jarvis_ai_assistant-0.1.103/src/jarvis/models → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_platform}/ollama.py +1 -1
- {jarvis_ai_assistant-0.1.103/src/jarvis/models → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_platform}/openai.py +1 -1
- {jarvis_ai_assistant-0.1.103/src/jarvis/models → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_platform}/oyi.py +1 -1
- {jarvis_ai_assistant-0.1.103/src/jarvis/models → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_platform}/registry.py +11 -11
- {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
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/jarvis_rag/main.py +8 -8
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/jarvis_smart_shell/main.py +3 -3
- {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/ask_codebase.py +1 -4
- {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/ask_user.py +1 -1
- {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/chdir.py +2 -37
- jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools/code_review.py +236 -0
- jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools/create_code_agent.py +115 -0
- {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
- jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools/deep_thinking.py +160 -0
- jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools/deep_thinking_agent.py +146 -0
- {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/git_commiter.py +3 -3
- jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools/lsp_find_definition.py +134 -0
- jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools/lsp_find_references.py +111 -0
- jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools/lsp_get_diagnostics.py +121 -0
- jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools/lsp_get_document_symbols.py +87 -0
- jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools/lsp_prepare_rename.py +130 -0
- jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools/lsp_validate_edit.py +141 -0
- {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/methodology.py +6 -1
- {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/rag.py +1 -1
- {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/read_code.py +0 -31
- {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/registry.py +6 -5
- {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/search.py +2 -2
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/utils.py +71 -28
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105/src/jarvis_ai_assistant.egg-info}/PKG-INFO +98 -62
- jarvis_ai_assistant-0.1.105/src/jarvis_ai_assistant.egg-info/SOURCES.txt +67 -0
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis_ai_assistant.egg-info/entry_points.txt +4 -4
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis_ai_assistant.egg-info/requires.txt +1 -0
- jarvis_ai_assistant-0.1.103/src/jarvis/jarvis_code_agent/relevant_files.py +0 -66
- jarvis_ai_assistant-0.1.103/src/jarvis/tools/code_review.py +0 -163
- jarvis_ai_assistant-0.1.103/src/jarvis/tools/create_code_sub_agent.py +0 -30
- jarvis_ai_assistant-0.1.103/src/jarvis/tools/create_code_test_agent.py +0 -115
- jarvis_ai_assistant-0.1.103/src/jarvis/tools/create_ctags_agent.py +0 -176
- jarvis_ai_assistant-0.1.103/src/jarvis/tools/find_in_codebase.py +0 -108
- jarvis_ai_assistant-0.1.103/src/jarvis_ai_assistant.egg-info/SOURCES.txt +0 -56
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/LICENSE +0 -0
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/MANIFEST.in +0 -0
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/setup.cfg +0 -0
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/jarvis_code_agent/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/jarvis_codebase/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.103/src/jarvis/models → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_platform}/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.103/src/jarvis/models → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_platform}/base.py +0 -0
- {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
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/jarvis_rag/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis/jarvis_smart_shell/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/base.py +0 -0
- {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/execute_shell.py +0 -0
- {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/file_operation.py +0 -0
- {jarvis_ai_assistant-0.1.103/src/jarvis/tools → jarvis_ai_assistant-0.1.105/src/jarvis/jarvis_tools}/read_webpage.py +0 -0
- {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
- {jarvis_ai_assistant-0.1.103 → jarvis_ai_assistant-0.1.105}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
- {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.
|
|
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
|
|
137
|
-
| JARVIS_MODEL | Model name to use |
|
|
138
|
-
| JARVIS_CODEGEN_PLATFORM |
|
|
139
|
-
| JARVIS_CODEGEN_MODEL | Model
|
|
140
|
-
|
|
|
141
|
-
|
|
|
142
|
-
|
|
|
143
|
-
|
|
|
144
|
-
| JARVIS_THREAD_COUNT | Number of threads
|
|
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
|
-
###
|
|
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
|
|
176
|
+
### Codebase Query
|
|
162
177
|
```bash
|
|
163
|
-
#
|
|
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
|
-
#
|
|
179
|
-
jarvis-rag --query "your
|
|
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
|
-
###
|
|
200
|
+
### Development Tools
|
|
183
201
|
```bash
|
|
184
|
-
#
|
|
185
|
-
jarvis-
|
|
202
|
+
# Manage git commits
|
|
203
|
+
jarvis-git-commit
|
|
186
204
|
|
|
187
|
-
#
|
|
188
|
-
jarvis-
|
|
205
|
+
# Generate and manage ctags
|
|
206
|
+
jarvis-ctags
|
|
189
207
|
|
|
190
|
-
#
|
|
191
|
-
jarvis-
|
|
208
|
+
# Manage AI platforms
|
|
209
|
+
jarvis-platform
|
|
192
210
|
```
|
|
193
211
|
|
|
194
|
-
|
|
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
|
-
|
|
|
203
|
-
|
|
|
204
|
-
|
|
|
205
|
-
|
|
|
206
|
-
|
|
|
207
|
-
|
|
|
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.
|
|
217
|
-
-
|
|
218
|
-
-
|
|
219
|
-
-
|
|
220
|
-
-
|
|
221
|
-
-
|
|
222
|
-
|
|
223
|
-
#### 2.
|
|
224
|
-
-
|
|
225
|
-
-
|
|
226
|
-
-
|
|
227
|
-
-
|
|
228
|
-
-
|
|
229
|
-
|
|
230
|
-
#### 3.
|
|
231
|
-
-
|
|
232
|
-
-
|
|
233
|
-
-
|
|
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
|
-
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
-
|
|
240
|
-
-
|
|
241
|
-
-
|
|
242
|
-
-
|
|
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
|
|
67
|
-
| JARVIS_MODEL | Model name to use |
|
|
68
|
-
| JARVIS_CODEGEN_PLATFORM |
|
|
69
|
-
| JARVIS_CODEGEN_MODEL | Model
|
|
70
|
-
|
|
|
71
|
-
|
|
|
72
|
-
|
|
|
73
|
-
|
|
|
74
|
-
| JARVIS_THREAD_COUNT | Number of threads
|
|
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
|
-
###
|
|
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
|
|
105
|
+
### Codebase Query
|
|
92
106
|
```bash
|
|
93
|
-
#
|
|
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
|
-
#
|
|
109
|
-
jarvis-rag --query "your
|
|
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
|
-
###
|
|
129
|
+
### Development Tools
|
|
113
130
|
```bash
|
|
114
|
-
#
|
|
115
|
-
jarvis-
|
|
131
|
+
# Manage git commits
|
|
132
|
+
jarvis-git-commit
|
|
116
133
|
|
|
117
|
-
#
|
|
118
|
-
jarvis-
|
|
134
|
+
# Generate and manage ctags
|
|
135
|
+
jarvis-ctags
|
|
119
136
|
|
|
120
|
-
#
|
|
121
|
-
jarvis-
|
|
137
|
+
# Manage AI platforms
|
|
138
|
+
jarvis-platform
|
|
122
139
|
```
|
|
123
140
|
|
|
124
|
-
|
|
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
|
-
|
|
|
133
|
-
|
|
|
134
|
-
|
|
|
135
|
-
|
|
|
136
|
-
|
|
|
137
|
-
|
|
|
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.
|
|
147
|
-
-
|
|
148
|
-
-
|
|
149
|
-
-
|
|
150
|
-
-
|
|
151
|
-
-
|
|
152
|
-
|
|
153
|
-
#### 2.
|
|
154
|
-
-
|
|
155
|
-
-
|
|
156
|
-
-
|
|
157
|
-
-
|
|
158
|
-
-
|
|
159
|
-
|
|
160
|
-
#### 3.
|
|
161
|
-
-
|
|
162
|
-
-
|
|
163
|
-
-
|
|
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
|
-
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
-
|
|
170
|
-
-
|
|
171
|
-
-
|
|
172
|
-
-
|
|
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.
|
|
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.
|
|
61
|
-
jarvis-
|
|
62
|
-
jarvis-
|
|
63
|
-
jarvis-
|
|
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.
|
|
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.
|
|
46
|
-
"jarvis-
|
|
47
|
-
"jarvis-
|
|
48
|
-
"jarvis-
|
|
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",
|