auto-coder 0.1.252__tar.gz → 0.1.253__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.

Potentially problematic release.


This version of auto-coder might be problematic. Click here for more details.

Files changed (162) hide show
  1. {auto_coder-0.1.252 → auto_coder-0.1.253}/PKG-INFO +1 -1
  2. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/auto_coder.egg-info/PKG-INFO +1 -1
  3. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/auto_coder.py +4 -3
  4. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/chat_auto_coder.py +20 -19
  5. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/__init__.py +1 -0
  6. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/code_auto_merge.py +1 -1
  7. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/code_auto_merge_diff.py +1 -1
  8. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/code_auto_merge_editblock.py +1 -1
  9. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/code_auto_merge_strict_diff.py +1 -1
  10. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/mcp_server.py +3 -4
  11. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/mcp_servers/mcp_server_perplexity.py +1 -1
  12. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/doc_filter.py +1 -1
  13. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/long_context_rag.py +1 -1
  14. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/utils/auto_coder_utils/chat_stream_out.py +28 -16
  15. auto_coder-0.1.253/src/autocoder/version.py +1 -0
  16. auto_coder-0.1.252/src/autocoder/version.py +0 -1
  17. {auto_coder-0.1.252 → auto_coder-0.1.253}/LICENSE +0 -0
  18. {auto_coder-0.1.252 → auto_coder-0.1.253}/README.md +0 -0
  19. {auto_coder-0.1.252 → auto_coder-0.1.253}/setup.cfg +0 -0
  20. {auto_coder-0.1.252 → auto_coder-0.1.253}/setup.py +0 -0
  21. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/auto_coder.egg-info/SOURCES.txt +0 -0
  22. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/auto_coder.egg-info/dependency_links.txt +0 -0
  23. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/auto_coder.egg-info/entry_points.txt +0 -0
  24. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/auto_coder.egg-info/requires.txt +0 -0
  25. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/auto_coder.egg-info/top_level.txt +0 -0
  26. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/__init__.py +0 -0
  27. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/agent/__init__.py +0 -0
  28. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/agent/auto_demand_organizer.py +0 -0
  29. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/agent/auto_filegroup.py +0 -0
  30. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/agent/auto_guess_query.py +0 -0
  31. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/agent/auto_review_commit.py +0 -0
  32. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/agent/auto_tool.py +0 -0
  33. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/agent/coder.py +0 -0
  34. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/agent/designer.py +0 -0
  35. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/agent/planner.py +0 -0
  36. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/agent/project_reader.py +0 -0
  37. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/auto_coder_rag.py +0 -0
  38. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/auto_coder_rag_client_mcp.py +0 -0
  39. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/auto_coder_rag_mcp.py +0 -0
  40. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/auto_coder_server.py +0 -0
  41. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/benchmark.py +0 -0
  42. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/chat/__init__.py +0 -0
  43. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/chat_auto_coder_lang.py +0 -0
  44. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/command_args.py +0 -0
  45. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/JupyterClient.py +0 -0
  46. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/ShellClient.py +0 -0
  47. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/anything2images.py +0 -0
  48. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/anything2img.py +0 -0
  49. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/audio.py +0 -0
  50. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/auto_coder_lang.py +0 -0
  51. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/buildin_tokenizer.py +0 -0
  52. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/chunk_validation.py +0 -0
  53. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/cleaner.py +0 -0
  54. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/code_auto_execute.py +0 -0
  55. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/code_auto_generate.py +0 -0
  56. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/code_auto_generate_diff.py +0 -0
  57. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/code_auto_generate_editblock.py +0 -0
  58. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/code_auto_generate_strict_diff.py +0 -0
  59. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/code_modification_ranker.py +0 -0
  60. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/command_completer.py +0 -0
  61. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/command_generator.py +0 -0
  62. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/command_templates.py +0 -0
  63. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/const.py +0 -0
  64. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/files.py +0 -0
  65. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/git_utils.py +0 -0
  66. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/global_cancel.py +0 -0
  67. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/image_to_page.py +0 -0
  68. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/interpreter.py +0 -0
  69. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/llm_rerank.py +0 -0
  70. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/mcp_hub.py +0 -0
  71. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/mcp_servers/__init__.py +0 -0
  72. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/mcp_tools.py +0 -0
  73. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/memory_manager.py +0 -0
  74. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/printer.py +0 -0
  75. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/recall_validation.py +0 -0
  76. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/screenshots.py +0 -0
  77. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/search.py +0 -0
  78. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/search_replace.py +0 -0
  79. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/shells.py +0 -0
  80. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/sys_prompt.py +0 -0
  81. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/text.py +0 -0
  82. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/types.py +0 -0
  83. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/common/utils_code_auto_generate.py +0 -0
  84. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/data/tokenizer.json +0 -0
  85. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/db/__init__.py +0 -0
  86. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/db/store.py +0 -0
  87. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/dispacher/__init__.py +0 -0
  88. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/dispacher/actions/__init__.py +0 -0
  89. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/dispacher/actions/action.py +0 -0
  90. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/dispacher/actions/copilot.py +0 -0
  91. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/dispacher/actions/plugins/__init__.py +0 -0
  92. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/dispacher/actions/plugins/action_regex_project.py +0 -0
  93. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/dispacher/actions/plugins/action_translate.py +0 -0
  94. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/index/__init__.py +0 -0
  95. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/index/entry.py +0 -0
  96. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/index/filter/__init__.py +0 -0
  97. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/index/filter/normal_filter.py +0 -0
  98. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/index/filter/quick_filter.py +0 -0
  99. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/index/for_command.py +0 -0
  100. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/index/index.py +0 -0
  101. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/index/symbols_utils.py +0 -0
  102. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/index/types.py +0 -0
  103. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/lang.py +0 -0
  104. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/models.py +0 -0
  105. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/pyproject/__init__.py +0 -0
  106. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/__init__.py +0 -0
  107. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/api_server.py +0 -0
  108. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/cache/__init__.py +0 -0
  109. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/cache/base_cache.py +0 -0
  110. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/cache/byzer_storage_cache.py +0 -0
  111. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/cache/file_monitor_cache.py +0 -0
  112. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/cache/simple_cache.py +0 -0
  113. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/document_retriever.py +0 -0
  114. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/llm_wrapper.py +0 -0
  115. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/loaders/__init__.py +0 -0
  116. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/loaders/docx_loader.py +0 -0
  117. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/loaders/excel_loader.py +0 -0
  118. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/loaders/pdf_loader.py +0 -0
  119. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/loaders/ppt_loader.py +0 -0
  120. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/rag_config.py +0 -0
  121. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/rag_entry.py +0 -0
  122. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/raw_rag.py +0 -0
  123. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/relevant_utils.py +0 -0
  124. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/simple_directory_reader.py +0 -0
  125. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/simple_rag.py +0 -0
  126. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/stream_event/__init__.py +0 -0
  127. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/stream_event/event_writer.py +0 -0
  128. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/stream_event/types.py +0 -0
  129. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/token_checker.py +0 -0
  130. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/token_counter.py +0 -0
  131. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/token_limiter.py +0 -0
  132. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/types.py +0 -0
  133. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/utils.py +0 -0
  134. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/rag/variable_holder.py +0 -0
  135. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/regexproject/__init__.py +0 -0
  136. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/suffixproject/__init__.py +0 -0
  137. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/tsproject/__init__.py +0 -0
  138. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/utils/__init__.py +0 -0
  139. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/utils/_markitdown.py +0 -0
  140. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/utils/auto_coder_utils/__init__.py +0 -0
  141. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/utils/chat_auto_coder_utils/__init__.py +0 -0
  142. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/utils/conversation_store.py +0 -0
  143. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/utils/llm_client_interceptors.py +0 -0
  144. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/utils/llms.py +0 -0
  145. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/utils/log_capture.py +0 -0
  146. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/utils/multi_turn.py +0 -0
  147. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/utils/operate_config_api.py +0 -0
  148. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/utils/print_table.py +0 -0
  149. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/utils/queue_communicate.py +0 -0
  150. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/utils/request_event_queue.py +0 -0
  151. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/utils/request_queue.py +0 -0
  152. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/utils/rest.py +0 -0
  153. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/utils/tests.py +0 -0
  154. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/utils/thread_utils.py +0 -0
  155. {auto_coder-0.1.252 → auto_coder-0.1.253}/src/autocoder/utils/types.py +0 -0
  156. {auto_coder-0.1.252 → auto_coder-0.1.253}/tests/test_action_regex_project.py +0 -0
  157. {auto_coder-0.1.252 → auto_coder-0.1.253}/tests/test_chat_auto_coder.py +0 -0
  158. {auto_coder-0.1.252 → auto_coder-0.1.253}/tests/test_code_auto_merge_editblock.py +0 -0
  159. {auto_coder-0.1.252 → auto_coder-0.1.253}/tests/test_command_completer.py +0 -0
  160. {auto_coder-0.1.252 → auto_coder-0.1.253}/tests/test_planner.py +0 -0
  161. {auto_coder-0.1.252 → auto_coder-0.1.253}/tests/test_queue_communicate.py +0 -0
  162. {auto_coder-0.1.252 → auto_coder-0.1.253}/tests/test_symbols_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: auto-coder
