jarvis-ai-assistant 0.1.194__tar.gz → 0.1.195__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.
- {jarvis_ai_assistant-0.1.194/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.1.195}/PKG-INFO +61 -13
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/README.md +60 -12
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/pyproject.toml +1 -1
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/setup.py +1 -1
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/__init__.py +1 -1
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_agent/__init__.py +35 -24
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_agent/jarvis.py +3 -8
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_agent/code_agent.py +8 -12
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_analysis/checklists/loader.py +6 -20
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_analysis/code_review.py +2 -1
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_git_utils/git_commiter.py +3 -2
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_methodology/main.py +2 -4
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_platform/base.py +4 -6
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_platform/human.py +10 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_platform/kimi.py +21 -9
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_platform/registry.py +4 -7
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_smart_shell/main.py +0 -1
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_tools/create_code_agent.py +2 -4
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_utils/config.py +1 -5
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_utils/embedding.py +7 -5
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_utils/git_utils.py +30 -21
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_utils/input.py +2 -1
- jarvis_ai_assistant-0.1.195/src/jarvis/jarvis_utils/jarvis_history.py +43 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_utils/methodology.py +3 -3
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_utils/output.py +5 -2
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_utils/utils.py +4 -6
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195/src/jarvis_ai_assistant.egg-info}/PKG-INFO +61 -13
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +1 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/LICENSE +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/MANIFEST.in +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/setup.cfg +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_agent/builtin_input_handler.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_agent/main.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_agent/output_handler.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_agent/shell_input_handler.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_agent/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_agent/lint.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_analysis/checklists/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_analysis/checklists/c_cpp.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_analysis/checklists/csharp.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_analysis/checklists/data_format.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_analysis/checklists/devops.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_analysis/checklists/docs.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_analysis/checklists/go.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_analysis/checklists/infrastructure.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_analysis/checklists/java.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_analysis/checklists/javascript.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_analysis/checklists/kotlin.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_analysis/checklists/php.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_analysis/checklists/python.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_analysis/checklists/ruby.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_analysis/checklists/rust.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_analysis/checklists/shell.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_analysis/checklists/sql.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_analysis/checklists/swift.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_code_analysis/checklists/web.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_data/config_schema.json +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_data/huggingface.tar.gz +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_dev/main.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_git_details/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_git_details/main.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_git_squash/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_git_squash/main.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_mcp/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_mcp/sse_mcp_client.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_mcp/stdio_mcp_client.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_mcp/streamable_mcp_client.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_multi_agent/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_multi_agent/main.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_platform/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_platform/openai.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_platform/tongyi.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_platform/yuanbao.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_platform_manager/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_platform_manager/main.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_smart_shell/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_tools/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_tools/ask_user.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_tools/base.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_tools/chdir.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_tools/cli/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_tools/cli/main.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_tools/code_plan.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_tools/create_sub_agent.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_tools/edit_file.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_tools/execute_script.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_tools/file_analyzer.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_tools/file_operation.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_tools/generate_new_tool.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_tools/methodology.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_tools/read_code.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_tools/read_webpage.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_tools/registry.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_tools/rewrite_file.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_tools/search_web.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_tools/virtual_tty.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_utils/__init__.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_utils/builtin_replace_map.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_utils/file_processors.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_utils/globals.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_utils/tag.py +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis_ai_assistant.egg-info/entry_points.txt +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis_ai_assistant.egg-info/requires.txt +0 -0
- {jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/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.195
|
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
|
@@ -117,6 +117,63 @@ pip3 install jarvis-ai-assistant
|
|
117
117
|
| `jarvis-git-details` | - | 使用git details功能 |
|
118
118
|
| `jarvis-methodology` | - | 使用方法论功能 |
|
119
119
|
|
120
|
+
### Jarvis功能 (jarvis)
|
121
|
+
|
122
|
+
`jarvis` 是Jarvis的通用代理工具,提供开箱即用的AI助手功能。
|
123
|
+
|
124
|
+
#### 1. 核心功能
|
125
|
+
- 任务分析与规划
|
126
|
+
- 代码分析与修改
|
127
|
+
- 系统交互与操作
|
128
|
+
- 方法论应用与优化
|
129
|
+
- 多代理协作
|
130
|
+
|
131
|
+
#### 2. 使用方式
|
132
|
+
```bash
|
133
|
+
# 基本用法
|
134
|
+
jarvis
|
135
|
+
|
136
|
+
# 带参数使用
|
137
|
+
jarvis -p <平台> -m <模型> -t "初始任务"
|
138
|
+
```
|
139
|
+
|
140
|
+
#### 3. 命令行参数
|
141
|
+
| 参数 | 描述 |
|
142
|
+
|------|------|
|
143
|
+
| `-p/--platform` | 指定AI平台 (yuanbao/kimi/tongyi/openai) |
|
144
|
+
| `-m/--model` | 指定模型名称 |
|
145
|
+
| `-t/--task` | 指定初始任务 |
|
146
|
+
|
147
|
+
#### 4. 工作流程
|
148
|
+
1. 初始化环境
|
149
|
+
2. 加载默认配置
|
150
|
+
3. 创建代理实例
|
151
|
+
4. 执行初始任务(如果指定)
|
152
|
+
5. 进入交互式模式(如果没有初始任务)
|
153
|
+
6. 根据用户输入执行任务
|
154
|
+
|
155
|
+
#### 5. 任务执行特点
|
156
|
+
- 自动应用最佳方法论
|
157
|
+
- 智能任务分解
|
158
|
+
- 多工具协同工作
|
159
|
+
- 实时进度反馈
|
160
|
+
- 自动生成任务总结
|
161
|
+
|
162
|
+
#### 6. 示例
|
163
|
+
```bash
|
164
|
+
# 基本使用
|
165
|
+
jarvis
|
166
|
+
|
167
|
+
# 指定平台和模型
|
168
|
+
jarvis -p yuanbao -m deep_seek_v3
|
169
|
+
|
170
|
+
# 直接执行任务
|
171
|
+
jarvis -t "分析项目结构并生成架构图"
|
172
|
+
|
173
|
+
# 组合使用
|
174
|
+
jarvis -p kimi -m k1 -t "优化项目性能"
|
175
|
+
```
|
176
|
+
|
120
177
|
### 代码代理功能 (jarvis-code-agent)
|
121
178
|
|
122
179
|
`jarvis-code-agent` 是Jarvis的代码分析与修改工具,专注于代码工程任务。
|
@@ -153,16 +210,7 @@ jarvis-code-agent -p <平台> -m <模型> -r "需求描述"
|
|
153
210
|
4. 自动处理git提交
|
154
211
|
5. 显示修改结果
|
155
212
|
|
156
|
-
#### 5.
|
157
|
-
代码代理遵循以下规范进行代码修改:
|
158
|
-
1. 每次响应仅执行一步操作,先分析再修改,避免一步多改
|
159
|
-
2. 充分利用工具理解用户需求和现有代码,禁止凭空假设
|
160
|
-
3. 如果不清楚要修改的文件,必须先分析并找出需要修改的文件
|
161
|
-
4. 代码编辑任务优先使用 edit_file 工具,确保搜索文本在目标文件中有且仅有一次精确匹配
|
162
|
-
5. 如需大范围重写,才可使用 rewrite_file 工具
|
163
|
-
6. 如遇信息不明,优先调用工具补充分析,不要主观臆断
|
164
|
-
|
165
|
-
#### 6. 示例
|
213
|
+
#### 5. 示例
|
166
214
|
```bash
|
167
215
|
# 使用默认平台分析代码
|
168
216
|
jca
|
@@ -221,7 +269,7 @@ jarvis-git-commit --root-dir <目录> --prefix "前缀" --suffix "后缀"
|
|
221
269
|
- `test`: 测试相关
|
222
270
|
- `chore`: 其他修改
|
223
271
|
|
224
|
-
|
272
|
+
默认格式规则(可配置):
|
225
273
|
1. 类型必须使用上述预定义类型
|
226
274
|
2. 范围表示变更的模块或组件(例如:auth, database, ui)
|
227
275
|
3. 主题行不超过72个字符,不以句号结尾,使用祈使语气
|
@@ -250,7 +298,7 @@ jgc --prefix "[紧急修复]"
|
|
250
298
|
jgc --suffix "相关issue: #123"
|
251
299
|
```
|
252
300
|
|
253
|
-
###
|
301
|
+
### 自定义代理功能 (jarvis-agent)
|
254
302
|
|
255
303
|
`jarvis-agent` 是Jarvis的核心代理工具,提供通用的AI助手功能,支持自定义配置和任务执行。
|
256
304
|
|
@@ -47,6 +47,63 @@ pip3 install jarvis-ai-assistant
|
|
47
47
|
| `jarvis-git-details` | - | 使用git details功能 |
|
48
48
|
| `jarvis-methodology` | - | 使用方法论功能 |
|
49
49
|
|
50
|
+
### Jarvis功能 (jarvis)
|
51
|
+
|
52
|
+
`jarvis` 是Jarvis的通用代理工具,提供开箱即用的AI助手功能。
|
53
|
+
|
54
|
+
#### 1. 核心功能
|
55
|
+
- 任务分析与规划
|
56
|
+
- 代码分析与修改
|
57
|
+
- 系统交互与操作
|
58
|
+
- 方法论应用与优化
|
59
|
+
- 多代理协作
|
60
|
+
|
61
|
+
#### 2. 使用方式
|
62
|
+
```bash
|
63
|
+
# 基本用法
|
64
|
+
jarvis
|
65
|
+
|
66
|
+
# 带参数使用
|
67
|
+
jarvis -p <平台> -m <模型> -t "初始任务"
|
68
|
+
```
|
69
|
+
|
70
|
+
#### 3. 命令行参数
|
71
|
+
| 参数 | 描述 |
|
72
|
+
|------|------|
|
73
|
+
| `-p/--platform` | 指定AI平台 (yuanbao/kimi/tongyi/openai) |
|
74
|
+
| `-m/--model` | 指定模型名称 |
|
75
|
+
| `-t/--task` | 指定初始任务 |
|
76
|
+
|
77
|
+
#### 4. 工作流程
|
78
|
+
1. 初始化环境
|
79
|
+
2. 加载默认配置
|
80
|
+
3. 创建代理实例
|
81
|
+
4. 执行初始任务(如果指定)
|
82
|
+
5. 进入交互式模式(如果没有初始任务)
|
83
|
+
6. 根据用户输入执行任务
|
84
|
+
|
85
|
+
#### 5. 任务执行特点
|
86
|
+
- 自动应用最佳方法论
|
87
|
+
- 智能任务分解
|
88
|
+
- 多工具协同工作
|
89
|
+
- 实时进度反馈
|
90
|
+
- 自动生成任务总结
|
91
|
+
|
92
|
+
#### 6. 示例
|
93
|
+
```bash
|
94
|
+
# 基本使用
|
95
|
+
jarvis
|
96
|
+
|
97
|
+
# 指定平台和模型
|
98
|
+
jarvis -p yuanbao -m deep_seek_v3
|
99
|
+
|
100
|
+
# 直接执行任务
|
101
|
+
jarvis -t "分析项目结构并生成架构图"
|
102
|
+
|
103
|
+
# 组合使用
|
104
|
+
jarvis -p kimi -m k1 -t "优化项目性能"
|
105
|
+
```
|
106
|
+
|
50
107
|
### 代码代理功能 (jarvis-code-agent)
|
51
108
|
|
52
109
|
`jarvis-code-agent` 是Jarvis的代码分析与修改工具,专注于代码工程任务。
|
@@ -83,16 +140,7 @@ jarvis-code-agent -p <平台> -m <模型> -r "需求描述"
|
|
83
140
|
4. 自动处理git提交
|
84
141
|
5. 显示修改结果
|
85
142
|
|
86
|
-
#### 5.
|
87
|
-
代码代理遵循以下规范进行代码修改:
|
88
|
-
1. 每次响应仅执行一步操作,先分析再修改,避免一步多改
|
89
|
-
2. 充分利用工具理解用户需求和现有代码,禁止凭空假设
|
90
|
-
3. 如果不清楚要修改的文件,必须先分析并找出需要修改的文件
|
91
|
-
4. 代码编辑任务优先使用 edit_file 工具,确保搜索文本在目标文件中有且仅有一次精确匹配
|
92
|
-
5. 如需大范围重写,才可使用 rewrite_file 工具
|
93
|
-
6. 如遇信息不明,优先调用工具补充分析,不要主观臆断
|
94
|
-
|
95
|
-
#### 6. 示例
|
143
|
+
#### 5. 示例
|
96
144
|
```bash
|
97
145
|
# 使用默认平台分析代码
|
98
146
|
jca
|
@@ -151,7 +199,7 @@ jarvis-git-commit --root-dir <目录> --prefix "前缀" --suffix "后缀"
|
|
151
199
|
- `test`: 测试相关
|
152
200
|
- `chore`: 其他修改
|
153
201
|
|
154
|
-
|
202
|
+
默认格式规则(可配置):
|
155
203
|
1. 类型必须使用上述预定义类型
|
156
204
|
2. 范围表示变更的模块或组件(例如:auth, database, ui)
|
157
205
|
3. 主题行不超过72个字符,不以句号结尾,使用祈使语气
|
@@ -180,7 +228,7 @@ jgc --prefix "[紧急修复]"
|
|
180
228
|
jgc --suffix "相关issue: #123"
|
181
229
|
```
|
182
230
|
|
183
|
-
###
|
231
|
+
### 自定义代理功能 (jarvis-agent)
|
184
232
|
|
185
233
|
`jarvis-agent` 是Jarvis的核心代理工具,提供通用的AI助手功能,支持自定义配置和任务执行。
|
186
234
|
|
@@ -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.195"
|
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.195",
|
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",
|
{jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_agent/__init__.py
RENAMED
@@ -1,6 +1,7 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
# 标准库导入
|
3
3
|
import datetime
|
4
|
+
from pathlib import Path
|
4
5
|
import platform
|
5
6
|
from typing import Any, Callable, Dict, List, Optional, Protocol, Tuple, Union
|
6
7
|
|
@@ -12,26 +13,20 @@ from yaspin import yaspin # type: ignore
|
|
12
13
|
# jarvis_platform 相关
|
13
14
|
from jarvis.jarvis_platform.base import BasePlatform
|
14
15
|
from jarvis.jarvis_platform.registry import PlatformRegistry
|
15
|
-
|
16
16
|
# jarvis_utils 相关
|
17
|
-
from jarvis.jarvis_utils.config import (
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
is_use_analysis,
|
23
|
-
is_use_methodology,
|
24
|
-
)
|
17
|
+
from jarvis.jarvis_utils.config import (get_data_dir, get_max_token_count,
|
18
|
+
get_max_tool_call_count,
|
19
|
+
is_auto_complete,
|
20
|
+
is_execute_tool_confirm,
|
21
|
+
is_use_analysis, is_use_methodology)
|
25
22
|
from jarvis.jarvis_utils.embedding import get_context_token_count
|
26
|
-
from jarvis.jarvis_utils.globals import (
|
27
|
-
|
28
|
-
|
29
|
-
make_agent_name,
|
30
|
-
set_agent,
|
31
|
-
set_interrupt,
|
32
|
-
)
|
23
|
+
from jarvis.jarvis_utils.globals import (delete_agent, get_interrupt,
|
24
|
+
make_agent_name, set_agent,
|
25
|
+
set_interrupt)
|
33
26
|
from jarvis.jarvis_utils.input import get_multiline_input
|
34
|
-
from jarvis.jarvis_utils.
|
27
|
+
from jarvis.jarvis_utils.jarvis_history import JarvisHistory
|
28
|
+
from jarvis.jarvis_utils.methodology import (load_methodology,
|
29
|
+
upload_methodology)
|
35
30
|
from jarvis.jarvis_utils.output import OutputType, PrettyOutput
|
36
31
|
from jarvis.jarvis_utils.tag import ct, ot
|
37
32
|
from jarvis.jarvis_utils.utils import user_confirm
|
@@ -143,6 +138,7 @@ class Agent:
|
|
143
138
|
self.prompt = ""
|
144
139
|
|
145
140
|
def __del__(self):
|
141
|
+
self.history.stop_record()
|
146
142
|
delete_agent(self.name)
|
147
143
|
|
148
144
|
def __init__(
|
@@ -241,6 +237,9 @@ class Agent:
|
|
241
237
|
self.max_tool_call_count = get_max_tool_call_count()
|
242
238
|
self.after_tool_call_cb: Optional[Callable[[Agent], None]] = None
|
243
239
|
|
240
|
+
self.history = JarvisHistory()
|
241
|
+
self.history.start_record(str(Path(get_data_dir())/"history"))
|
242
|
+
|
244
243
|
self.execute_tool_confirm = (
|
245
244
|
execute_tool_confirm
|
246
245
|
if execute_tool_confirm is not None
|
@@ -402,8 +401,10 @@ class Agent:
|
|
402
401
|
if self.conversation_length > self.max_token_count:
|
403
402
|
message = self._summarize_and_clear_history() + "\n\n" + message
|
404
403
|
self.conversation_length += get_context_token_count(message)
|
404
|
+
self.history.append_msg("user", message)
|
405
405
|
response = self.model.chat_until_success(message) # type: ignore
|
406
406
|
self.conversation_length += get_context_token_count(response)
|
407
|
+
self.history.append_msg("assistant", response)
|
407
408
|
return response
|
408
409
|
|
409
410
|
def generate_summary(self) -> str:
|
@@ -783,13 +784,23 @@ arguments:
|
|
783
784
|
while True:
|
784
785
|
if self.first:
|
785
786
|
# 如果有上传文件,先上传文件
|
786
|
-
if self.
|
787
|
-
self.
|
788
|
-
|
789
|
-
|
790
|
-
|
791
|
-
|
792
|
-
|
787
|
+
if self.model and self.model.support_upload_files():
|
788
|
+
if self.use_methodology:
|
789
|
+
if not upload_methodology(self.model, other_files=self.files):
|
790
|
+
if self.files:
|
791
|
+
PrettyOutput.print("文件上传失败,将忽略文件列表", OutputType.WARNING)
|
792
|
+
# 上传失败则回退到本地加载
|
793
|
+
msg = self.prompt
|
794
|
+
for handler in self.input_handler:
|
795
|
+
msg, _ = handler(msg, self)
|
796
|
+
self.prompt = f"{self.prompt}\n\n以下是历史类似问题的执行经验,可参考:\n{load_methodology(msg, self.get_tool_registry())}"
|
797
|
+
elif self.files:
|
798
|
+
if not self.model.upload_files(self.files):
|
799
|
+
PrettyOutput.print("文件上传失败,将忽略文件列表", OutputType.WARNING)
|
800
|
+
else:
|
801
|
+
if self.files:
|
802
|
+
PrettyOutput.print("不支持上传文件,将忽略文件列表", OutputType.WARNING)
|
803
|
+
if self.use_methodology:
|
793
804
|
msg = self.prompt
|
794
805
|
for handler in self.input_handler:
|
795
806
|
msg, _ = handler(msg, self)
|
{jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_agent/jarvis.py
RENAMED
@@ -8,14 +8,9 @@ import yaml
|
|
8
8
|
from prompt_toolkit import prompt
|
9
9
|
from yaspin import yaspin
|
10
10
|
|
11
|
-
from jarvis.jarvis_agent import (
|
12
|
-
|
13
|
-
|
14
|
-
PrettyOutput,
|
15
|
-
get_multiline_input,
|
16
|
-
origin_agent_system_prompt,
|
17
|
-
user_confirm,
|
18
|
-
)
|
11
|
+
from jarvis.jarvis_agent import (Agent, OutputType, PrettyOutput,
|
12
|
+
get_multiline_input,
|
13
|
+
origin_agent_system_prompt, user_confirm)
|
19
14
|
from jarvis.jarvis_agent.builtin_input_handler import builtin_input_handler
|
20
15
|
from jarvis.jarvis_agent.shell_input_handler import shell_input_handler
|
21
16
|
from jarvis.jarvis_tools.registry import ToolRegistry
|
@@ -10,30 +10,26 @@ import subprocess
|
|
10
10
|
import sys
|
11
11
|
from typing import List, Optional, Tuple
|
12
12
|
|
13
|
+
from yaspin import yaspin # type: ignore
|
14
|
+
|
13
15
|
from jarvis.jarvis_agent import Agent
|
14
16
|
from jarvis.jarvis_agent.builtin_input_handler import builtin_input_handler
|
15
17
|
from jarvis.jarvis_agent.shell_input_handler import shell_input_handler
|
16
|
-
|
17
18
|
# 忽略yaspin的类型检查
|
18
19
|
from jarvis.jarvis_code_agent.lint import get_lint_tools
|
19
20
|
from jarvis.jarvis_git_utils.git_commiter import GitCommitTool
|
20
21
|
from jarvis.jarvis_platform.registry import PlatformRegistry
|
21
22
|
from jarvis.jarvis_tools.registry import ToolRegistry
|
22
23
|
from jarvis.jarvis_utils.config import is_confirm_before_apply_patch
|
23
|
-
from jarvis.jarvis_utils.git_utils import (
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
get_recent_commits_with_files,
|
30
|
-
handle_commit_workflow,
|
31
|
-
has_uncommitted_changes,
|
32
|
-
)
|
24
|
+
from jarvis.jarvis_utils.git_utils import (find_git_root, get_commits_between,
|
25
|
+
get_diff, get_diff_file_list,
|
26
|
+
get_latest_commit_hash,
|
27
|
+
get_recent_commits_with_files,
|
28
|
+
handle_commit_workflow,
|
29
|
+
has_uncommitted_changes)
|
33
30
|
from jarvis.jarvis_utils.input import get_multiline_input
|
34
31
|
from jarvis.jarvis_utils.output import OutputType, PrettyOutput
|
35
32
|
from jarvis.jarvis_utils.utils import get_loc_stats, init_env, user_confirm
|
36
|
-
from yaspin import yaspin # type: ignore
|
37
33
|
|
38
34
|
|
39
35
|
class CodeAgent:
|
@@ -5,26 +5,12 @@ Utility module for loading language-specific code review checklists.
|
|
5
5
|
from typing import Dict, Optional
|
6
6
|
|
7
7
|
# Import checklist modules
|
8
|
-
from jarvis.jarvis_code_analysis.checklists import (
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
go,
|
15
|
-
infrastructure,
|
16
|
-
java,
|
17
|
-
javascript,
|
18
|
-
kotlin,
|
19
|
-
php,
|
20
|
-
python,
|
21
|
-
ruby,
|
22
|
-
rust,
|
23
|
-
shell,
|
24
|
-
sql,
|
25
|
-
swift,
|
26
|
-
web,
|
27
|
-
)
|
8
|
+
from jarvis.jarvis_code_analysis.checklists import (c_cpp, csharp, data_format,
|
9
|
+
devops, docs, go,
|
10
|
+
infrastructure, java,
|
11
|
+
javascript, kotlin, php,
|
12
|
+
python, ruby, rust, shell,
|
13
|
+
sql, swift, web)
|
28
14
|
|
29
15
|
# Map of language identifiers to their checklist content
|
30
16
|
CHECKLIST_MAP = {
|
@@ -8,7 +8,8 @@ from typing import Any, Dict, List
|
|
8
8
|
from yaspin import yaspin
|
9
9
|
|
10
10
|
from jarvis.jarvis_agent import Agent
|
11
|
-
from jarvis.jarvis_code_analysis.checklists.loader import
|
11
|
+
from jarvis.jarvis_code_analysis.checklists.loader import \
|
12
|
+
get_language_checklist
|
12
13
|
from jarvis.jarvis_platform.registry import PlatformRegistry
|
13
14
|
from jarvis.jarvis_tools.read_code import ReadCodeTool
|
14
15
|
from jarvis.jarvis_utils.output import OutputType, PrettyOutput
|
@@ -12,7 +12,8 @@ from yaspin import yaspin
|
|
12
12
|
|
13
13
|
from jarvis.jarvis_platform.registry import PlatformRegistry
|
14
14
|
from jarvis.jarvis_utils.config import get_git_commit_prompt
|
15
|
-
from jarvis.jarvis_utils.git_utils import find_git_root,
|
15
|
+
from jarvis.jarvis_utils.git_utils import (find_git_root,
|
16
|
+
has_uncommitted_changes)
|
16
17
|
from jarvis.jarvis_utils.output import OutputType, PrettyOutput
|
17
18
|
from jarvis.jarvis_utils.tag import ct, ot
|
18
19
|
from jarvis.jarvis_utils.utils import init_env, is_context_overflow
|
@@ -117,7 +118,7 @@ class GitCommitTool:
|
|
117
118
|
stdout=subprocess.PIPE,
|
118
119
|
stderr=subprocess.PIPE,
|
119
120
|
)
|
120
|
-
diff = process.communicate()[0].decode()
|
121
|
+
diff = process.communicate()[0].decode(errors="ignore")
|
121
122
|
spinner.write(f"✅ 获取差异 ({file_count} 个文件)")
|
122
123
|
try:
|
123
124
|
temp_diff_file_path = None
|
{jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_methodology/main.py
RENAMED
@@ -17,10 +17,8 @@ import yaml # type: ignore
|
|
17
17
|
from yaspin import yaspin # type: ignore
|
18
18
|
|
19
19
|
from jarvis.jarvis_platform.registry import PlatformRegistry
|
20
|
-
from jarvis.jarvis_utils.methodology import (
|
21
|
-
|
22
|
-
_load_all_methodologies,
|
23
|
-
)
|
20
|
+
from jarvis.jarvis_utils.methodology import (_get_methodology_directory,
|
21
|
+
_load_all_methodologies)
|
24
22
|
from jarvis.jarvis_utils.output import OutputType, PrettyOutput
|
25
23
|
|
26
24
|
|
{jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_platform/base.py
RENAMED
@@ -9,16 +9,14 @@ from rich.panel import Panel
|
|
9
9
|
from rich.text import Text
|
10
10
|
from yaspin import yaspin
|
11
11
|
|
12
|
-
from jarvis.jarvis_utils.config import (
|
13
|
-
|
14
|
-
get_pretty_output,
|
15
|
-
is_print_prompt,
|
16
|
-
)
|
12
|
+
from jarvis.jarvis_utils.config import (get_max_input_token_count,
|
13
|
+
get_pretty_output, is_print_prompt)
|
17
14
|
from jarvis.jarvis_utils.embedding import split_text_into_chunks
|
18
15
|
from jarvis.jarvis_utils.globals import set_in_chat
|
19
16
|
from jarvis.jarvis_utils.output import OutputType, PrettyOutput
|
20
17
|
from jarvis.jarvis_utils.tag import ct, ot
|
21
|
-
from jarvis.jarvis_utils.utils import get_context_token_count, while_success,
|
18
|
+
from jarvis.jarvis_utils.utils import (get_context_token_count, while_success,
|
19
|
+
while_true)
|
22
20
|
|
23
21
|
|
24
22
|
class BasePlatform(ABC):
|
{jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_platform/human.py
RENAMED
@@ -1,4 +1,9 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
# 人类交互平台实现模块
|
4
|
+
|
5
|
+
# 提供与真实人类交互的模拟接口
|
6
|
+
|
2
7
|
import random
|
3
8
|
import string
|
4
9
|
from typing import Generator, List, Tuple
|
@@ -72,4 +77,9 @@ class HumanPlatform(BasePlatform):
|
|
72
77
|
return self.model_name
|
73
78
|
|
74
79
|
def support_web(self) -> bool:
|
80
|
+
"""是否支持网页浏览功能"""
|
81
|
+
return False
|
82
|
+
|
83
|
+
def support_upload_files(self) -> bool:
|
84
|
+
"""是否支持文件上传功能"""
|
75
85
|
return False
|
{jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_platform/kimi.py
RENAMED
@@ -1,4 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
|
+
# Kimi 平台实现模块
|
3
|
+
# 提供与 Moonshot AI 的 Kimi 大模型交互功能
|
2
4
|
import json
|
3
5
|
import mimetypes
|
4
6
|
import os
|
@@ -13,7 +15,12 @@ from jarvis.jarvis_utils.utils import while_success
|
|
13
15
|
|
14
16
|
|
15
17
|
class KimiModel(BasePlatform):
|
16
|
-
"""Kimi
|
18
|
+
"""Kimi 大模型平台实现类
|
19
|
+
封装了与 Kimi 大模型交互的所有功能,包括:
|
20
|
+
- 会话管理
|
21
|
+
- 文件上传
|
22
|
+
- 消息收发
|
23
|
+
"""
|
17
24
|
|
18
25
|
platform_name = "kimi"
|
19
26
|
|
@@ -29,16 +36,16 @@ class KimiModel(BasePlatform):
|
|
29
36
|
Initialize Kimi model
|
30
37
|
"""
|
31
38
|
super().__init__()
|
32
|
-
self.chat_id = ""
|
33
|
-
self.api_key = os.getenv("KIMI_API_KEY")
|
39
|
+
self.chat_id = "" # 当前会话ID
|
40
|
+
self.api_key = os.getenv("KIMI_API_KEY") # 从环境变量获取API密钥
|
34
41
|
if not self.api_key:
|
35
42
|
PrettyOutput.print("KIMI_API_KEY 未设置", OutputType.WARNING)
|
36
|
-
self.auth_header = f"Bearer {self.api_key}"
|
43
|
+
self.auth_header = f"Bearer {self.api_key}" # 认证头信息
|
37
44
|
self.uploaded_files = [] # 存储已上传文件的信息
|
38
|
-
self.chat_id = ""
|
39
|
-
self.first_chat = True #
|
40
|
-
self.system_message = ""
|
41
|
-
self.model_name = "kimi"
|
45
|
+
self.chat_id = "" # 当前会话ID
|
46
|
+
self.first_chat = True # 标记是否是第一次对话
|
47
|
+
self.system_message = "" # 系统提示消息
|
48
|
+
self.model_name = "kimi" # 默认模型名称
|
42
49
|
|
43
50
|
def set_system_prompt(self, message: str):
|
44
51
|
"""Set system message"""
|
@@ -246,7 +253,12 @@ class KimiModel(BasePlatform):
|
|
246
253
|
return True
|
247
254
|
|
248
255
|
def chat(self, message: str) -> Generator[str, None, None]:
|
249
|
-
"""
|
256
|
+
"""发送消息并获取响应流
|
257
|
+
参数:
|
258
|
+
message: 要发送的消息内容
|
259
|
+
返回:
|
260
|
+
生成器,逐块返回模型响应
|
261
|
+
"""
|
250
262
|
if not self.chat_id:
|
251
263
|
if not self._create_chat():
|
252
264
|
raise Exception("Failed to create chat session")
|
{jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_platform/registry.py
RENAMED
@@ -6,13 +6,10 @@ import sys
|
|
6
6
|
from typing import Dict, List, Optional, Type
|
7
7
|
|
8
8
|
from jarvis.jarvis_platform.base import BasePlatform
|
9
|
-
from jarvis.jarvis_utils.config import (
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
get_thinking_model_name,
|
14
|
-
get_thinking_platform_name,
|
15
|
-
)
|
9
|
+
from jarvis.jarvis_utils.config import (get_data_dir, get_normal_model_name,
|
10
|
+
get_normal_platform_name,
|
11
|
+
get_thinking_model_name,
|
12
|
+
get_thinking_platform_name)
|
16
13
|
from jarvis.jarvis_utils.output import OutputType, PrettyOutput
|
17
14
|
|
18
15
|
REQUIRED_METHODS = [
|
@@ -4,10 +4,8 @@ from typing import Any, Dict
|
|
4
4
|
|
5
5
|
from jarvis.jarvis_code_agent.code_agent import CodeAgent
|
6
6
|
from jarvis.jarvis_git_utils.git_commiter import GitCommitTool
|
7
|
-
from jarvis.jarvis_utils.git_utils import (
|
8
|
-
|
9
|
-
has_uncommitted_changes,
|
10
|
-
)
|
7
|
+
from jarvis.jarvis_utils.git_utils import (get_latest_commit_hash,
|
8
|
+
has_uncommitted_changes)
|
11
9
|
from jarvis.jarvis_utils.output import OutputType, PrettyOutput
|
12
10
|
|
13
11
|
|
{jarvis_ai_assistant-0.1.194 → jarvis_ai_assistant-0.1.195}/src/jarvis/jarvis_utils/config.py
RENAMED
@@ -1,16 +1,12 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
import os
|
3
3
|
from functools import lru_cache
|
4
|
-
|
5
4
|
from typing import Any, Dict, List
|
6
5
|
|
7
|
-
|
8
6
|
import yaml
|
9
7
|
|
10
|
-
|
11
8
|
from jarvis.jarvis_utils.builtin_replace_map import BUILTIN_REPLACE_MAP
|
12
9
|
|
13
|
-
|
14
10
|
# 全局环境变量存储
|
15
11
|
|
16
12
|
GLOBAL_CONFIG_DATA: Dict[str, Any] = {}
|
@@ -67,7 +63,7 @@ def get_replace_map() -> dict:
|
|
67
63
|
if not os.path.exists(replace_map_path):
|
68
64
|
return BUILTIN_REPLACE_MAP.copy()
|
69
65
|
|
70
|
-
from jarvis.jarvis_utils.output import
|
66
|
+
from jarvis.jarvis_utils.output import OutputType, PrettyOutput
|
71
67
|
|
72
68
|
PrettyOutput.print(
|
73
69
|
"警告:使用replace_map.yaml进行配置的方式已被弃用,将在未来版本中移除。"
|