jarvis-ai-assistant 0.3.4__tar.gz → 0.3.5__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.
Files changed (134) hide show
  1. {jarvis_ai_assistant-0.3.4/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.3.5}/PKG-INFO +1 -1
  2. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/pyproject.toml +7 -4
  3. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/setup.py +1 -1
  4. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/__init__.py +1 -1
  5. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_memory_organizer/memory_organizer.py +44 -12
  6. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_platform/base.py +3 -14
  7. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5/src/jarvis_ai_assistant.egg-info}/PKG-INFO +1 -1
  8. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/LICENSE +0 -0
  9. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/MANIFEST.in +0 -0
  10. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/README.md +0 -0
  11. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/setup.cfg +0 -0
  12. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_agent/__init__.py +0 -0
  13. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_agent/agent_manager.py +0 -0
  14. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_agent/builtin_input_handler.py +0 -0
  15. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_agent/config_editor.py +0 -0
  16. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_agent/edit_file_handler.py +0 -0
  17. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_agent/file_methodology_manager.py +0 -0
  18. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_agent/jarvis.py +0 -0
  19. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_agent/main.py +0 -0
  20. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_agent/memory_manager.py +0 -0
  21. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_agent/methodology_share_manager.py +0 -0
  22. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_agent/output_handler.py +0 -0
  23. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_agent/prompt_builder.py +0 -0
  24. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_agent/prompts.py +0 -0
  25. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_agent/protocols.py +0 -0
  26. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_agent/session_manager.py +0 -0
  27. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_agent/share_manager.py +0 -0
  28. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_agent/shell_input_handler.py +0 -0
  29. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_agent/task_analyzer.py +0 -0
  30. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_agent/task_manager.py +0 -0
  31. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_agent/tool_executor.py +0 -0
  32. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_agent/tool_share_manager.py +0 -0
  33. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_agent/__init__.py +0 -0
  34. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_agent/code_agent.py +0 -0
  35. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_agent/lint.py +0 -0
  36. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_analysis/checklists/__init__.py +0 -0
  37. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_analysis/checklists/c_cpp.py +0 -0
  38. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_analysis/checklists/csharp.py +0 -0
  39. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_analysis/checklists/data_format.py +0 -0
  40. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_analysis/checklists/devops.py +0 -0
  41. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_analysis/checklists/docs.py +0 -0
  42. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_analysis/checklists/go.py +0 -0
  43. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_analysis/checklists/infrastructure.py +0 -0
  44. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_analysis/checklists/java.py +0 -0
  45. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_analysis/checklists/javascript.py +0 -0
  46. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_analysis/checklists/kotlin.py +0 -0
  47. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_analysis/checklists/loader.py +0 -0
  48. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_analysis/checklists/php.py +0 -0
  49. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_analysis/checklists/python.py +0 -0
  50. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_analysis/checklists/ruby.py +0 -0
  51. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_analysis/checklists/rust.py +0 -0
  52. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_analysis/checklists/shell.py +0 -0
  53. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_analysis/checklists/sql.py +0 -0
  54. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_analysis/checklists/swift.py +0 -0
  55. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_analysis/checklists/web.py +0 -0
  56. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_code_analysis/code_review.py +0 -0
  57. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_data/config_schema.json +0 -0
  58. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_data/tiktoken/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 +0 -0
  59. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_git_squash/__init__.py +0 -0
  60. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_git_squash/main.py +0 -0
  61. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_git_utils/git_commiter.py +0 -0
  62. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_mcp/__init__.py +0 -0
  63. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_mcp/sse_mcp_client.py +0 -0
  64. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_mcp/stdio_mcp_client.py +0 -0
  65. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_mcp/streamable_mcp_client.py +0 -0
  66. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_memory_organizer/__init__.py +0 -0
  67. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_methodology/main.py +0 -0
  68. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_multi_agent/__init__.py +0 -0
  69. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_multi_agent/main.py +0 -0
  70. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_platform/__init__.py +0 -0
  71. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_platform/ai8.py +0 -0
  72. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_platform/human.py +0 -0
  73. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_platform/kimi.py +0 -0
  74. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_platform/openai.py +0 -0
  75. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_platform/registry.py +0 -0
  76. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_platform/tongyi.py +0 -0
  77. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_platform/yuanbao.py +0 -0
  78. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_platform_manager/__init__.py +0 -0
  79. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_platform_manager/main.py +0 -0
  80. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_platform_manager/service.py +0 -0
  81. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_rag/__init__.py +0 -0
  82. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_rag/cache.py +0 -0
  83. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_rag/cli.py +0 -0
  84. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_rag/embedding_manager.py +0 -0
  85. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_rag/llm_interface.py +0 -0
  86. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_rag/query_rewriter.py +0 -0
  87. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_rag/rag_pipeline.py +0 -0
  88. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_rag/reranker.py +0 -0
  89. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_rag/retriever.py +0 -0
  90. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_smart_shell/__init__.py +0 -0
  91. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_smart_shell/main.py +0 -0
  92. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_stats/__init__.py +0 -0
  93. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_stats/cli.py +0 -0
  94. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_stats/stats.py +0 -0
  95. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_stats/storage.py +0 -0
  96. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_stats/visualizer.py +0 -0
  97. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_tools/__init__.py +0 -0
  98. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_tools/ask_user.py +0 -0
  99. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_tools/base.py +0 -0
  100. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_tools/clear_memory.py +0 -0
  101. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_tools/cli/__init__.py +0 -0
  102. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_tools/cli/main.py +0 -0
  103. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_tools/edit_file.py +0 -0
  104. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_tools/execute_script.py +0 -0
  105. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_tools/file_analyzer.py +0 -0
  106. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_tools/generate_new_tool.py +0 -0
  107. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_tools/methodology.py +0 -0
  108. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_tools/read_code.py +0 -0
  109. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_tools/read_webpage.py +0 -0
  110. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_tools/registry.py +0 -0
  111. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_tools/retrieve_memory.py +0 -0
  112. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_tools/rewrite_file.py +0 -0
  113. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_tools/save_memory.py +0 -0
  114. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_tools/search_web.py +0 -0
  115. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_tools/virtual_tty.py +0 -0
  116. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_utils/__init__.py +0 -0
  117. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_utils/builtin_replace_map.py +0 -0
  118. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_utils/clipboard.py +0 -0
  119. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_utils/config.py +0 -0
  120. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_utils/embedding.py +0 -0
  121. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_utils/file_processors.py +0 -0
  122. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_utils/git_utils.py +0 -0
  123. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_utils/globals.py +0 -0
  124. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_utils/http.py +0 -0
  125. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_utils/input.py +0 -0
  126. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_utils/methodology.py +0 -0
  127. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_utils/output.py +0 -0
  128. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_utils/tag.py +0 -0
  129. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis/jarvis_utils/utils.py +0 -0
  130. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +0 -0
  131. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
  132. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis_ai_assistant.egg-info/entry_points.txt +0 -0
  133. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/src/jarvis_ai_assistant.egg-info/requires.txt +0 -0
  134. {jarvis_ai_assistant-0.3.4 → jarvis_ai_assistant-0.3.5}/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.3.4