3
- Version: 0.1.252
3
+ Version: 0.1.253
4
4
  Summary: AutoCoder: AutoCoder
5
5
  Author: allwefantasy
6
6
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: auto-coder
3
- Version: 0.1.252
3
+ Version: 0.1.253
4
4
  Summary: AutoCoder: AutoCoder
5
5
  Author: allwefantasy
6
6
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
@@ -1109,8 +1109,7 @@ def main(input_args: Optional[List[str]] = None):
1109
1109
  return
1110
1110
 
1111
1111
  elif raw_args.agent_command == "chat":
1112
- from autocoder.rag.rag_entry import RAGFactory
1113
-
1112
+
1114
1113
  memory_dir = os.path.join(args.source_dir, ".auto-coder", "memory")
1115
1114
  os.makedirs(memory_dir, exist_ok=True)
1116
1115
  memory_file = os.path.join(memory_dir, "chat_history.json")
@@ -1335,6 +1334,7 @@ def main(input_args: Optional[List[str]] = None):
1335
1334
  start_time = time.time()
1336
1335
 
1337
1336
  if "rag" in args.action:
1337
+ from autocoder.rag.rag_entry import RAGFactory
1338
1338
  args.enable_rag_search = True
1339
1339
  args.enable_rag_context = False
1340
1340
  rag = RAGFactory.get_rag(llm=chat_llm, args=args, path="")
