jarvis-ai-assistant 0.1.178__tar.gz → 0.1.180__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 (107) hide show
  1. {jarvis_ai_assistant-0.1.178/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.1.180}/PKG-INFO +66 -59
  2. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/README.md +64 -56
  3. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/pyproject.toml +2 -3
  4. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/setup.py +6 -4
  5. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/__init__.py +1 -1
  6. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_agent/__init__.py +130 -79
  7. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_agent/jarvis.py +9 -13
  8. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_agent/main.py +4 -2
  9. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_agent/code_agent.py +34 -23
  10. jarvis_ai_assistant-0.1.180/src/jarvis/jarvis_code_agent/lint.py +164 -0
  11. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/loader.py +6 -20
  12. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/code_review.py +8 -6
  13. jarvis_ai_assistant-0.1.180/src/jarvis/jarvis_data/config_schema.json +260 -0
  14. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_dev/main.py +1 -8
  15. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_git_details/main.py +1 -1
  16. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_git_squash/main.py +5 -3
  17. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_git_utils/git_commiter.py +25 -24
  18. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_mcp/sse_mcp_client.py +6 -4
  19. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_mcp/stdio_mcp_client.py +5 -4
  20. jarvis_ai_assistant-0.1.180/src/jarvis/jarvis_mcp/streamable_mcp_client.py +404 -0
  21. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_methodology/main.py +10 -9
  22. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_multi_agent/main.py +3 -1
  23. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_platform/base.py +14 -8
  24. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_platform/human.py +3 -1
  25. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_platform/kimi.py +8 -27
  26. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_platform/openai.py +4 -16
  27. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_platform/registry.py +6 -2
  28. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_platform/yuanbao.py +9 -29
  29. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_platform_manager/main.py +11 -9
  30. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_smart_shell/main.py +7 -3
  31. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/ask_codebase.py +4 -3
  32. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/ask_user.py +2 -1
  33. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/base.py +3 -1
  34. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/chdir.py +2 -1
  35. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/cli/main.py +1 -0
  36. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/code_plan.py +5 -3
  37. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/create_code_agent.py +5 -2
  38. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/create_sub_agent.py +1 -3
  39. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/edit_file.py +4 -4
  40. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/execute_script.py +1 -1
  41. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/file_analyzer.py +5 -3
  42. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/file_operation.py +4 -7
  43. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/find_methodology.py +4 -2
  44. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/generate_new_tool.py +2 -1
  45. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/methodology.py +3 -4
  46. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/read_code.py +2 -1
  47. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/read_webpage.py +3 -1
  48. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/registry.py +60 -45
  49. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/rewrite_file.py +2 -1
  50. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/search_web.py +1 -0
  51. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/virtual_tty.py +5 -4
  52. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/__init__.py +2 -0
  53. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/builtin_replace_map.py +1 -1
  54. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/config.py +88 -17
  55. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/embedding.py +4 -3
  56. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/file_processors.py +1 -0
  57. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/git_utils.py +83 -40
  58. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/globals.py +4 -2
  59. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/input.py +14 -7
  60. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/methodology.py +6 -4
  61. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/output.py +10 -6
  62. jarvis_ai_assistant-0.1.180/src/jarvis/jarvis_utils/utils.py +264 -0
  63. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180/src/jarvis_ai_assistant.egg-info}/PKG-INFO +66 -59
  64. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +3 -0
  65. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis_ai_assistant.egg-info/requires.txt +1 -2
  66. jarvis_ai_assistant-0.1.178/src/jarvis/jarvis_utils/utils.py +0 -148
  67. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/LICENSE +0 -0
  68. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/MANIFEST.in +0 -0
  69. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/setup.cfg +0 -0
  70. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_agent/builtin_input_handler.py +1 -1
  71. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_agent/output_handler.py +0 -0
  72. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_agent/shell_input_handler.py +0 -0
  73. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_agent/__init__.py +0 -0
  74. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/__init__.py +0 -0
  75. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/c_cpp.py +0 -0
  76. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/csharp.py +0 -0
  77. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/data_format.py +0 -0
  78. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/devops.py +0 -0
  79. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/docs.py +0 -0
  80. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/go.py +0 -0
  81. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/infrastructure.py +0 -0
  82. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/java.py +0 -0
  83. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/javascript.py +0 -0
  84. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/kotlin.py +0 -0
  85. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/php.py +0 -0
  86. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/python.py +0 -0
  87. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/ruby.py +0 -0
  88. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/rust.py +0 -0
  89. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/shell.py +0 -0
  90. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/sql.py +0 -0
  91. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/swift.py +0 -0
  92. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/web.py +0 -0
  93. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_data/huggingface.tar.gz +0 -0
  94. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_event/__init__.py +0 -0
  95. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_git_details/__init__.py +0 -0
  96. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_git_squash/__init__.py +0 -0
  97. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_mcp/__init__.py +0 -0
  98. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_multi_agent/__init__.py +0 -0
  99. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_platform/__init__.py +0 -0
  100. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_platform_manager/__init__.py +0 -0
  101. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_smart_shell/__init__.py +0 -0
  102. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/__init__.py +0 -0
  103. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/cli/__init__.py +0 -0
  104. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/tag.py +0 -0
  105. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
  106. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis_ai_assistant.egg-info/entry_points.txt +0 -0
  107. {jarvis_ai_assistant-0.1.178 → jarvis_ai_assistant-0.1.180}/src/jarvis_ai_assistant.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jarvis-ai-assistant
