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.
@@ -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}\n\n请回复:"
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}\n\n请回复:"
58
+ prompt = f"{message} {session_info}"
59
59
 
60
- response = get_multiline_input(prompt)
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
 
@@ -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数量。
@@ -513,9 +513,16 @@ def get_recent_commits_with_files() -> List[Dict[str, Any]]:
513
513
  失败时返回空列表
514
514
  """
515
515
  try:
516
- # 获取最近5次提交的基本信息
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
  )
@@ -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,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jarvis-ai-assistant
3
- Version: 0.1.210
3
+ Version: 0.1.211
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
@@ -1,4 +1,4 @@
1
- jarvis/__init__.py,sha256=C0RxOVy8FTEwTYuX80VZUOqJoMzlTgvrlyWs2b71wag,75
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=r8Vlltp_LirJZeZh1Mmi30iJr9tl1JaNFoqthSRHF6o,2826
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=nOe_jvn8pr4env83D9gNCBcId8LaUsvQxa8awLP1_2Y,2437
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=VBf1_9xM75kQSKSFFtKRdP-_3rVpdlt9scnjYlTeHGc,21397
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=zgkdtpQ6kN86pzYi0iBBa3IUJp_GMrm31RKh5V_6Vzg,15306
88
- jarvis_ai_assistant-0.1.210.dist-info/licenses/LICENSE,sha256=AGgVgQmTqFvaztRtCAXsAMryUymB18gZif7_l2e1XOg,1063
89
- jarvis_ai_assistant-0.1.210.dist-info/METADATA,sha256=CHgOUpcFWMUDiGpyAPis5qVu50OR6btWYFuBuESVbMs,19564
90
- jarvis_ai_assistant-0.1.210.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
91
- jarvis_ai_assistant-0.1.210.dist-info/entry_points.txt,sha256=SF46ViTZcQVZEfbqzJDKKVc9TrN1x-P1mQ6wup7u2HY,875
92
- jarvis_ai_assistant-0.1.210.dist-info/top_level.txt,sha256=1BOxyWfzOP_ZXj8rVTDnNCJ92bBGB0rwq8N1PCpoMIs,7
93
- jarvis_ai_assistant-0.1.210.dist-info/RECORD,,
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,,