@@ -1348,7 +1348,8 @@ def main(input_args: Optional[List[str]] = None):
1348
1348
  response = mcp_server.send_request(
1349
1349
  McpRequest(
1350
1350
  query=args.query,
1351
- model=args.inference_model or args.model
1351
+ model=args.inference_model or args.model,
1352
+ product_mode=args.product_mode
1352
1353
  )
1353
1354
  )
1354
1355
  v = [[response.result,None]]
@@ -49,7 +49,7 @@ from autocoder.common.mcp_server import get_mcp_server, McpRequest, McpInstallRe
49
49
  import byzerllm
50
50
  from byzerllm.utils import format_str_jinja2
51
51
  from autocoder.common.memory_manager import get_global_memory_file_paths
52
- from autocoder import models
52
+ from autocoder import models as models_module
53
53
  import shlex
54
54
  from autocoder.utils.llms import get_single_llm
55
55
  import pkg_resources
@@ -1539,11 +1539,12 @@ def mcp(query: str):
1539
1539
  if os.path.exists(temp_yaml):
1540
1540
  os.remove(temp_yaml)
1541
1541
 
1542
- mcp_server = get_mcp_server()
1542
+ mcp_server = get_mcp_server()
1543
1543
  response = mcp_server.send_request(
1544
1544
  McpRequest(
1545
1545
  query=query,
1546
- model=args.inference_model or args.model
1546
+ model=args.inference_model or args.model,
1547
+ product_mode=args.product_mode
1547
1548
  )
1548
1549
  )
1549
1550
 
@@ -1564,19 +1565,19 @@ def mcp(query: str):
1564
1565
  file_path = os.path.join(mcp_dir, f"{timestamp}.md")
1565
1566
 
1566
1567
  # Format response as markdown
1567
- markdown_content = f"# {printer.get_message_from_key('mcp_response_title')}\n\n{response.result}"
1568
+ markdown_content = response.result
1568
1569
 
1569
1570
  # Save to file
1570
1571
  with open(file_path, "w", encoding="utf-8") as f:
