jarvis-ai-assistant 0.1.91__py3-none-any.whl → 0.1.93__py3-none-any.whl
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/__init__.py +1 -1
- jarvis/agent.py +6 -4
- jarvis/jarvis_codebase/main.py +274 -188
- jarvis/jarvis_coder/__init__.py +0 -0
- jarvis/jarvis_coder/git_utils.py +64 -0
- jarvis/jarvis_coder/main.py +630 -0
- jarvis/jarvis_coder/patch_handler.py +493 -0
- jarvis/jarvis_coder/plan_generator.py +75 -0
- jarvis/jarvis_platform/main.py +13 -2
- jarvis/jarvis_rag/main.py +185 -49
- jarvis/jarvis_smart_shell/main.py +16 -9
- jarvis/main.py +9 -0
- jarvis/models/ai8.py +4 -3
- jarvis/models/ollama.py +3 -3
- jarvis/models/openai.py +2 -2
- jarvis/models/oyi.py +13 -13
- jarvis/tools/ask_user.py +1 -2
- jarvis/tools/coder.py +69 -0
- jarvis/tools/thinker.py +25 -79
- jarvis/utils.py +30 -2
- {jarvis_ai_assistant-0.1.91.dist-info → jarvis_ai_assistant-0.1.93.dist-info}/METADATA +3 -1
- jarvis_ai_assistant-0.1.93.dist-info/RECORD +47 -0
- {jarvis_ai_assistant-0.1.91.dist-info → jarvis_ai_assistant-0.1.93.dist-info}/entry_points.txt +1 -0
- jarvis_ai_assistant-0.1.91.dist-info/RECORD +0 -41
- {jarvis_ai_assistant-0.1.91.dist-info → jarvis_ai_assistant-0.1.93.dist-info}/LICENSE +0 -0
- {jarvis_ai_assistant-0.1.91.dist-info → jarvis_ai_assistant-0.1.93.dist-info}/WHEEL +0 -0
- {jarvis_ai_assistant-0.1.91.dist-info → jarvis_ai_assistant-0.1.93.dist-info}/top_level.txt +0 -0
jarvis/tools/thinker.py
CHANGED
|
@@ -17,11 +17,10 @@ class ThinkerTool:
|
|
|
17
17
|
"description": "问题相关的上下文信息或背景知识",
|
|
18
18
|
"default": ""
|
|
19
19
|
},
|
|
20
|
-
"
|
|
20
|
+
"goal": {
|
|
21
21
|
"type": "string",
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"default": "chain_of_thought"
|
|
22
|
+
"description": "期望达成的具体目标或结果",
|
|
23
|
+
"default": ""
|
|
25
24
|
}
|
|
26
25
|
},
|
|
27
26
|
"required": ["question"]
|
|
@@ -31,89 +30,36 @@ class ThinkerTool:
|
|
|
31
30
|
"""初始化思考工具"""
|
|
32
31
|
self.model = PlatformRegistry.get_global_platform_registry().get_thinking_platform()
|
|
33
32
|
|
|
34
|
-
def _generate_prompt(self, question: str, context: str,
|
|
33
|
+
def _generate_prompt(self, question: str, context: str, goal: str) -> str:
|
|
35
34
|
"""生成提示词
|
|
36
35
|
|
|
37
36
|
Args:
|
|
38
37
|
question: 问题
|
|
39
38
|
context: 上下文
|
|
40
|
-
|
|
39
|
+
goal: 期望目标
|
|
41
40
|
|
|
42
41
|
Returns:
|
|
43
42
|
str: 完整的提示词
|
|
44
43
|
"""
|
|
45
44
|
# 基础提示词
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
# 根据不同的思考方式添加具体指导
|
|
49
|
-
approach_prompts = {
|
|
50
|
-
"chain_of_thought": """请使用思维链方式分析问题:
|
|
51
|
-
1. 仔细阅读问题和上下文
|
|
52
|
-
2. 逐步推理,每一步都要说明推理依据
|
|
53
|
-
3. 考虑多个可能的角度
|
|
54
|
-
4. 得出最终结论
|
|
55
|
-
|
|
56
|
-
请按以下格式输出:
|
|
57
|
-
思考过程:
|
|
58
|
-
1. [第一步推理]
|
|
59
|
-
2. [第二步推理]
|
|
60
|
-
...
|
|
61
|
-
|
|
62
|
-
结论:
|
|
63
|
-
[最终结论]""",
|
|
64
|
-
|
|
65
|
-
"tree_of_thought": """请使用思维树方式分析问题:
|
|
66
|
-
1. 将问题分解为多个子问题
|
|
67
|
-
2. 对每个子问题进行分支探索
|
|
68
|
-
3. 评估每个分支的可行性
|
|
69
|
-
4. 整合最优路径
|
|
70
|
-
|
|
71
|
-
请按以下格式输出:
|
|
72
|
-
问题分解:
|
|
73
|
-
- 子问题1
|
|
74
|
-
- 分支1.1
|
|
75
|
-
- 分支1.2
|
|
76
|
-
- 子问题2
|
|
77
|
-
- 分支2.1
|
|
78
|
-
- 分支2.2
|
|
79
|
-
|
|
80
|
-
分析过程:
|
|
81
|
-
[详细分析每个分支]
|
|
82
|
-
|
|
83
|
-
最优路径:
|
|
84
|
-
[说明选择原因]
|
|
85
|
-
|
|
86
|
-
结论:
|
|
87
|
-
[最终结论]""",
|
|
45
|
+
prompt = f"""你是一个擅长深度思考和逻辑推理的助手。请帮助分析问题并给出解决方案。
|
|
88
46
|
|
|
89
|
-
|
|
90
|
-
1.
|
|
91
|
-
2.
|
|
92
|
-
3.
|
|
93
|
-
4.
|
|
94
|
-
|
|
95
|
-
请按以下格式输出:
|
|
96
|
-
步骤分解:
|
|
97
|
-
步骤1: [具体内容]
|
|
98
|
-
步骤2: [具体内容]
|
|
99
|
-
...
|
|
100
|
-
|
|
101
|
-
执行分析:
|
|
102
|
-
[详细分析每个步骤]
|
|
103
|
-
|
|
104
|
-
解决方案:
|
|
105
|
-
[完整方案]"""
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
# 构建完整提示词
|
|
109
|
-
prompt = f"""{base_prompt}
|
|
110
|
-
|
|
111
|
-
{approach_prompts[approach]}
|
|
47
|
+
请按以下方式思考:
|
|
48
|
+
1. 仔细理解问题和目标
|
|
49
|
+
2. 进行系统性分析和推理
|
|
50
|
+
3. 考虑多个可能的解决方案
|
|
51
|
+
4. 给出最佳建议和具体行动步骤
|
|
112
52
|
|
|
113
53
|
问题:
|
|
114
54
|
{question}
|
|
115
|
-
|
|
116
55
|
"""
|
|
56
|
+
# 如果有目标,添加到提示词中
|
|
57
|
+
if goal:
|
|
58
|
+
prompt += f"""
|
|
59
|
+
期望目标:
|
|
60
|
+
{goal}
|
|
61
|
+
"""
|
|
62
|
+
|
|
117
63
|
# 如果有上下文,添加到提示词中
|
|
118
64
|
if context:
|
|
119
65
|
prompt += f"""
|
|
@@ -131,7 +77,7 @@ class ThinkerTool:
|
|
|
131
77
|
args: 包含参数的字典
|
|
132
78
|
- question: 问题
|
|
133
79
|
- context: 上下文(可选)
|
|
134
|
-
-
|
|
80
|
+
- goal: 期望目标(可选)
|
|
135
81
|
|
|
136
82
|
Returns:
|
|
137
83
|
Dict[str, Any]: 执行结果
|
|
@@ -140,16 +86,17 @@ class ThinkerTool:
|
|
|
140
86
|
# 获取参数
|
|
141
87
|
question = args["question"]
|
|
142
88
|
context = args.get("context", "")
|
|
143
|
-
|
|
89
|
+
goal = args.get("goal", "")
|
|
144
90
|
|
|
145
91
|
# 生成提示词
|
|
146
|
-
prompt = self._generate_prompt(question, context,
|
|
92
|
+
prompt = self._generate_prompt(question, context, goal)
|
|
147
93
|
|
|
148
94
|
# 记录开始分析
|
|
149
95
|
PrettyOutput.print(f"开始分析问题: {question}", OutputType.INFO)
|
|
150
96
|
if context:
|
|
151
97
|
PrettyOutput.print("包含上下文信息", OutputType.INFO)
|
|
152
|
-
|
|
98
|
+
if goal:
|
|
99
|
+
PrettyOutput.print(f"目标: {goal}", OutputType.INFO)
|
|
153
100
|
|
|
154
101
|
# 调用模型进行分析
|
|
155
102
|
response = self.model.chat(prompt)
|
|
@@ -182,15 +129,14 @@ def main():
|
|
|
182
129
|
parser = argparse.ArgumentParser(description='深度思考分析工具')
|
|
183
130
|
parser.add_argument('--question', required=True, help='需要分析的问题')
|
|
184
131
|
parser.add_argument('--context', help='问题相关的上下文信息')
|
|
185
|
-
parser.add_argument('--
|
|
186
|
-
default='chain_of_thought', help='思考方式')
|
|
132
|
+
parser.add_argument('--goal', help='期望达成的具体目标或结果')
|
|
187
133
|
args = parser.parse_args()
|
|
188
134
|
|
|
189
135
|
tool = ThinkerTool()
|
|
190
136
|
result = tool.execute({
|
|
191
137
|
"question": args.question,
|
|
192
138
|
"context": args.context,
|
|
193
|
-
"
|
|
139
|
+
"goal": args.goal
|
|
194
140
|
})
|
|
195
141
|
|
|
196
142
|
if result["success"]:
|
jarvis/utils.py
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from ast import List, Str
|
|
2
|
+
import hashlib
|
|
1
3
|
from pathlib import Path
|
|
2
4
|
import sys
|
|
3
5
|
import time
|
|
@@ -16,6 +18,9 @@ import torch
|
|
|
16
18
|
# 初始化colorama
|
|
17
19
|
colorama.init()
|
|
18
20
|
|
|
21
|
+
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
|
|
22
|
+
os.environ["TOKENIZERS_PARALLELISM"] = "false"
|
|
23
|
+
|
|
19
24
|
class OutputType(Enum):
|
|
20
25
|
SYSTEM = "system" # AI助手消息
|
|
21
26
|
CODE = "code" # 代码相关
|
|
@@ -212,7 +217,6 @@ def find_git_root(dir="."):
|
|
|
212
217
|
return ret
|
|
213
218
|
|
|
214
219
|
def load_embedding_model():
|
|
215
|
-
os.environ["TOKENIZERS_PARALLELISM"] = "false"
|
|
216
220
|
model_name = "BAAI/bge-large-zh-v1.5"
|
|
217
221
|
PrettyOutput.print(f"正在加载嵌入模型: {model_name}...", OutputType.INFO)
|
|
218
222
|
try:
|
|
@@ -275,5 +279,29 @@ def load_rerank_model():
|
|
|
275
279
|
def get_max_context_length():
|
|
276
280
|
return int(os.getenv('JARVIS_MAX_CONTEXT_LENGTH', '131072')) # 默认128k
|
|
277
281
|
|
|
282
|
+
def is_long_context(files: list) -> bool:
|
|
283
|
+
"""检测文件列表是否属于长上下文(总字符数超过最大上下文长度的80%)"""
|
|
284
|
+
max_length = get_max_context_length()
|
|
285
|
+
threshold = max_length * 0.8
|
|
286
|
+
total_chars = 0
|
|
287
|
+
|
|
288
|
+
for file_path in files:
|
|
289
|
+
try:
|
|
290
|
+
with open(file_path, 'r', encoding='utf-8') as f:
|
|
291
|
+
content = f.read()
|
|
292
|
+
total_chars += len(content)
|
|
293
|
+
|
|
294
|
+
# 提前终止检查如果已经超过阈值
|
|
295
|
+
if total_chars > threshold:
|
|
296
|
+
return True
|
|
297
|
+
except Exception as e:
|
|
298
|
+
PrettyOutput.print(f"无法读取文件 {file_path}: {e}", OutputType.WARNING)
|
|
299
|
+
continue
|
|
300
|
+
|
|
301
|
+
return total_chars > threshold
|
|
302
|
+
|
|
278
303
|
def get_thread_count():
|
|
279
|
-
return int(os.getenv('JARVIS_THREAD_COUNT', '1'))
|
|
304
|
+
return int(os.getenv('JARVIS_THREAD_COUNT', '1'))
|
|
305
|
+
|
|
306
|
+
def get_file_md5(filepath: str)->str:
|
|
307
|
+
return hashlib.md5(open(filepath, "rb").read(100*1024*1024)).hexdigest()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: jarvis-ai-assistant
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.93
|
|
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
|
|
@@ -53,6 +53,8 @@ Requires-Dist: PyMuPDF>=1.21.0
|
|
|
53
53
|
Requires-Dist: python-docx>=0.8.11
|
|
54
54
|
Requires-Dist: tiktoken>=0.3.0
|
|
55
55
|
Requires-Dist: tqdm>=4.65.0
|
|
56
|
+
Requires-Dist: docx>=0.2.4
|
|
57
|
+
Requires-Dist: yaspin>=2.5.0
|
|
56
58
|
Provides-Extra: dev
|
|
57
59
|
Requires-Dist: pytest; extra == "dev"
|
|
58
60
|
Requires-Dist: black; extra == "dev"
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
jarvis/__init__.py,sha256=f8113pl4O0dw4MOgNk0fK63GV0FVrx2v-G0-w75BjWc,50
|
|
2
|
+
jarvis/agent.py,sha256=vjWR-bIyac7nL3qMUOhastXMdT9PqufwRjT-h_hAnk0,19403
|
|
3
|
+
jarvis/main.py,sha256=kHvlVDmjznWvXugl56M4HRb1Uedkn8lKsMEKr8tNy1Q,5824
|
|
4
|
+
jarvis/utils.py,sha256=gIpS62j9cbKndvXQ7E36RQCaNOgl5bl2PRPcpiZZvew,11292
|
|
5
|
+
jarvis/jarvis_codebase/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
|
+
jarvis/jarvis_codebase/main.py,sha256=li3ccKSs4RwQw8EK35RssC3IHDg1PjEji0pNCC-HMtE,29885
|
|
7
|
+
jarvis/jarvis_coder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
+
jarvis/jarvis_coder/git_utils.py,sha256=u5mUe_R3JDJthDoamlNOkrN3bJKf-47pf8YqCvtmYK4,2284
|
|
9
|
+
jarvis/jarvis_coder/main.py,sha256=ZgmASwDsRLUx8_E_9Cnr2n_pXnyp-lHWAA1IGHwsfb8,25294
|
|
10
|
+
jarvis/jarvis_coder/patch_handler.py,sha256=OsAt-hCz49eoRgUW0c2hGf9Bcq_i5JrkCWaUtg4WWiw,21500
|
|
11
|
+
jarvis/jarvis_coder/plan_generator.py,sha256=xtiYEE-RhexBWamBnsat_pUyzzc4IdP5PCI6p8wyqLE,2845
|
|
12
|
+
jarvis/jarvis_platform/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
+
jarvis/jarvis_platform/main.py,sha256=uOv5TlxKVWO_lD2mnB7KAILkqCbezhOwiJ6g_CRQBlU,4868
|
|
14
|
+
jarvis/jarvis_rag/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
+
jarvis/jarvis_rag/main.py,sha256=Gu8llgtBaRTg7sKMB-3pRLb0Tjs1ee_mbZLOku0kDPk,32752
|
|
16
|
+
jarvis/jarvis_smart_shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
+
jarvis/jarvis_smart_shell/main.py,sha256=wqTbbXMaM3X6YIdOtNVF6B3Ua7fxu0XTeXBR7lfdWg0,3812
|
|
18
|
+
jarvis/models/__init__.py,sha256=mrOt67nselz_H1gX9wdAO4y2DY5WPXzABqJbr5Des8k,63
|
|
19
|
+
jarvis/models/ai8.py,sha256=ARzNIg7v7-Vy5TtHHmTGV3Fn8rXbNxKw2pe_BylyADE,11887
|
|
20
|
+
jarvis/models/base.py,sha256=qIpO32lejPhaZk5T3VIua3td4gEguXMaeFER5kXYwLY,1782
|
|
21
|
+
jarvis/models/kimi.py,sha256=cB1tC_ifdTAZUEqndzNTIcgHWi4w4tM8zdzSOcDhOrQ,16348
|
|
22
|
+
jarvis/models/ollama.py,sha256=fLVGGBfE5S_sFDiQ1ZC6-Oz9AY6EMnRqvILLi7lP-gw,5603
|
|
23
|
+
jarvis/models/openai.py,sha256=XdBsWRwlJgUwsqasux0IhUHhjo4UGZt0eg7xFQVNZhY,4400
|
|
24
|
+
jarvis/models/oyi.py,sha256=ZMyX2WMHC_HG0mGCtTyJwfiARQmlLKtgOfpNP5YX0DI,14463
|
|
25
|
+
jarvis/models/registry.py,sha256=SDnrNzf0wQi8mb7qbu4ZNfYIy5vhz1CxmVL3Ru-VATk,8797
|
|
26
|
+
jarvis/tools/__init__.py,sha256=7Rqyj5hBAv5cWDVr5T9ZTZASO7ssBHeQNm2_4ZARdkA,72
|
|
27
|
+
jarvis/tools/ask_user.py,sha256=naLLVYKKMSVkQSExvnyZbL9FHwFrpTqEQjlBFcJadp8,1865
|
|
28
|
+
jarvis/tools/base.py,sha256=EGRGbdfbLXDLwtyoWdvp9rlxNX7bzc20t0Vc2VkwIEY,652
|
|
29
|
+
jarvis/tools/chdir.py,sha256=TjfPbX8yvNKgUNJEMXh3ZlVDEIse_Fo8xMoVsiK7_dA,2688
|
|
30
|
+
jarvis/tools/codebase_qa.py,sha256=Lk8EXkin45RKUsp5C_UHm6jADBhyCT-xsYubwJ1hSiE,2403
|
|
31
|
+
jarvis/tools/coder.py,sha256=ws25Vni7Q_fKxSNyQLapqlcjlpP9jkavgJRIv78ATww,2315
|
|
32
|
+
jarvis/tools/file_ops.py,sha256=h8g0eT9UvlJf4kt0DLXvdSsjcPj7x19lxWdDApeDfpg,3842
|
|
33
|
+
jarvis/tools/generator.py,sha256=TB1zcw_JmRL2W9w6L4IxtrLF3gjnNw5Jj2Zrowj0eSg,5763
|
|
34
|
+
jarvis/tools/methodology.py,sha256=UG6s5VYRcd9wrKX4cg6f7zJhet5AIcthFGMOAdevBiw,5175
|
|
35
|
+
jarvis/tools/rag.py,sha256=tJzuhHaTrujVXCBgmyMqSynVF0UFsIJeRTG0Y_Tt964,4483
|
|
36
|
+
jarvis/tools/registry.py,sha256=AbADf8pcjHqfNoQNJkWqEuVg6zHRdryhJyDQ5w4O2sc,9177
|
|
37
|
+
jarvis/tools/search.py,sha256=c9dXtyICdl8Lm8shNPNyIx9k67uY0rMF8xnIKu2RsnE,8787
|
|
38
|
+
jarvis/tools/shell.py,sha256=UPKshPyOaUwTngresUw-ot1jHjQIb4wCY5nkJqa38lU,2520
|
|
39
|
+
jarvis/tools/sub_agent.py,sha256=rEtAmSVY2ZjFOZEKr5m5wpACOQIiM9Zr_3dT92FhXYU,2621
|
|
40
|
+
jarvis/tools/thinker.py,sha256=yjY-JMf-Vp_UZdBNa7auvFZl8Wohcu1AqqNO2GSel-w,4598
|
|
41
|
+
jarvis/tools/webpage.py,sha256=d3w3Jcjcu1ESciezTkz3n3Zf-rp_l91PrVoDEZnckOo,2391
|
|
42
|
+
jarvis_ai_assistant-0.1.93.dist-info/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
|
|
43
|
+
jarvis_ai_assistant-0.1.93.dist-info/METADATA,sha256=9Xodq2q2pIZAi9fGA48lhjOgttGzDQafYVtK7OURt9c,12766
|
|
44
|
+
jarvis_ai_assistant-0.1.93.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
45
|
+
jarvis_ai_assistant-0.1.93.dist-info/entry_points.txt,sha256=1D14s9v6rwpNzVD0muwe0tCKffJDEvLRBlEShbSFSbQ,331
|
|
46
|
+
jarvis_ai_assistant-0.1.93.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
|
|
47
|
+
jarvis_ai_assistant-0.1.93.dist-info/RECORD,,
|
{jarvis_ai_assistant-0.1.91.dist-info → jarvis_ai_assistant-0.1.93.dist-info}/entry_points.txt
RENAMED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
[console_scripts]
|
|
2
2
|
jarvis = jarvis.main:main
|
|
3
3
|
jarvis-codebase = jarvis.jarvis_codebase.main:main
|
|
4
|
+
jarvis-coder = jarvis.jarvis_coder.main:main
|
|
4
5
|
jarvis-platform = jarvis.jarvis_platform.main:main
|
|
5
6
|
jarvis-rag = jarvis.jarvis_rag.main:main
|
|
6
7
|
jarvis-smart-shell = jarvis.jarvis_smart_shell.main:main
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
jarvis/__init__.py,sha256=3Ab7ipGCmdagjBEJ81C-I_xiKdsal6hFcitNVQKYwt4,50
|
|
2
|
-
jarvis/agent.py,sha256=82F6n8YKOaLaHp40eljZLfV-Ad4RktB8s-1c8X8-LGU,19128
|
|
3
|
-
jarvis/main.py,sha256=72od8757A3bhe0ncE38S7u-YZsAh0y50w9ozMhgqIU8,5423
|
|
4
|
-
jarvis/utils.py,sha256=Maqu93-rixR-_rjvoBCocCH6XiB1ol1Xozj1eMjNjE0,10308
|
|
5
|
-
jarvis/jarvis_codebase/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
|
-
jarvis/jarvis_codebase/main.py,sha256=hbFYetHZOKSU0HBbKUU8Vu4o3m25nufvBnHGI8OxT6g,26503
|
|
7
|
-
jarvis/jarvis_platform/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
-
jarvis/jarvis_platform/main.py,sha256=V-gJQdfHihtrZD6WIYbVAQSDmtrf0PFVndZ7jPrlGZg,4277
|
|
9
|
-
jarvis/jarvis_rag/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
-
jarvis/jarvis_rag/main.py,sha256=ZzNnU0KhAiz64kMmHd5BSBhImieXYbcfgRT-s-PiP2Y,26415
|
|
11
|
-
jarvis/jarvis_smart_shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
-
jarvis/jarvis_smart_shell/main.py,sha256=4BKXMIz7zGATC_4K47UQxHh7sHPH4K2dqj4RSIH9t4Y,3552
|
|
13
|
-
jarvis/models/__init__.py,sha256=mrOt67nselz_H1gX9wdAO4y2DY5WPXzABqJbr5Des8k,63
|
|
14
|
-
jarvis/models/ai8.py,sha256=ejMUAf614wBgmsYPkcWrCzONBcIAP4pUTy4b9hrolJY,11830
|
|
15
|
-
jarvis/models/base.py,sha256=qIpO32lejPhaZk5T3VIua3td4gEguXMaeFER5kXYwLY,1782
|
|
16
|
-
jarvis/models/kimi.py,sha256=cB1tC_ifdTAZUEqndzNTIcgHWi4w4tM8zdzSOcDhOrQ,16348
|
|
17
|
-
jarvis/models/ollama.py,sha256=3Mb9ukwKk_HFfYp5dU0Zao5aa9AH_cTJoYhwHJt3MOo,5626
|
|
18
|
-
jarvis/models/openai.py,sha256=W1FmaNnFSxeu-4qFQcuop5xeb-zh8-x6E-D56hMaVuA,4370
|
|
19
|
-
jarvis/models/oyi.py,sha256=IWsrReLmphm-UMzxXcbAoiWP6w1fJRP3iQTlyDpSyg8,14491
|
|
20
|
-
jarvis/models/registry.py,sha256=SDnrNzf0wQi8mb7qbu4ZNfYIy5vhz1CxmVL3Ru-VATk,8797
|
|
21
|
-
jarvis/tools/__init__.py,sha256=7Rqyj5hBAv5cWDVr5T9ZTZASO7ssBHeQNm2_4ZARdkA,72
|
|
22
|
-
jarvis/tools/ask_user.py,sha256=KNRaiBlAqqAZ0uUkq_l7AKi-y9ZCLE83uLtTdd-UM0o,1919
|
|
23
|
-
jarvis/tools/base.py,sha256=EGRGbdfbLXDLwtyoWdvp9rlxNX7bzc20t0Vc2VkwIEY,652
|
|
24
|
-
jarvis/tools/chdir.py,sha256=TjfPbX8yvNKgUNJEMXh3ZlVDEIse_Fo8xMoVsiK7_dA,2688
|
|
25
|
-
jarvis/tools/codebase_qa.py,sha256=Lk8EXkin45RKUsp5C_UHm6jADBhyCT-xsYubwJ1hSiE,2403
|
|
26
|
-
jarvis/tools/file_ops.py,sha256=h8g0eT9UvlJf4kt0DLXvdSsjcPj7x19lxWdDApeDfpg,3842
|
|
27
|
-
jarvis/tools/generator.py,sha256=TB1zcw_JmRL2W9w6L4IxtrLF3gjnNw5Jj2Zrowj0eSg,5763
|
|
28
|
-
jarvis/tools/methodology.py,sha256=UG6s5VYRcd9wrKX4cg6f7zJhet5AIcthFGMOAdevBiw,5175
|
|
29
|
-
jarvis/tools/rag.py,sha256=tJzuhHaTrujVXCBgmyMqSynVF0UFsIJeRTG0Y_Tt964,4483
|
|
30
|
-
jarvis/tools/registry.py,sha256=AbADf8pcjHqfNoQNJkWqEuVg6zHRdryhJyDQ5w4O2sc,9177
|
|
31
|
-
jarvis/tools/search.py,sha256=c9dXtyICdl8Lm8shNPNyIx9k67uY0rMF8xnIKu2RsnE,8787
|
|
32
|
-
jarvis/tools/shell.py,sha256=UPKshPyOaUwTngresUw-ot1jHjQIb4wCY5nkJqa38lU,2520
|
|
33
|
-
jarvis/tools/sub_agent.py,sha256=rEtAmSVY2ZjFOZEKr5m5wpACOQIiM9Zr_3dT92FhXYU,2621
|
|
34
|
-
jarvis/tools/thinker.py,sha256=Zv1v4Mp7R08w5p3e2iv5X4UWQstgAMyRD9huE-b-ZS0,5938
|
|
35
|
-
jarvis/tools/webpage.py,sha256=d3w3Jcjcu1ESciezTkz3n3Zf-rp_l91PrVoDEZnckOo,2391
|
|
36
|
-
jarvis_ai_assistant-0.1.91.dist-info/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
|
|
37
|
-
jarvis_ai_assistant-0.1.91.dist-info/METADATA,sha256=ahfOtRplwS5KpK_gh3_YP2WzfbRsc3wi5D8GaSvAUps,12710
|
|
38
|
-
jarvis_ai_assistant-0.1.91.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
39
|
-
jarvis_ai_assistant-0.1.91.dist-info/entry_points.txt,sha256=47WUorU2y8wAKrGEVh5n6o3NaOB7A-4-PfSWp-xuFSg,286
|
|
40
|
-
jarvis_ai_assistant-0.1.91.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
|
|
41
|
-
jarvis_ai_assistant-0.1.91.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|