3
+ Version: 0.3.5
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "jarvis-ai-assistant"
7
- version = "0.3.4"
7
+ version = "0.3.5"
8
8
  description = "Jarvis: An AI assistant that uses tools to interact with the system"
9
9
  readme = "README.md"
10
10
  authors = [{ name = "skyfire", email = "skyfireitdiy@hotmail.com" }]
@@ -101,9 +101,8 @@ jst = "jarvis.jarvis_stats.cli:main"
101
101
 
102
102
 
103
103
 
104
- [[tool.uv.index]]
105
- name = "tsinghua"
106
- url = "https://pypi.tuna.tsinghua.edu.cn/simple"
104
+ [tool.uv]
105
+ index-strategy = "unsafe-first-match"
107
106
 
108
107
  [[tool.uv.index]]
109
108
  name = "aliyun"
@@ -112,3 +111,7 @@ url = "https://mirrors.aliyun.com/pypi/simple/"
112
111
  [[tool.uv.index]]
113
112
  name = "ustc"
114
113
  url = "https://pypi.mirrors.ustc.edu.cn/simple/"
114
+
115
+ [[tool.uv.index]]
116
+ name = "netease"
117
+ url = "https://mirrors.163.com/pypi/simple/"
@@ -3,7 +3,7 @@ from setuptools import setup, find_packages # type: ignore
3
3
 
4
4
  setup(
5
5
  name="jarvis-ai-assistant",
6
- version="0.3.4",
6
+ version="0.3.5",
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",
@@ -1,4 +1,4 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """Jarvis AI Assistant"""
3
3
 
4
- __version__ = "0.3.4"
4
+ __version__ = "0.3.5"
@@ -278,8 +278,23 @@ tags:
278
278
  # 从高重叠度开始处理
279
279
  max_tags = max(len(m.get("tags", [])) for m in memories)
280
280
 
281
+ # 创建一个标记已删除记忆的集合
282
+ deleted_indices = set()
283
+
281
284
  for overlap_count in range(min(max_tags, 5), min_overlap - 1, -1):
282
- overlap_groups = self._find_overlapping_memories(memories, overlap_count)
285
+ # 过滤掉已删除的记忆
286
+ active_memories = [
287
+ (i, mem) for i, mem in enumerate(memories) if i not in deleted_indices
288
+ ]
289
+ if not active_memories:
290
+ break
291
+
292
+ # 创建索引映射:原始索引 -> 活跃索引
293
+ active_memory_list = [mem for _, mem in active_memories]
294
+
295
+ overlap_groups = self._find_overlapping_memories(
296
+ active_memory_list, overlap_count
297
+ )
283
298
 
284
299
  if overlap_count in overlap_groups:
285
300
  groups = overlap_groups[overlap_count]
@@ -289,7 +304,13 @@ tags:
289
304
  )
