jarvis-ai-assistant 0.1.179__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.
- {jarvis_ai_assistant-0.1.179/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.1.180}/PKG-INFO +44 -49
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/README.md +43 -48
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/pyproject.toml +1 -1
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/setup.py +5 -2
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/__init__.py +1 -1
- jarvis_ai_assistant-0.1.180/src/jarvis/jarvis_data/config_schema.json +260 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_git_utils/git_commiter.py +1 -1
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_platform/kimi.py +0 -22
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_platform/openai.py +0 -15
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_platform/yuanbao.py +0 -23
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_smart_shell/main.py +6 -3
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/edit_file.py +1 -1
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/registry.py +41 -35
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/config.py +61 -20
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/git_utils.py +28 -15
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/utils.py +101 -61
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180/src/jarvis_ai_assistant.egg-info}/PKG-INFO +44 -49
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +1 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/LICENSE +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/MANIFEST.in +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/setup.cfg +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_agent/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_agent/builtin_input_handler.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_agent/jarvis.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_agent/main.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_agent/output_handler.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_agent/shell_input_handler.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_agent/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_agent/code_agent.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_agent/lint.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/c_cpp.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/csharp.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/data_format.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/devops.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/docs.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/go.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/infrastructure.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/java.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/javascript.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/kotlin.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/loader.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/php.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/python.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/ruby.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/rust.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/shell.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/sql.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/swift.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/checklists/web.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_code_analysis/code_review.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_data/huggingface.tar.gz +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_dev/main.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_event/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_git_details/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_git_details/main.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_git_squash/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_git_squash/main.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_mcp/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_mcp/sse_mcp_client.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_mcp/stdio_mcp_client.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_mcp/streamable_mcp_client.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_methodology/main.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_multi_agent/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_multi_agent/main.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_platform/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_platform/base.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_platform/human.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_platform/registry.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_platform_manager/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_platform_manager/main.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_smart_shell/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/ask_codebase.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/ask_user.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/base.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/chdir.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/cli/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/cli/main.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/code_plan.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/create_code_agent.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/create_sub_agent.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/execute_script.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/file_analyzer.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/file_operation.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/find_methodology.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/generate_new_tool.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/methodology.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/read_code.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/read_webpage.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/rewrite_file.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/search_web.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_tools/virtual_tty.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/builtin_replace_map.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/embedding.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/file_processors.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/globals.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/input.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/methodology.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/output.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_utils/tag.py +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis_ai_assistant.egg-info/entry_points.txt +0 -0
- {jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis_ai_assistant.egg-info/requires.txt +0 -0
- {jarvis_ai_assistant-0.1.179 → 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.
|
|
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
|
|
@@ -114,7 +114,7 @@ pip3 install jarvis-ai-assistant
|
|
|
114
114
|
|
|
115
115
|
### 最小化配置
|
|
116
116
|
|
|
117
|
-
将以下配置写入到`~/.jarvis/
|
|
117
|
+
将以下配置写入到`~/.jarvis/config.yaml`文件中。
|
|
118
118
|
|
|
119
119
|
#### 腾讯元宝
|
|
120
120
|
```yaml
|
|
@@ -122,9 +122,9 @@ JARVIS_PLATFORM: yuanbao
|
|
|
122
122
|
JARVIS_MODEL: deep_seek_v3
|
|
123
123
|
JARVIS_THINKING_PLATFORM: yuanbao
|
|
124
124
|
JARVIS_THINKING_MODEL: deep_seek
|
|
125
|
-
|
|
126
|
-
YUANBAO_COOKIES: <元宝cookies>
|
|
127
|
-
YUANBAO_AGENT_ID: <元宝AgentID>
|
|
125
|
+
ENV:
|
|
126
|
+
YUANBAO_COOKIES: <元宝cookies>
|
|
127
|
+
YUANBAO_AGENT_ID: <元宝AgentID>
|
|
128
128
|
```
|
|
129
129
|
|
|
130
130
|
元宝cookies以及AgentID获取方式:
|
|
@@ -141,7 +141,8 @@ JARVIS_MODEL: kimi
|
|
|
141
141
|
JARVIS_THINKING_PLATFORM: kimi
|
|
142
142
|
JARVIS_THINKING_MODEL: k1
|
|
143
143
|
|
|
144
|
-
|
|
144
|
+
ENV:
|
|
145
|
+
KIMI_API_KEY: <Kimi API KEY>
|
|
145
146
|
```
|
|
146
147
|
|
|
147
148
|
Kimi API Key获取方式:
|
|
@@ -166,7 +167,7 @@ OPENAI_API_BASE: https://api.openai.com/v1 # 可选,默认为官方API地址
|
|
|
166
167
|
1. `OPENAI_API_KEY`: 必填。
|
|
167
168
|
2. `OPENAI_API_BASE`: 可选,用于自定义API端点
|
|
168
169
|
|
|
169
|
-
以上配置编写到`~/.jarvis/
|
|
170
|
+
以上配置编写到`~/.jarvis/config.yaml`文件中。
|
|
170
171
|
|
|
171
172
|
支持的模型可通过`jarvis-platform-manager --list-models`查看完整列表。
|
|
172
173
|
|
|
@@ -191,27 +192,10 @@ OPENAI_API_BASE: https://api.openai.com/v1 # 可选,默认为官方API地址
|
|
|
191
192
|
---
|
|
192
193
|
|
|
193
194
|
## ⚙️ 配置说明 <a id="configuration"></a>
|
|
194
|
-
###
|
|
195
|
-
配置文件支持两种格式:
|
|
196
|
-
1. **YAML格式(推荐)**:
|
|
197
|
-
```yaml
|
|
198
|
-
JARVIS_PLATFORM: yuanbao
|
|
199
|
-
JARVIS_MODEL: deep_seek_v3
|
|
200
|
-
YUANBAO_COOKIES: "your_cookies_here"
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
2. **传统键值对格式**:
|
|
204
|
-
```
|
|
205
|
-
JARVIS_PLATFORM=yuanbao
|
|
206
|
-
JARVIS_MODEL=deep_seek_v3
|
|
207
|
-
YUANBAO_COOKIES=your_cookies_here
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
系统会自动检测格式并处理。当检测到传统格式时,会自动转换为YAML格式并备份原文件。
|
|
211
|
-
|
|
212
|
-
### 环境变量配置
|
|
195
|
+
### 配置项
|
|
213
196
|
| 变量名称 | 默认值 | 说明 |
|
|
214
197
|
|----------|--------|------|
|
|
198
|
+
| `ENV` | {} | 环境变量配置,用于设置系统环境变量 |
|
|
215
199
|
| `JARVIS_MAX_TOKEN_COUNT` | 960000 | 上下文窗口的最大token数量 |
|
|
216
200
|
| `JARVIS_MAX_INPUT_TOKEN_COUNT` | 32000 | 输入的最大token数量 |
|
|
217
201
|
| `JARVIS_AUTO_COMPLETE` | false | 是否启用自动完成功能(任务判定完成的时候会自动终止) |
|
|
@@ -228,9 +212,20 @@ OPENAI_API_BASE: https://api.openai.com/v1 # 可选,默认为官方API地址
|
|
|
228
212
|
| `JARVIS_PRETTY_OUTPUT` | false | 是否启用PrettyOutput |
|
|
229
213
|
| `JARVIS_GIT_COMMIT_PROMPT` | "" | 自定义git提交信息生成提示模板 |
|
|
230
214
|
| `JARVIS_PRINT_PROMPT` | false | 是否打印提示 |
|
|
215
|
+
| `JARVIS_USE_METHODOLOGY` | false | 是否启用方法论功能 |
|
|
216
|
+
| `JARVIS_USE_ANALYSIS` | false | 是否启用任务分析功能 |
|
|
217
|
+
| `JARVIS_DATA_PATH` | ~/.jarvis | Jarvis数据存储目录路径 |
|
|
231
218
|
|
|
232
|
-
所有配置编写到`~/.jarvis/
|
|
219
|
+
所有配置编写到`~/.jarvis/config.yaml`文件中即可生效。
|
|
233
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
|
+
```
|
|
234
229
|
|
|
235
230
|
---
|
|
236
231
|
## 🛠️ 工具说明 <a id="tools"></a>
|
|
@@ -274,15 +269,20 @@ Jarvis支持使用特殊标记`'<tag>'`来触发命令替换功能,其中`tag`
|
|
|
274
269
|
| `'Fix'` | 修复问题 |
|
|
275
270
|
|
|
276
271
|
#### 自定义替换
|
|
277
|
-
|
|
272
|
+
可以通过以下方式配置自定义替换规则:
|
|
273
|
+
|
|
274
|
+
**配置文件**:
|
|
275
|
+
在`~/.jarvis/config.yaml`中添加`JARVIS_REPLACE_MAP`配置项:
|
|
278
276
|
```yaml
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
277
|
+
JARVIS_REPLACE_MAP:
|
|
278
|
+
tag_name:
|
|
279
|
+
template: "替换后的内容"
|
|
280
|
+
description: "标记描述"
|
|
281
|
+
append: false # 可选,true表示追加到输入末尾,false表示直接替换
|
|
283
282
|
```
|
|
284
283
|
|
|
285
284
|
|
|
285
|
+
|
|
286
286
|
#### 文件路径补全
|
|
287
287
|
在交互式输入中,输入`@`可以触发文件路径补全功能,支持模糊匹配。
|
|
288
288
|
|
|
@@ -342,27 +342,22 @@ class CustomTool:
|
|
|
342
342
|
|
|
343
343
|
|
|
344
344
|
### 添加MCP
|
|
345
|
-
MCP(模型上下文协议)
|
|
345
|
+
MCP(模型上下文协议)支持以下配置方式:
|
|
346
346
|
|
|
347
|
-
####
|
|
347
|
+
#### 配置文件
|
|
348
|
+
在`~/.jarvis/config.yaml`中添加`JARVIS_MCP`配置项:
|
|
348
349
|
```yaml
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
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
|
|
355
359
|
```
|
|
356
360
|
|
|
357
|
-
#### 远程MCP配置(`sse`模式)
|
|
358
|
-
```yaml
|
|
359
|
-
type: sse
|
|
360
|
-
name: MCP名称
|
|
361
|
-
base_url: http://example.com/api
|
|
362
|
-
auth_token: 认证令牌 # 可选
|
|
363
|
-
headers: # 可选HTTP头
|
|
364
|
-
X-Custom-Header: value
|
|
365
|
-
```
|
|
366
361
|
|
|
367
362
|
|
|
368
363
|
### 添加新大模型平台
|
|
@@ -45,7 +45,7 @@ pip3 install jarvis-ai-assistant
|
|
|
45
45
|
|
|
46
46
|
### 最小化配置
|
|
47
47
|
|
|
48
|
-
将以下配置写入到`~/.jarvis/
|
|
48
|
+
将以下配置写入到`~/.jarvis/config.yaml`文件中。
|
|
49
49
|
|
|
50
50
|
#### 腾讯元宝
|
|
51
51
|
```yaml
|
|
@@ -53,9 +53,9 @@ JARVIS_PLATFORM: yuanbao
|
|
|
53
53
|
JARVIS_MODEL: deep_seek_v3
|
|
54
54
|
JARVIS_THINKING_PLATFORM: yuanbao
|
|
55
55
|
JARVIS_THINKING_MODEL: deep_seek
|
|
56
|
-
|
|
57
|
-
YUANBAO_COOKIES: <元宝cookies>
|
|
58
|
-
YUANBAO_AGENT_ID: <元宝AgentID>
|
|
56
|
+
ENV:
|
|
57
|
+
YUANBAO_COOKIES: <元宝cookies>
|
|
58
|
+
YUANBAO_AGENT_ID: <元宝AgentID>
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
元宝cookies以及AgentID获取方式:
|
|
@@ -72,7 +72,8 @@ JARVIS_MODEL: kimi
|
|
|
72
72
|
JARVIS_THINKING_PLATFORM: kimi
|
|
73
73
|
JARVIS_THINKING_MODEL: k1
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
ENV:
|
|
76
|
+
KIMI_API_KEY: <Kimi API KEY>
|
|
76
77
|
```
|
|
77
78
|
|
|
78
79
|
Kimi API Key获取方式:
|
|
@@ -97,7 +98,7 @@ OPENAI_API_BASE: https://api.openai.com/v1 # 可选,默认为官方API地址
|
|
|
97
98
|
1. `OPENAI_API_KEY`: 必填。
|
|
98
99
|
2. `OPENAI_API_BASE`: 可选,用于自定义API端点
|
|
99
100
|
|
|
100
|
-
以上配置编写到`~/.jarvis/
|
|
101
|
+
以上配置编写到`~/.jarvis/config.yaml`文件中。
|
|
101
102
|
|
|
102
103
|
支持的模型可通过`jarvis-platform-manager --list-models`查看完整列表。
|
|
103
104
|
|
|
@@ -122,27 +123,10 @@ OPENAI_API_BASE: https://api.openai.com/v1 # 可选,默认为官方API地址
|
|
|
122
123
|
---
|
|
123
124
|
|
|
124
125
|
## ⚙️ 配置说明 <a id="configuration"></a>
|
|
125
|
-
###
|
|
126
|
-
配置文件支持两种格式:
|
|
127
|
-
1. **YAML格式(推荐)**:
|
|
128
|
-
```yaml
|
|
129
|
-
JARVIS_PLATFORM: yuanbao
|
|
130
|
-
JARVIS_MODEL: deep_seek_v3
|
|
131
|
-
YUANBAO_COOKIES: "your_cookies_here"
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
2. **传统键值对格式**:
|
|
135
|
-
```
|
|
136
|
-
JARVIS_PLATFORM=yuanbao
|
|
137
|
-
JARVIS_MODEL=deep_seek_v3
|
|
138
|
-
YUANBAO_COOKIES=your_cookies_here
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
系统会自动检测格式并处理。当检测到传统格式时,会自动转换为YAML格式并备份原文件。
|
|
142
|
-
|
|
143
|
-
### 环境变量配置
|
|
126
|
+
### 配置项
|
|
144
127
|
| 变量名称 | 默认值 | 说明 |
|
|
145
128
|
|----------|--------|------|
|
|
129
|
+
| `ENV` | {} | 环境变量配置,用于设置系统环境变量 |
|
|
146
130
|
| `JARVIS_MAX_TOKEN_COUNT` | 960000 | 上下文窗口的最大token数量 |
|
|
147
131
|
| `JARVIS_MAX_INPUT_TOKEN_COUNT` | 32000 | 输入的最大token数量 |
|
|
148
132
|
| `JARVIS_AUTO_COMPLETE` | false | 是否启用自动完成功能(任务判定完成的时候会自动终止) |
|
|
@@ -159,9 +143,20 @@ OPENAI_API_BASE: https://api.openai.com/v1 # 可选,默认为官方API地址
|
|
|
159
143
|
| `JARVIS_PRETTY_OUTPUT` | false | 是否启用PrettyOutput |
|
|
160
144
|
| `JARVIS_GIT_COMMIT_PROMPT` | "" | 自定义git提交信息生成提示模板 |
|
|
161
145
|
| `JARVIS_PRINT_PROMPT` | false | 是否打印提示 |
|
|
146
|
+
| `JARVIS_USE_METHODOLOGY` | false | 是否启用方法论功能 |
|
|
147
|
+
| `JARVIS_USE_ANALYSIS` | false | 是否启用任务分析功能 |
|
|
148
|
+
| `JARVIS_DATA_PATH` | ~/.jarvis | Jarvis数据存储目录路径 |
|
|
162
149
|
|
|
163
|
-
所有配置编写到`~/.jarvis/
|
|
150
|
+
所有配置编写到`~/.jarvis/config.yaml`文件中即可生效。
|
|
164
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
|
+
```
|
|
165
160
|
|
|
166
161
|
---
|
|
167
162
|
## 🛠️ 工具说明 <a id="tools"></a>
|
|
@@ -205,15 +200,20 @@ Jarvis支持使用特殊标记`'<tag>'`来触发命令替换功能,其中`tag`
|
|
|
205
200
|
| `'Fix'` | 修复问题 |
|
|
206
201
|
|
|
207
202
|
#### 自定义替换
|
|
208
|
-
|
|
203
|
+
可以通过以下方式配置自定义替换规则:
|
|
204
|
+
|
|
205
|
+
**配置文件**:
|
|
206
|
+
在`~/.jarvis/config.yaml`中添加`JARVIS_REPLACE_MAP`配置项:
|
|
209
207
|
```yaml
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
208
|
+
JARVIS_REPLACE_MAP:
|
|
209
|
+
tag_name:
|
|
210
|
+
template: "替换后的内容"
|
|
211
|
+
description: "标记描述"
|
|
212
|
+
append: false # 可选,true表示追加到输入末尾,false表示直接替换
|
|
214
213
|
```
|
|
215
214
|
|
|
216
215
|
|
|
216
|
+
|
|
217
217
|
#### 文件路径补全
|
|
218
218
|
在交互式输入中,输入`@`可以触发文件路径补全功能,支持模糊匹配。
|
|
219
219
|
|
|
@@ -273,27 +273,22 @@ class CustomTool:
|
|
|
273
273
|
|
|
274
274
|
|
|
275
275
|
### 添加MCP
|
|
276
|
-
MCP(模型上下文协议)
|
|
276
|
+
MCP(模型上下文协议)支持以下配置方式:
|
|
277
277
|
|
|
278
|
-
####
|
|
278
|
+
#### 配置文件
|
|
279
|
+
在`~/.jarvis/config.yaml`中添加`JARVIS_MCP`配置项:
|
|
279
280
|
```yaml
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
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
|
|
286
290
|
```
|
|
287
291
|
|
|
288
|
-
#### 远程MCP配置(`sse`模式)
|
|
289
|
-
```yaml
|
|
290
|
-
type: sse
|
|
291
|
-
name: MCP名称
|
|
292
|
-
base_url: http://example.com/api
|
|
293
|
-
auth_token: 认证令牌 # 可选
|
|
294
|
-
headers: # 可选HTTP头
|
|
295
|
-
X-Custom-Header: value
|
|
296
|
-
```
|
|
297
292
|
|
|
298
293
|
|
|
299
294
|
### 添加新大模型平台
|
|
@@ -8,7 +8,7 @@ default = true
|
|
|
8
8
|
|
|
9
9
|
[project]
|
|
10
10
|
name = "jarvis-ai-assistant"
|
|
11
|
-
version = "0.1.
|
|
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" }]
|
|
@@ -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.
|
|
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": [
|
|
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",
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Jarvis环境变量配置模式",
|
|
4
|
+
"description": "Jarvis系统配置模式",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"JARVIS_MCP": {
|
|
8
|
+
"type": "array",
|
|
9
|
+
"description": "MCP工具配置列表",
|
|
10
|
+
"items": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"oneOf": [
|
|
13
|
+
{
|
|
14
|
+
"type": "object",
|
|
15
|
+
"required": [
|
|
16
|
+
"type",
|
|
17
|
+
"base_url"
|
|
18
|
+
],
|
|
19
|
+
"properties": {
|
|
20
|
+
"type": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"enum": [
|
|
23
|
+
"sse",
|
|
24
|
+
"streamable"
|
|
25
|
+
],
|
|
26
|
+
"description": "MCP客户端类型"
|
|
27
|
+
},
|
|
28
|
+
"base_url": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"format": "uri",
|
|
31
|
+
"description": "MCP服务器基础URL"
|
|
32
|
+
},
|
|
33
|
+
"auth_token": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "认证令牌(可选)"
|
|
36
|
+
},
|
|
37
|
+
"headers": {
|
|
38
|
+
"type": "object",
|
|
39
|
+
"additionalProperties": {
|
|
40
|
+
"type": "string"
|
|
41
|
+
},
|
|
42
|
+
"description": "额外的HTTP头(可选)"
|
|
43
|
+
},
|
|
44
|
+
"name": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"description": "工具名称(可选)"
|
|
47
|
+
},
|
|
48
|
+
"enable": {
|
|
49
|
+
"type": "boolean",
|
|
50
|
+
"default": true,
|
|
51
|
+
"description": "是否启用该工具(可选)"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"type": "object",
|
|
57
|
+
"required": [
|
|
58
|
+
"type",
|
|
59
|
+
"command"
|
|
60
|
+
],
|
|
61
|
+
"properties": {
|
|
62
|
+
"type": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"enum": [
|
|
65
|
+
"stdio"
|
|
66
|
+
],
|
|
67
|
+
"description": "MCP客户端类型"
|
|
68
|
+
},
|
|
69
|
+
"command": {
|
|
70
|
+
"type": "string",
|
|
71
|
+
"description": "要执行的命令"
|
|
72
|
+
},
|
|
73
|
+
"args": {
|
|
74
|
+
"type": "array",
|
|
75
|
+
"items": {
|
|
76
|
+
"type": "string"
|
|
77
|
+
},
|
|
78
|
+
"description": "命令参数列表(可选)"
|
|
79
|
+
},
|
|
80
|
+
"env": {
|
|
81
|
+
"type": "object",
|
|
82
|
+
"additionalProperties": {
|
|
83
|
+
"type": "string"
|
|
84
|
+
},
|
|
85
|
+
"description": "环境变量(可选)"
|
|
86
|
+
},
|
|
87
|
+
"name": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"description": "工具名称(可选)"
|
|
90
|
+
},
|
|
91
|
+
"enable": {
|
|
92
|
+
"type": "boolean",
|
|
93
|
+
"default": true,
|
|
94
|
+
"description": "是否启用该工具(可选)"
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
]
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"ENV": {
|
|
102
|
+
"type": "object",
|
|
103
|
+
"description": "需要设置的额外环境变量",
|
|
104
|
+
"additionalProperties": {
|
|
105
|
+
"type": "string"
|
|
106
|
+
},
|
|
107
|
+
"default": {}
|
|
108
|
+
},
|
|
109
|
+
"JARVIS_GIT_COMMIT_PROMPT": {
|
|
110
|
+
"type": "string",
|
|
111
|
+
"description": "Git提交信息生成提示模板",
|
|
112
|
+
"default": ""
|
|
113
|
+
},
|
|
114
|
+
"JARVIS_MAX_TOKEN_COUNT": {
|
|
115
|
+
"type": "string",
|
|
116
|
+
"description": "模型能处理的最大token数量",
|
|
117
|
+
"default": "960000"
|
|
118
|
+
},
|
|
119
|
+
"JARVIS_MAX_INPUT_TOKEN_COUNT": {
|
|
120
|
+
"type": "string",
|
|
121
|
+
"description": "模型能处理的最大输入token数量",
|
|
122
|
+
"default": "32000"
|
|
123
|
+
},
|
|
124
|
+
"JARVIS_AUTO_COMPLETE": {
|
|
125
|
+
"type": "string",
|
|
126
|
+
"description": "是否启用自动补全功能",
|
|
127
|
+
"default": "false",
|
|
128
|
+
"enum": [
|
|
129
|
+
"true",
|
|
130
|
+
"false"
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
"SHELL": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"description": "系统shell名称(如: bash, zsh)",
|
|
136
|
+
"default": "/bin/bash"
|
|
137
|
+
},
|
|
138
|
+
"JARVIS_PLATFORM": {
|
|
139
|
+
"type": "string",
|
|
140
|
+
"description": "常规操作平台名称",
|
|
141
|
+
"default": "yuanbao"
|
|
142
|
+
},
|
|
143
|
+
"JARVIS_MODEL": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"description": "常规操作模型名称",
|
|
146
|
+
"default": "deep_seek_v3"
|
|
147
|
+
},
|
|
148
|
+
"JARVIS_THINKING_PLATFORM": {
|
|
149
|
+
"type": "string",
|
|
150
|
+
"description": "思考操作平台名称",
|
|
151
|
+
"default": "yuanbao"
|
|
152
|
+
},
|
|
153
|
+
"JARVIS_THINKING_MODEL": {
|
|
154
|
+
"type": "string",
|
|
155
|
+
"description": "思考操作模型名称",
|
|
156
|
+
"default": "deep_seek"
|
|
157
|
+
},
|
|
158
|
+
"JARVIS_EXECUTE_TOOL_CONFIRM": {
|
|
159
|
+
"type": "string",
|
|
160
|
+
"description": "执行工具前是否需要确认",
|
|
161
|
+
"default": "false",
|
|
162
|
+
"enum": [
|
|
163
|
+
"true",
|
|
164
|
+
"false"
|
|
165
|
+
]
|
|
166
|
+
},
|
|
167
|
+
"JARVIS_CONFIRM_BEFORE_APPLY_PATCH": {
|
|
168
|
+
"type": "string",
|
|
169
|
+
"description": "应用补丁前是否需要确认",
|
|
170
|
+
"default": "true",
|
|
171
|
+
"enum": [
|
|
172
|
+
"true",
|
|
173
|
+
"false"
|
|
174
|
+
]
|
|
175
|
+
},
|
|
176
|
+
"JARVIS_MAX_TOOL_CALL_COUNT": {
|
|
177
|
+
"type": "string",
|
|
178
|
+
"description": "最大连续工具调用次数",
|
|
179
|
+
"default": "20"
|
|
180
|
+
},
|
|
181
|
+
"JARVIS_DATA_PATH": {
|
|
182
|
+
"type": "string",
|
|
183
|
+
"description": "Jarvis数据存储目录路径",
|
|
184
|
+
"default": "~/.jarvis"
|
|
185
|
+
},
|
|
186
|
+
"JARVIS_AUTO_UPDATE": {
|
|
187
|
+
"type": "string",
|
|
188
|
+
"description": "是否自动更新git仓库",
|
|
189
|
+
"default": "true",
|
|
190
|
+
"enum": [
|
|
191
|
+
"true",
|
|
192
|
+
"false"
|
|
193
|
+
]
|
|
194
|
+
},
|
|
195
|
+
"JARVIS_MAX_BIG_CONTENT_SIZE": {
|
|
196
|
+
"type": "string",
|
|
197
|
+
"description": "最大大内容尺寸",
|
|
198
|
+
"default": "1024000"
|
|
199
|
+
},
|
|
200
|
+
"JARVIS_PRETTY_OUTPUT": {
|
|
201
|
+
"type": "string",
|
|
202
|
+
"description": "是否启用美化输出",
|
|
203
|
+
"default": "false",
|
|
204
|
+
"enum": [
|
|
205
|
+
"true",
|
|
206
|
+
"false"
|
|
207
|
+
]
|
|
208
|
+
},
|
|
209
|
+
"JARVIS_USE_METHODOLOGY": {
|
|
210
|
+
"type": "string",
|
|
211
|
+
"description": "是否启用方法论",
|
|
212
|
+
"default": "false",
|
|
213
|
+
"enum": [
|
|
214
|
+
"true",
|
|
215
|
+
"false"
|
|
216
|
+
]
|
|
217
|
+
},
|
|
218
|
+
"JARVIS_USE_ANALYSIS": {
|
|
219
|
+
"type": "string",
|
|
220
|
+
"description": "是否启用任务分析",
|
|
221
|
+
"default": "false",
|
|
222
|
+
"enum": [
|
|
223
|
+
"true",
|
|
224
|
+
"false"
|
|
225
|
+
]
|
|
226
|
+
},
|
|
227
|
+
"JARVIS_PRINT_PROMPT": {
|
|
228
|
+
"type": "string",
|
|
229
|
+
"description": "是否打印提示",
|
|
230
|
+
"default": "false",
|
|
231
|
+
"enum": [
|
|
232
|
+
"true",
|
|
233
|
+
"false"
|
|
234
|
+
]
|
|
235
|
+
},
|
|
236
|
+
"JARVIS_REPLACE_MAP": {
|
|
237
|
+
"type": "object",
|
|
238
|
+
"description": "自定义替换映射表配置",
|
|
239
|
+
"additionalProperties": {
|
|
240
|
+
"type": "object",
|
|
241
|
+
"properties": {
|
|
242
|
+
"append": {
|
|
243
|
+
"type": "boolean",
|
|
244
|
+
"description": "Whether to append to existing template"
|
|
245
|
+
},
|
|
246
|
+
"template": {
|
|
247
|
+
"type": "string",
|
|
248
|
+
"description": "Replacement template content"
|
|
249
|
+
},
|
|
250
|
+
"description": {
|
|
251
|
+
"type": "string",
|
|
252
|
+
"description": "Description of the replacement"
|
|
253
|
+
}
|
|
254
|
+
},
|
|
255
|
+
"required": ["template"]
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
},
|
|
259
|
+
"additionalProperties": false
|
|
260
|
+
}
|
{jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_platform/kimi.py
RENAMED
|
@@ -6,10 +6,6 @@ import time
|
|
|
6
6
|
from typing import Dict, Generator, List, Tuple
|
|
7
7
|
|
|
8
8
|
import requests # type: ignore
|
|
9
|
-
from rich import box
|
|
10
|
-
from rich.live import Live
|
|
11
|
-
from rich.panel import Panel
|
|
12
|
-
from rich.text import Text
|
|
13
9
|
|
|
14
10
|
from jarvis.jarvis_platform.base import BasePlatform
|
|
15
11
|
from jarvis.jarvis_utils.config import get_data_dir
|
|
@@ -37,24 +33,6 @@ class KimiModel(BasePlatform):
|
|
|
37
33
|
self.chat_id = ""
|
|
38
34
|
self.api_key = os.getenv("KIMI_API_KEY")
|
|
39
35
|
if not self.api_key:
|
|
40
|
-
message = (
|
|
41
|
-
"需要设置 KIMI_API_KEY 才能使用 Jarvis。请按照以下步骤操作:\n"
|
|
42
|
-
"1. 获取 Kimi API Key:\n"
|
|
43
|
-
" • 访问 Kimi AI 平台: https://kimi.moonshot.cn\n"
|
|
44
|
-
" • 登录您的账户\n"
|
|
45
|
-
" • 打开浏览器开发者工具 (F12 或右键 -> 检查)\n"
|
|
46
|
-
" • 切换到网络标签\n"
|
|
47
|
-
" • 发送任意消息\n"
|
|
48
|
-
" • 在请求中找到 Authorization 头\n"
|
|
49
|
-
" • 复制 token 值(去掉 'Bearer ' 前缀)\n"
|
|
50
|
-
"2. 设置环境变量:\n"
|
|
51
|
-
" • 方法 1: 创建或编辑配置文件:\n"
|
|
52
|
-
f" echo 'KIMI_API_KEY=your_key_here' > {get_data_dir()}/env\n"
|
|
53
|
-
" • 方法 2: 直接设置环境变量:\n"
|
|
54
|
-
" export KIMI_API_KEY=your_key_here\n"
|
|
55
|
-
"设置后,重新运行 Jarvis。"
|
|
56
|
-
)
|
|
57
|
-
PrettyOutput.print(message, OutputType.INFO)
|
|
58
36
|
PrettyOutput.print("KIMI_API_KEY 未设置", OutputType.WARNING)
|
|
59
37
|
self.auth_header = f"Bearer {self.api_key}"
|
|
60
38
|
self.uploaded_files = [] # 存储已上传文件的信息
|
{jarvis_ai_assistant-0.1.179 → jarvis_ai_assistant-0.1.180}/src/jarvis/jarvis_platform/openai.py
RENAMED
|
@@ -19,21 +19,6 @@ class OpenAIModel(BasePlatform):
|
|
|
19
19
|
self.system_message = ""
|
|
20
20
|
self.api_key = os.getenv("OPENAI_API_KEY")
|
|
21
21
|
if not self.api_key:
|
|
22
|
-
message = (
|
|
23
|
-
"需要设置以下环境变量才能使用 OpenAI 模型:\n"
|
|
24
|
-
" • OPENAI_API_KEY: API 密钥\n"
|
|
25
|
-
" • OPENAI_API_BASE: (可选) API 基础地址, 默认使用 https://api.openai.com/v1\n"
|
|
26
|
-
"您可以通过以下方式设置它们:\n"
|
|
27
|
-
"1. 创建或编辑 ~/.jarvis/env 文件:\n"
|
|
28
|
-
" OPENAI_API_KEY=your_api_key\n"
|
|
29
|
-
" OPENAI_API_BASE=your_api_base\n"
|
|
30
|
-
" OPENAI_MODEL_NAME=your_model_name\n"
|
|
31
|
-
"2. 直接设置环境变量:\n"
|
|
32
|
-
" export OPENAI_API_KEY=your_api_key\n"
|
|
33
|
-
" export OPENAI_API_BASE=your_api_base\n"
|
|
34
|
-
" export OPENAI_MODEL_NAME=your_model_name"
|
|
35
|
-
)
|
|
36
|
-
PrettyOutput.print(message, OutputType.INFO)
|
|
37
22
|
PrettyOutput.print("OPENAI_API_KEY 未设置", OutputType.WARNING)
|
|
38
23
|
|
|
39
24
|
self.base_url = os.getenv("OPENAI_API_BASE", "https://api.openai.com/v1")
|