jarvis-ai-assistant 0.2.8__py3-none-any.whl → 0.3.0__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.
- jarvis/__init__.py +1 -1
- jarvis/jarvis_agent/__init__.py +267 -240
- jarvis/jarvis_agent/agent_manager.py +85 -0
- jarvis/jarvis_agent/config_editor.py +53 -0
- jarvis/jarvis_agent/file_methodology_manager.py +105 -0
- jarvis/jarvis_agent/jarvis.py +30 -619
- jarvis/jarvis_agent/memory_manager.py +133 -0
- jarvis/jarvis_agent/methodology_share_manager.py +174 -0
- jarvis/jarvis_agent/prompts.py +18 -3
- jarvis/jarvis_agent/share_manager.py +176 -0
- jarvis/jarvis_agent/task_analyzer.py +126 -0
- jarvis/jarvis_agent/task_manager.py +111 -0
- jarvis/jarvis_agent/tool_share_manager.py +139 -0
- jarvis/jarvis_code_agent/code_agent.py +26 -20
- jarvis/jarvis_data/config_schema.json +32 -0
- jarvis/jarvis_platform/ai8.py +13 -1
- jarvis/jarvis_platform/base.py +20 -5
- jarvis/jarvis_platform/human.py +11 -1
- jarvis/jarvis_platform/kimi.py +10 -0
- jarvis/jarvis_platform/openai.py +20 -0
- jarvis/jarvis_platform/tongyi.py +14 -9
- jarvis/jarvis_platform/yuanbao.py +10 -0
- jarvis/jarvis_platform_manager/main.py +12 -12
- jarvis/jarvis_tools/registry.py +32 -0
- jarvis/jarvis_tools/retrieve_memory.py +36 -8
- jarvis/jarvis_utils/clipboard.py +90 -0
- jarvis/jarvis_utils/config.py +54 -0
- jarvis/jarvis_utils/git_utils.py +17 -7
- jarvis/jarvis_utils/globals.py +18 -12
- jarvis/jarvis_utils/input.py +118 -16
- jarvis/jarvis_utils/methodology.py +48 -5
- jarvis/jarvis_utils/utils.py +169 -105
- {jarvis_ai_assistant-0.2.8.dist-info → jarvis_ai_assistant-0.3.0.dist-info}/METADATA +1 -1
- {jarvis_ai_assistant-0.2.8.dist-info → jarvis_ai_assistant-0.3.0.dist-info}/RECORD +38 -28
- {jarvis_ai_assistant-0.2.8.dist-info → jarvis_ai_assistant-0.3.0.dist-info}/WHEEL +0 -0
- {jarvis_ai_assistant-0.2.8.dist-info → jarvis_ai_assistant-0.3.0.dist-info}/entry_points.txt +0 -0
- {jarvis_ai_assistant-0.2.8.dist-info → jarvis_ai_assistant-0.3.0.dist-info}/licenses/LICENSE +0 -0
- {jarvis_ai_assistant-0.2.8.dist-info → jarvis_ai_assistant-0.3.0.dist-info}/top_level.txt +0 -0
jarvis/jarvis_utils/utils.py
CHANGED
@@ -491,6 +491,153 @@ def init_env(welcome_str: str, config_file: Optional[str] = None) -> None:
|
|
491
491
|
sys.exit(0)
|
492
492
|
|
493
493
|
|
494
|
+
def _interactive_config_setup(config_file_path: Path):
|
495
|
+
"""交互式配置引导"""
|
496
|
+
from jarvis.jarvis_platform.registry import PlatformRegistry
|
497
|
+
from jarvis.jarvis_utils.input import (
|
498
|
+
get_choice,
|
499
|
+
get_single_line_input as get_input,
|
500
|
+
user_confirm as get_yes_no,
|
501
|
+
)
|
502
|
+
|
503
|
+
PrettyOutput.print(
|
504
|
+
"欢迎使用 Jarvis!未找到配置文件,现在开始引导配置。", OutputType.INFO
|
505
|
+
)
|
506
|
+
|
507
|
+
# 1. 选择平台
|
508
|
+
registry = PlatformRegistry.get_global_platform_registry()
|
509
|
+
platforms = registry.get_available_platforms()
|
510
|
+
platform_name = get_choice("请选择您要使用的AI平台", platforms)
|
511
|
+
|
512
|
+
# 2. 配置环境变量
|
513
|
+
platform_class = registry.platforms.get(platform_name)
|
514
|
+
if not platform_class:
|
515
|
+
PrettyOutput.print(f"平台 '{platform_name}' 加载失败。", OutputType.ERROR)
|
516
|
+
sys.exit(1)
|
517
|
+
|
518
|
+
env_vars = {}
|
519
|
+
required_keys = platform_class.get_required_env_keys()
|
520
|
+
defaults = platform_class.get_env_defaults()
|
521
|
+
if required_keys:
|
522
|
+
PrettyOutput.print(
|
523
|
+
f"请输入 {platform_name} 平台所需的配置信息:", OutputType.INFO
|
524
|
+
)
|
525
|
+
for key in required_keys:
|
526
|
+
default_value = defaults.get(key, "")
|
527
|
+
prompt_text = f" - {key}"
|
528
|
+
if default_value:
|
529
|
+
prompt_text += f" (默认: {default_value})"
|
530
|
+
prompt_text += ": "
|
531
|
+
|
532
|
+
value = get_input(prompt_text, default=default_value)
|
533
|
+
env_vars[key] = value
|
534
|
+
os.environ[key] = value # 立即设置环境变量以便后续测试
|
535
|
+
|
536
|
+
# 3. 选择模型
|
537
|
+
try:
|
538
|
+
platform_instance = registry.create_platform(platform_name)
|
539
|
+
if not platform_instance:
|
540
|
+
PrettyOutput.print(f"无法创建平台 '{platform_name}'。", OutputType.ERROR)
|
541
|
+
sys.exit(1)
|
542
|
+
|
543
|
+
model_list_tuples = platform_instance.get_model_list()
|
544
|
+
model_choices = [f"{name} ({desc})" for name, desc in model_list_tuples]
|
545
|
+
model_display_name = get_choice("请选择要使用的模型", model_choices)
|
546
|
+
|
547
|
+
# 从显示名称反向查找模型ID
|
548
|
+
selected_index = model_choices.index(model_display_name)
|
549
|
+
model_name, _ = model_list_tuples[selected_index]
|
550
|
+
|
551
|
+
except Exception:
|
552
|
+
PrettyOutput.print("获取模型列表失败", OutputType.ERROR)
|
553
|
+
if not get_yes_no("无法获取模型列表,是否继续配置?"):
|
554
|
+
sys.exit(1)
|
555
|
+
model_name = get_input("请输入模型名称:")
|
556
|
+
|
557
|
+
# 4. 测试配置
|
558
|
+
PrettyOutput.print("正在测试配置...", OutputType.INFO)
|
559
|
+
test_passed = False
|
560
|
+
try:
|
561
|
+
platform_instance = registry.create_platform(platform_name)
|
562
|
+
if platform_instance:
|
563
|
+
platform_instance.set_model_name(model_name)
|
564
|
+
response_generator = platform_instance.chat("hello")
|
565
|
+
response = "".join(response_generator)
|
566
|
+
if response:
|
567
|
+
PrettyOutput.print(
|
568
|
+
f"测试成功,模型响应: {response}", OutputType.SUCCESS
|
569
|
+
)
|
570
|
+
test_passed = True
|
571
|
+
else:
|
572
|
+
PrettyOutput.print("测试失败,模型没有响应。", OutputType.ERROR)
|
573
|
+
else:
|
574
|
+
PrettyOutput.print("测试失败,无法创建平台实例。", OutputType.ERROR)
|
575
|
+
except Exception:
|
576
|
+
PrettyOutput.print("测试失败", OutputType.ERROR)
|
577
|
+
|
578
|
+
# 5. 生成并保存配置
|
579
|
+
config_data = {
|
580
|
+
"ENV": env_vars,
|
581
|
+
"JARVIS_PLATFORM": platform_name,
|
582
|
+
"JARVIS_THINKING_PLATFORM": platform_name,
|
583
|
+
"JARVIS_MODEL": model_name,
|
584
|
+
"JARVIS_THINKING_MODEL": model_name,
|
585
|
+
}
|
586
|
+
|
587
|
+
if test_passed:
|
588
|
+
PrettyOutput.print("配置已测试通过,将为您生成配置文件。", OutputType.SUCCESS)
|
589
|
+
else:
|
590
|
+
if not get_yes_no("配置测试失败,您确定要保存这个配置吗?"):
|
591
|
+
PrettyOutput.print("配置未保存。", OutputType.INFO)
|
592
|
+
sys.exit(0)
|
593
|
+
|
594
|
+
try:
|
595
|
+
schema_path = (
|
596
|
+
Path(__file__).parent.parent / "jarvis_data" / "config_schema.json"
|
597
|
+
)
|
598
|
+
if schema_path.exists():
|
599
|
+
config_file_path.parent.mkdir(parents=True, exist_ok=True)
|
600
|
+
# 使用现有的函数生成默认结构,然后覆盖引导配置
|
601
|
+
generate_default_config(str(schema_path.absolute()), str(config_file_path))
|
602
|
+
|
603
|
+
# 读取刚生成的默认配置
|
604
|
+
with open(config_file_path, "r", encoding="utf-8") as f:
|
605
|
+
content = f.read()
|
606
|
+
default_config = yaml.safe_load(
|
607
|
+
content.split("\n", 1)[1]
|
608
|
+
) # 跳过 schema 行
|
609
|
+
|
610
|
+
# 合并用户配置
|
611
|
+
if default_config is None:
|
612
|
+
default_config = {}
|
613
|
+
default_config.update(config_data)
|
614
|
+
|
615
|
+
# 写回合并后的配置
|
616
|
+
final_content = (
|
617
|
+
f"# yaml-language-server: $schema={str(schema_path.absolute())}\n"
|
618
|
+
)
|
619
|
+
final_content += yaml.dump(
|
620
|
+
default_config, allow_unicode=True, sort_keys=False
|
621
|
+
)
|
622
|
+
with open(config_file_path, "w", encoding="utf-8") as f:
|
623
|
+
f.write(final_content)
|
624
|
+
|
625
|
+
PrettyOutput.print(
|
626
|
+
f"配置文件已生成: {config_file_path}", OutputType.SUCCESS
|
627
|
+
)
|
628
|
+
PrettyOutput.print("配置完成,请重新启动Jarvis。", OutputType.INFO)
|
629
|
+
sys.exit(0)
|
630
|
+
else:
|
631
|
+
PrettyOutput.print(
|
632
|
+
"未找到config schema,无法生成配置文件。", OutputType.ERROR
|
633
|
+
)
|
634
|
+
sys.exit(1)
|
635
|
+
|
636
|
+
except Exception:
|
637
|
+
PrettyOutput.print("生成配置文件失败", OutputType.ERROR)
|
638
|
+
sys.exit(1)
|
639
|
+
|
640
|
+
|
494
641
|
def load_config():
|
495
642
|
config_file = g_config_file
|
496
643
|
config_file_path = (
|
@@ -505,22 +652,7 @@ def load_config():
|
|
505
652
|
if old_config_file.exists(): # 旧的配置文件存在
|
506
653
|
_read_old_config_file(old_config_file)
|
507
654
|
else:
|
508
|
-
|
509
|
-
schema_path = (
|
510
|
-
Path(__file__).parent.parent / "jarvis_data" / "config_schema.json"
|
511
|
-
)
|
512
|
-
if schema_path.exists():
|
513
|
-
try:
|
514
|
-
config_file_path.parent.mkdir(parents=True, exist_ok=True)
|
515
|
-
generate_default_config(
|
516
|
-
str(schema_path.absolute()), str(config_file_path)
|
517
|
-
)
|
518
|
-
PrettyOutput.print(
|
519
|
-
f"已生成默认配置文件: {config_file_path}", OutputType.INFO
|
520
|
-
)
|
521
|
-
sys.exit(0)
|
522
|
-
except Exception as e:
|
523
|
-
PrettyOutput.print(f"生成默认配置文件失败: {e}", OutputType.ERROR)
|
655
|
+
_interactive_config_setup(config_file_path)
|
524
656
|
else:
|
525
657
|
_load_and_process_config(str(config_file_path.parent), str(config_file_path))
|
526
658
|
|
@@ -528,6 +660,9 @@ def load_config():
|
|
528
660
|
from typing import Tuple
|
529
661
|
|
530
662
|
|
663
|
+
from typing import Tuple
|
664
|
+
|
665
|
+
|
531
666
|
def _load_config_file(config_file: str) -> Tuple[str, dict]:
|
532
667
|
"""读取并解析YAML格式的配置文件
|
533
668
|
|
@@ -594,10 +729,24 @@ def _load_and_process_config(jarvis_dir: str, config_file: str) -> None:
|
|
594
729
|
jarvis_dir: Jarvis数据目录路径
|
595
730
|
config_file: 配置文件路径
|
596
731
|
"""
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
|
732
|
+
from jarvis.jarvis_utils.input import user_confirm as get_yes_no
|
733
|
+
|
734
|
+
try:
|
735
|
+
content, config_data = _load_config_file(config_file)
|
736
|
+
_ensure_schema_declaration(jarvis_dir, config_file, content, config_data)
|
737
|
+
set_global_env_data(config_data)
|
738
|
+
_process_env_variables(config_data)
|
739
|
+
except Exception:
|
740
|
+
PrettyOutput.print("加载配置文件失败", OutputType.ERROR)
|
741
|
+
if get_yes_no("配置文件格式错误,是否删除并重新配置?"):
|
742
|
+
try:
|
743
|
+
os.remove(config_file)
|
744
|
+
PrettyOutput.print(
|
745
|
+
"已删除损坏的配置文件,请重启Jarvis以重新配置。", OutputType.SUCCESS
|
746
|
+
)
|
747
|
+
except Exception:
|
748
|
+
PrettyOutput.print("删除配置文件失败", OutputType.ERROR)
|
749
|
+
sys.exit(1)
|
601
750
|
|
602
751
|
|
603
752
|
def generate_default_config(schema_path: str, output_path: str) -> None:
|
@@ -811,91 +960,6 @@ def get_loc_stats() -> str:
|
|
811
960
|
return ""
|
812
961
|
|
813
962
|
|
814
|
-
def copy_to_clipboard(text: str) -> None:
|
815
|
-
"""将文本复制到剪贴板,支持Windows、macOS和Linux
|
816
|
-
|
817
|
-
参数:
|
818
|
-
text: 要复制的文本
|
819
|
-
"""
|
820
|
-
print("--- 剪贴板内容开始 ---")
|
821
|
-
print(text)
|
822
|
-
print("--- 剪贴板内容结束 ---")
|
823
|
-
|
824
|
-
system = platform.system()
|
825
|
-
|
826
|
-
# Windows系统
|
827
|
-
if system == "Windows":
|
828
|
-
try:
|
829
|
-
# 使用Windows的clip命令
|
830
|
-
process = subprocess.Popen(
|
831
|
-
["clip"],
|
832
|
-
stdin=subprocess.PIPE,
|
833
|
-
stdout=subprocess.DEVNULL,
|
834
|
-
stderr=subprocess.DEVNULL,
|
835
|
-
shell=True,
|
836
|
-
)
|
837
|
-
if process.stdin:
|
838
|
-
process.stdin.write(text.encode("utf-8"))
|
839
|
-
process.stdin.close()
|
840
|
-
return
|
841
|
-
except Exception as e:
|
842
|
-
PrettyOutput.print(f"使用Windows clip命令时出错: {e}", OutputType.WARNING)
|
843
|
-
|
844
|
-
# macOS系统
|
845
|
-
elif system == "Darwin":
|
846
|
-
try:
|
847
|
-
process = subprocess.Popen(
|
848
|
-
["pbcopy"],
|
849
|
-
stdin=subprocess.PIPE,
|
850
|
-
stdout=subprocess.DEVNULL,
|
851
|
-
stderr=subprocess.DEVNULL,
|
852
|
-
)
|
853
|
-
if process.stdin:
|
854
|
-
process.stdin.write(text.encode("utf-8"))
|
855
|
-
process.stdin.close()
|
856
|
-
return
|
857
|
-
except Exception as e:
|
858
|
-
PrettyOutput.print(f"使用macOS pbcopy命令时出错: {e}", OutputType.WARNING)
|
859
|
-
|
860
|
-
# Linux系统
|
861
|
-
else:
|
862
|
-
# 尝试使用 xsel
|
863
|
-
try:
|
864
|
-
process = subprocess.Popen(
|
865
|
-
["xsel", "-b", "-i"],
|
866
|
-
stdin=subprocess.PIPE,
|
867
|
-
stdout=subprocess.DEVNULL,
|
868
|
-
stderr=subprocess.DEVNULL,
|
869
|
-
)
|
870
|
-
if process.stdin:
|
871
|
-
process.stdin.write(text.encode("utf-8"))
|
872
|
-
process.stdin.close()
|
873
|
-
return
|
874
|
-
except FileNotFoundError:
|
875
|
-
pass # xsel 未安装,继续尝试下一个
|
876
|
-
except Exception as e:
|
877
|
-
PrettyOutput.print(f"使用xsel时出错: {e}", OutputType.WARNING)
|
878
|
-
|
879
|
-
# 尝试使用 xclip
|
880
|
-
try:
|
881
|
-
process = subprocess.Popen(
|
882
|
-
["xclip", "-selection", "clipboard"],
|
883
|
-
stdin=subprocess.PIPE,
|
884
|
-
stdout=subprocess.DEVNULL,
|
885
|
-
stderr=subprocess.DEVNULL,
|
886
|
-
)
|
887
|
-
if process.stdin:
|
888
|
-
process.stdin.write(text.encode("utf-8"))
|
889
|
-
process.stdin.close()
|
890
|
-
return
|
891
|
-
except FileNotFoundError:
|
892
|
-
PrettyOutput.print(
|
893
|
-
"xsel 和 xclip 均未安装, 无法复制到剪贴板", OutputType.WARNING
|
894
|
-
)
|
895
|
-
except Exception as e:
|
896
|
-
PrettyOutput.print(f"使用xclip时出错: {e}", OutputType.WARNING)
|
897
|
-
|
898
|
-
|
899
963
|
def _pull_git_repo(repo_path: Path, repo_type: str):
|
900
964
|
"""对指定的git仓库执行git pull操作,并根据commit hash判断是否有更新。"""
|
901
965
|
git_dir = repo_path / ".git"
|
@@ -1,18 +1,27 @@
|
|
1
|
-
jarvis/__init__.py,sha256=
|
2
|
-
jarvis/jarvis_agent/__init__.py,sha256=
|
1
|
+
jarvis/__init__.py,sha256=Arb_r89dPCTZmB-odbagucR7oYRYbfwAPJ4wWImvcxQ,73
|
2
|
+
jarvis/jarvis_agent/__init__.py,sha256=rOMM99DeDsoO4pI2UT_eT-WRoOgibTb0641EikLzd_U,25397
|
3
|
+
jarvis/jarvis_agent/agent_manager.py,sha256=YzpMiF0H2-eyk2kn2o24Bkj3bXsQx7Pv2vfD4gWepo0,2893
|
3
4
|
jarvis/jarvis_agent/builtin_input_handler.py,sha256=Qs4LAr4xdKLBJpQE81YP4CkucAop86ms0iVoKa1nnso,2468
|
5
|
+
jarvis/jarvis_agent/config_editor.py,sha256=Ctk82sO6w2cNW0-_5L7Bomj-hgM4U7WwMc52fwhAJyg,1809
|
4
6
|
jarvis/jarvis_agent/edit_file_handler.py,sha256=w-byNJ4TN_SlV3djjfFC7OksySOFGrM8ku49w662dzc,11854
|
5
|
-
jarvis/jarvis_agent/
|
7
|
+
jarvis/jarvis_agent/file_methodology_manager.py,sha256=h2ogMK9mSKjg_n04ITw24m28J_U225bhLNhfwpf9jpU,4383
|
8
|
+
jarvis/jarvis_agent/jarvis.py,sha256=yCXqNVF9S-IX02tNfPTw4WesMuO3F0Ht3Z0u1Srv7VI,3234
|
6
9
|
jarvis/jarvis_agent/main.py,sha256=56pLVy6v-3ZdyPCcWXdRkgbjmYsoIfC7zrA6B7sYivU,3334
|
10
|
+
jarvis/jarvis_agent/memory_manager.py,sha256=R9NdbQA-EnBSG4kCgEd_XkNCcBnMgGDUeo0HU01zLCc,5194
|
11
|
+
jarvis/jarvis_agent/methodology_share_manager.py,sha256=vwWNexluTXSI3qeNP3zJAemOjWW37o_1AlqDR1C8wCI,6910
|
7
12
|
jarvis/jarvis_agent/output_handler.py,sha256=P7oWpXBGFfOsWq7cIhS_z9crkQ19ES7qU5pM92KKjAs,1172
|
8
13
|
jarvis/jarvis_agent/prompt_builder.py,sha256=PH1fPDVa8z_RXkoXHJFNDf8PQjUoLNLYwkh2lC__p40,1705
|
9
|
-
jarvis/jarvis_agent/prompts.py,sha256=
|
14
|
+
jarvis/jarvis_agent/prompts.py,sha256=X6cXa-n0xqBQ8LDTgLsD0kqziAh1s0cNp89i4mxcvHg,9444
|
10
15
|
jarvis/jarvis_agent/protocols.py,sha256=JWnJDikFEuwvFUv7uzXu0ggJ4O9K2FkMnfVCwIJ5REw,873
|
11
16
|
jarvis/jarvis_agent/session_manager.py,sha256=DnvI9rWkVmkyO1XfKZyo9lTn4ajg4ccwzEkoRHFPOJM,2925
|
17
|
+
jarvis/jarvis_agent/share_manager.py,sha256=3lXwoHv6TZb6nxkSN0r2BHLMk6J09HC0csT3C9Ep5w0,6615
|
12
18
|
jarvis/jarvis_agent/shell_input_handler.py,sha256=1IboqdxcJuoIqRpmDU10GugR9fWXUHyCEbVF4nIWbyo,1328
|
19
|
+
jarvis/jarvis_agent/task_analyzer.py,sha256=-fQ9YBYFcc-Z1FSoDIPzRfAgkREFoIOXtU2TdBkB-e0,4656
|
20
|
+
jarvis/jarvis_agent/task_manager.py,sha256=HJm4_SMpsFbQMUUsAZeHm7cZuhNbz28YW-DRLYgoarc,4422
|
13
21
|
jarvis/jarvis_agent/tool_executor.py,sha256=nIq-sPNgrtimtM-IHpN09cWmId8jDzWRdCFoRzXnnoo,1721
|
22
|
+
jarvis/jarvis_agent/tool_share_manager.py,sha256=R5ONIQlDXX9pFq3clwHFhEW8BAJ3ECaR2DqWCEC9tzM,5205
|
14
23
|
jarvis/jarvis_code_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
15
|
-
jarvis/jarvis_code_agent/code_agent.py,sha256=
|
24
|
+
jarvis/jarvis_code_agent/code_agent.py,sha256=cFLvSnUMQoQ_RkQ4MsZaln1G6DrxBF6u4Lgz79q2bSI,29305
|
16
25
|
jarvis/jarvis_code_agent/lint.py,sha256=LZPsfyZPMo7Wm7LN4osZocuNJwZx1ojacO3MlF870x8,4009
|
17
26
|
jarvis/jarvis_code_analysis/code_review.py,sha256=TMov1pqDe1bg0vM1ndnYeW9ejHrRN_jMroo3T4L9yag,32368
|
18
27
|
jarvis/jarvis_code_analysis/checklists/__init__.py,sha256=LIXAYa1sW3l7foP6kohLWnE98I_EQ0T7z5bYKHq6rJA,78
|
@@ -35,7 +44,7 @@ jarvis/jarvis_code_analysis/checklists/shell.py,sha256=aRFYhQQvTgbYd-uY5pc8UHIUA
|
|
35
44
|
jarvis/jarvis_code_analysis/checklists/sql.py,sha256=vR0T6qC7b4dURjJVAd7kSVxyvZEQXPG1Jqc2sNTGp5c,2355
|
36
45
|
jarvis/jarvis_code_analysis/checklists/swift.py,sha256=TPx4I6Gupvs6tSerRKmTSKEPQpOLEbH2Y7LXg1uBgxc,2566
|
37
46
|
jarvis/jarvis_code_analysis/checklists/web.py,sha256=25gGD7pDadZQybNFvALYxWvK0VRjGQb1NVJQElwjyk0,3943
|
38
|
-
jarvis/jarvis_data/config_schema.json,sha256=
|
47
|
+
jarvis/jarvis_data/config_schema.json,sha256=YTBUnQsUxqb0JlHZm2OBD6m_m6x5nZVNnxb_PlQB9c4,11369
|
39
48
|
jarvis/jarvis_data/tiktoken/9b5ad71b2ce5302211f9c61530b329a4922fc6a4,sha256=Ijkht27pm96ZW3_3OFE-7xAPtR0YyTWXoRO8_-hlsqc,1681126
|
40
49
|
jarvis/jarvis_git_squash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
41
50
|
jarvis/jarvis_git_squash/main.py,sha256=6PECdAbTbrsJBRLK1pXBh4hdJ_LADh-XXSic1xJi97E,2255
|
@@ -48,16 +57,16 @@ jarvis/jarvis_methodology/main.py,sha256=6QF8hH3vB6rfxim0fPR34uVPf41zVpb4ZLqrFN2
|
|
48
57
|
jarvis/jarvis_multi_agent/__init__.py,sha256=kCgtAX7VvliyEOQxIj2DvNjRAuh6bpNaOtDn60nzph4,6089
|
49
58
|
jarvis/jarvis_multi_agent/main.py,sha256=Wbarez48QxXexlKEOcRsoMbcQEOP5rv_DzGkNk0SfpY,1779
|
50
59
|
jarvis/jarvis_platform/__init__.py,sha256=WLQHSiE87PPket2M50_hHzjdMIgPIBx2VF8JfB_NNRk,105
|
51
|
-
jarvis/jarvis_platform/ai8.py,sha256=
|
52
|
-
jarvis/jarvis_platform/base.py,sha256=
|
53
|
-
jarvis/jarvis_platform/human.py,sha256=
|
54
|
-
jarvis/jarvis_platform/kimi.py,sha256=
|
55
|
-
jarvis/jarvis_platform/openai.py,sha256=
|
60
|
+
jarvis/jarvis_platform/ai8.py,sha256=W3947AGMpk3RRBfsfZmf222sEP0VIGoSU0vPkgiVnl0,11683
|
61
|
+
jarvis/jarvis_platform/base.py,sha256=nCX3W9LYIINUYn0tIS5ZmZo4UgyQVnQLZWfbHWQkAjo,9905
|
62
|
+
jarvis/jarvis_platform/human.py,sha256=jWjW8prEag79e6ddqTPV4nz_Gz6zFBfO4a1EbvP8QWA,4908
|
63
|
+
jarvis/jarvis_platform/kimi.py,sha256=qEqlCIT8gceR-hkYiv2m3nWaq1rgcMt7z44L77Rjpc4,14465
|
64
|
+
jarvis/jarvis_platform/openai.py,sha256=MFDAVdJf9qK86B--cywseXcBBLcxi6DQW7B_KMpozeI,6960
|
56
65
|
jarvis/jarvis_platform/registry.py,sha256=1bMy0YZUa8NLzuZlKfC4CBtpa0iniypTxUZk0Hv6g9Y,8415
|
57
|
-
jarvis/jarvis_platform/tongyi.py,sha256=
|
58
|
-
jarvis/jarvis_platform/yuanbao.py,sha256=
|
66
|
+
jarvis/jarvis_platform/tongyi.py,sha256=uZP5ceCbHPApimKBqKthP5QynG52C3tMBglIyoBHwaY,22186
|
67
|
+
jarvis/jarvis_platform/yuanbao.py,sha256=mS4aywK9CzgFU6FHh6GUxyY1Ly-NoBtGkBi74Jo_0XM,22921
|
59
68
|
jarvis/jarvis_platform_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
60
|
-
jarvis/jarvis_platform_manager/main.py,sha256=
|
69
|
+
jarvis/jarvis_platform_manager/main.py,sha256=VhP0qiLqGPk_nQ_j0xg6H5CSct5ckNBaFqohb82whYs,17490
|
61
70
|
jarvis/jarvis_platform_manager/service.py,sha256=hQGWQ2qAlzm_C_lNQDuLORQ4rmjR1P1-V3ou7l2Bv0s,13622
|
62
71
|
jarvis/jarvis_rag/__init__.py,sha256=HRTXgnQxDuaE9x-e3r6SYqhJ5d4DSI_rrIxy2IGY6qk,320
|
63
72
|
jarvis/jarvis_rag/cache.py,sha256=Tqx_Oe-AhuWlMXHGHUaIuG6OEHoHBVZq7mL3kldtFFU,2723
|
@@ -86,8 +95,8 @@ jarvis/jarvis_tools/generate_new_tool.py,sha256=uaWKlDMGjetvvwKTj0_AVTdmd14IktRb
|
|
86
95
|
jarvis/jarvis_tools/methodology.py,sha256=_K4GIDUodGEma3SvNRo7Qs5rliijgNespVLyAPN35JU,5233
|
87
96
|
jarvis/jarvis_tools/read_code.py,sha256=EnI-R-5HyIQYhMD391nZWXHIuHHBF-OJIRE0QpLcPX4,6417
|
88
97
|
jarvis/jarvis_tools/read_webpage.py,sha256=NmDUboVZd4CGHBPRFK6dp3uqVhuGopW1bOi3TcaLDF4,2092
|
89
|
-
jarvis/jarvis_tools/registry.py,sha256=
|
90
|
-
jarvis/jarvis_tools/retrieve_memory.py,sha256=
|
98
|
+
jarvis/jarvis_tools/registry.py,sha256=TtZ415LUMfWqfcgn3G5V4e3QLLU2ILNRatkP10U0Ypw,31047
|
99
|
+
jarvis/jarvis_tools/retrieve_memory.py,sha256=0UBZm4wQTXLTj5WHXR9fjsiIDQh-Z2UINVu8cJ12YYg,9488
|
91
100
|
jarvis/jarvis_tools/rewrite_file.py,sha256=eG_WKg6cVAXmuGwUqlWkcuyay5S8DOzEi8vZCmX3O8w,7255
|
92
101
|
jarvis/jarvis_tools/save_memory.py,sha256=DjeFb38OtK9Y_RpWYHz8vL72JdauXZTlc_Y0FUQBtiM,7486
|
93
102
|
jarvis/jarvis_tools/search_web.py,sha256=zh6EYLQPIQneoz27Hheh-fifMeMNhrTVldXKMSsMz2Y,5801
|
@@ -96,20 +105,21 @@ jarvis/jarvis_tools/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
|
|
96
105
|
jarvis/jarvis_tools/cli/main.py,sha256=GsfZJ4OS4Hvxh0H2XiLkgbzm-ajBsb4c0LyjuIAAatE,7718
|
97
106
|
jarvis/jarvis_utils/__init__.py,sha256=67h0ldisGlh3oK4DAeNEL2Bl_VsI3tSmfclasyVlueM,850
|
98
107
|
jarvis/jarvis_utils/builtin_replace_map.py,sha256=4BurljGuiG_I93EBs7mlFlPm9wYC_4CmdTG5tQWpF6g,1712
|
99
|
-
jarvis/jarvis_utils/
|
108
|
+
jarvis/jarvis_utils/clipboard.py,sha256=WgbQIQR2sh7_5ZzeX04eT3zXx_mxQbKyJOZXgGX_TcI,2907
|
109
|
+
jarvis/jarvis_utils/config.py,sha256=aHPm-E1CrbyOMWMvPRhMKPeuSVDXTlo8Iw7ya-3KWbs,15127
|
100
110
|
jarvis/jarvis_utils/embedding.py,sha256=oEOEM2qf16DMYwPsQe6srET9BknyjOdY2ef0jsp3Or8,2714
|
101
111
|
jarvis/jarvis_utils/file_processors.py,sha256=XiM248SHS7lLgQDCbORVFWqinbVDUawYxWDOsLXDxP8,3043
|
102
|
-
jarvis/jarvis_utils/git_utils.py,sha256=
|
103
|
-
jarvis/jarvis_utils/globals.py,sha256=
|
112
|
+
jarvis/jarvis_utils/git_utils.py,sha256=FxvmKkGlHWP0bTxzL1KR9fwr_ZYuBhtWX3Tt3JuMYKI,21865
|
113
|
+
jarvis/jarvis_utils/globals.py,sha256=amABkrk0qGC8nJiE6AF9BzRVv7gNY-TnMVsvsIoe1_4,8638
|
104
114
|
jarvis/jarvis_utils/http.py,sha256=eRhV3-GYuWmQ0ogq9di9WMlQkFcVb1zGCrySnOgT1x0,4392
|
105
|
-
jarvis/jarvis_utils/input.py,sha256=
|
106
|
-
jarvis/jarvis_utils/methodology.py,sha256=
|
115
|
+
jarvis/jarvis_utils/input.py,sha256=pl8SanShzaEJZybvNHTjnFdKC2VxDPS1IwONtbwe-7U,12765
|
116
|
+
jarvis/jarvis_utils/methodology.py,sha256=i8-chZtggN3GbhaDzeLV4eBl0DP3I5zctZ-I5Hj5X-4,11972
|
107
117
|
jarvis/jarvis_utils/output.py,sha256=QRLlKObQKT0KuRSeZRqYb7NlTQvsd1oZXZ41WxeWEuU,10894
|
108
118
|
jarvis/jarvis_utils/tag.py,sha256=f211opbbbTcSyzCDwuIK_oCnKhXPNK-RknYyGzY1yD0,431
|
109
|
-
jarvis/jarvis_utils/utils.py,sha256=
|
110
|
-
jarvis_ai_assistant-0.
|
111
|
-
jarvis_ai_assistant-0.
|
112
|
-
jarvis_ai_assistant-0.
|
113
|
-
jarvis_ai_assistant-0.
|
114
|
-
jarvis_ai_assistant-0.
|
115
|
-
jarvis_ai_assistant-0.
|
119
|
+
jarvis/jarvis_utils/utils.py,sha256=RwhyPfBGx_x9OKawWUVw6bAbZeI4IlvxBhhYQ_RHpWQ,40847
|
120
|
+
jarvis_ai_assistant-0.3.0.dist-info/licenses/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
|
121
|
+
jarvis_ai_assistant-0.3.0.dist-info/METADATA,sha256=u-1pW7IUdcBM9TjwR_w4swoBGTV57p6NbL9Vg_RDlso,16807
|
122
|
+
jarvis_ai_assistant-0.3.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
123
|
+
jarvis_ai_assistant-0.3.0.dist-info/entry_points.txt,sha256=8cwi1VxZGU5UeSZMFiH-jG6NK95Asjukj5SBLBrGiGo,1257
|
124
|
+
jarvis_ai_assistant-0.3.0.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
|
125
|
+
jarvis_ai_assistant-0.3.0.dist-info/RECORD,,
|
File without changes
|
{jarvis_ai_assistant-0.2.8.dist-info → jarvis_ai_assistant-0.3.0.dist-info}/entry_points.txt
RENAMED
File without changes
|
{jarvis_ai_assistant-0.2.8.dist-info → jarvis_ai_assistant-0.3.0.dist-info}/licenses/LICENSE
RENAMED
File without changes
|
File without changes
|