1571
1572
  f.write(markdown_content)
1572
1573
 
1573
- # Print with markdown formatting
1574
- printer.print_panel(
1575
- Markdown(markdown_content),
1576
- text_options={"justify": "left"},
1577
- panel_options={
1578
- "border_style": "green"
1579
- }
1574
+ console = Console()
1575
+ console.print(
1576
+ Panel(
1577
+ Markdown(markdown_content, justify="left"),
1578
+ title=printer.get_message_from_key('mcp_response_title'),
1579
+ border_style="green"
1580
+ )
1580
1581
  )
1581
1582
 
1582
1583
 
@@ -1741,7 +1742,7 @@ def commit(query: str):
1741
1742
  md5 = hashlib.md5(file_content.encode("utf-8")).hexdigest()
1742
1743
  file_name = os.path.basename(execute_file)
1743
1744
  commit_result = git_utils.commit_changes(
1744
- ".", f"auto_coder_{file_name}_{md5}"
1745
+ ".", f"auto_coder_{file_name}_{md5}\n{commit_message}"
1745
1746
  )
1746
1747
  git_utils.print_commit_info(commit_result=commit_result)
1747
1748
  if commit_message:
@@ -2173,7 +2174,7 @@ def manage_models(params, query: str):
2173
2174
  printer.print_in_terminal("models_lite_only", style="red")
2174
2175
  return
2175
2176
 
2176
- models_data = models.load_models()
2177
+ models_data = models_module.load_models()
2177
2178
  subcmd = ""
2178
2179
  if "/list" in query:
2179
2180
  subcmd = "/list"
@@ -2241,7 +2242,7 @@ def manage_models(params, query: str):
2241
2242
  name = args[0]
2242
2243
  try:
2243
2244
  price = float(args[1])
2244
- if models.update_model_input_price(name, price):
2245
+ if models_module.update_model_input_price(name, price):
2245
2246
  printer.print_in_terminal("models_input_price_updated", style="green", name=name, price=price)
2246
2247
  else:
2247
2248
  printer.print_in_terminal("models_not_found", style="red", name=name)
@@ -2256,7 +2257,7 @@ def manage_models(params, query: str):
2256
2257
  name = args[0]
2257
2258
  try:
2258
2259
  price = float(args[1])
2259
- if models.update_model_output_price(name, price):
2260
+ if models_module.update_model_output_price(name, price):
2260
2261
  printer.print_in_terminal("models_output_price_updated", style="green", name=name, price=price)
2261
2262
  else:
2262
2263
  printer.print_in_terminal("models_not_found", style="red", name=name)
@@ -2271,7 +2272,7 @@ def manage_models(params, query: str):
2271
2272
  name = args[0]
2272
2273
  try:
2273
2274
  speed = float(args[1])
2274
- if models.update_model_speed(name, speed):
2275
+ if models_module.update_model_speed(name, speed):
2275
2276
  printer.print_in_terminal("models_speed_updated", style="green", name=name, speed=speed)
2276
2277
  else:
2277
2278
  printer.print_in_terminal("models_not_found", style="red", name=name)
@@ -2286,7 +2287,7 @@ def manage_models(params, query: str):
2286
2287
  if len(args) == 2:
2287
2288
  # Simplified: /models /add <name> <api_key>
2288
2289
  name, api_key = args[0], args[1]
2289
- result = models.update_model_with_api_key(name, api_key)
2290
+ result = models_module.update_model_with_api_key(name, api_key)
2290
2291
  if result:
2291
2292
  printer.print_in_terminal("models_added", style="green", name=name)
2292
2293
  else:
@@ -2328,7 +2329,7 @@ def manage_models(params, query: str):
2328
2329
  }
2329
2330
 
2330
2331
  models_data.append(final_model)
2331
- models.save_models(models_data)
2332
+ models_module.save_models(models_data)
2332
2333
  printer.print_in_terminal("models_add_model_success", style="green", name=data_dict["name"])
2333
2334
 
2334
2335
  elif subcmd == "/remove":
@@ -2341,7 +2342,7 @@ def manage_models(params, query: str):
2341
2342
  if len(filtered_models) == len(models_data):
2342
2343
  printer.print_in_terminal("models_add_model_remove", style="yellow", name=name)
2343
2344
  return