290
305
 
291
306
  for group in groups:
292
- group_memories = [memories[i] for i in group]
307
+ # 将活跃索引转换回原始索引
308
+ original_indices = set()
309
+ for active_idx in group:
310
+ original_idx = active_memories[active_idx][0]
311
+ original_indices.add(original_idx)
312
+
313
+ group_memories = [memories[i] for i in original_indices]
293
314
 
294
315
  # 显示将要合并的记忆
295
316
  PrettyOutput.print(
@@ -315,16 +336,17 @@ tags:
315
336
 
316
337
  # 保存新记忆
317
338
  self._save_merged_memory(
318
- merged_memory, memory_type, [memories[i] for i in group]
339
+ merged_memory,
340
+ memory_type,
341
+ [memories[i] for i in original_indices],
319
342
  )
320
343
 
321
344
  stats["processed_groups"] += 1
322
- stats["merged_memories"] += len(group)
345
+ stats["merged_memories"] += len(original_indices)
323
346
  stats["created_memories"] += 1
324
347
 
325
- # 从列表中移除已合并的记忆
326
- for i in sorted(group, reverse=True):
327
- del memories[i]
348
+ # 标记这些记忆已被删除
349
+ deleted_indices.update(original_indices)
328
350
  else:
329
351
  PrettyOutput.print(" [模拟运行] 跳过实际合并", OutputType.INFO)
330
352
 
@@ -376,11 +398,18 @@ tags:
376
398
  for orig_memory in original_memories:
377
399
  if "file_path" in orig_memory:
378
400
  try:
379
- Path(orig_memory["file_path"]).unlink()
380
- PrettyOutput.print(
381
- f"删除原始记忆: {orig_memory.get('id', '未知')}",
382
- OutputType.INFO,
383
- )
401
+ file_path = Path(orig_memory["file_path"])
402
+ if file_path.exists():
403
+ file_path.unlink()
404
+ PrettyOutput.print(
405
+ f"删除原始记忆: {orig_memory.get('id', '未知')}",
406
+ OutputType.INFO,
407
+ )
408
+ else:
409
+ PrettyOutput.print(
410
+ f"原始记忆文件已不存在,跳过删除: {orig_memory.get('id', '未知')}",
411
+ OutputType.INFO,
412
+ )
384
413
  except Exception as e:
385
414
  PrettyOutput.print(
386
415
  f"删除记忆文件失败 {orig_memory['file_path']}: {str(e)}",
@@ -607,6 +636,9 @@ def organize(
607
636
  else:
608
637
  raise typer.Exit(0) # 即使没有处理也是正常退出
609
638
 
639
+ except typer.Exit:
640
+ # typer.Exit 是正常的退出方式,直接传播
641
+ raise
610
642
  except Exception as e:
611
643
  PrettyOutput.print(f"记忆整理失败: {str(e)}", OutputType.ERROR)
612
644
  raise typer.Exit(1)
@@ -142,20 +142,9 @@ class BasePlatform(ABC):
142
142
  live.update(panel)
143
143
  end_time = time.time()
144
144
  duration = end_time - start_time
145
- char_count = len(response)
146
- # Calculate token count and tokens per second
147
- try:
148
- token_count = get_context_token_count(response)
149
- tokens_per_second = (
150
- token_count / duration if duration > 0 else 0
151
- )
152
- except Exception as e:
153
- PrettyOutput.print(
154
- f"Tokenization failed: {str(e)}", OutputType.WARNING
155
- )
156
- token_count = 0
157
- tokens_per_second = 0
158
- panel.subtitle = f"[bold green]✓ 对话完成耗时: {duration:.2f}秒, 输入字符数: {len(message)}, 输入Token数量: {input_token_count}, 输出字符数: {char_count}, 输出Token数量: {token_count}, 每秒Token数量: {tokens_per_second:.2f}[/bold green]"
145
+ panel.subtitle = (
146
+ f"[bold green]✓ 对话完成耗时: {duration:.2f}秒[/bold green]"
147
+ )
159
148
  live.update(panel)
160
149
  else:
161
150
  for s in self.chat(message):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jarvis-ai-assistant
3
- Version: 0.3.4
3
+ Version: 0.3.5
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