jarvis-ai-assistant 0.1.210__py3-none-any.whl → 0.1.211__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_data/tiktoken/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 +100256 -0
- jarvis/jarvis_platform/human.py +11 -3
- jarvis/jarvis_utils/embedding.py +8 -0
- jarvis/jarvis_utils/git_utils.py +9 -2
- jarvis/jarvis_utils/utils.py +1 -21
- {jarvis_ai_assistant-0.1.210.dist-info → jarvis_ai_assistant-0.1.211.dist-info}/METADATA +1 -1
- {jarvis_ai_assistant-0.1.210.dist-info → jarvis_ai_assistant-0.1.211.dist-info}/RECORD +12 -11
- {jarvis_ai_assistant-0.1.210.dist-info → jarvis_ai_assistant-0.1.211.dist-info}/WHEEL +0 -0
- {jarvis_ai_assistant-0.1.210.dist-info → jarvis_ai_assistant-0.1.211.dist-info}/entry_points.txt +0 -0
- {jarvis_ai_assistant-0.1.210.dist-info → jarvis_ai_assistant-0.1.211.dist-info}/licenses/LICENSE +0 -0
- {jarvis_ai_assistant-0.1.210.dist-info → jarvis_ai_assistant-0.1.211.dist-info}/top_level.txt +0 -0
jarvis/jarvis_platform/human.py
CHANGED
@@ -52,12 +52,20 @@ class HumanPlatform(BasePlatform):
|
|
52
52
|
session_info = f"(会话ID: {self.conversation_id})"
|
53
53
|
|
54
54
|
if self.system_message and self.first_message:
|
55
|
-
prompt = f"{self.system_message}\n\n{message} {session_info}
|
55
|
+
prompt = f"{self.system_message}\n\n{message} {session_info}"
|
56
56
|
self.first_message = False
|
57
57
|
else:
|
58
|
-
prompt = f"{message} {session_info}
|
58
|
+
prompt = f"{message} {session_info}"
|
59
59
|
|
60
|
-
|
60
|
+
# 将prompt复制到剪贴板
|
61
|
+
import subprocess
|
62
|
+
try:
|
63
|
+
subprocess.run(['xsel', '-ib'], input=prompt.encode('utf-8'), check=True)
|
64
|
+
PrettyOutput.print("提示已复制到剪贴板", OutputType.INFO)
|
65
|
+
except subprocess.CalledProcessError as e:
|
66
|
+
PrettyOutput.print(f"无法复制到剪贴板: {e}", OutputType.WARNING)
|
67
|
+
|
68
|
+
response = get_multiline_input(prompt + "\n\n请回复:")
|
61
69
|
yield response
|
62
70
|
return None
|
63
71
|
|
jarvis/jarvis_utils/embedding.py
CHANGED
@@ -1,8 +1,16 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
|
+
import os
|
3
|
+
from pathlib import Path
|
2
4
|
from typing import List
|
3
5
|
|
4
6
|
from jarvis.jarvis_utils.output import OutputType, PrettyOutput
|
5
7
|
|
8
|
+
# 设置tiktoken缓存目录
|
9
|
+
script_dir = Path(__file__).parent
|
10
|
+
tiktoken_cache_dir = script_dir / "../jarvis_data/tiktoken"
|
11
|
+
os.makedirs(tiktoken_cache_dir, exist_ok=True)
|
12
|
+
os.environ["TIKTOKEN_CACHE_DIR"] = str(tiktoken_cache_dir.absolute())
|
13
|
+
|
6
14
|
|
7
15
|
def get_context_token_count(text: str) -> int:
|
8
16
|
"""使用tiktoken获取文本的token数量。
|
jarvis/jarvis_utils/git_utils.py
CHANGED
@@ -513,9 +513,16 @@ def get_recent_commits_with_files() -> List[Dict[str, Any]]:
|
|
513
513
|
失败时返回空列表
|
514
514
|
"""
|
515
515
|
try:
|
516
|
-
#
|
516
|
+
# 获取当前git用户名
|
517
|
+
current_author = subprocess.run(
|
518
|
+
["git", "config", "user.name"],
|
519
|
+
capture_output=True,
|
520
|
+
text=True,
|
521
|
+
).stdout.strip()
|
522
|
+
|
523
|
+
# 获取当前用户最近5次提交的基本信息
|
517
524
|
result = subprocess.run(
|
518
|
-
["git", "log", "-5", "--pretty=format:%H%n%s%n%an%n%ad"],
|
525
|
+
["git", "log", "-5", "--author=" + current_author, "--pretty=format:%H%n%s%n%an%n%ad"],
|
519
526
|
capture_output=True,
|
520
527
|
text=True,
|
521
528
|
)
|
jarvis/jarvis_utils/utils.py
CHANGED
@@ -66,23 +66,6 @@ def _show_welcome_message(welcome_str: str) -> None:
|
|
66
66
|
PrettyOutput.print_gradient_text(jarvis_ascii_art, (0, 120, 255), (0, 255, 200))
|
67
67
|
|
68
68
|
|
69
|
-
def _extract_huggingface_models() -> None:
|
70
|
-
"""解压HuggingFace模型"""
|
71
|
-
data_dir = Path(get_data_dir())
|
72
|
-
script_dir = Path(os.path.dirname(os.path.dirname(__file__)))
|
73
|
-
hf_archive = script_dir / "jarvis_data" / "huggingface.tar.gz"
|
74
|
-
hf_dir = data_dir / "huggingface" / "hub"
|
75
|
-
|
76
|
-
if not hf_dir.exists() and hf_archive.exists():
|
77
|
-
try:
|
78
|
-
PrettyOutput.print("正在解压HuggingFace模型...", OutputType.INFO)
|
79
|
-
with tarfile.open(hf_archive, "r:gz") as tar:
|
80
|
-
tar.extractall(path=data_dir)
|
81
|
-
PrettyOutput.print("HuggingFace模型解压完成", OutputType.SUCCESS)
|
82
|
-
except Exception as e:
|
83
|
-
PrettyOutput.print(f"解压HuggingFace模型失败: {e}", OutputType.ERROR)
|
84
|
-
|
85
|
-
|
86
69
|
def _check_git_updates() -> bool:
|
87
70
|
"""检查并更新git仓库
|
88
71
|
|
@@ -117,10 +100,7 @@ def init_env(welcome_str: str, config_file: Optional[str] = None) -> None:
|
|
117
100
|
g_config_file = config_file
|
118
101
|
load_config()
|
119
102
|
|
120
|
-
# 5.
|
121
|
-
_extract_huggingface_models()
|
122
|
-
|
123
|
-
# 6. 检查git更新
|
103
|
+
# 5. 检查git更新
|
124
104
|
if _check_git_updates():
|
125
105
|
os.execv(sys.executable, [sys.executable] + sys.argv)
|
126
106
|
sys.exit(0)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
jarvis/__init__.py,sha256=
|
1
|
+
jarvis/__init__.py,sha256=cqFgIO8VkgWyzLkk14Tuu3hR1gSzDxeUVLp3NtZ1Uos,75
|
2
2
|
jarvis/jarvis_agent/__init__.py,sha256=QbI5vkourPJZ2OR63RBZAtFptTYrZz_si8bIkc9EB2o,31709
|
3
3
|
jarvis/jarvis_agent/builtin_input_handler.py,sha256=1V7kV5Zhw2HE3Xgjs1R-43RZ2huq3Kg-32NCdNnyZmA,2216
|
4
4
|
jarvis/jarvis_agent/edit_file_handler.py,sha256=bIciBghx5maDz09x0XNTxdNsyrBbTND95GupVdJIVVg,16762
|
@@ -31,6 +31,7 @@ jarvis/jarvis_code_analysis/checklists/sql.py,sha256=vR0T6qC7b4dURjJVAd7kSVxyvZE
|
|
31
31
|
jarvis/jarvis_code_analysis/checklists/swift.py,sha256=TPx4I6Gupvs6tSerRKmTSKEPQpOLEbH2Y7LXg1uBgxc,2566
|
32
32
|
jarvis/jarvis_code_analysis/checklists/web.py,sha256=25gGD7pDadZQybNFvALYxWvK0VRjGQb1NVJQElwjyk0,3943
|
33
33
|
jarvis/jarvis_data/config_schema.json,sha256=BeaihTD2eYRZq65-tbmCIx7lBdS5U0V1FOQGIc6XCq0,5849
|
34
|
+
jarvis/jarvis_data/tiktoken/9b5ad71b2ce5302211f9c61530b329a4922fc6a4,sha256=Ijkht27pm96ZW3_3OFE-7xAPtR0YyTWXoRO8_-hlsqc,1681126
|
34
35
|
jarvis/jarvis_git_details/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
35
36
|
jarvis/jarvis_git_details/main.py,sha256=MjpUHB4ErR_SKPBx1TLLK_XLkH427RTtsyVn6EUd88Y,8907
|
36
37
|
jarvis/jarvis_git_squash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -45,7 +46,7 @@ jarvis/jarvis_multi_agent/__init__.py,sha256=sDd3sK88dS7_qAz2ywIAaEWdQ4iRVCiuBu2
|
|
45
46
|
jarvis/jarvis_multi_agent/main.py,sha256=h7VUSwoPrES0XTK8z5kt3XLX1mmcm8UEuFEHQOUWPH4,1696
|
46
47
|
jarvis/jarvis_platform/__init__.py,sha256=WLQHSiE87PPket2M50_hHzjdMIgPIBx2VF8JfB_NNRk,105
|
47
48
|
jarvis/jarvis_platform/base.py,sha256=xN0DGYs03eS-wSQk4JgBOzFl0kvDAmqnssUU59EOXU8,7775
|
48
|
-
jarvis/jarvis_platform/human.py,sha256=
|
49
|
+
jarvis/jarvis_platform/human.py,sha256=_WQtC5w6QJnHh-3KuW8T49C-HucXiHsBEVw-m51ykj4,3196
|
49
50
|
jarvis/jarvis_platform/kimi.py,sha256=W5MKkH6rxS5JeNY3VZY0EOT9ugeZJqr_eHO9wd9cEW4,12444
|
50
51
|
jarvis/jarvis_platform/openai.py,sha256=uEjBikfFj7kp5wondLvOx4WdkmTX0aqF6kixxAufcHg,4806
|
51
52
|
jarvis/jarvis_platform/registry.py,sha256=Sz4ADAaxuufpAQG0KSQZuL1yALzH-aF3FDapkNn5foE,8107
|
@@ -75,19 +76,19 @@ jarvis/jarvis_tools/cli/main.py,sha256=Mg6TQDxMdzB1Ua1UrZ2EE-uQWsbaeojWaEGHJp2Hi
|
|
75
76
|
jarvis/jarvis_utils/__init__.py,sha256=67h0ldisGlh3oK4DAeNEL2Bl_VsI3tSmfclasyVlueM,850
|
76
77
|
jarvis/jarvis_utils/builtin_replace_map.py,sha256=EI8JnHqr-ZpAhpwocTu48DhHUMHNd8tNUpDNYI47OLE,1717
|
77
78
|
jarvis/jarvis_utils/config.py,sha256=MO2-1z_7f3KkSrv7heGK1650Zb0SjnljO2hzLE2jA5c,6598
|
78
|
-
jarvis/jarvis_utils/embedding.py,sha256=
|
79
|
+
jarvis/jarvis_utils/embedding.py,sha256=oEOEM2qf16DMYwPsQe6srET9BknyjOdY2ef0jsp3Or8,2714
|
79
80
|
jarvis/jarvis_utils/file_processors.py,sha256=XiM248SHS7lLgQDCbORVFWqinbVDUawYxWDOsLXDxP8,3043
|
80
|
-
jarvis/jarvis_utils/git_utils.py,sha256=
|
81
|
+
jarvis/jarvis_utils/git_utils.py,sha256=7AZblSD4b76vXxaDFkmZOy5rNkwvkwQQxGUy3NAusDQ,21641
|
81
82
|
jarvis/jarvis_utils/globals.py,sha256=9NTMfCVd0jvtloOv14-KE6clhcVStFmyN9jWxLmQ5so,3369
|
82
83
|
jarvis/jarvis_utils/http.py,sha256=Uqt1kcz0HWnAfXHHi1fNGwLb2lcVUqpbrG2Uk_-kcIU,4882
|
83
84
|
jarvis/jarvis_utils/input.py,sha256=ehvHkIgwqnBOHkwOeRCBFRggqOgOZuUdGQXn2ATUFwU,8049
|
84
85
|
jarvis/jarvis_utils/methodology.py,sha256=-cvM6pwgJK7BXCYg2uVjIId_j3v5RUh2z2PBcK_2vj4,8155
|
85
86
|
jarvis/jarvis_utils/output.py,sha256=PRCgudPOB8gMEP3u-g0FGD2c6tBgJhLXUMqNPglfjV8,10813
|
86
87
|
jarvis/jarvis_utils/tag.py,sha256=f211opbbbTcSyzCDwuIK_oCnKhXPNK-RknYyGzY1yD0,431
|
87
|
-
jarvis/jarvis_utils/utils.py,sha256=
|
88
|
-
jarvis_ai_assistant-0.1.
|
89
|
-
jarvis_ai_assistant-0.1.
|
90
|
-
jarvis_ai_assistant-0.1.
|
91
|
-
jarvis_ai_assistant-0.1.
|
92
|
-
jarvis_ai_assistant-0.1.
|
93
|
-
jarvis_ai_assistant-0.1.
|
88
|
+
jarvis/jarvis_utils/utils.py,sha256=BoRwLcixdf7mU3Tawe95ygGhQpkMffrFYLYhPwIvw8A,14498
|
89
|
+
jarvis_ai_assistant-0.1.211.dist-info/licenses/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
|
90
|
+
jarvis_ai_assistant-0.1.211.dist-info/METADATA,sha256=DXSWr3mZ247PHP_3dZzWhbgM0QBJEo2uxK1YX6v9WoU,19564
|
91
|
+
jarvis_ai_assistant-0.1.211.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
92
|
+
jarvis_ai_assistant-0.1.211.dist-info/entry_points.txt,sha256=SF46ViTZcQVZEfbqzJDKKVc9TrN1x-P1mQ6wup7u2HY,875
|
93
|
+
jarvis_ai_assistant-0.1.211.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
|
94
|
+
jarvis_ai_assistant-0.1.211.dist-info/RECORD,,
|
File without changes
|
{jarvis_ai_assistant-0.1.210.dist-info → jarvis_ai_assistant-0.1.211.dist-info}/entry_points.txt
RENAMED
File without changes
|
{jarvis_ai_assistant-0.1.210.dist-info → jarvis_ai_assistant-0.1.211.dist-info}/licenses/LICENSE
RENAMED
File without changes
|
{jarvis_ai_assistant-0.1.210.dist-info → jarvis_ai_assistant-0.1.211.dist-info}/top_level.txt
RENAMED
File without changes
|