2344
- models.save_models(filtered_models)
2345
+ models_module.save_models(filtered_models)
2345
2346
  printer.print_in_terminal("models_add_model_removed", style="green", name=name)
2346
2347
 
2347
2348
  else:
@@ -359,6 +359,7 @@ class AutoCoderArgs(pydantic.BaseModel):
359
359
  product_mode: Optional[str] = "lite"
360
360
 
361
361
  keep_reasoning_content: Optional[bool] = False
362
+ keep_only_reasoning_content: Optional[bool] = False
362
363
 
363
364
  in_code_apply: bool = False
364
365
 
@@ -177,5 +177,5 @@ class CodeAutoMerge:
177
177
 
178
178
  self.printer.print_in_terminal("files_merged", total=total)
179
179
  if not force_skip_git:
180
- commit_result = git_utils.commit_changes(self.args.source_dir, f"auto_coder_{file_name}_{md5}")
180
+ commit_result = git_utils.commit_changes(self.args.source_dir, f"auto_coder_{file_name}_{md5}\n{self.args.query}")
181
181
  git_utils.print_commit_info(commit_result=commit_result)
@@ -523,5 +523,5 @@ class CodeAutoMergeDiff:
523
523
 
524
524
  self.printer.print_in_terminal("files_merged_total", total=total)
525
525
  if not force_skip_git:
526
- commit_result = git_utils.commit_changes(self.args.source_dir, f"auto_coder_{file_name}_{md5}")
526
+ commit_result = git_utils.commit_changes(self.args.source_dir, f"auto_coder_{file_name}_{md5}\n{self.args.query}")
527
527
  git_utils.print_commit_info(commit_result=commit_result)
@@ -403,7 +403,7 @@ class CodeAutoMergeEditBlock:
403
403
  if not force_skip_git:
404
404
  try:
405
405
  commit_result = git_utils.commit_changes(
406
- self.args.source_dir, f"auto_coder_{file_name}_{md5}"
406
+ self.args.source_dir, f"auto_coder_{file_name}_{md5}\n{self.args.query}"
407
407
  )
408
408
  git_utils.print_commit_info(commit_result=commit_result)
409
409
  except Exception as e:
@@ -233,7 +233,7 @@ class CodeAutoMergeStrictDiff:
233
233
 
234
234
  self.printer.print_in_terminal("files_merged_total", total=total)
235
235
  if not force_skip_git:
236
- commit_result = git_utils.commit_changes(self.args.source_dir, f"auto_coder_{file_name}_{md5}")
236
+ commit_result = git_utils.commit_changes(self.args.source_dir, f"auto_coder_{file_name}_{md5}\n{self.args.query}")
237
237
  git_utils.print_commit_info(commit_result=commit_result)
238
238
 
239
239
  @byzerllm.prompt(render="jinja2")
@@ -3,7 +3,6 @@ from asyncio import Queue as AsyncQueue
3
3
  import threading
4
4
  from typing import List, Dict, Any, Optional
5
5
  from dataclasses import dataclass
6
- import byzerllm
7
6
  from autocoder.common.mcp_hub import McpHub
8
7
  from autocoder.common.mcp_tools import McpExecutor
9
8
  from autocoder.common.mcp_hub import MCP_BUILD_IN_SERVERS
@@ -13,12 +12,13 @@ import time
13
12
  from pydantic import BaseModel
14
13
  import sys
15
14
  from loguru import logger
15
+ from autocoder.utils.llms import get_single_llm
16
16
 
17
17
  @dataclass
18
18
  class McpRequest:
19
19
  query: str
20
20
  model: Optional[str] = None
21
-
21
+ product_mode: Optional[str] = None
22
22
 
23
23
  @dataclass
24
24
  class McpInstallRequest:
@@ -279,8 +279,7 @@ class McpServer:
279
279
  await self._response_queue.put(McpResponse(result="", error=f"Failed to refresh MCP servers: {str(e)}"))
280
280
 
281
281
  else:
282
- llm = byzerllm.ByzerLLM.from_default_model(
283
- model=request.model)
282
+ llm = get_single_llm(request.model,product_mode=request.product_mode)
284
283
  mcp_executor = McpExecutor(hub, llm)
285
284
  conversations = [
286
285
  {"role": "user", "content": request.query}]