3
- Version: 0.1.178
3
+ Version: 0.1.180
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
@@ -46,16 +46,15 @@ Requires-Dist: prompt_toolkit==3.0.50
46
46
  Requires-Dist: yaspin==2.4.0
47
47
  Requires-Dist: pygments==2.19.1
48
48
  Requires-Dist: fuzzywuzzy==0.18.0
49
- Requires-Dist: jedi==0.19.2
50
49
  Requires-Dist: fastapi==0.115.12
51
50
  Requires-Dist: uvicorn==0.33.0
52
51
  Requires-Dist: rich==14.0.0
53
52
  Requires-Dist: transformers==4.46.3
54
53
  Requires-Dist: torch==2.4.1
55
54
  Requires-Dist: python-Levenshtein==0.25.1
56
- Requires-Dist: sseclient==0.0.27
57
55
  Requires-Dist: pillow==10.2.0
58
56
  Requires-Dist: openai==1.78.1
57
+ Requires-Dist: tabulate==0.9.0
59
58
  Provides-Extra: dev
60
59
  Requires-Dist: pytest; extra == "dev"
61
60
  Requires-Dist: black; extra == "dev"
@@ -78,15 +77,7 @@ Dynamic: requires-python
78
77
 
79
78
  *您的智能开发和系统交互助手*
80
79
 
81
- [核心特色](#core-features) •
82
- [视频介绍](#video-introduction) •
83
- [快速开始](#quick-start) •
84
- [配置说明](#configuration) •
85
- [工具说明](#tools) •
86
- [扩展开发](#extensions) •
87
- [贡献指南](#contributing) •
88
- [许可证](#license) •
89
- [Wiki文档](https://deepwiki.com/skyfireitdiy/Jarvis)
80
+ [核心特色](#core-features) • [视频介绍](#video-introduction) • [快速开始](#quick-start) • [配置说明](#configuration) • [工具说明](#tools) • [扩展开发](#extensions) • [贡献指南](#contributing) • [许可证](#license) • [Wiki文档](https://deepwiki.com/skyfireitdiy/Jarvis)
90
81
  </div>
91
82
 
92
83
  ---
@@ -123,15 +114,17 @@ pip3 install jarvis-ai-assistant
123
114
 
124
115
  ### 最小化配置
125
116
 
126
- #### 腾讯元宝
127
- ```bash
128
- JARVIS_PLATFORM=yuanbao
129
- JARVIS_MODEL=deep_seek_v3
130
- JARVIS_THINKING_PLATFORM=yuanbao
131
- JARVIS_THINKING_MODEL=deep_seek
117
+ 将以下配置写入到`~/.jarvis/config.yaml`文件中。
132
118
 
133
- YUANBAO_COOKIES=<元宝cookies>
134
- YUANBAO_AGENT_ID=<元宝AgentID>
119
+ #### 腾讯元宝
120
+ ```yaml
121
+ JARVIS_PLATFORM: yuanbao
122
+ JARVIS_MODEL: deep_seek_v3
123
+ JARVIS_THINKING_PLATFORM: yuanbao
124
+ JARVIS_THINKING_MODEL: deep_seek
125
+ ENV:
126
+ YUANBAO_COOKIES: <元宝cookies>
127
+ YUANBAO_AGENT_ID: <元宝AgentID>
135
128
  ```
136
129
 
137
130
  元宝cookies以及AgentID获取方式:
@@ -142,13 +135,14 @@ YUANBAO_AGENT_ID=<元宝AgentID>
142
135
 
143
136
 
144
137
  #### Kimi
145
- ```bash
146
- JARVIS_PLATFORM=kimi
147
- JARVIS_MODEL=kimi
148
- JARVIS_THINKING_PLATFORM=kimi
149
- JARVIS_THINKING_MODEL=k1
138
+ ```yaml
139
+ JARVIS_PLATFORM: kimi
140
+ JARVIS_MODEL: kimi
141
+ JARVIS_THINKING_PLATFORM: kimi
142
+ JARVIS_THINKING_MODEL: k1
150
143
 
151
- KIMI_API_KEY=<Kimi API KEY>
144
+ ENV:
145
+ KIMI_API_KEY: <Kimi API KEY>
152
146
  ```
153
147
 
154
148
  Kimi API Key获取方式:
@@ -159,21 +153,21 @@ Kimi API Key获取方式:
159
153
 
160
154
 
161
155
  #### OpenAI
162
- ```bash
163
- JARVIS_PLATFORM=openai
164
- JARVIS_MODEL=gpt-4o # 默认模型,可选gpt-4-turbo, gpt-3.5-turbo等
165
- JARVIS_THINKING_PLATFORM=openai
166
- JARVIS_THINKING_MODEL=gpt-4o
156
+ ```yaml
157
+ JARVIS_PLATFORM: openai
158
+ JARVIS_MODEL: gpt-4o # 默认模型,可选gpt-4-turbo, gpt-3.5-turbo等
159
+ JARVIS_THINKING_PLATFORM: openai
160
+ JARVIS_THINKING_MODEL: gpt-4o
167
161
 
168
- OPENAI_API_KEY=<OpenAI API Key>
169
- OPENAI_API_BASE=https://api.openai.com/v1 # 可选,默认为官方API地址
162
+ OPENAI_API_KEY: <OpenAI API Key>
163
+ OPENAI_API_BASE: https://api.openai.com/v1 # 可选,默认为官方API地址
170
164
  ```
171
165
 
172
166
  配置说明:
173
167
  1. `OPENAI_API_KEY`: 必填。
174
168
  2. `OPENAI_API_BASE`: 可选,用于自定义API端点
175
169
 
176
- 以上配置编写到`~/.jarvis/env`文件中。
170
+ 以上配置编写到`~/.jarvis/config.yaml`文件中。
177
171
 
178
172
  支持的模型可通过`jarvis-platform-manager --list-models`查看完整列表。
179
173
 
@@ -198,9 +192,10 @@ OPENAI_API_BASE=https://api.openai.com/v1 # 可选,默认为官方API地址
198
192
  ---
199
193
 
200
194
  ## ⚙️ 配置说明 <a id="configuration"></a>
201
- ### 环境变量配置
195
+ ### 配置项
202
196
  | 变量名称 | 默认值 | 说明 |
203
197
  |----------|--------|------|
198
+ | `ENV` | {} | 环境变量配置,用于设置系统环境变量 |
204
199
  | `JARVIS_MAX_TOKEN_COUNT` | 960000 | 上下文窗口的最大token数量 |
205
200
  | `JARVIS_MAX_INPUT_TOKEN_COUNT` | 32000 | 输入的最大token数量 |
206
201
  | `JARVIS_AUTO_COMPLETE` | false | 是否启用自动完成功能(任务判定完成的时候会自动终止) |
@@ -215,9 +210,22 @@ OPENAI_API_BASE=https://api.openai.com/v1 # 可选,默认为官方API地址
215
210
  | `JARVIS_AUTO_UPDATE` | true | 是否自动更新Jarvis(仅在以git仓库方式安装时有效) |
216
211
  | `JARVIS_MAX_BIG_CONTENT_SIZE` | 1024000 | 最大大内容大小 |
217
212
  | `JARVIS_PRETTY_OUTPUT` | false | 是否启用PrettyOutput |
213
+ | `JARVIS_GIT_COMMIT_PROMPT` | "" | 自定义git提交信息生成提示模板 |
214
+ | `JARVIS_PRINT_PROMPT` | false | 是否打印提示 |
215
+ | `JARVIS_USE_METHODOLOGY` | false | 是否启用方法论功能 |
216
+ | `JARVIS_USE_ANALYSIS` | false | 是否启用任务分析功能 |
217
+ | `JARVIS_DATA_PATH` | ~/.jarvis | Jarvis数据存储目录路径 |
218
218
 
219
- 所有配置编写到`~/.jarvis/env`文件中即可生效。
219
+ 所有配置编写到`~/.jarvis/config.yaml`文件中即可生效。
220
220
 
221
+ ### 配置文件格式
222
+ 配置文件仅支持YAML格式:
223
+ ```yaml
224
+ JARVIS_PLATFORM: yuanbao
225
+ JARVIS_MODEL: deep_seek_v3
226
+ ENV:
227
+ YUANBAO_COOKIES: "your_cookies_here"
228
+ ```
221
229
 
222
230
  ---
223
231
  ## 🛠️ 工具说明 <a id="tools"></a>
@@ -236,7 +244,6 @@ OPENAI_API_BASE=https://api.openai.com/v1 # 可选,默认为官方API地址
236
244
  | file_analyzer | 分析文件内容并提取关键信息。支持的文件:文本文件、word文档、pdf文件、图片 |
237
245
  | file_operation | 文件批量操作工具,可批量读写多个文件,支持文本文件,适用于需要同时处理多个文件的场景(读取配置文件、保存生成内容等) |
238
246
  | find_methodology | 方法论查找工具,用于在执行过程中查看历史方法论辅助决策 |
239
- | lsp_get_diagnostics | 获取代码诊断信息(错误、警告) |
240
247
  | methodology | 方法论管理工具,支持添加、更新和删除操作 |
241
248
  | read_code | 代码阅读与分析工具,用于读取源代码文件并添加行号,针对代码文件优化,提供更好的格式化输出和行号显示,适用于代码分析、审查和理解代码实现的场景 |
242
249
  | read_webpage | 读取网页内容并分析 |
@@ -262,15 +269,20 @@ Jarvis支持使用特殊标记`'<tag>'`来触发命令替换功能,其中`tag`
262
269
  | `'Fix'` | 修复问题 |
263
270
 
264
271
  #### 自定义替换
265
- 可以通过在`~/.jarvis/replace_map.yaml`文件中添加自定义替换规则:
272
+ 可以通过以下方式配置自定义替换规则:
273
+
274
+ **配置文件**:
275
+ 在`~/.jarvis/config.yaml`中添加`JARVIS_REPLACE_MAP`配置项:
266
276
  ```yaml
267
- tag_name:
268
- template: "替换后的内容"
269
- description: "标记描述"
270
- append: false # 可选,true表示追加到输入末尾,false表示直接替换
277
+ JARVIS_REPLACE_MAP:
278
+ tag_name:
279
+ template: "替换后的内容"
280
+ description: "标记描述"
281
+ append: false # 可选,true表示追加到输入末尾,false表示直接替换
271
282
  ```
272
283
 
273
284
 
285
+
274
286
  #### 文件路径补全
275
287
  在交互式输入中,输入`@`可以触发文件路径补全功能,支持模糊匹配。
276
288
 
@@ -330,27 +342,22 @@ class CustomTool:
330
342
 
331
343
 
332
344
  ### 添加MCP
333
- MCP(模型上下文协议)。在`~/.jarvis/tools/mcp/`中创建YAML配置文件:
345
+ MCP(模型上下文协议)支持以下配置方式:
334
346
 
335
- #### 本地MCP配置(`stdio`模式)
347
+ #### 配置文件
348
+ 在`~/.jarvis/config.yaml`中添加`JARVIS_MCP`配置项:
336
349
  ```yaml
337
- type: stdio
338
- name: MCP名称
339
- command: 可执行命令
340
- args: [参数列表] # 可选
341
- env: # 可选环境变量
342
- KEY: VALUE
350
+ JARVIS_MCP:
351
+ - type: stdio # 或 sse/streamable
352
+ name: MCP名称
353
+ command: 可执行命令 # stdio模式必填
354
+ base_url: http://example.com/api # sse/streamable模式必填
355
+ args: [参数列表] # 可选
356
+ env: # 可选环境变量
357
+ KEY: VALUE
358
+ enable: true # 可选,默认为true
343
359
  ```
344
360
 
345
- #### 远程MCP配置(`sse`模式)
346
- ```yaml
347
- type: sse
348
- name: MCP名称
349
- base_url: http://example.com/api
350
- auth_token: 认证令牌 # 可选
351
- headers: # 可选HTTP头
352
- X-Custom-Header: value
353
- ```
354
361
 
355
362
 
356
363
  ### 添加新大模型平台
@@ -8,15 +8,7 @@
8
8
 
9
9
  *您的智能开发和系统交互助手*
10
10
 
11
- [核心特色](#core-features) •
12
- [视频介绍](#video-introduction) •
13
- [快速开始](#quick-start) •
14
- [配置说明](#configuration) •
15
- [工具说明](#tools) •
16
- [扩展开发](#extensions) •
17
- [贡献指南](#contributing) •
18
- [许可证](#license) •
19
- [Wiki文档](https://deepwiki.com/skyfireitdiy/Jarvis)
11
+ [核心特色](#core-features) • [视频介绍](#video-introduction) • [快速开始](#quick-start) • [配置说明](#configuration) • [工具说明](#tools) • [扩展开发](#extensions) • [贡献指南](#contributing) • [许可证](#license) • [Wiki文档](https://deepwiki.com/skyfireitdiy/Jarvis)
20
12
  </div>
21
13
 
22
14
  ---
@@ -53,15 +45,17 @@ pip3 install jarvis-ai-assistant
53
45
 
54
46
  ### 最小化配置
55
47
 
56
- #### 腾讯元宝
57
- ```bash
58
- JARVIS_PLATFORM=yuanbao
59
- JARVIS_MODEL=deep_seek_v3
60
- JARVIS_THINKING_PLATFORM=yuanbao
61
- JARVIS_THINKING_MODEL=deep_seek
48
+ 将以下配置写入到`~/.jarvis/config.yaml`文件中。
62
49
 
63
- YUANBAO_COOKIES=<元宝cookies>
64
- YUANBAO_AGENT_ID=<元宝AgentID>
50
+ #### 腾讯元宝
51
+ ```yaml
52
+ JARVIS_PLATFORM: yuanbao
53
+ JARVIS_MODEL: deep_seek_v3
54
+ JARVIS_THINKING_PLATFORM: yuanbao
55
+ JARVIS_THINKING_MODEL: deep_seek
56
+ ENV:
57
+ YUANBAO_COOKIES: <元宝cookies>
58
+ YUANBAO_AGENT_ID: <元宝AgentID>
65
59
  ```
66
60
 
67
61
  元宝cookies以及AgentID获取方式:
@@ -72,13 +66,14 @@ YUANBAO_AGENT_ID=<元宝AgentID>
72
66
 
73
67
 
74
68
  #### Kimi
75
- ```bash
76
- JARVIS_PLATFORM=kimi
77
- JARVIS_MODEL=kimi
78
- JARVIS_THINKING_PLATFORM=kimi
79
- JARVIS_THINKING_MODEL=k1
69
+ ```yaml
70
+ JARVIS_PLATFORM: kimi
71
+ JARVIS_MODEL: kimi
72
+ JARVIS_THINKING_PLATFORM: kimi
73
+ JARVIS_THINKING_MODEL: k1
80
74
 
81
- KIMI_API_KEY=<Kimi API KEY>
75
+ ENV:
76
+ KIMI_API_KEY: <Kimi API KEY>
82
77
  ```
83
78
 
84
79
  Kimi API Key获取方式:
@@ -89,21 +84,21 @@ Kimi API Key获取方式:
89
84
 
90
85
 
91
86
  #### OpenAI
92
- ```bash
93
- JARVIS_PLATFORM=openai
94
- JARVIS_MODEL=gpt-4o # 默认模型,可选gpt-4-turbo, gpt-3.5-turbo等
95
- JARVIS_THINKING_PLATFORM=openai
96
- JARVIS_THINKING_MODEL=gpt-4o
87
+ ```yaml
88
+ JARVIS_PLATFORM: openai
89
+ JARVIS_MODEL: gpt-4o # 默认模型,可选gpt-4-turbo, gpt-3.5-turbo等
90
+ JARVIS_THINKING_PLATFORM: openai
91
+ JARVIS_THINKING_MODEL: gpt-4o
97
92
 
98
- OPENAI_API_KEY=<OpenAI API Key>
99
- OPENAI_API_BASE=https://api.openai.com/v1 # 可选,默认为官方API地址
93
+ OPENAI_API_KEY: <OpenAI API Key>
94
+ OPENAI_API_BASE: https://api.openai.com/v1 # 可选,默认为官方API地址
100
95
  ```
101
96
 
102
97
  配置说明:
103
98
  1. `OPENAI_API_KEY`: 必填。
104
99
  2. `OPENAI_API_BASE`: 可选,用于自定义API端点
105
100
 
106
- 以上配置编写到`~/.jarvis/env`文件中。
101
+ 以上配置编写到`~/.jarvis/config.yaml`文件中。
107
102
 
108
103
  支持的模型可通过`jarvis-platform-manager --list-models`查看完整列表。
109
104
 
@@ -128,9 +123,10 @@ OPENAI_API_BASE=https://api.openai.com/v1 # 可选,默认为官方API地址
128
123
  ---
129
124
 
130
125
  ## ⚙️ 配置说明 <a id="configuration"></a>
131
- ### 环境变量配置
126
+ ### 配置项
132
127
  | 变量名称 | 默认值 | 说明 |
133
128
  |----------|--------|------|
129
+ | `ENV` | {} | 环境变量配置,用于设置系统环境变量 |
134
130
  | `JARVIS_MAX_TOKEN_COUNT` | 960000 | 上下文窗口的最大token数量 |
135
131
  | `JARVIS_MAX_INPUT_TOKEN_COUNT` | 32000 | 输入的最大token数量 |
136
132
  | `JARVIS_AUTO_COMPLETE` | false | 是否启用自动完成功能(任务判定完成的时候会自动终止) |
@@ -145,9 +141,22 @@ OPENAI_API_BASE=https://api.openai.com/v1 # 可选,默认为官方API地址
145
141
  | `JARVIS_AUTO_UPDATE` | true | 是否自动更新Jarvis(仅在以git仓库方式安装时有效) |
146
142
  | `JARVIS_MAX_BIG_CONTENT_SIZE` | 1024000 | 最大大内容大小 |
147
143
  | `JARVIS_PRETTY_OUTPUT` | false | 是否启用PrettyOutput |
144
+ | `JARVIS_GIT_COMMIT_PROMPT` | "" | 自定义git提交信息生成提示模板 |
145
+ | `JARVIS_PRINT_PROMPT` | false | 是否打印提示 |
146
+ | `JARVIS_USE_METHODOLOGY` | false | 是否启用方法论功能 |
147
+ | `JARVIS_USE_ANALYSIS` | false | 是否启用任务分析功能 |
148
+ | `JARVIS_DATA_PATH` | ~/.jarvis | Jarvis数据存储目录路径 |
148
149
 
149
- 所有配置编写到`~/.jarvis/env`文件中即可生效。
150
+ 所有配置编写到`~/.jarvis/config.yaml`文件中即可生效。
150
151
 
152
+ ### 配置文件格式
153
+ 配置文件仅支持YAML格式:
154
+ ```yaml
155
+ JARVIS_PLATFORM: yuanbao
156
+ JARVIS_MODEL: deep_seek_v3
157
+ ENV:
158
+ YUANBAO_COOKIES: "your_cookies_here"
159
+ ```
151
160
 
152
161
  ---
153
162
  ## 🛠️ 工具说明 <a id="tools"></a>
@@ -166,7 +175,6 @@ OPENAI_API_BASE=https://api.openai.com/v1 # 可选,默认为官方API地址
166
175
  | file_analyzer | 分析文件内容并提取关键信息。支持的文件:文本文件、word文档、pdf文件、图片 |
167
176
  | file_operation | 文件批量操作工具,可批量读写多个文件,支持文本文件,适用于需要同时处理多个文件的场景(读取配置文件、保存生成内容等) |
168
177
  | find_methodology | 方法论查找工具,用于在执行过程中查看历史方法论辅助决策 |
169
- | lsp_get_diagnostics | 获取代码诊断信息(错误、警告) |
170
178
  | methodology | 方法论管理工具,支持添加、更新和删除操作 |
171
179
  | read_code | 代码阅读与分析工具,用于读取源代码文件并添加行号,针对代码文件优化,提供更好的格式化输出和行号显示,适用于代码分析、审查和理解代码实现的场景 |
172
180
  | read_webpage | 读取网页内容并分析 |
@@ -192,15 +200,20 @@ Jarvis支持使用特殊标记`'<tag>'`来触发命令替换功能,其中`tag`
192
200
  | `'Fix'` | 修复问题 |
193
201
 
194
202
  #### 自定义替换
195
- 可以通过在`~/.jarvis/replace_map.yaml`文件中添加自定义替换规则:
203
+ 可以通过以下方式配置自定义替换规则:
204
+
205
+ **配置文件**:
206
+ 在`~/.jarvis/config.yaml`中添加`JARVIS_REPLACE_MAP`配置项:
196
207
  ```yaml
197
- tag_name:
198
- template: "替换后的内容"
199
- description: "标记描述"
200
- append: false # 可选,true表示追加到输入末尾,false表示直接替换
208
+ JARVIS_REPLACE_MAP:
209
+ tag_name:
210
+ template: "替换后的内容"
211
+ description: "标记描述"
212
+ append: false # 可选,true表示追加到输入末尾,false表示直接替换
201
213
  ```
202
214
 
203
215
 
216
+
204
217
  #### 文件路径补全
205
218
  在交互式输入中,输入`@`可以触发文件路径补全功能,支持模糊匹配。
206
219
 
@@ -260,27 +273,22 @@ class CustomTool:
260
273
 
261
274
 
262
275
  ### 添加MCP
263
- MCP(模型上下文协议)。在`~/.jarvis/tools/mcp/`中创建YAML配置文件:
276
+ MCP(模型上下文协议)支持以下配置方式:
264
277
 
265
- #### 本地MCP配置(`stdio`模式)
278
+ #### 配置文件
279
+ 在`~/.jarvis/config.yaml`中添加`JARVIS_MCP`配置项:
266
280
  ```yaml
267
- type: stdio
268
- name: MCP名称
269
- command: 可执行命令
270
- args: [参数列表] # 可选
271
- env: # 可选环境变量
272
- KEY: VALUE
281
+ JARVIS_MCP:
282
+ - type: stdio # 或 sse/streamable
283
+ name: MCP名称
284
+ command: 可执行命令 # stdio模式必填
285
+ base_url: http://example.com/api # sse/streamable模式必填
286
+ args: [参数列表] # 可选
287
+ env: # 可选环境变量
288
+ KEY: VALUE
289
+ enable: true # 可选,默认为true
273
290
  ```
274
291
 
275
- #### 远程MCP配置(`sse`模式)
276
- ```yaml
277
- type: sse
278
- name: MCP名称
279
- base_url: http://example.com/api
280
- auth_token: 认证令牌 # 可选
281
- headers: # 可选HTTP头
282
- X-Custom-Header: value
283
- ```
284
292
 
285
293
 
286
294
  ### 添加新大模型平台
@@ -8,7 +8,7 @@ default = true
8
8
 
9
9
  [project]
10
10
  name = "jarvis-ai-assistant"
11
- version = "0.1.178"
11
+ version = "0.1.180"
12
12
  description = "Jarvis: An AI assistant that uses tools to interact with the system"
13
13
  readme = "README.md"
14
14
  authors = [{ name = "skyfire", email = "skyfireitdiy@hotmail.com" }]
@@ -32,16 +32,15 @@ dependencies = [
32
32
  "yaspin==2.4.0",
33
33
  "pygments==2.19.1",
34
34
  "fuzzywuzzy==0.18.0",
35
- "jedi==0.19.2",
36
35
  "fastapi==0.115.12",
37
36
  "uvicorn==0.33.0",
38
37
  "rich==14.0.0",
39
38
  "transformers==4.46.3",
40
39
  "torch==2.4.1",
41
40
  "python-Levenshtein==0.25.1",
42
- "sseclient==0.0.27",
43
41
  "pillow==10.2.0",
44
42
  "openai==1.78.1",
43
+ "tabulate==0.9.0",
45
44
  ]
46
45
  requires-python = ">=3.8"
47
46
 
@@ -3,7 +3,7 @@ from setuptools import setup, find_packages
3
3
 
4
4
  setup(
5
5
  name="jarvis-ai-assistant",
6
- version="0.1.178",
6
+ version="0.1.180",
7
7
  author="skyfire",
8
8
  author_email="skyfireitdiy@hotmail.com",
9
9
  description="An AI assistant that uses various tools to interact with the system",
@@ -14,7 +14,10 @@ setup(
14
14
  package_dir={"": "src"},
15
15
  include_package_data=True,
16
16
  package_data={
17
- "jarvis": ["jarvis_data/huggingface.tar.gz"],
17
+ "jarvis": [
18
+ "jarvis_data/huggingface.tar.gz",
19
+ "jarvis_data/config_schema.json"
20
+ ],
18
21
  },
19
22
  install_requires=[
20
23
  "requests==2.32.3",
@@ -23,16 +26,15 @@ setup(
23
26
  "yaspin==2.4.0",
24
27
  "pygments==2.19.1",
25
28
  "fuzzywuzzy==0.18.0",
26
- "jedi==0.19.2",
27
29
  "fastapi==0.115.12",
28
30
  "uvicorn==0.33.0",
29
31
  "rich==14.0.0",
30
32
  "transformers==4.46.3",
31
33
  "torch==2.4.1",
32
34
  "python-Levenshtein==0.25.1",
33
- "sseclient==0.0.27",
34
35
  "pillow==10.2.0",
35
36
  "openai==1.78.1",
37
+ "tabulate==0.9.0",
36
38
  ],
37
39
  extras_require={
38
40
  "dev": ["pytest", "black", "isort", "mypy", "build", "twine"]
@@ -1,4 +1,4 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """Jarvis AI Assistant"""
3
3
 
4
- __version__ = "0.1.178"
4
+ __version__ = "0.1.180"