@@ -55,7 +55,7 @@ async def handle_list_tools() -> list[types.Tool]:
55
55
  # Commenting out larger models,which have higher risks of timing out,
56
56
  # until Claude Desktop can handle long-running tasks effectively.
57
57
  # "llama-3.1-sonar-large-128k-online",
58
- "llama-3.1-sonar-huge-128k-online",
58
+ "sonar-reasoning-pro",
59
59
  ],
60
60
  },
61
61
  "messages": {
@@ -148,7 +148,7 @@ class DocFilter:
148
148
  )
149
149
  if (
150
150
  relevance
151
- and relevance.is_relevant
151
+ # and relevance.is_relevant
152
152
  and relevance.relevant_score >= self.relevant_score
153
153
  ):
154
154
  relevant_docs.append(
@@ -439,7 +439,7 @@ class LongContextRAG:
439
439
 
440
440
  logger.info(f"Query: {query} only_contexts: {only_contexts}")
441
441
  start_time = time.time()
442
- relevant_docs: List[FilterDoc] = self._filter_docs(conversations)
442
+ relevant_docs: List[FilterDoc] = self._filter_docs(conversations)
443
443
  filter_time = time.time() - start_time
444
444
 
445
445
  # Filter relevant_docs to only include those with is_relevant=True
@@ -169,6 +169,10 @@ def stream_out(
169
169
  keep_reasoning_content = True
170
170
  if args:
171
171
  keep_reasoning_content = args.keep_reasoning_content
172
+
173
+ keep_only_reasoning_content = False
174
+ if args:
175
+ keep_only_reasoning_content = args.keep_only_reasoning_content
172
176
 
173
177
  lines_buffer = [] # 存储历史行
174
178
  current_line = "" # 当前行
@@ -190,7 +194,10 @@ def stream_out(
190
194
  break
191
195
  last_meta = res[1]
192
196
  content = res[0]
193
- reasoning_content = last_meta.reasoning_content
197
+
198
+ reasoning_content = ""
199
+ if last_meta:
200
+ reasoning_content = last_meta.reasoning_content
194
201
 
195
202
  if reasoning_content == "" and content == "":
196
203
  continue
@@ -198,21 +205,24 @@ def stream_out(
198
205
  if first_token_time == 0.0:
199
206
  first_token_time = time.time() - first_token_time_start
200
207
 
201
- if keep_reasoning_content:
202
- # 处理思考内容
203
- if reasoning_content:
204
- if assistant_response == "": # 首次遇到思考内容时添加开标签
205
- assistant_response = "<thinking>"
206
- assistant_response += reasoning_content
207
-
208
- # 处理正式内容
209
- if content:
210
- # 如果之前有思考内容,需要先关闭thinking标签
211
- if "</thinking>" not in assistant_response and "<thinking>" in assistant_response:
212
- assistant_response += "</thinking>"
208
+ if keep_only_reasoning_content:
209
+ assistant_response += reasoning_content
210
+ else:
211
+ if keep_reasoning_content:
212
+ # 处理思考内容
213
+ if reasoning_content:
214
+ if assistant_response == "": # 首次遇到思考内容时添加开标签
215
+ assistant_response = "<thinking>"
216
+ assistant_response += reasoning_content
217
+
218
+ # 处理正式内容
219
+ if content:
220
+ # 如果之前有思考内容,需要先关闭thinking标签
221
+ if "</thinking>" not in assistant_response and "<thinking>" in assistant_response:
222
+ assistant_response += "</thinking>"
223
+ assistant_response += content
224
+ else:
213
225
  assistant_response += content
214
- else:
215
- assistant_response += content
216
226
 
217
227
  display_delta = reasoning_content if reasoning_content else content
218
228
 
@@ -291,5 +301,7 @@ def stream_out(
291
301
  status=RequestOption.COMPLETED
292
302
  ),
293
303
  )
294
- last_meta.first_token_time = first_token_time
304
+
305
+ if last_meta:
306
+ last_meta.first_token_time = first_token_time
295
307
  return assistant_response, last_meta
@@ -0,0 +1 @@
1
+ __version__ = "0.1.253"
@@ -1 +0,0 @@
1
- __version__ = "0.1.252"
File without changes
File without changes
File without changes
File without changes